1# Change Log 2 3## 0.3.1 - 2022-02-23 4 5- Implement `Display` for `CoseError`. 6- Fix `Cargo.toml` to indicate reliance on `alloc` feature of `ciborium-io`. 7- Make `AsCborValue` trait public. 8 9## 0.3.0 - 2022-01-19 10 11- Change to use `ciborium` as CBOR library. Breaking change with many knock-on effects: 12 - Re-export `ciborium` as `coset::cbor` (rather than `sk-cbor`). 13 - Use `ciborium`'s `Value` type rather than `sk-cbor`'s version. 14 - Change `CoseError` to no longer wrap `sk-cbor` errors. 15 - Drop `derive` of `Eq` for data types (`ciborium` supports float values, which are inherently non-`Eq`) 16 - Add `#[must_use]` attributes to builder methods. 17 - Update MSRV to 1.56.0, as `ciborium` is `edition=2021` 18- Use new `ProtectedHeader` type for protected headers (breaking change). This variant of `Header` preserves any 19 originally-parsed data, so that calculations (signatures, decryption, etc.) over the data can use the bit-for-bit wire 20 data instead of a reconstituted (and potentially different) version. 21- Add more specific error cases to `CoseError` (breaking change): 22 - Use new `OutOfRangeIntegerValue` error when an integer value is too large for the representation used in this 23 crate. 24 - Use new `DuplicateMapKey` error when a CBOR map contains duplicate keys (and is thus invalid). 25 - Extend `DecodeFailed` error to include the underlying `ciborium::de::Error` value. 26 - Use new `ExtraneousData` error when data remains after reading a CBOR value. 27 - Rename `UnexpectedType` error to `UnexpectedItem` to reflect broader usage than type. 28- Add a crate-specific `Result` type whose `E` field defaults to `CoseError`. 29 30## 0.2.0 - 2021-12-09 31 32- Change to use `sk-cbor` as CBOR library, due to deprecation of `serde-cbor`. Breaking change with many knock-on 33 effects: 34 - Re-export `sk-cbor` as `coset::cbor`. 35 - Use `sk-cbor`'s `Value` type rather than `serde-cbor`'s version. 36 - Change encoding methods to consume `self`. 37 - Change encoding methods to be fallible. 38 - Move to be `no_std` (but still using `alloc`) 39 - Add `CoseError` error type and use throughout. 40 - Use `Vec` of pairs not `BTreeMap`s for CBOR map values. 41 - Use `i64` not `i128` for integer values throughout. 42 - Drop use of `serde`'s `Serialize` and `Deserialize` traits; instead… 43 - Add `CborSerializable` extension trait for conversion to/from bytes. 44 - Drop `from_tagged_reader` / `to_tagged_writer` methods from `TaggedCborSerializable` trait. 45 - Derive `Debug` for builders. 46 - Convert `CoseKeySet` to a newtype, and add standard traits. 47 48## 0.1.2 - 2021-08-24 49 50- Add fallible variants of builder methods that invoke closures (#20): 51 - `CoseRecipientBuilder::try_create_ciphertext()` 52 - `CoseEncryptBuilder::try_create_ciphertext()` 53 - `CoseEncrypt0Builder::try_create_ciphertext()` 54 - `CoseMacBuilder::try_create_tag()` 55 - `CoseMac0Builder::try_create_tag()` 56 - `CoseSignBuilder::try_add_created_signature()` 57 - `CoseSign1Builder::try_create_signature()` 58- Upgrade dependencies. 59 60## 0.1.1 - 2021-06-24 61 62- Make `KeyType` and `KeyOperation` public. 63- Upgrade dependencies. 64 65## 0.1.0 - 2021-05-18 66 67- Initial version, using `serde-cbor` as CBOR library. 68