Upgrade to release 6.1.1:
- Fixed cbor2.load() returning corrupted data for payloads exceeding
4096 bytes
From 6.1.0:
- Added the allow_duplicate_keys parameter to CBORDecoder, load and
loads (default: True). When set to False, a CBORDecodeError is raised
upon encountering a duplicate key within the same map.
- Added support for decoding from any object supporting the buffer API
(e.g. memoryview or bytearray) in addition to bytes
- Fixed compatibility issues with 32-bit systems
From 6.0.1:
- Fixed an error in the mutability logic during decoding, leading to
values being decoded as immutable in unexpected places
From 6.0.0:
- MAJOR REWRITE: The Python and C implementations of the encoder and
decoder were replaced with a single, Rust-based implementation in the
interest of maintainability.
- BACKWARD INCOMPATIBLE Changed the signature of the tag_hook decoder
callables to accept (CBORTag, immutable as arguments instead of
CBORDecoder, CBORTag)
- BACKWARD INCOMPATIBLE Changed the signature of the object_hook decoder
callables to accept (Mapping[Any, Any], bool) instead of (CBORDecoder,
dict[Any, Any])
- BACKWARD INCOMPATIBLE Removed the break_marker singleton as no longer
necessary
- BACKWARD INCOMPATIBLE Removed the CBORDecodeValueError exception,
instead chaining ValueError or TypeError to a CBORDecodeError
- BACKWARD INCOMPATIBLE Changed the decoding of semantic tag 261 to
yield an IPv4Interface or IPv6Interface if the address contains host
bits
- BACKWARD INCOMPATIBLE Removed the individual decoding functions from
the API as they were mistakenly called directly by users. Please open
an issue if you need them back.
- BACKWARD INCOMPATIBLE Changed the encoding of IP addresses to use the
semantic tags 52 and 54 instead of the deprecated 260 and 261
- BACKWARD INCOMPATIBLE Dropped the deprecated cbor2.decoder and
cbor2.encoder modules - everything in the API is now importable
directly from cbor2
- BACKWARD INCOMPATIBLE The cbor2.FrozenDict class has now been renamed
frozendict and is not available on Python 3.15 where the built-in
frozendict class must be used instead
- Added the semantic_decoders decoder option to add or override decoders
for specific semantic tags
- Added the immutable decoder flag to always use immutable containers
where possible when decoding a CBOR stream
- Added the allow_indefinite decoder option to optionally disallow
indefinite-length strings and containers
- Dropped support for Python 3.9
- Fixed the decoder not rejecting invalid two-byte simple value
sequences (0xF800 - 0xF81F)
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>