Zero-copy deserialization framework for Rust
This bugfix release closes a number of issues:
with_capacity
constructor for SharedSerializeMap
, SharedDeserializeMap
, DefaultValidator
, and SharedValidator
(#432)tinyvec/alloc
feature cfg and docs (#428)Entry
API to avoid double hash lookups (#426)HashMap
/HashSet
data on deserialize (#427)VecDeque
(#414)smol_str
support (#411)Option
and Result
(#413)Bytes
suport (#408)Thanks to everyone who helped contribute to this release: @gz, @monoid, @b8591340, @alvra, @blp, @al8n, @cholcombe973, and @FallingSnow.
This bugfix release closes a number of issues:
BufferScratch
to be !Sync
uuid
and fixed some feature unification problems?Sized
bound on some wrapper type implsSized
bound for the inherent TypeName
implIt 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!
This bugfix release includes a number of additions and fixes:
PartialOrd<&str>
and PartialOrd<String>
impls for ArchivedString
From<T>
impl for ArchivedOption<T>
AlignedVec
Send
impls on BufferScratch
#[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!
This bugfix release includes a number of additions and fixes:
Archive
and Serialize
for AlignedBytes
and AlignedVec
resize
function to AlignedVec
bitvec
crateArchivedString
is always marked as !Unpin
IndexMap
and IndexSet
over a State
type parameterout_field!
from_raw_parts
methods for RelPtr
and ArchivedBox
arrayvec
crateLayoutError
s during validationArchivedHashMap
reserve_exact(1)
on an AlignedVec
bytecheck::CheckBytes
from rkyvManuallyDrop<T>
now implements rkyv's traitsThanks to all of the contributors who helped make this release possible!
alloc
and realloc
.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!
Map
wrapper (thanks to @zyansheep)DeserializeWith
impls for the AsBox
and Raw
wrapper typesCStr
and CString
Skip
wrapper to skip serializing fieldsuuid
crate to 1.0 (thanks to @Dylan-DPC)Thanks to everyone who contributed issues and PRs!
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.
This bugfix release introduces the Unsafe
wrapper type for serializing and deserializing Cell
and UnsafeCell
.
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.
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.