Skip to content

Releases: rkyv/rkyv

0.8.8

Choose a tag to compare

@djkoloski djkoloski released this 18 Sep 16:28
  • Fixes auto copy optimization referring to generated types with as = ...

Full Changelog: 0.8.7...0.8.8

0.8.7

Choose a tag to compare

@djkoloski djkoloski released this 18 Sep 03:53
  • Removes an unused lifetime from the high- and low-level API serializer types.

Full Changelog: 0.8.6...0.8.7

0.8.6

Choose a tag to compare

@djkoloski djkoloski released this 18 Sep 03:51

What's Changed

  • Derive Default, Eq, Hash, Ord, PartialEq, and PartialOrd for ArchivedTuple* by @evie-calico in #556

New Contributors

Full Changelog: 0.8.5...0.8.6

0.8.5

Choose a tag to compare

@djkoloski djkoloski released this 16 Sep 22:41

This bugfix release only includes performance optimizations.

Full Changelog: 0.8.4...0.8.5

0.8.4

Choose a tag to compare

@djkoloski djkoloski released this 16 Sep 14:18

What's Changed

  • Support missing enum variants on remote derives by @MaxOhn in #553
  • Removed a stale reference to ArchivedAlignedVec
  • Fixed a panic caused by serializing hashmaps of large elements
  • Reduced branching when writing inline strings (~15% ser improvement on log benchmark)

Full Changelog: 0.8.3...0.8.4

0.8.3

Choose a tag to compare

@djkoloski djkoloski released this 14 Sep 04:19

What's Changed

New Contributors

Full Changelog: 0.8.2...0.8.3

0.8.2

Choose a tag to compare

@djkoloski djkoloski released this 13 Sep 15:10

This bugfix release addresses the following issues:

  • #548 Makes the AsVec wrapper compatible with any choice of hasher
  • #549 Access pointer validation fails for nested HashMaps

0.8.1

Choose a tag to compare

@djkoloski djkoloski released this 12 Sep 03:36

This bugfix release corrects an infinite loop in hash map probing.

0.8.0

Choose a tag to compare

@djkoloski djkoloski released this 11 Sep 06:03

It's finally here! A ton of stuff has changed, so here are some highlights:

  • API free functions are now more ergonomic and consistently-named. See to_bytes, from_bytes, access, and everything else!
  • rkyv now provides separate "API levels" for high-level Rust code and low-level Rust code.
  • Error handling has been completely overhauled with the introduction of rancor. Validation, serialization, and deserialization all now accept error type parameters so you can choose how you want errors to accumulate.
  • rkyv now supports remote derive! Read all about it in the book.
  • Unaligned primitives are now supported via the unaligned feature. If you choose, no more worrying about buffer alignment!
  • Native endianness is no more. rkyv now defaults to little-endian, aligned, and 32-bit relative pointers. Use the format control features to change them if you want.
  • A few semver-affecting soundness issues have been fixed. rkyv should now really truly and always generate cross-platform buffers.
  • The archived hash map and b-tree map implementations have been overhauled for better space-efficiency and performance.
  • Macro attributes have been overhauled to make them significantly more cohesive and ergonomic.
  • rkyv's mutable API has been overhauled for improved soundness and ease of use.
  • rkyv's internal APIs have been overhauled for improved ease of use.
  • Many serialization and deserialization types and traits have been renamed for shortness and clarity.
  • Copy optimizations are now stable for many basic primitive types.
  • The Most Unhelpful Error no longer occurs (the compiler mentions With<_, _> when you try to deserialize)
  • AlignedVec now supports custom alignments
  • No more strict feature, rkyv is always in strict mode now
  • Lots and lots and lots of tech debt cleanup

... and much more! Try it out yourself after I release this new version on-stage at RustConf.

Reminder: this is a major version bump, and data previously serialized with rkyv 0.7 or below will not be compatible with 0.8. Any data you serialize in 0.8 is guaranteed to be compatible for the lifetime of the 0.8 releases.

0.8.0-rc.1

0.8.0-rc.1 Pre-release
Pre-release

Choose a tag to compare

@djkoloski djkoloski released this 02 Sep 02:25

This is the first release candidate for rkyv 0.8.0.