What's Changed
- Allow async cli execution by @Roba1993 in #651
- vscode: pass extra env when validating by @SWW13 in #654
- Add operators to Byte and Bool by @bernsteining in #655
- Remove unecessary re-export by @udoprog in #657
- update to use handlebars v5 by @campeis in #661
- Hide internals of values by @udoprog in #663
- Add f64::sqrt, avoid a bit of cleaning during assembly, parse numerical values correctly by @udoprog in #664
- Create a public function for source formatting by @cocuh in #665
- Fix build error caused by #665 by @cocuh in #666
- Add floor/ceil/round to f64 module by @dstoza in #667
- Add WarningDiagnostic::emit by @dstoza in #668
- Add String::{to_lowercase,to_uppercase} by @dstoza in #669
- Add methods for accessing Struct Values by @dstoza in #670
- Add Value::borrow_any_{ref,mut} to get a typed reference without ownership by @dstoza in #672
- Backports and cleanups by @udoprog in #675
- Better documentation creation ref #648 by @Roba1993 in #677
- Fix module level documentation by @udoprog in #678
- Minor LSP fixups by @tgolsson in #680
- Fallback to debug-printing generic info by @tgolsson in #682
- Improve Any derive documentation by @udoprog in #686
- More documentation on hot reloading and multithreading by @udoprog in #687
- Add support for captured arguments from macros by @udoprog in #688
- Rename delay_for to sleep by @udoprog in #689
- Added bytes support for http by @Roba1993 in #691
- Use explicit macos versions by @udoprog in #695
- Add Iterator::filter_map by @dstoza in #694
- Support constants in patterns (fixes #696) by @udoprog in #697
- Update musli by @udoprog in #698
- Set version to 0.14.0 and bump Musli by @udoprog in #699
- Add more public VmResult errors by @udoprog in #701
- Closure environments by @udoprog in #702
- Generate warnings when using deprecated functions by @Roba1993 in #685
- pointer::wrapping_byte_sub is now stable by @udoprog in #704
- Clean up soon to be stable features and enabled lints by @udoprog in #705
- Update lints to use soon to be stable config by @udoprog in #709
- Fix lints by @udoprog in #711
- Format Fixes by @SWW13 in #710
- Make types in rune tests less ambiguous by @udoprog in #712
- Bump braces from 3.0.2 to 3.0.3 in /editors/code by @dependabot in #713
- Remove atty dependency (fixes #719) by @udoprog in #720
- Look at target name instead of package identifier (fixes #724) by @udoprog in #725
- Lower blocks earlier by @udoprog in #728
- Support dumping return value by @udoprog in #729
- Rewrite Rune to use a slot-based virtual machine by @udoprog in #733
- Remove JumpIfBranch instruction by @udoprog in #735
- Fix how the virtual machine perform internal calls by @udoprog in #739
- rune_modules: Add missing dependency on tokio from the process feature (fixes #734) by @VorpalBlade in #738
- rune: Reduce generics for internals calls by @udoprog in #741
- rune: Allow empty values to be const constructed by @udoprog in #744
- rune: Do not trace return value (causes panic on Result:Err) by @VorpalBlade in #748
- docs: Add missing docs for function(keep) by @VorpalBlade in #756
- Use less generics in protocols dispatch by @udoprog in #758
- Wrap arguments metadata for documentation in more complex types (relates #757) by @udoprog in #759
- rune: Collect generics for static types (relates #757) by @udoprog in #760
- rune: Remove FullTypeOf and recursively load types by @udoprog in #761
- rune: Use empty Hash as placeholder by @udoprog in #762
- doc: Render tuples correctly by @udoprog in #764
- doc: Render the
any
type explicitly by @udoprog in #765 - doc: Fix rendering of custom links by @udoprog in #766
- cli: Improve test running and commandline arguments by @udoprog in #767
- cli: Remove extra options parsing for test by @udoprog in #769
- rune: Clean up root-level modules by @udoprog in #770
- rune: Move function_meta module by @udoprog in #772
- First iteration at implementing traits by @udoprog in #774
- doc: Clean up how documentation works by @udoprog in #776
- cli: Run direct arguments with
-O function-body=true
by @udoprog in #777 - rune: Implement and formalise drop orders by @udoprog in #778
- languageserver: Build bare scripts by @udoprog in #779
- More bare file execution by @udoprog in #780
- vm: Change operations to free temporaries by @udoprog in #781
- Switch back to storing slots inline by @udoprog in #784
- chore: Fix release workflow by @udoprog in #786
- rune: Lower to anonymous variables by @udoprog in #787
- Start work on pattern optimizations by @udoprog in #785
- rune: Add nbodies bench and test by @udoprog in #788
- vm: Optimize value cloning by @udoprog in #789
- Add missing lifetimes by @udoprog in #791
- fmt: First stab at lexer-based formatter by @udoprog in #790
- chore: Unfudge release build by @udoprog in #792
- chore: Add missing feature flag by @udoprog in #793
- modules: add base64 module by @Roba1993 in #723
- Support autocomplete for Ace editor by @Roba1993 in #714
- ace: built rune-mode and change how autocompleter is configured by @udoprog in #794
- languageserver: add support for utf-8 and format selection by @udoprog in #795
- grammar: fix 'is not' parsing by @udoprog in #796
- rune: move more tests to rune by @udoprog in #797
- tracing: add tracing feature to shim out tracing by @udoprog in #798
- fmt: fix item_fn by @udoprog in #799
- Fix trailing comment in #801 by @udoprog in #803
- index: use ItemId instead of indirect ids by @udoprog in #804
- Index and grammar updates by @udoprog in #805
- index: more cleanups by @udoprog in #806
- Update lexing and parsing by @udoprog in #807
- fmt: mark out items in grammar by @udoprog in #808
- grammar: use inner expressions as appropriate by @udoprog in #809
- Support non-ASCII identifiers by @lotem in #813
- build(deps-dev): bump webpack from 5.76.0 to 5.94.0 in /editors/code by @dependabot in #816
- build(deps-dev): bump micromatch from 4.0.5 to 4.0.8 in /editors/code by @dependabot in #817
- v2: start work on the v2 compiler by @udoprog in #814
- Fix incorrect line in
is_readable
docs by @AngelicosPhosphoros in #826 - Fixed tokio error in hot reload example by @AngelicosPhosphoros in #824
- Remove copypaste from docs of
VecDeque
andHashSet
by @AngelicosPhosphoros in #827 - build(deps-dev): bump rollup from 3.21.6 to 3.29.5 in /crates/rune-wasm by @dependabot in #828
- Eagerly allocate slots for conditions to fix #830 by @udoprog in #831
- rune: Fix freed address with diverging conditions by @udoprog in #832
- Convert Function::call (and related) to take GuardedArgs instead of Args by @dstoza in #715
- rune: Move Future to use an internal vtable by @udoprog in #833
- rune_alloc: More nightly things being stabilized by @udoprog in #837
- rune: Rework context spans by @udoprog in #840
- rune: Avoid clobbering assigned addresses (fixes #838) by @udoprog in #839
- rune: Make miri happy about how environments are passed by @udoprog in #841
- rune: Start working on separate reference type by @udoprog in #836
- Allow type hashes to be computed and used at compile-time by @udoprog in #842
- rune: Move ranges away from being built-in types by @udoprog in #843
- all: Bump dependencies by @udoprog in #845
- rune: Fix build by @udoprog in #846
- rune: Mark consume as #[inline(always)] by @udoprog in #849
- rune::doc: Fix rendering of conflicting hashes by @udoprog in #847
- rune: Store String in AnyObj instead of Mutable (relates #844) by @udoprog in #848
- all: remove inconsistent ::core use by @udoprog in #850
- ci: Update build to run more things in parallel by @udoprog in #853
- rune: Store Bytes in AnyObj instead of Mutable (relates #844) by @udoprog in #851
- rune: Clean up more internal nits by @udoprog in #854
- rune: Store Format in AnyObj instead of Mutable (relates #844) by @udoprog in #855
- rune::cli: Unify coloring and improve test naming by @udoprog in #857
- rune: Clone during Vec::resize (fixes #858) by @udoprog in #859
- Rework how constants are registered by @udoprog in #860
- modules: Expand http module with put, delete, head, auth and more by @ramon-bernardo in #819
- Switch internal byte to internal u64 abstraction by @udoprog in #861
- modules: Expand time module with Duration, Interval and Instant support by @ramon-bernardo in #815
- macros: Clean up Context use and ensure we don't miss errors by @udoprog in #862
- rune: Store GeneratorState in AnyObj instead of Mutable (relates #844) by @udoprog in #863
- modules: extend process module by @VorpalBlade in #763
- rune: Make formatter reference a local value by @udoprog in #864
- rune: Store Vec in AnyObj instead of Mutable (relates #844) by @udoprog in #865
- rune: Statically compute item and improve full_name by @udoprog in #866
- rune: Store OwnedTuple in AnyObj instead of Mutable (relates #844) by @udoprog in #867
- rune: Store Generator and Stream in AnyObj instead of Mutable (relates #844) by @udoprog in #868
- rune: Define and document more protocols by @udoprog in #869
- core: Clean up protocol declarations by @udoprog in #870
- rune: Store Function in AnyObj instead of Mutable (relates #844) by @udoprog in #871
- rune: Store Future in AnyObj instead of Mutable (relates #844) by @udoprog in #872
- rune: Store Object in AnyObj instead of Mutable (relates #844) by @udoprog in #873
- Cleanups and nits by @udoprog in #874
- Type information rework by @udoprog in #875
- Remove Mutable::Result and Mutable::Option by @udoprog in #876
- Simplify how variants are handled by @udoprog in #877
- rune: Performance improvements by @udoprog in #878
- rune: More perf work by @udoprog in #879
- macros: Cleaner macros by @udoprog in #880
- rune: Simplify the empty sentinel value by @udoprog in #881
- rune: Vm cleanup by @udoprog in #882
- rune: Improve field operations by @udoprog in #883
- rune: Remove unwraps in languageserver by @udoprog in #884
- rune: Move tests around and Send + Sync by @udoprog in #885
- rune: Improve test case macros and docs by @udoprog in #886
- Fix Clippy lints by @udoprog in #895
- Remove #[start] entrypoints (closes #897) by @udoprog in #898
- build(deps): bump nanoid and mocha in /editors/code by @dependabot in #894
- build(deps-dev): bump cross-spawn from 7.0.3 to 7.0.6 in /editors/code by @dependabot in #890
- Update
resolve.rs
reference by @emmanuel-ferdman in #896 - Add some functions for Bytes by @traceflight in #899
- Fix more lints by @udoprog in #902
- Fix missing interface error in rune-wasm by @udoprog in #903
- Add optional static typing to functions and structs by @TheNachoBIT in #904
- Struct enums cannot be constructed failing with "Missing runtime information" by @udoprog in #906
- Simplify variant protocol by @udoprog in #907
- Don't type error on variant type check fail by @udoprog in #908
- Fix build by @dstoza in #915
- Expose String::parse by @dstoza in #914
New Contributors
- @bernsteining made their first contribution in #655
- @campeis made their first contribution in #661
- @cocuh made their first contribution in #665
- @dstoza made their first contribution in #667
- @lotem made their first contribution in #813
- @AngelicosPhosphoros made their first contribution in #826
- @ramon-bernardo made their first contribution in #819
- @emmanuel-ferdman made their first contribution in #896
- @traceflight made their first contribution in #899
- @TheNachoBIT made their first contribution in #904
Full Changelog: 0.13.1...0.14.0