Releases: rune-rs/rune
Releases · rune-rs/rune
0.7.0
Added
- The Rune project now has a Code of Conduct (#12).
- Support for bitwise operations on numbers (#13, #20).
- Book now has support for highlighting
rune
blocks (#14). - Preliminary support for modules without visibility (#16, #17).
- Debug information for function variable names now reflect source (#24).
- Initial support for macros (#29, #30, #31, #114, #135, #136,
#137, [#138], [#141], [#142], [#143], [#144]). - Add cargo build cache (#36) (thanks shekohex!).
- Rust
quote!
macro for Rune macro authors (#34). - Support for object- and tuple-like field assignments (#38, #39, #40,
#66). - Support for lazy evaluation for and/or (
&&
/||
) (#50) (thanks
seanchen1991!). - Add
AsTokens
,FromValue
,ToValue
, andSpanned
derives (#41, #85,
#87, #88, #113). - Visual studio code extension with syntax highlighting and basic language
server (#46, #47, #48, #60, #74) (thanks killercup!). - Non-zero exit status on script errors (#58, #59) (thanks killercup!).
- Improve CLI by parsing arguments using
structopt
(#51) (thanks
shekohex!). - Executing functions in the virtual machine can use external references
(#52). - Remove unused instruction in
loop
(#53) (thanks genusistimelord!). - Tweak module dependencies to use native Rust modules (#54) (thanks
killercup!). - Internal changes to support a future C FFI (#55).
- Improving module API (#56).
- Extending
http
module to deserialize JSON directly (#57) (thanks
killercup!). - Automatic build releases on tags (#68).
- Fixed locals bug with breaking control in the middle of an index get operation
(#71). - Community site at https://rune-rs.github.io (#75).
- Add WASM-based Playground to community site https://rune-rs.github.io (#77).
- Support for limiting execution of
rune-wasm
(#80). - Support for modules, imports, re-exports, visibility, and path resolution
(#83, #92, #98, #124, #125, #128, #129, #130, #131, #133,
#134, [#148], [#155]) (thanks dillonhicks!). - Add WASM support for a couple of showcased rune modules (#89).
- Added runtime type information (RTTI) for values in Runestick (#90, #112).
- Add a
rand
module torune-modules
(#100) (thanks aspenluxxxy!). - Initial support for constant evaluation (#93, #94, #99, #104, #105,
#106, #107, #117, #122, #123, [#153]). - Add
Args
implementation forVec
([#147]) (thanks MinusGix!). - Export a
Function
variant calledSyncFunction
that is thread-safe ([#149],
[#151]) (thanks MinusGix!). - Support
move
modifier to async blocks and closures to take ownership of
values being used ([#152]). - Basic
Iterator
support ([#156], [#157]) (thanks MinusGix!). - Support for calling protocol functions from native code using
Interface
([#159]).
Changed
- Make units more efficient by separating runtime and compile-time metadata (#24).
- Change the internal representation of
Item
to be more memory efficient (#63). - Make the implementation of
ParseError
andCompileError
more consistent (#65). - Remove the
rune-testing
module (#67). - Made evaluation order of index set operations the same as Rust (#70).
- Make hashing less error prone (#72).
- Various parser changes and tests (#110).
- Various internal changes (#103, #108, #109).
- Parser simplifications (#120, #121).
- Negative literals are handled as expressions (#132).
- Syntax for template strings now follows EcmaScript ([#145]).
Fixed
- Introduced custom highlight.js to fix issue with hidden lines in the book
(#10). - Semi-colons in blocks weren't required, they now are (#32).
- Fixed field assignments (#38, #40) (thanks MinusGix!).
- Book typos (#11, #18, #28, #37) (thanks Sparkpin, seanchen1991,
stoically, and macginitie!). - Fix broken book links (#84, #86) (thanks dillonhicks!).
- Fix pattern miscompilation (#62).
- Fixed bug with Closure optimization where it's being treated as a function
(#21, #22) (thanks MinusGix!). - Fixed a number of clippy lints (#35) (thanks shekohex!).
- Fix using closures in literals, like
(0, || 42)
or#{a: || 42}
(#78). - Shared access guards didn't implement Drop allowing them to leak their guarded
value (#119).