--- CBOR-XS/Changes 2016/04/25 19:05:28 1.62 +++ CBOR-XS/Changes 2016/11/26 00:47:02 1.74 @@ -4,18 +4,49 @@ TODO: document encode_cbor_sharing? TODO: weaken cyclic structures? TODO: allowed_classes or so? +TODO: large negative integers +TODO: russian guy test case exception +1.6 + - point out security implications of having unsafe THAW + function/methods in your process. + - new constructor new_safe, to create a secure CBOR::XS object. + - new option forbid_objects, to disallow serialisation. + - new CBOR::XS::safe_filter functionality. + - fix a crash when decoding a cyclic data structure using + stringref/pack_strings when allow_cycles is disabled. + - fix a crash when decoding hash keys with length >= 2**31. + - avoid unreasonably long decoding times for certain + types of data corruption. + - support arrays and hashes with >= 2**31 members. + - avoid overflow on pointer arithmetic when checking whether enough + data is available. + - fix a memory leak that occured when decoding failed while decoding + a tagged value. + - do not leak the partially constructed result when stringifying + a hash key throws an exception. + - various code size and efficiency optimizations (reduced code + from 42 to 40kB on my system, despite the new code). -1.5 +1.5 Wed Apr 27 11:38:39 CEST 2016 - Math::BigFloat madness workaround, see http://blog.schmorp.de/2016-04-23-mathbigfloat-maintainer-fail.html (bugreport by zdm@softvisio.net). - add text_keys and text_strings options to force CBOR text encoding for perl hash keys or all strings, as a result of discussions with Fredrik Ljunggren. - - remove some weird dead code that was duplication (%FILTER). + - implement support for arbitrary-exponent numbers (see + http://peteroupc.github.io/CBOR/bigfrac.html, tags 264 and 265) + for both en- and decoding. + - implement support for rational numbers (see + http://peteroupc.github.io/CBOR/rational.html, tag 30) for both + en- and decoding. + - the above effectively implements all registered CBOR extensions + in a sensible manner. + - remove some weird dead code that was duplicated (%FILTER). - add t/58_hv.t, which tests hashes and the new text_* flags. - hashes apparently were not encoded at all in any of the previous + hashes apparently were not encoded at all in any of the existing tests. + - document Math::BigFloat base-2 performance/crash issues. - use stability canary. 1.41 Thu 25 Feb 15:22:03 CET 2016