Releasing bincode-next v3.0.0-rc.1

⚓ Rust    📅 2026-02-23    👤 surdeus    👁️ 5      

surdeus

Hello Rustaceans!

For the sad reasons that we all know, the bincode maintenance has officially ceased the development of the project (RUSTSEC-2025-0141). To support the growth of the rust open source ecosystem, we have forked and restart the development of bincode, with the fork been named as bincode-next. After several month of discussions and development, we are finally confirming the release of v3.0.0-rc.1. As this is only a release candidate release, so the api might be unstable. The main reason for the breaking is that we have updated our msrv policy to: msrv version = 1.(latest stable minor -3).(latest patch) which is a breaking change. But future msrv updates according to the new policy will not be seen as breaking again. Exclude this policy change, for as far as we can see, the api of the original part remains the same as bincode v2 (although the internal processing has changed much). To avoid the post become to length, we will only summarize the main changes.

New Features to Look at

  1. Nested Zero-copy support via Relative Pointers and Const Alignment (optional feature, using the zerocopy feature to enable)
  2. Schema Fingerprinting for Safe Versioning (optional, using the config::standard().with_fingerprint() with the derive macro Fingerprint to enable)
  3. Bit-level Packing for Space-Optimized Serialization (optional, using the BitPacked derive macro with the config::standard().with_bit_packing() config to enable)
  4. Compile-time Memory Bound Validation via Const Generics (optional feature, enable the static-size feature to use it)

Internal Updates

  1. Reducing Binary Bloat via Error De-genericization (see the error.rs error_path.rs and the error_macro.rs for details, but the public apis remains untouched)
  2. Performance Boost via Several Optimization
 complex_world_decode/bincode-next (traits)
                        time:   [20.109 µs 20.217 µs 20.325 µs]
                        change: [−6.8964% −5.8613% −4.7472%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 2 outliers among 100 measurements (2.00%)
  1 (1.00%) high mild
  1 (1.00%) high severe
complex_world_decode/bincode-v2 (serde)
                        time:   [27.929 µs 28.056 µs 28.174 µs]
                        change: [−7.5357% −6.3279% −5.2092%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 3 outliers among 100 measurements (3.00%)
  2 (2.00%) high mild
  1 (1.00%) high severe
complex_world_decode/bincode-v1 (serde)
                        time:   [24.712 µs 24.959 µs 25.168 µs]
                        change: [−4.3897% −3.2159% −2.0908%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 6 outliers among 100 measurements (6.00%)
  1 (1.00%) low mild
  4 (4.00%) high mild
  1 (1.00%) high severe

complex_world_encode/bincode-next (traits)
                        time:   [3.2836 µs 3.2984 µs 3.3127 µs]
                        change: [+1.7709% +2.9168% +4.0034%] (p = 0.00 < 0.05)
                        Performance has regressed.
Found 2 outliers among 100 measurements (2.00%)
  1 (1.00%) high mild
  1 (1.00%) high severe
complex_world_encode/bincode-v2 (serde)
                        time:   [4.7513 µs 4.7741 µs 4.7975 µs]
                        change: [−14.736% −10.981% −7.4938%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 4 outliers among 100 measurements (4.00%)
  3 (3.00%) high mild
  1 (1.00%) high severe
complex_world_encode/bincode-v1 (serde)
                        time:   [3.2072 µs 3.2263 µs 3.2458 µs]
                        change: [+0.2581% +1.5521% +2.8654%] (p = 0.02 < 0.05)
                        Change within noise threshold.
Found 8 outliers among 100 measurements (8.00%)
  4 (4.00%) high mild
  4 (4.00%) high severe

These are only results that are run on our developer machine. You could clone the repository and run it yourself. We welcomed bench tests on different platforms.

About Security and Code Quality

For security issues, please visit the Security Team Homepage for more details on reporting.

All code tests passed miri and all main crate source code passed clippy without errors.

We remain committed to code security and welcomed security reporting.

And please notice that contributors shall follow the community guide lines of bincode-next.

Links

Implementation Details and Development Status: GitHuh Homepage

Release Note: v3.0.0-rc.1 Release Note

Discord Server: Discord Server

Official Website: Official Website

Yours faithfully,

Apich Organization Development Team


Note: We know that some community members think that this organization is somehow too heavily branded, but after the sad bincode event, we think that sometimes contribute under the name of a team is better. And although there aren’t that many people in our team, it is definitely not only a solo developer anyway.

1 post - 1 participant

Read full topic

🏷️ Rust_feed