mirror of
https://github.com/wren-lang/wren.git
synced 2026-01-11 14:18:42 +01:00
96 lines
3.7 KiB
Markdown
96 lines
3.7 KiB
Markdown
## 0.4.0
|
|
|
|
- Fix some stack corruption with multiple wrenInterpret calls
|
|
- WREN_MAX_TEMP_ROOTS default is 8 (instead of 5)
|
|
- Add `Num.log2` and `Num.exp`
|
|
- Fixed crash when GC collects module during import 2ce421ea
|
|
- Fixed bug with `import` (28ad8aa9)
|
|
- Map API support:
|
|
- wrenSetSlotNewMap
|
|
- wrenGetMapCount
|
|
- wrenGetMapContainsKey
|
|
- wrenGetMapValue
|
|
- wrenSetMapValue
|
|
- wrenRemoveMapValue
|
|
- Add util/generate_projects.py (expects premake binary in projects/premake/)
|
|
- Support positive sign (+) in scientific notation
|
|
- Optional Random.Sample optimization (#716)
|
|
|
|
## 0.3.0
|
|
|
|
0.3.0 is a fairly specific release, aimed at fixing build issues across platforms,
|
|
streamlining the process for new users and making embedding easier.
|
|
This is a stepping stone for working on language features and improving the VM,
|
|
hacking on the docs and the VM is simpler than ever!
|
|
|
|
Builds now work out of the box on all primary platforms.
|
|
Previously there was issues on Windows and other platforms due to unix-ey workflows being the default.
|
|
|
|
All the python scripts have also been fixed and updated (to python 3), and work consistently
|
|
across all platforms out of the box too (including the tests, benchmarks, metrics etc).
|
|
Like before, there was some things that didn't hold up on Windows or Mac. Fixed!
|
|
|
|
A lot of work has been done to also clarify the distinction between the CLI project and the VM,
|
|
as well as [move the CLI to its own repo](https://github.com/wren-lang/wren-cli/)!
|
|
This removes a lot of code that wasn't being used, and also been clarified the project structure.
|
|
|
|
Docs have also had a clean up, and a new page to try Wren directly on the doc page was added.
|
|
|
|
### Language/VM
|
|
|
|
- CLI moved to own repo
|
|
- Use premake for project generation, see projects/
|
|
- Fix builds across platforms. "Just works" on all primary platforms.
|
|
- Fix amalgamated script generator and amalgamated build
|
|
- Fix unicode parsing and other issues in all python scripts
|
|
- All python scripts are python3 now, and run on all platforms correctly
|
|
- Test runner isolated and unified for VM tests
|
|
- Remove SASS and Pygments requirements from docs, just python now
|
|
- Updated docs to clarify VM/CLI split
|
|
- Added Try page for running wren code in the docs
|
|
|
|
## 0.2.0
|
|
|
|
0.2.0 spans a pretty wide time period with [around 290 commits](https://github.com/wren-lang/wren/compare/0.1.0...main).
|
|
This includes many bug fixes, improvements, clarity in the
|
|
code and documentation and so on. There's too many to explicitly list.
|
|
Below is the obvious user facing stuff that was easy to spot in the history.
|
|
|
|
Most noteworthy is that 'relative imports' are a slightly breaking change,
|
|
but help pave the way forward toward a consistency for modules.
|
|
|
|
### Language/VM
|
|
|
|
- `import` was made smarter, differentiating relative from logical
|
|
- `Fiber` can now accept a value from the first `call`/`transfer`
|
|
- Added `String.trim`, `String.trimEnd`, `String.trimStart` variants
|
|
- Added `String.split`, `String.replace`, `String.fromByte`
|
|
- Added `String.indexOf(needle, startIndex)`
|
|
- Added `Sequence.take` and `Sequence.skip`
|
|
- Added `List.filled(count, value)`
|
|
- Added `Num.pow`, `Num.log`, `Num.round`
|
|
- Added `Num.largest`, `Num.smallest`
|
|
- Added `Map` iteration (`MapEntry`)
|
|
|
|
#### C API
|
|
|
|
- Added `wren.hpp` for use in c++
|
|
- Added void* user data to `WrenVM`
|
|
- Allow hosts with no module loader to still load optional modules.
|
|
- Added `wrenAbortFiber`
|
|
|
|
### CLI
|
|
Please note that beyond 0.2.0 the CLI will have it's own changelog.
|
|
This list is not exhaustive. For a fuller history see the commit log above.
|
|
|
|
- Add path module
|
|
- Add `--version`
|
|
- Add REPL written in Wren
|
|
- Add Stdin.isTerminal
|
|
- Added Platform class
|
|
- Rename `process` module to `os`
|
|
|
|
## 0.1.0
|
|
|
|
First declared version. Everything is new!
|