Releases: rusterlium/rustler
Releases · rusterlium/rustler
rustler-0.35.0
What's Changed
- Fix register resource_impl arg and add name override by @filmor in #638
- Serde: Restrict special ok/error handling to variant names by @benhaney in #639
- Allow floats to decode from integer terms by @benhaney in #641
- Fix Windows API functions by @filmor in #643
- Add unsafe dyncall support by @filmor in #635
- Implement Encoder and Decoder for Box by @dvic in #644
- Dynamic symbols on Unix by @filmor in #650
- Revert "Recompile if the NIF library is changed/deleted" by @filmor in #654
- Force panic unwind implementation for users of rustler by @filmor in #642
- Catch panics in encoding NIF results by @filmor in #656
- Merge rustler-sys into rustler::sys by @filmor in #653
- Add reference type and
make_ref
call by @filmor in #657
New Contributors
Full Changelog: rustler-0.34.0...rustler-0.35.0
rustler-0.34.0
What's Changed
- Discover NIFs at startup by @filmor in #613
- Unconditionally enable
derive
by @filmor in #621 - Retrieve newest Rustler version from crates.io by @filmor in #623
- Recompile if the NIF library is changed/deleted by @filmor in #624
- Refactor Resources by @filmor in #617
- Add Erlang 27 and Elixir 1.17 to CI by @filmor in #630
- Resource attribute macro by @filmor in #627
- Remove redundant import by @filmor in #633
- Allow sends from callback environments by @filmor in #634
Full Changelog: rustler-0.33.0...rustler-0.34.0
rustler-0.33.0
What's Changed
- Add additional benchmarks by @cleaton in #565
- Update README.md by @dvic in #605
- Drop deprecated functionality by @filmor in #604
- Drop lazy_static in favour of std::sync::OnceLock by @filmor in #609
- Implement simple allocator using enif_{alloc,free} by @filmor in #580
- Add simple justfile by @filmor in #610
- Implement support for conversions of paths by @filmor in #608
- feature: compare local pids by @hengermax in #611
- Add support for path dependencies by @flupke in #607
New Contributors
- @hengermax made their first contribution in #611
- @flupke made their first contribution in #607
- @grzuy made an equivalent contribution in #578
Full Changelog: rustler-0.32.1...rustler-0.33.0
rustler-0.32.1
What's Changed
- Add Elixir 1.16 to pipeline by @filmor in #591
- Fix type usage to use the real C types wherever applicable by @filmor in #592
- Allow arbitrary function names by @filmor in #593
- Add reverse map iteration by @devsnek in #596
- Add
Env::is_process_alive
andLocalPid::is_alive
by @filmor in #599 - Implement Decoder/Encoder support for i/u128 by @filmor in #600
- Replace rustler_bigint by a feature flag on rustler by @filmor in #601
- Update heck requirement from 0.4 to 0.5 by @dependabot in #602
- Import of serde_rustler by @filmor in #586
New Contributors
Full Changelog: rustler-0.31.0...rustler-0.32.1
rustler-0.31.0
What's Changed
- ci: Add Elixir v1.15 to the build matrix by @evnu in #571
- Expand load data at compile time by @evnu in #570
- Fix warnings for non-snake case atom module names by @bcksl in #573
- Fix error messages by @turion in #579
- Add support for generic types by @turion in #574
- Fix rustler_sys tests on 64bit ARM by @filmor in #584
- Fix issues with nightly Rust by @filmor in #589
- Fix Term's "get_type()" implementation by @philss in #581
- Use impl Encoder in more places to simplify function usage by @filmor in #572
- Fix atoms module name generated by the
NifStruct
derive macro by @philss in #585 - Update and fix changelog by @filmor in #590
Full Changelog: rustler-0.30.0...rustler-0.31.0
rustler-0.30.0
What's Changed
- Drop support for RUSTLER_NIF_VERSION by @filmor in #546
- Exclude directories from external resources to be compatible with Elixir 1.15 by @adrienmo in #548
- Fix NifTaggedEnum derived Encoder impl for named-field variants by @dylanburati in #547
- Remove cfg! directives in build.rs causing cross-compilation to fail by @fabriziosestito in #555
- Use compile_env for compile-time configuration by @josevalim in #550
- Remove superfluous
module
argument by @evnu in #560 - Term Type by @filmor in #538
- Fix clippy lints by @filmor in #561
- Bump edition to 2021 and use v2 resolver for workspace by @filmor in #562
- Document to use runtime: false for rustler dependency by @evnu in #559
- Move deprecation warning to correct branch by @filmor in #564
- feat: add result-returning
send
variants toEnv
andOwnedEnv
by @bcksl in #563
New Contributors
- @adrienmo made their first contribution in #548
- @dylanburati made their first contribution in #547
- @fabriziosestito made their first contribution in #555
- @bcksl made their first contribution in #563
Full Changelog: rustler-0.29.1...rustler-0.30.0
rustler-0.29.1
What's Changed
- Fix NifTaggedEnum derived Encoder impl for named-field variants by @dylanburati in #547
- Exclude directories from external resources to be compatible with Elixir 1.15 by @adrienmo in #548
- Remove cfg! directives in build.rs causing cross-compilation to fail by @fabriziosestito in #555
Full Changelog: rustler-0.28.0...rustler-0.29.0
rustler-0.29.0
What's Changed
- Make rustler_sys forward compatible by @filmor in #536
- Add OTP26 to CI and bump rustler_sys by @filmor in #539
- Introduce CI cache by @filmor in #541
- Drop OTP23 entirely from CI and use -latest for all OS versions by @filmor in #542
- Use features for minimal NIF version by @filmor in #537
- Apply current NIF version for tests and raise default by @filmor in #543
- rustler: add a Rust type
ErlOption<T>
by @tatsuya6502 in #507
Full Changelog: rustler-0.28.0...rustler-0.29.0
rustler-0.28.0
rustler-0.27.0
[0.27.0] - 2023-01-17
BREAKING
MIX_ENV
is no longer considered for determining the build profile. Now, the
profile defaults to:release
. Use the:mode
option to pick another
profile explicitly. (#496)
Added
ResourceArc::make_binary
for safe use ofenif_make_resource_binary
(#487)OwnedBinary
is nowSync
(#493)- Specified MSRV to be 1.56.1.
Fixed
- Documentation for
load
(#501, thanks @ishitatsuyuki)