Releases: PJK/libcbor
Releases · PJK/libcbor
v0.13.0
What's Changed
- Fix small typo in release script by @PJK in #350
- Fix failing 32 bit tests due to cmocka macro repeating stack pushes by @PJK in #354
- Set cmake_minimum_required to 3.5 by @PJK in #355
- Fix float_ctrl ctrl assertions failing in debug mode by @PJK in #353
- Check in vscode setup by @PJK in #357
- Add CBOR sequences example by @PJK in #358
- Add riscv64 config to CircleCI by @PJK in #359
- Add a test for malformed definite maps by @PJK in #360
- Add [[nodiscard]] support and auto-update to C23 in cmake by @PJK in #361
- Configure ctest on to export the test results to CircleCI by @PJK in #362
- Revamp the introduction doc into a more useful crash course by @PJK in #363
- Add OSX asan/lsan supression config by @PJK in #366
- Add cbor_copy_definite by @PJK in #364
- Improve handling and coverage reporting of exhaustive enum switches by @PJK in #367
- Add references to readme by @PJK in #368
- Update python deps and related docs by @PJK in #369
- Link tutorial in readme (and fix embedded RST formatting) by @PJK in #370
- Add a doc note on lto linking by @PJK in #373
- Add a doc for the reference count in cbor_array_set(). by @hglee in #375
- Add gh link to docs by @PJK in #374
- Add #355 to changelog by @PJK in #376
- Bump version to 0.13.0 by @PJK in #377
New Contributors
Full Changelog: v0.12.0...v0.13.0
v0.12.0
What's Changed
- Tag documentation and general doxygen style improvements by @PJK in #309
- Rename API docs to be more helpful by @PJK in #310
- Make MSVC w/ /sdl work by @PJK in #312
- Respect CMAKE_INTERPROCEDURAL_OPTIMIZATION by @PJK in #316
- Nicer cmakes by @PJK in #317
- Fixed code coverage option typo in CMakeLists.txt by @jonathanmarvens in #318
- Bump jinja2 from 3.1.2 to 3.1.3 in /doc/source by @dependabot in #306
- Update CI configs by @PJK in #332
- Fix wrong fopen mode in fuzzer by @PJK in #331
- Update OSX CI version by @PJK in #333
- Fix NaN handling on mips/mipsel and Windows; disable value propagation for signaling NaNs; add mips CI by @PJK in #335
- Export and install CMake targets by @dg0yt in #337
- Update cirrus FreeBSD to 14.2 by @PJK in #339
- Update Bazel setup to Bzlmod by @PJK in #340
- In cbor2cjson.c example, add missing cbor_move to cbor_array_get call by @whitehse in #338
- Update python requirements by @PJK in #343
- Fix mips/el CI by @PJK in #342
- include project directory with target instead of globally by @Jan200101 in #341
- Update more python packages by @PJK in #344
- Update example formatting (clang changed) by @PJK in #345
- Remove no-op pragma clang lines by @brooksdavis in #321
- Fix mutiple "pedantic" compiler warnings, mostly around unused parameters by @PJK in #347
- Bump jinja2 from 3.1.5 to 3.1.6 in /doc/source by @dependabot in #346
- Update changelog, improve release script to automate version bump PRs by @PJK in #348
- Bump version to 0.12.0 by @PJK in #349
New Contributors
- @jonathanmarvens made their first contribution in #318
- @dg0yt made their first contribution in #337
- @whitehse made their first contribution in #338
- @Jan200101 made their first contribution in #341
- @brooksdavis made their first contribution in #321
Full Changelog: v0.11.0...v0.12.0
0.11.0 (2024-02-04)
0.11.0 (2024-02-04)
- Updated documentation to refer to RFC 8949
- Improvements to
cbor_describe - Fix
cbor_string_set_handlenot setting the codepoint count - BREAKING:
cbor_loadwill no longer fail on input strings that are well-formed but not valid UTF-8- If you were relying on the validation, please check the result using
cbor_string_codepoint_countinstead
- If you were relying on the validation, please check the result using
- BREAKING: All decoders like
cbor_loadandcbor_stream_decodewill accept all well-formed tag values (bug discovered by dskern-github)- Previously, decoding of certain values would fail with
CBOR_ERR_MALFORMATEDorCBOR_DECODER_ERROR - This also makes decoding symmetrical with serialization, which already accepts all values
- Previously, decoding of certain values would fail with
v0.10.2
0.10.2 (2023-01-31)
- Fixed minor test bug causing failures for x86 Linux (discovered by trofi)
- Actual libcbor functionality not affected, bug was in the test suite
- Made tests platform-independent
v0.10.1
v0.10.0
0.10.0 (2022-12-29)
- Make the buffer_size optional in
cbor_serialize_alloc[#205] (by hughsie) - BREAKING: Improved half-float encoding for denormalized numbers. [#208] (by ranvis)
- Denormalized half-floats will now preserve data in the mantissa
- Note: Half-float NaNs still lose data (#215)
- BUILD BREAKING: Minimum CMake version is 3.0 [#201] (by thewtex@)
- See https://repology.org/project/cmake/versions for support; the vast majority of users should not be affected.
- Fix a potential memory leak when the allocator fails during array or map decoding [#224] (by James-ZHANG)
- Fix a memory leak when the allocator fails when adding chunks to indefinite bytestrings. (discovered by James-ZHANG)
- Fix a memory leak when the allocator fails when adding chunks to indefinite strings
- Potentially BUILD BREAKING: Add nodiscard attributes to most functions
- Warning: This may cause new build warnings and (in rare cases, depending on your configuration) errors
- BREAKING: Fix
cbor_copyleaking memory and creating invalid items when the allocator fails.- Previously, the failures were not handled in the interface. Now,
cbor_copymay returnNULLupon failure; clients should check the return value
- Previously, the failures were not handled in the interface. Now,
- Fix
cbor_build_tagillegal memory behavior when the allocator fails - Add a new
cbor_serialized_sizeAPI - Reworked
cbor_serialize_allocto allocate the exact amount of memory necessary upfront- This should significantly speed up
cbor_serialize_allocfor large items by avoiding multiple reallocation iterations - Clients should not use the return value of
cbor_serialize_alloc. It may be removed in the future.
- This should significantly speed up
- BUILD BREAKING: Deprecate CBOR_CUSTOM_ALLOC
cbor_set_allocswill always be enabled from now on- Note: The flag will be kept as a no-op triggering a warning when used for one version and then removed completely
v0.9.0
0.9.0 (2021-11-14)
- Improved pkg-config paths handling [#164] (by jtojnar@)
- Use explicit math.h linkage [#170]
- BREAKING: Fixed handling of items that exceed the host size_t range [#186]
- Callbacks for bytestrings, strings, arrays, and maps use uint64_t instead of size_t to allow handling of large items that exceed size_t even if size_t < uint64_t
- cbor_decode explicitly checks size to avoid overflows (previously broken, potentially resulting in erroneous decoding on affected systems)
- The change should be a noop for 64b systems
- Added a Bazel build example [#196] (by andyjgf@)
v0.8.0
- BUILD BREAKING: Use BUILD_SHARED_LIBS to determine how to build libraries (fixed Windows linkage) [#148] (by intelligide@)
- BREAKING: Fix
cbor_tag_itemnot increasing the reference count on the tagged item reference it returns [Fixes #109] (discovered bt JohnGilmour)- If you have previously relied on the broken behavior, you can use
cbor_moveto emulate as long as the returned handle is an "rvalue"
- If you have previously relied on the broken behavior, you can use
- BREAKING:
CBOR_DECODER_EBUFFERremoved fromcbor_decoder_statuscbor_stream_decodewill setCBOR_DECODER_NEDATAinstead if the input buffer is empty
- Fix
cbor_stream_decodeto setcbor_decoder_result.requiredto the minimum number of input bytes necessary to receive the next callback (as long as at least one byte was passed) (discovered by woefulwabbit) - Fixed several minor manpage issues [#159] (discovered by kloczek@)
v0.7.0
- Fix bad encoding of NaN half-floats [Fixes #53] (discovered by BSipos-RKF)
- Warning: Previous versions encoded NaNs as
0xf9e700instead of0xf97e00; if you rely on the broken behavior, this will be a breaking change
- Warning: Previous versions encoded NaNs as
- Fix potentially bad encoding of negative half-float with exponent < -14 [Fixes #112] (discovered by yami36)
- BREAKING: Improved bool support [Fixes #63]
- Rename
cbor_ctrl_is_booltocbor_get_booland fix the behavior - Add
cbor_set_bool
- Rename
- Fix memory_allocation_test breaking the build without CBOR_CUSTOM_ALLOC [Fixes #128] (by panlinux)
- Fix a potential build issue where cJSON includes may be misconfigured
- Breaking: Add a limit on the size of the decoding context stack (by James-ZHANG)
- If your usecase requires parsing very deeply nested structures, you might need to increase the default 2k limit via
CBOR_MAX_STACK_SIZE
- If your usecase requires parsing very deeply nested structures, you might need to increase the default 2k limit via
- Enable LTO/IPO based on CheckIPOSupported [#143] (by xanderlent)
- If you rely on LTO being enabled and use CMake version older than 3.9, you will need to re-enable it manually or upgrade your CMake
v0.6.1
- Fix bad shared library version number
- Warning: Shared library built from the 0.6.0 release is erroneously marked as version "0.6.0", which makes it incompatible with future releases including the v0.6.X line even though they may be compatible API/ABI-wise. Refer to the documentation for the new SO versioning scheme.
- Warning: This release has been originally attached to the wrong commit (09ef47f)