PeterO.Cbor 4.0.0
A C# implementation of Concise Binary Object Representation (CBOR), a general-purpose binary data format defined in RFC 7049.
Version 4.0.0:
- Fix issues with CTAP2 Canonical CBOR form
- Support field serialization and deserialization in ToObject and FromObject
Version 4.0.0-beta2:
The features in this version include:
- The CBOR library no longer stores numbers in a special form beyond the CBOR data model, which represents all "65-bit" signed integers and all "double" values. This means the CBOR library no longer stores certain numbers as EDecimal, EInteger, EFloat, etc., rather than as tagged CBOR objects.
- CBORObject.CompareTo now compares objects using the default deterministic encoding comparison in the draft revision of the CBOR specification, and no longer treats numbers (objects with the former type CBORType.Number) as a special class.
- CBORType.Number is deprecated; CBORObjects no longer have this type. In its place, certain numbers now have new CBORTypes Integer or FloatingPoint.
- CBORObject now stores floating-point numbers internally as the bits that make them up, rather than as `double`s, to avoid data loss in conversions.
- Methods were added to CBORObject to read and write floating-point numbers in terms of their bit patterns rather than as `double`s or `float`s.
- Ctap2Canonical was made more strict and now works when decoding CBOR objects.
- Added ReadSequence and DecodeSequence to CBORObject for reading CBOR sequences.
- New CBORNumber class for storing numbers representable in CBOR. The new CBORObject.IsNumber property checks whether a CBOR object represents a number.
- Bug fixes
Version 4.0.0-beta1:
- Support nullable types in CBORObject.ToObject.
- Update Numbers library to newer version
- JSONOptions.Base64Padding now has no effect. The library will now write padding as necessary when
writing traditional base64 to JSON and write no padding when writing base64url to JSON.
- JSONOptions.ReplaceSurrogates property added.
- Restrict valid shared reference indices to integers 0 or greater.
- Reject writing JSON where CBOR maps have two keys with the same string equivalent.
- Improve performance of CBOR object comparisons involving big floats.
Version 4.0.0-alpha2:
- Support CBOR tags for IRIs and IRI references.
- Add CBOREncodeOptions.DefaultCtap2Canonical field.
Version 4.0.0-alpha1:
- Remove all APIs obsoleted since version 3.4. This
includes the BigInteger, ExtendedDecimal, and ExtendedFloat APIs,
which were renamed and moved to a different library, as well as the
ICBORTag and CBORTypeFilter APIs.
- Changed implementation of FromObject, including imposing a nesting depth
limit and supporting a CBORTypeMapper parameter.
- Property name conversion rules (in PODOptions) were changed
in this version with respect to FromObject. In this sense,
PODOptions.RemoveIsPrefix was removed.
- Certain other changes in CBOR object reading and validation were
made; they are largely compatible with previous versions but may be
backwards-incompatible in certain rare cases
Any 0.0
- PeterO.Numbers (>= 1.4.3)
| Version | Downloads | Last updated |
|---|---|---|
| 5.0.0-alpha2 | 5 | 06/28/2025 |
| 5.0.0-alpha1 | 4 | 06/28/2025 |
| 4.5.5 | 4 | 06/28/2025 |
| 4.5.3 | 6 | 06/28/2025 |
| 4.5.2 | 4 | 06/28/2025 |
| 4.5.1 | 4 | 06/28/2025 |
| 4.5.0 | 4 | 06/28/2025 |
| 4.4.4 | 4 | 06/28/2025 |
| 4.4.2 | 4 | 06/28/2025 |
| 4.4.1 | 5 | 06/28/2025 |
| 4.4.0 | 4 | 06/28/2025 |
| 4.3.0 | 4 | 06/28/2025 |
| 4.2.0 | 4 | 06/28/2025 |
| 4.1.3 | 4 | 06/28/2025 |
| 4.1.2 | 4 | 06/28/2025 |
| 4.1.1 | 4 | 06/28/2025 |
| 4.1.0 | 4 | 06/28/2025 |
| 4.0.0 | 4 | 06/28/2025 |
| 3.5.2 | 4 | 06/28/2025 |
| 3.5.1 | 4 | 06/28/2025 |
| 3.5.0 | 4 | 06/28/2025 |
| 3.4.0-beta1 | 4 | 06/28/2025 |
| 3.3.0 | 5 | 06/28/2025 |
| 3.2.0 | 4 | 06/28/2025 |