Releases: intel/tinycbor
TinyCBOR release 7.0
Release 7.0 is a feature release of TinyCBOR.
Starting in this release, we change the numbering scheme and drop the leading "0.", declaring that this is not beta code (hasn't been for ages).
This release removes the old, hand-written Makefiles for the library and qmake for the examples and tests. TinyCBOR now adopts CMake as the sole build system. Thanks go to @sdebionne in #242.
Building the unit tests now requires Qt 6. Support for testing using Qt 5 has been dropped.
Library changes
- CBOR-to-JSON: fix UB in converting out-of-bounds FP to integer by @thiagomacieira in #278
- CBOR-to-JSON: fix memory leak when parsing invalid CBOR by @niooss-ledger in #279
- CBOR-to-JSON: fix integer overflow when computing allocation size by @niooss-ledger in #280
- Move the source-selection macros to a common header by @thiagomacieira in #281
- Pretty: fix Undefined Behavior with NaN floats by @niooss-ledger in #282
- Pretty: ensure recursionsLeft is not zero before decrementing it by @niooss-ledger in #283
- Fix build with GCC < 11: [[fallthrough]] is supported but not allowed in C by @thiagomacieira in #294
- CBOR-to-JSON: print integers with full precision by @thiagomacieira in #292
- cbortojson: don't hardcode OS support for fopencookie() by @thiagomacieira in #308
- compilersupport: fix compilation in C23 mode by @thiagomacieira in #309
- compilersupport: add support for C23's
nullptrby @thiagomacieira in #310 - fix build on i386 without SSE2 by @florolf in #302
Buildsystem changes
- Add CMake support by @sdebionne in #242
- CI: switch to using CMake by @thiagomacieira in #287
- Remove the old Makefile and qmake buildsystem files by @thiagomacieira in #289
- CMake: generate tinycbor-version.h by @thiagomacieira in #290
- Fetchcontent frendly CMakeLists.txt by @jhlee525 in #295
- fix installdir in cmake build by @jhlee525 in #297
- CMake: fix the option() order by @thiagomacieira in #291
Other changes
- tst_Parser: fix build: define CBOR_PARSER_MAX_RECURSIONS by @thiagomacieira in #277
- tst_Encoder: stop using QVariant::Type in favour of QMetaType::Type by @thiagomacieira in #285
- CI: update the macOS images to more modern versions by @thiagomacieira in #312
- simplereader: Fix warning about use of pointer variable after free() by @thiagomacieira in #288
- CI: Disable building the tools for macOS small by @thiagomacieira in #313
New Contributors
- @sdebionne made their first contribution in #242
- @jhlee525 made their first contribution in #295
- @florolf made their first contribution in #302
Full Changelog: v0.6.1...v7
TinyCBOR release 0.6.1
Release 0.6.1 is a bugfix release, accumulated over several years.
What's Changed
- Fixed a bug that performed arithmetic on null pointers, which is Undefined Behaviour (by @hamchapman in #217)
- Updated the
ntohllmacro to usecbor_ntohlinstead ofntohldirectly (by @mkm85 in #218) - Removed
_POSIX_C_SOURCEdefines where_GNU_SOURCEwas also defined, as_GNU_SOURCEimplicitly defines_POSIX_C_SOURCE(by @kkysen in #221) - Made it easier to replace the standard library memory management functions (by @huffman-coder in #224)
- Added support for ICCARM (by @inf265 in #226)
- Fixed a bug that would cause an assertion failure if recursion limit was hit during the creation of the CBOR pretty output (in #230)
- Added support for
_Float16for half-precision conversions if available (by @kalcutter in #231) - Added possibility to include external config file (by @piotreklc60 in #234)
- Removed use of
Q_FOREACH(by @marcmutz in #238) - Disable cJSON support when building without math support (by @thiagomacieira in #253)
- Corrected syntax error in
examples/simplereader.c(by @LinRaymond2006 in #264) - Fixed a Coverity Scan warning about
CborEncoder::datanot being initialized (by @marcmutz in https://github.com/intel/tinycbor/pull/2750 - Added a recursion limit for nested containers in the CBOR-to-JSON conversion code (by @thiagomacieira in #273)
- Fixed a problem escaping strings in the CBOR-to-JSON conversion code (by @thiagomacieira in #274)
New Contributors
- @AlfioEmanueleFresta made their first contribution in #210
- @mkm85 made their first contribution in #218
- @kkysen made their first contribution in #221
- @huffman-coder made their first contribution in #224
- @inf265 made their first contribution in #226
- @niooss-ledger made their first contribution in #229
- @kalcutter made their first contribution in #231
- @piotreklc60 made their first contribution in #234
- @marcmutz made their first contribution in #238
- @laminowany made their first contribution in #239
- @mofosyne made their first contribution in #244
- @pjonsson made their first contribution in #246
- @lightyear15 made their first contribution in #251
- @rdower made their first contribution in #254
- @dangelog made their first contribution in #263
- @LinRaymond2006 made their first contribution in #264
Full Changelog: v0.6.0...v0.6.1
TinyCBOR release 0.6
TinyCBOR 0.6 contains many changes developed over the past four years,
which have been included in Qt releases.
Notable new API:
- Support for encoding and decoding half-precision floating points (
cbor_encode_float_as_half_floatandcbor_value_get_half_float_as_float) which convert to and from a single-precision float to the correct 16-bit representation. - Ability to restart parsing (
cbor_value_reparse)
And some experimental API:
- Parsing and encoding using delegated functions, not just a buffer (
cbor_encoder_init_writerandcbor_parser_init_reader) - Parser support for iterating over string chunks
The project maintainer would like to thank the following people for contributing to this release and to bugfixes in the 0.5 branch:
Alexander Richardson
Andreas Zisowsky
Dan Church
Dmitry Shachnev
elie-elkhoury
Fabrice Fontaine
Hamilton Chapman
Koen Zandberg
Konstantin Yegupov
Maciej Jurczak
Mahavir Jain
Mårten Nordheim
Mathieu
Michael Richardson
Pedro Oliveira
Ricardo Crudo
Sergio Martins
Shubham Patil
Stewart Gebbie
Svyatoslav Phirsov
Full Changelog: v0.5.0...v0.6.0
Signed-off-by: Thiago Macieira thiago.macieira@intel.com