libcbor 0.14.0-1
Corinna Vinschen via Cygwin-announce <[email protected]> Sun, 19 Apr 2026 21:00:08 +0200
| Newsgroups | gmane.os.cygwin.announce |
|---|---|
| Message-ID | <[email protected]> |
The following packages have been uploaded to the Cygwin distribution:
* libcbor-0.14.0-1
* libcbor-devel-0.14.0-1
libcbor is a C library for parsing and generating CBOR.
Changes from 0.13.0:
[Fix NULL dereference in cbor_move, cbor_serialized_size, and cbor_serialize_tag when a tag has no item set](https://github.com/PJK/libcbor/pull/420) (reported by [Benjamin608608](https://github.com/Benjamin608608))
[Document large-allocation risk in cbor_load and clarify test-only CMake flags](https://github.com/PJK/libcbor/pull/422)
[Fix NULL dereference in cbor_copy/cbor_copy_definite on allocation failure](https://github.com/PJK/libcbor/pull/419) (reported by [Benjamin608608](https://github.com/Benjamin608608))
[Explicitly guard against size * 2 overflow in cbor_builder_map_start_callback](https://github.com/PJK/libcbor/pull/421) (reported by [Benjamin608608](https://github.com/Benjamin608608))
[Only generate CMake coverage build targets when explicitly enabled](https://github.com/PJK/libcbor/issues/383)
[Fix CMake feature macro names and ensure _CBOR_NODISCARD is defined with [[nodiscard]]](https://github.com/PJK/libcbor/pull/385)
[Fix integer overflow in cbor_copy_definite() when accumulating indefinite bytestring/string chunk lengths](https://github.com/PJK/libcbor/pull/387)
[Add bounds check in cbor_array_get() to return NULL on out-of-bounds access](https://github.com/PJK/libcbor/pull/388)
BREAKING: [cbor_tag_set_item now releases the reference to the previous tagged item](https://github.com/PJK/libcbor/pull/391) - Previously, replacing the tagged item would leak the old item’s reference. If you were manually releasing the old item before calling cbor_tag_set_item, you should remove the extra cbor_decref.
Potentially BREAKING: [cbor_tag_item now returns NULL if the tag has no item set](https://github.com/PJK/libcbor/pull/392) - Previously, this would be undefined behavior (NULL pointer dereference), so no valid clients should be affected.
Potentially BUILD BREAKING: [CPack Debian package architecture is now detected via dpkg instead of being hardcoded to amd64](https://github.com/PJK/libcbor/pull/394)
BUILD BREAKING: [Remove deprecated CBOR_CUSTOM_ALLOC CMake option](https://github.com/PJK/libcbor/pull/402) - The option has been a no-op since 0.10.0. If your build passes -DCBOR_CUSTOM_ALLOC=ON, remove it.
[Modernize CMake build: use project(VERSION …), replace add_definitions() with target-scoped target_compile_definitions(), remove redundant include_directories()](https://github.com/PJK/libcbor/pull/402)
[Replace global CMAKE_C_FLAGS mutations with target-scoped target_compile_options() via an INTERFACE library, and simplify LTO configuration](https://github.com/PJK/libcbor/pull/403)
[Fix Windows CI: propagate _CRT_SECURE_NO_WARNINGS to examples/tests, restrict LTO to Release builds, parallelize Windows CI build](https://github.com/PJK/libcbor/pull/404)
[Add cbor_map_get for key-based map lookup with a caller-supplied equality function](https://github.com/PJK/libcbor/pull/409) - Signature: cbor_map_get(map, key, eq) — pass any equality predicate, e.g. cbor_structurally_equal - Parameterised equality allows type-specific comparators or custom data-model semantics without library changes - See also: #96
[Add cbor_structurally_equal for encoding-level item comparison](https://github.com/PJK/libcbor/pull/408) - Compares two items structurally: encoding width, definite-vs-indefinite length, chunk boundaries, and map entry order all count - Runs in O(n) time in the encoded byte size with no additional allocations - See also: #96
BREAKING: [Fix NaN encoding in cbor_encode_half to preserve sign and payload bits](https://github.com/PJK/libcbor/pull/412) - Previously, all NaN values were encoded as 0x7E00 (positive quiet NaN, zero payload). Now the sign bit and the top 10 mantissa bits are preserved in the half-precision encoding. - _cbor_decode_half now reconstructs the NaN bit pattern faithfully, enabling encode/decode round-trips. Previously it always returned the C NAN constant. - Very small normal floats that previously rounded to +0 now round to ±0 depending on their sign. - Clients that relied on all NaNs normalising to 0x7E00 will see different output. See #215.
--
*** CYGWIN-ANNOUNCE UNSUBSCRIBE INFO ***
The easiest way to unsubscribe is to visit <https://cygwin.com/mailman/options/cygwin-announce>, and click 'Unsubscribe'.
If you need more information on unsubscribing, start reading here: <https://sourceware.org/lists.html#unsubscribe>.