Releases: rkyv/rkyv
Releases · rkyv/rkyv
0.8.8
0.8.7
- Removes an unused lifetime from the high- and low-level API serializer types.
Full Changelog: 0.8.6...0.8.7
0.8.6
What's Changed
- Derive Default, Eq, Hash, Ord, PartialEq, and PartialOrd for ArchivedTuple* by @evie-calico in #556
New Contributors
- @evie-calico made their first contribution in #556
Full Changelog: 0.8.5...0.8.6
0.8.5
This bugfix release only includes performance optimizations.
Full Changelog: 0.8.4...0.8.5
0.8.4
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
What's Changed
- fix: minimum
syn
version by @xJonathanLEI in #550
New Contributors
- @xJonathanLEI made their first contribution in #550
Full Changelog: 0.8.2...0.8.3
0.8.2
0.8.1
0.8.0
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
This is the first release candidate for rkyv 0.8.0.