QCBOR Versions Save

Comprehensive, powerful, commercial-quality CBOR encoder/ decoder that is still suited for small devices.

v1.2

1 year ago

This release addresses static analyzer warnings about INT64_MIN for decoding big floats and decimal fractions and addresses warnings for adding empty data/string items. In practice, the issues underlying these warnings are not known to cause any problems. Both gcc and clang produce correct code without these fixes. Test coverage for this in previous versions of QCBOR also indicated no problems.

There are no API changes in this release. It is compatible with previous releases.

Picking up this fix is recommended as the implementation is clearly more correct C code.

This release also substantially improves building with CMake.

v1.1

1 year ago

QCBOR 1.1 is some small feature additions and some small bug fixes.

The bug fixes are primarily for decoding malformed input. There are no security issues (no buffer overruns), though in one case an infinite loop occurs.

There are no compatibility issues relative to QCBOR 1.0. The only API change is the addition of QCBOREncode_OpenBytes and related. The QCBOR_1_1 is #define'd to indicate the version is 1.1.

It is recommended that all users of QCBOR pick up this release. It is a simple upgrade.

Features

  • Add QCBOREncode_OpenBytes()
  • Improved documentation for disabling parts of QCBOR
  • Improved examples

Fixes

  • Better naming of #defines for standard tag numbers
  • All floating point tests are now properly disabled when all floating point is disabled.
  • Bad input (e.g., not well formed maps) would result in an infinite loop for some spiffy decode API use.
  • Fix compiler warnings with Microsoft compiler
  • Calling QCBOREncode_CloseArray() and related incorrectly (multiple times) could put QCBOR in an undefined state.
  • Zero-length indefinite-length string chunks are now correctly ignored rather than causing an error.

v1.0

2 years ago

QCBOR 1.0

This is the start of making formal releases of QCBOR.

This 1.0 release is stable with no known issues. It is suitable for commercial deployment.

Changes in the last year have been small feature additions, improved documentation and portability improvements. The last major change was the addition of spiffy decode in late 2020.

QCBOR has been stable and of commercial quality for over three years.

QCBOR is maintained by Laurence Lundblade [email protected]