PeterO.Cbor 4.0.0

A C# implementation of Concise Binary Object Representation (CBOR), a general-purpose binary data format defined in RFC 7049.

There is a newer version of this package available.
See the version list below for details.
Install-Package PeterO.Cbor -Version 4.0.0
dotnet add package PeterO.Cbor --version 4.0.0
<PackageReference Include="PeterO.Cbor" Version="4.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add PeterO.Cbor --version 4.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

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

Showing the top 1 GitHub repositories that depend on PeterO.Cbor:

Repository Stars
Directory Services Internals (DSInternals) PowerShell Module and Framework

Read more about the GitHub Usage information on our documentation.

Version History

Version Downloads Last updated
4.1.0 586 12/15/2019
4.0.1 7,871 10/2/2019
4.0.0 2,658 9/3/2019
4.0.0-beta1 281 7/7/2019
4.0.0-alpha2 1,329 1/3/2019
4.0.0-alpha1 1,792 10/2/2018
3.6.0 641 8/9/2019
3.5.2 2,866 7/4/2019
3.5.1 270 7/1/2019
3.5.0 497 6/2/2019
3.4.0 30,916 10/24/2018
3.4.0-beta1 308 10/1/2018
3.3.0 2,666 9/3/2018
3.2.1 12,340 7/31/2018
3.2.0 364 7/30/2018
3.1.0 21,668 6/21/2018
3.0.3 57,138 10/30/2017
3.0.2 851 9/9/2017
3.0.1 471 9/8/2017
3.0.0 1,478 8/12/2017