Rkyv Versions Save

Zero-copy deserialization framework for Rust

v0.7.43

4 months ago

This bugfix release closes a number of issues:

  • Fix documentation typo (#433)
  • Add a with_capacity constructor for SharedSerializeMap, SharedDeserializeMap, DefaultValidator, and SharedValidator (#432)
  • Fix tinyvec/alloc feature cfg and docs (#428)
  • Use the Entry API to avoid double hash lookups (#426)
  • Preallocate HashMap/HashSet data on deserialize (#427)
  • Fix documentation typo (#422)
  • Add support for VecDeque (#414)
  • Add smol_str support (#411)
  • Add some ergonomic APIs to Option and Result (#413)
  • Add tokio Bytes suport (#408)

Thanks to everyone who helped contribute to this release: @gz, @monoid, @b8591340, @alvra, @blp, @al8n, @cholcombe973, and @FallingSnow.

v0.7.42

11 months ago

This bugfix release closes a number of issues:

  • #374 Added const generics support to rkyv_typename and fixed a name collision with generated code and errors when using lifetimes as generics
  • #378 Fixed a regression that caused BufferScratch to be !Sync
  • #379 Upgraded rkyv's supported version of uuid and fixed some feature unification problems
  • #381 Fixed a missing ?Sized bound on some wrapper type impls
  • #387 Relaxed an unnecessary Sized bound for the inherent TypeName impl

It also resolves an issue when validating tuples by upgrading rkyv's bytecheck version to 0.6.11.

Thanks to @c410-f3r, @mkatychev, @ChillFish8, and @edfraenkel for their hard work!

v0.7.41

1 year ago

This bugfix release includes a number of additions and fixes:

  • #342 and #364 Add missing PartialOrd<&str> and PartialOrd<String> impls for ArchivedString
  • #346 Adds a From<T> impl for ArchivedOption<T>
  • #350, #351, #352, #355, #359, #360, and #372 Improve the performance and expand the capabilities of AlignedVec
  • #358 and #361 Disambiguate associated types generated in derive macros
  • #357 Corrects disabled Send impls on BufferScratch
  • #344 Bumps rkyv's bytecheck dependency to 0.6.10, re-exports the crate, and provides a more convenient #[archive(check_bytes)] attribute to derive CheckBytes with rkyv's supported bytecheck version. See the new examples for more details.

Additionally, rkyv's test suites once again pass MIRI under the new tree borrows model. You can test your own code that uses rkyv for undefined behavior by enabling tree borrows on your own projects.

Thanks to @mkatychev, @Qqwy, @brahms116, @myronahn, @overlookmotel, @samlich, @freqmod, and @MaxOhn for their contributions to this release!

v0.7.40

1 year ago

This bugfix release includes a number of additions and fixes:

  • #280 Implements Archive and Serialize for AlignedBytes and AlignedVec
  • #282 Adds a resize function to AlignedVec
  • #294 Adds the MSRV to rkyv's manifest
  • #308 Runs MIRI in CI
  • #304 Adds risv32im to the platforms tested in CI
  • #296 Adds support for the bitvec crate
  • #310 Ensures that ArchivedString is always marked as !Unpin
  • #313 Parameterizes rkyv's impls for IndexMap and IndexSet over a State type parameter
  • #315 Unifies and clarifies the documentation for out_field!
  • #319 Adds from_raw_parts methods for RelPtr and ArchivedBox
  • #321 Adds support for the arrayvec crate
  • #327 Propagates LayoutErrors during validation
  • #337 Adds a missing zero check during division in ArchivedHashMap
  • #339 Fixes a crash when calling reserve_exact(1) on an AlignedVec
  • #340 Re-exports bytecheck::CheckBytes from rkyv
  • #325 ManuallyDrop<T> now implements rkyv's traits
  • A number of bugs occurring during validation and deserialization were fixed (#288, #307, and others)

Thanks to all of the contributors who helped make this release possible!

v0.7.39

1 year ago
  • #278 Adds null checks for pointers returned from alloc and realloc.
  • Fixes some places in the Archive derive macro that was using ::rkyv as the crate path instead of a path provided through #[archive(crate = "...")].

Thanks to @robinhundt for filing an issue!

v0.7.38

1 year ago
  • #263 Adds the new generic Map wrapper (thanks to @zyansheep)
  • #264 Fixes some incorrect DeserializeWith impls for the AsBox and Raw wrapper types
  • #265 Adds support for validating CStr and CString
  • #268 Adds the new Skip wrapper to skip serializing fields
  • #269 Updates support for the uuid crate to 1.0 (thanks to @Dylan-DPC)

Thanks to everyone who contributed issues and PRs!

v0.7.37

2 years ago

This bugfix release properly gates Arc support behind the has_atomics flag to fix rkyv on thumbv6m-none-eabi and other platforms without atomics support running under no_std.

Thanks to @moosingin3space for the bug report.

v0.7.36

2 years ago

This bugfix release introduces the Unsafe wrapper type for serializing and deserializing Cell and UnsafeCell.

v0.7.35

2 years ago

This bugfix release corrects documentation on AlignedVec::into_boxed_slice that was not correctly updated with the previous release.

Thanks to @ralfjung for spotting the issue.

v0.7.34

2 years ago

This bugfix release corrects some minor potential UB in AlignedVec::into_boxed_slice. It is a second location of a similar issue patched in 0.7.29.

Thanks to @saethlin for identifying and reporting the issue securely.