Releases
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
, and Spanned
derives (#41 , #85 ,
#87 , #88 , #113 ).
Visual studio code extension with syntax highlighting and basic language
server (#46 , #47 , #48 , #60 , #74 ) (thanks killercup !).
As-you-type building (#49 ).
Jump to definitions (#61 ).
Multifile project support (#64 ).
Automatic downloading of language server binary (#69 ).
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 to rune-modules
(#100 ) (thanks aspenluxxxy !).
Initial support for constant evaluation (#93 , #94 , #99 , #104 , #105 ,
#106 , #107 , #117 , #122 , #123 , #153 ).
Add Args
implementation for Vec
(#147 ) (thanks MinusGix !).
Export a Function
variant called SyncFunction
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
and CompileError
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 ).
You can’t perform that action at this time.