Skip to content
This repository has been archived by the owner on Aug 15, 2021. It is now read-only.

Releases: pyfisch/cbor

PROJECT IS ARCHIVED

15 Aug 14:08
Compare
Choose a tag to compare

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:

v0.11.0 - Tags at last

10 Jan 10:36
Compare
Choose a tag to compare
  • #172 Support for tags by @rklaehn
    To use it enable the tags feature.
  • MSRV is 1.40.

v0.10.3

23 Nov 21:49
Compare
Choose a tag to compare
  • #162 Use slice::iter instead of into_iter to avoid future breakage. See rust-lang/rust#65819 for more information.
  • Enable byte_offset for IoRead and SliceReadFixed
  • Restrict the half crate to versions below 1.4 to prevent broken builds with rustc v1.31

v0.10.2 - Fix stack overflow

03 Oct 18:31
Compare
Choose a tag to compare

Changes:

  • Fix stack overflow caused by nested tags reported by Eric Rafaloff at Trail of Bits.
  • #147 The functions 'to_vec' and 'from_slice' are available in 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.

v0.10.1

11 Jul 07:58
Compare
Choose a tag to compare

Changes:

  • Fix build error for unsealed_read_write feature without std. #134
  • Set is_human_readable() to false for value serializer. #136

v0.10.0

02 Jul 15:38
Compare
Choose a tag to compare

Important changes since last release:

  • no_std support!
  • The default enum format was changed. It now uses the externally tagged format recommended by serde.
    One can optionally serialize to the legacy array-based format.
    Both formats are accepted for deserialization.
  • Deserialization is configurable.
    Opt-out of the packed format or only accept one enum serialization.
  • Value variants were renamed and simplified.
  • Keys of Value maps are now sorted in a canonical order.
  • Some utility methods for serialization and deserialization were removed
    because they saw little use.
  • 128-bit numbers can be used, but bear in mind that the values are
    still limited to 64-bit by the CBOR format.
  • Better docs and README.
  • Bug fixes.

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.

v0.9.0

27 Dec 14:21
Compare
Choose a tag to compare
Release v0.9

Now supports encoding 16 bit floats.
Uses DeserializeOwned.

v0.8.2

27 Dec 14:21
Compare
Choose a tag to compare
Publish point release

v0.8.1

27 Dec 14:22
Compare
Choose a tag to compare
Bump version to 0.8.1

v0.8.0

25 Dec 23:19
Compare
Choose a tag to compare
Bump version to 0.8