Releases: bincode-org/bincode
v2.0.1
What's Changed
- Update unty requirement from 0.0.3 to 0.0.4 by @dependabot in #753
- Use qualified path for Result::Ok in bincode_derive by @nhaef in #757
- Fix issue when a foreign
Err
pollutes scope by @ZoeyR in #758 - Derive Debug for Configuration by @ZoeyR in #759
- bump version to 2.0.1 by @ZoeyR in #760
New Contributors
Full Changelog: v2.0.0...v2.0.1
v2.0.0
Stable! Finally! After 4 years in development! Many changes have made it in since rc.3, including (unfortunately) some last minute breaking changes. But documentation has been cleaned up to a point where we finally feel comfortable committing to things as they are.
If you haven't been following along with the 2.0 changes here is a brief overview
- Completely rewritten API decoupled from serde
no_std
support- Official format specification
- Default configuration changes
- Increase MSRV to 1.85.0
What's Changed since 1.3.1
- Fix
WithOtherTrailing
andWithOtherIntEncoding
by @luben in #342 - Update docs to highlight differences between DefaultOptions and fns by @apgoetz in #373
- Address questions regarding suitability for storage and untrusted inputs by @mbr in #346
- Fixed a stray comment. by @manuthambi in #360
- update CI to new branching scheme by @ZoeyR in #376
- clarify msrv support by @ZoeyR in #375
- fix linting ci error by @ZoeyR in #377
- prep branch for 2.0 work by @ZoeyR in #379
- Update URLs and some cleanups by @atouchet in #383
- fix typo by @ehooi in #392
- Edit version badge link by @atouchet in #389
- Optimize varint parsing by @saethlin in #337
- Fix CI on trunk by @ZoeyR in #408
- Update logo by @ZoeyR in #407
- Make bincode_derive 0 dependencies by @VictorKoenders in #409
- Config rewrite by @ZoeyR in #412
- Reintroduce varint optimizations by @ZoeyR in #414
- Feature/deserde by @ZoeyR in #413
- Updated readme.md and added a test for the examples by @VictorKoenders in #417
- Update authors to reflect current code state by @ZoeyR in #418
- Add necessary metadata to bincode_derive by @ZoeyR in #420
- Replace test-all-features with a manual CI matrix by @VictorKoenders in #419
- Made the zigzag encoding examples compile and run by @VictorKoenders in #421
- Fix some typos by @Seppel3210 in #423
- Generate qualified Result type in derive by @andrenth in #430
- Fixes for 427 by @VictorKoenders in #428
- split off BorrowDecode from Decode in bincode_derive by @VictorKoenders in #432
- functions to enable encoding/decoding serde types by @VictorKoenders in #422
- Allow serde types to be Decode/Encoded by @VictorKoenders in #434
- Release 2.0.0-alpha.1 by @VictorKoenders in #435
- Added Decode/Encode for HashMap<K, V> by @VictorKoenders in #438
- Added test case for a borrowed str by @VictorKoenders in #441
- Fixed clippy warnings by @VictorKoenders in #447
- Impl BorrowDecode for Option<&[u8]> and Option<&str> by @songzhi in #446
- Feature/config limit by @VictorKoenders in #439
- [Breaking change] Made all
decode_from_slice
also return the number of bytes read by @VictorKoenders in #445 - Extract virtue by @VictorKoenders in #443
- Made the CI also check the benchmarks, fixed compile issue in benchmarks by @VictorKoenders in #449
- Made the derive macros automatically implement the required traits on generic arguments by @VictorKoenders in #454
- Release v2.0.0-alpha.2 by @VictorKoenders in #455
- feat: Make
Configuration
functionsconst
by @Popog in #456 - Fix failed varint bench by @ygf11 in #457
- Updated readme, added a paragraph on why we don't support #[repr(u8)] by @VictorKoenders in #461
- Bump virtue 0.0.4 by @VictorKoenders in #463
- Fixed derive impl on an empty enum by @VictorKoenders in #462
- Release v2.0.0-beta.0 by @VictorKoenders in #464
- Fix overflow error when deserializing invalid Duration by @5225225 in #465
- Fix panic with invalid system time by @5225225 in #469
- Add fuzzing harness, try to decode into various types by @5225225 in #468
- Switched Decode and BorrowDecode to take &mut D by @VictorKoenders in #470
- Switch Encode to take &mut E by @ZoeyR in #471
- Implemented the newly stabilized CString::from_vec_with_nul method by @VictorKoenders in #473
- Made SerdeDecoder attempt to allocate memory before complaining by @VictorKoenders in #475
- Update documentation by @VictorKoenders in #480
- Moved Configuration::standard() and ::legacy() to the config module by @VictorKoenders in #481
- Feature/improve serde by @VictorKoenders in #477
- made the serde functions consistent with the base bincode functions by @VictorKoenders in #483
- Migration guide by @VictorKoenders in #482
- Release v2.0.0-beta.1 by @VictorKoenders in #484
- Run code coverage on all features by @ZoeyR in #485
- Added #[serde(untagged)] to the documentation of attributes that don't work by @VictorKoenders in #486
- Fixed an error in bincode derive where it would implement the wrong trait if a generic parameter is present by @VictorKoenders in #487
- Release v2.0.0-beta.2 by @VictorKoenders in #488
- Added a table to the documentation to pick which functions to use by @VictorKoenders in #490
- Fix a bunch of typos by @poljar in #492
- Return an error if a decoded slice length doesn't fit into usize by @poljar in #491
- Updated to virtue 0.0.6, added #[bincode(crate = other)] attribute by @VictorKoenders in #494
- Bumped dependency of virtue to 0.0.7 by @VictorKoenders in #495
- Bincode 1 compatibility framework by @VictorKoenders in #489
- Added documentation on how to add compatibility tests by @VictorKoenders in #497
- Made the compatibility check also include bincode 2 serde, and added comments by @VictorKoenders in #501
- Fix CString compatibility with bincode v1 by @ZoeyR in #502
- Fuzz for compatibility with bincode v1 by @5225225 in #498
- Fix/issue 500 by @VictorKoenders in #503
- Add Membership test by @ppamorim in #500
- Release v2.0.0-beta.3 by @VictorKoenders in #505
- Reference implementations for Reader and Writer by @BRA1L0R in #507
- Made config::standard() implement .write_fixed_array_header() by default by @VictorKoenders in #509
- Added HashSet by @VictorKoenders in #516
- Made the compat fuzzer ignore any LimitExceeded error by @VictorKoenders in #515
- Release 2.0.0-rc.1 by @VictorKoenders in #510
- Add zoxide under Bincode in the Wild by @ajeetdsouza in #525
- Made the Cow Encode constraints more permissive by @VictorKoenders in #524
- Added
additional
to theUnexpectedEnd
decode error by @VictorKoenders in #522 - Allow encoding/decoding of HashMap and HashSet with custom hash algorithms by @bronsonp in #529
- Added
std::error::Error::source
by @VictorKoenders in https://githu...
V2.0.0-rc.3
What's Changed
- Bump
virtue
to 0.0.9 and add test for #537 by @trevyn in #591 - Encode variant index instead of variant value by @trevyn in #593
- Create CODE_OF_CONDUCT.md by @ZoeyR in #597
- Move generated files to
target/generated/bincode
by @trevyn in #600 - Add DecodeError::Other by @odysa in #602
- Fixed new clippy lint in rust 1.65.0 by @VictorKoenders in #603
- Add CIFuzz GitHub Action by @DavidKorczynski in #604
- Fixed new clippy warnings by @VictorKoenders in #617
- Improved encoding and decoding speed of Vec by @VictorKoenders in #619
- Bumped virtue to 0.0.13 by @VictorKoenders in #626
- Disabled i686-linux-andoid and x86_64-linux-android CI as they fail for external reasons by @VictorKoenders in #627
- Made arrays never encode their length by @VictorKoenders in #625
- Release rc.3 by @VictorKoenders in #628
New Contributors
- @odysa made their first contribution in #602
- @DavidKorczynski made their first contribution in #604
Full Changelog: v2.0.0-rc.2...v2.0.0-rc.3
v2.0.0-rc.2
What's Changed
- Add zoxide under Bincode in the Wild by @ajeetdsouza in #525
- Made the Cow Encode constraints more permissive by @VictorKoenders in #524
- Added
additional
to theUnexpectedEnd
decode error by @VictorKoenders in #522 - Allow encoding/decoding of HashMap and HashSet with custom hash algorithms by @bronsonp in #529
- Added
std::error::Error::source
by @VictorKoenders in #530 - Added cross platform tests workflow by @VictorKoenders in #534
- Fix riscv32 atomics and fix tests on 32-bit platforms by @xobs in #533
- Fix cross platform tests by @VictorKoenders in #540
- Switched to weak dependencies by @VictorKoenders in #538
- Fix tuple struct encoding in serde by @ZoeyR in #549
- Rewrite: seperated Decode and BorrowDecode by @VictorKoenders in #526
- Add impl Encode for [T], where T: Encode by @cronokirby in #542
- Add impls for Rc<[T]> and Arc<[T]> by @maciejhirsz in #552
- Shrink
DecodeError
from 48 to 32 bytes on 64-bit arch by @maciejhirsz in #553 - Added windows and macos runner by @VictorKoenders in #554
- Implement
Decode
forBox<str>
by @SabrinaJewson in #562 - Fixed clippy warning and updated DecodeError by @VictorKoenders in #574
- Updated test dependencies: uuid and glam by @VictorKoenders in #576
- Made
peek_read
take&mut self
by @VictorKoenders in #572 - Prefixed the E and D generic argument in bincode-derive by @VictorKoenders in #573
- Implement Default for Configuration by @VictorKoenders in #575
- Document what the usizes are for (#546) by @gimbles in #577
- Clarify config::legacy() doc to match config::standard() by @trevyn in #580
- Implement Encode for tuples with up-to 16 elements. by @gz in #583
- Document configuration generics by @trevyn in #581
- Extended BorrowDecode for HashMap to support custom hashers by @Speedy37 in #585
- Allow decoding with custom
DeserializeSeed
by @MrGVSV in #586 - Added
[serde(tag)]
to the list of tags that are known to give issues by @VictorKoenders in #584 - Release 2.0.0-rc.2 by @VictorKoenders in #588
New Contributors
- @ajeetdsouza made their first contribution in #525
- @bronsonp made their first contribution in #529
- @xobs made their first contribution in #533
- @cronokirby made their first contribution in #542
- @maciejhirsz made their first contribution in #552
- @SabrinaJewson made their first contribution in #562
- @gimbles made their first contribution in #577
- @trevyn made their first contribution in #580
- @gz made their first contribution in #583
- @Speedy37 made their first contribution in #585
- @MrGVSV made their first contribution in #586
Full Changelog: v2.0.0-rc.1...v2.0.0-rc.2
v2.0.0-rc.1
What's Changed
- Reference implementations for Reader and Writer by @BRA1L0R in #507
- Made config::standard() implement .write_fixed_array_header() by default by @VictorKoenders in #509
- Added HashSet by @VictorKoenders in #516
- Made the compat fuzzer ignore any LimitExceeded error by @VictorKoenders in #515
- Release 2.0.0-rc.1 by @VictorKoenders in #510
New Contributors
Full Changelog: v2.0.0-beta.3...v2.0.0-rc.1
v2.0.0-beta.3
What's Changed
- Added a table to the documentation to pick which functions to use by @VictorKoenders in #490
- Fix a bunch of typos by @poljar in #492
- Return an error if a decoded slice length doesn't fit into usize by @poljar in #491
- Updated to virtue 0.0.6, added #[bincode(crate = other)] attribute by @VictorKoenders in #494
- Bumped dependency of virtue to 0.0.7 by @VictorKoenders in #495
- Bincode 1 compatibility framework by @VictorKoenders in #489
- Added documentation on how to add compatibility tests by @VictorKoenders in #497
- Made the compatibility check also include bincode 2 serde, and added comments by @VictorKoenders in #501
- Fix CString compatibility with bincode v1 by @ZoeyR in #502
- Fuzz for compatibility with bincode v1 by @5225225 in #498
- Fix/issue 500 by @VictorKoenders in #503
- Add Membership test by @ppamorim in #500
- Release v2.0.0-beta.3 by @VictorKoenders in #505
New Contributors
Full Changelog: v2.0.0-beta.2...v2.0.0-beta.3
v2.0.0-beta.2
What's Changed
- Run code coverage on all features by @ZoeyR in #485
- Added #[serde(untagged)] to the documentation of attributes that don't work by @VictorKoenders in #486
- Fixed an error in bincode derive where it would implement the wrong trait if a generic parameter is present by @VictorKoenders in #487
- Release v2.0.0-beta.2 by @VictorKoenders in #488
Full Changelog: v2.0.0-beta.1...v2.0.0-beta.2
V2.0.0-beta.1
What's Changed
- Fix overflow error when deserializing invalid Duration by @5225225 in #465
- Fix panic with invalid system time by @5225225 in #469
- Add fuzzing harness, try to decode into various types by @5225225 in #468
- Switched Decode and BorrowDecode to take &mut D by @VictorKoenders in #470
- Switch Encode to take &mut E by @ZoeyR in #471
- Implemented the newly stabilized CString::from_vec_with_nul method by @VictorKoenders in #473
- Made SerdeDecoder attempt to allocate memory before complaining by @VictorKoenders in #475
- Update documentation by @VictorKoenders in #480
- Moved Configuration::standard() and ::legacy() to the config module by @VictorKoenders in #481
- Feature/improve serde by @VictorKoenders in #477
- made the serde functions consistent with the base bincode functions by @VictorKoenders in #483
- Migration guide by @VictorKoenders in #482
- Release v2.0.0-beta.1 by @VictorKoenders in #484
New Contributors
Full Changelog: v2.0.0-beta.0...v2.0.0-beta.1
V2.0.0-beta.0
What's Changed
- feat: Make
Configuration
functionsconst
by @Popog in #456 - Fix failed varint bench by @ygf11 in #457
- Updated readme, added a paragraph on why we don't support #[repr(u8)] by @VictorKoenders in #461
- Bump virtue 0.0.4 by @VictorKoenders in #463
- Fixed derive impl on an empty enum by @VictorKoenders in #462
New Contributors
Full Changelog: V2.0.0-alpha.2...v2.0.0-beta.0
V2.0.0-alpha.2
Breaking:
- All
decode_from_slice
functions now also return the number of bytes read #445 - Bincode-derive now auto-implements
T: Encode
when implementing#[derive(Encode)]
(same for Decode/DecodeBorrowed)- See #451 for more information
Config integer limit
Bincode now supports size limits again. Size limits can be configured as followed:
let config = Configuration::standard() // or ::legacy()
.with_limit::<10000>();
- Documentation: https://docs.rs/bincode/2.0.0-alpha.2/bincode/config/struct.Configuration.html#method.with_limit
- Pull request: #439
Other changes:
- Added Decode/Encode for HashMap<K, V>: #438
- Added test case for a borrowed str: #441
- Fixed clippy warnings: #447
- Impl BorrowDecode for Option<&[u8]> and Option<&str>: #446
- Extract virtue: #443
- Made the CI also check the benchmarks, fixed compile issue in benchmarks: #449
- Made the derive macros automatically implement the required traits on generic arguments: #454
Full Changelog: v2.0.0-alpha.1...V2.0.0-alpha.2