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.
#r "nuget: PeterO.Cbor, 4.0.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install PeterO.Cbor as a Cake Addin
#addin nuget:?package=PeterO.Cbor&version=4.0.0

// Install PeterO.Cbor as a Cake Tool
#tool nuget:?package=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

NuGet packages (13)

Showing the top 5 NuGet packages that depend on PeterO.Cbor:

Package Downloads
AWS DynamoDB Accelerator (DAX) .NET Client -- DAX is a fully managed, in-memory cache for DynamoDB.
FIDO2 .NET library (WebAuthn)
An implementation of the CBOR Object Signing and Encryption standards.
An embedded IPFS engine for .Net
This package is shared between all other DSInternals packages. Its main features are Azure AD Graph API and ADSI clients for for retrieval of cryptographic material. It contains implementations of common hash functions used by Windows, including NT hash, LM hash and OrgId hash. It also contains methods for SysKey/BootKey retrieval.

GitHub repositories (2)

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

Repository Stars
Directory Services Internals (DSInternals) PowerShell Module and Framework
FIDO2 .NET library for FIDO2 / WebAuthn Attestation and Assertion using .NET

Version History

Version Downloads Last updated
4.4.0 40 4/19/2021
4.3.0 9,696 12/7/2020
4.2.0 14,799 7/18/2020
4.1.3 20,770 5/27/2020
4.1.2 4,974 4/25/2020
4.1.1 670 4/15/2020
4.1.0 44,858 12/15/2019
4.0.0 15,772 9/3/2019
3.5.2 11,588 7/4/2019
3.5.1 743 7/1/2019
3.5.0 3,515 6/2/2019
3.4.0-beta1 893 10/1/2018
3.3.0 4,838 9/3/2018
3.2.0 1,001 7/30/2018
Show less