CBOR support for serde.
After almost 6 years it is time to retire this crate. This implementation of CBOR for serde is used in hundreds of projects with widely differing needs. Besides the standard features it contains code for no-std environments, a packed encoding and CBOR tags. However while these features are useful to many people they sometimes interact poorly with each others and with optional features of serde itself. Because I don't use the crate myself and because of the potential for new errors I have been reluctant to accept any changes or additional features for the crate. Since this situation is unlikely to change anytime soon and no one else stepped up to maintain this crate I am archiving the repository today. If the crate works for you there is no need to switch to another implementation. However if you encounter problems or for new projects I recommend you take a look at these crates:
tags
feature.slice::iter
instead of into_iter
to avoid future breakage. See rust-lang/rust#65819 for more information.half
crate to versions below 1.4 to prevent broken builds with rustc v1.31Changes:
no_std
environments if alloc
is present.Deeply nested tags like 17(17(17(17(17(17(...17(17(17("foobar"))))...)))
may cause a stack overflow. Malicious input can exploit this to crash the program while decoding the file.
Changes:
unsealed_read_write
feature without std
. #134is_human_readable()
to false
for value serializer. #136Important changes since last release:
no_std
support!Value
variants were renamed and simplified.Value
maps are now sorted in a canonical order.I would like to thank @sfackler, @chrysn, @ogoodman, @kcking, @wildarch and @baloo for their contributions to this release!
If you have any questions or problems with the new release please open an issue.