--- CBOR-XS/Changes 2013/12/01 14:48:00 1.40 +++ CBOR-XS/Changes 2016/11/25 06:13:16 1.69 @@ -3,10 +3,76 @@ TODO: pack_keys? TODO: document encode_cbor_sharing? TODO: weaken cyclic structures? +TODO: allowed_classes or so? +TODO: russian guy test case exception +1.51 + - fix a crash when decoding a cyclic data structure using + stringref/pack_strings when allow_cycles is disabled. -1.11 +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. + - 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 existing + tests. + - document Math::BigFloat base-2 performance/crash issues. + - use stability canary. + +1.41 Thu 25 Feb 15:22:03 CET 2016 + - avoid perl panics on nested FREEZE/THAW calls (testcase by + Victor Efimov). + +1.4 Mon Feb 8 05:10:15 CET 2016 + - buffer overflow fix: a fast path during decoding did not check + remaining length when decoding hash keys, found by fuzzing. + This can potentially leak information in the error message + or crash the process. + - use C style { 0 } struct initializer. + - upgrade libecb. + +1.3 Mon Apr 27 22:21:04 CEST 2015 + - the incremental parser didn't properly parse tagged values + (testcase by Mons Anderson). + - slightly speed up encoding of plain (nonmagical) arrays. + - try to clarify further that effectively all 32 bit architectures + have 64 bit integer support. + - upgrade libecb. + +1.26 Sat Oct 25 08:35:44 CEST 2014 + - update the t/57_incr.t subtest that would rely on 64 bit ints. + - disable t/50_rfc.t test that fails because of broken data::dumper. + +1.25 Sun Jan 5 15:19:14 CET 2014 + - map key decoding was pretty much botched due to the recent cleanups. + - work around Time::Piece->epoch returning a string value, avoid encoding + this as a tag 1 string. + - enable more testcases in t/50_rfc.t, now that they work :) + +1.2 Tue Dec 10 22:06:42 CET 2013 + - implement an incremental decoder. + +1.12 Tue Dec 3 11:23:22 CET 2013 + - work around broken Time::Piece (in old versions of the module, %z doesn't + work as documented, gives different results on different platforms(!)). + +1.11 Sun Dec 1 18:00:00 CET 2013 - new setting: validate_utf8, for when you can't trust your cbor data. - do not leak memory on decoding errors, when allow_cycles is enabled. + - add default filters for tags 0 and 1, using Time::Piece. + - more tests added. 1.1 Sat Nov 30 19:14:27 CET 2013 - INCOMPATIBLE CHANGE: new decoder setting: allow_cyclic, needed to decode