Releases: bincode-org/bincode
Releases · bincode-org/bincode
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
v2.0.0-alpha.1
- Support for serde through Compat and BorrowCompat modules and serde-specific encode/decode functions.
- Split bincode_derive's Decode and BorrowDecode
- Fixed constraint on implementation for
Cow<T>
- Several minor bugfixes
v2.0.0-alpha.0
Complete rewrite of bincode. Refer to the documentation on how to use the current version. Migration guides and detailed changes coming later.