Skip to content

0.8.0

Compare
Choose a tag to compare
@udoprog udoprog released this 19 Jan 13:47
· 780 commits to main since this release

0.8.0

Added

  • Support for #[test] annotations (#218, #222) (thanks tgolsson!).
  • Add file!() and line!() macros (#168) (thanks tgolsson!).
  • Support for field functions and derives to implement them (#169, #170).
  • Support for crate in modules (#172).
  • std::any APIs for runtime inspection of types (#178) (thanks tgolsson!).
  • Support for range expressions (#180).
  • Missing implementations for FromValue conversions for i16 and u16 (#235) (thanks genusistimelord!).
  • More APIs and iterator-heavy benchmark (#232) (thanks tgolsson!).
  • Added initial benchmarks (#189).
  • Added cellular automata benchmark (#220) (thanks tgolsson!).
  • Added fibonacci and brainfuck benchmarks (#193) (thanks tgolsson!).
  • Projection APIs for internal Ref / RefMut (#211).
  • Many API additions and fixes (#219, #229, #233, #241, #196, #199, #185) (thanks tgolsson!).
  • Annotations to improve measuring the performance of individual operations in the VM (#190).
  • Pattern matching for booleans (#188) (thanks genusistimelord!).
  • Added support for continue inside of loops (#183).
  • Add support for registering and accessing runtime constants (#239).
  • Support for panicking pattern binding in function arguments (#195).
  • Added parsing for yet-to-be supported path segments (#206).
  • Add basic support for threaded execution (#97).

Changed

  • Minor changes (#247, #208).
  • Improved CLI with cargo-like subcommands (#223) (thanks tgolsson!).
  • Compile-time metadata has been simplified (#163, #164).
  • Internal compiler improvements (#173, #174).
  • Make types used in Context iteration APIs public (#176).
  • Slim down the size of runtime meta (#177).
  • Change and improve how protocol functions are called (#210, #209).
  • Improve performance of runtime hashing (#191).
  • Improve diagnostics when using an exclusive reference which is not exclusive (#213).
  • Improve performance by reducing the number of copies generated (#194).
  • Make compile hooks refcounted for increased flexibility (#221).
  • Expose LSP server as a modular library for custom uses (#186) (thanks tgolsson!).
  • Improve performance of small objects by using BTreeMap for field storage (#231) (thanks tgolsson!).
  • Report errors and warnings through same diagnostics structure (#227, #228).

Fixed

  • Minor fixes (#198, #201).
  • Documentation fixes and improvements (#248, #234, #242) (thanks robojumper, maxmcd, and hvithrafn!).
  • Fix negative fractional literals (#184) (thanks tgolsson!).
  • Various fixes for use in OxidizeBot (#161).
  • Bug with using wrong protocol for MUL and DIV (#167).
  • Add missing macro modules in rune-wasm (#171) (thanks tgolsson!).
  • Fixed buggy visibility checks for paths (#175).
  • Various fixes and improvements due to AoC (#181, #187, #192, #197, #203, #204, #205, #216, #217).
  • Give SourceLoader a lifetime (#245) (thanks tgolsson!).
  • Fix miscompilation in struct literals (#246) (thanks robojumper!).
  • Fix miscompilation in pattern matching (#214).
  • Introduced and fixed binding bug (#202).
  • Fix so that different variants of the same enum have different equalities (#215).
  • Make float associated fns associated (#240) (thanks tgolsson!).
  • Bump nanorand to fix incorrect generation of random numbers in rand module (#243) (thanks tgolsson!).
  • Fixed broken assembly of more than one if else (#230).