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>.