Rkyv Versions Save

Zero-copy deserialization framework for Rust

v0.7.33

2 years ago

This bugfix release corrects macro hygiene when using the derive macros inside of a macro_rules! context (#252).

Thanks to @DarrenTsung for reporting the issue.

v0.7.32

2 years ago

This bugfix release addresses the following issues:

  • Adds the new Raw wrapper for maximum ser/de and validation performance on raw bytes
  • Implements PartialEq for ArchivedDuration (#247)
  • Improves error messaging for unaligned buffer errors (#245)
  • Fixes an issue where the derive macro could generate ambiguous impl code (#251)
  • Updates hashbrown support to 0.12 (#248)

Thanks everyone who reported issues and to @petar-dambovaliev and @kastolars for filing pull requests!

v0.7.31

2 years ago

This bugfix release extends Send and Sync impls to a few more types.

Thanks to @nagisa for filing an issue!

v0.7.30

2 years ago

This bugfix release addresses the following issues:

  • #241 Support for niching nonzero integers has been added. Using #[with(Niche)] on Option<NonZero*> fields will only use as much space as the underlying integer type while archived.
  • #240 SystemTime can now be serialized and deserialized using #[with(UnixTimestamp)], which converts the time to a duration since the UNIX epoch.
  • #242 SharedSerializeMapError has been made Send and Sync.
  • #243 Malformed arguments to #[archive(...)] and #[archive_attr(...)] will now properly error. Previously, malformed arguments caused the attribute to be silently ignored.

Thanks to @nagisa, @seritools, @kassens, and @ok-nick for reporting issues and filing feature requests.

v0.7.29

2 years ago

This bugfix release addresses the following issues:

  • Validation failure when using BTreeMap as a struct member in certain situations (#239)
  • Soundness hole in AlignedVec::into_vec when the resulting Vec is dropped
  • General docs improvements

Thanks to @Jasper-Bekkers for filing an issue!

v0.7.28

2 years ago

This bugfix release removes doctest dependencies on the validation feature.

Thanks to @remilauzier for filing an issue!

v0.7.27

2 years ago

0.7.27 is a bugfix release that fixes some issues and adds a few new features:

  • #234 Adds direct support for the hashbrown crate. This allows users to archive hash maps and hash sets without also needing std.
  • New helper functions have been added to make serialization and deserialization easier than ever: to_bytes, from_bytes_unchecked, and from_bytes. These are utility functions to make working with serialization and deserialization easier, but may not provide the best possible performance for individual cases.
  • A usage-tracking scratch space adapter has been added for performance tuning.
  • A debug assertion message regarding buffer alignment has been fixed to provide the correct error message.
  • The HeapScratch struct can now be used with const parameter N=0.
  • Examples have been updated.

Thanks to @Miaxos for feature requests and a PR!

v0.7.26

2 years ago

This bugfix release adds validation support for indexmap types. Thanks to @nagisa for the feature request.

v0.7.25

2 years ago

This bugfix release improves atomics support detection to provide atomics support to more targets.

Thanks to @tobz for the PR.

v0.7.24

2 years ago

This bugfix release fixes #227 by removing the custom pad impl for BufferSerializer. This will cause the serializer to always write zeroes to padding to avoid surprises when reusing buffer memory. Thanks to @Diomendius for reporting an issue.