--- CBOR-XS/Changes 2016/11/26 02:10:19 1.75 +++ CBOR-XS/Changes 2023/09/08 05:47:10 1.97 @@ -3,10 +3,71 @@ TODO: pack_keys? 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 +TODO: type cast tests. +TODO: round-tripping of types, such as float16 - maybe types::Serialiser support? +TODO: possibly implement https://peteroupc.github.io/CBOR/extended.html, but NaNs are nonportable. rely on libecb? +TODO: https://github.com/svaarala/cbor-specs/blob/master/cbor-nonutf8-string-tags.rst, but maybe that is overkill? + +TODO: as_object -> key value pair list to allow non-string hash keys + - shared references were not decoded correctly: instead of getting + multiple references to the same object, you got the same + reference to the same object, causing a number of issues. For + example, modifying the reference would modify all places the + reference was used, and encoding the decoded structure would + unshare the previously shared hashes, as trheir reference count + would be 1. Fixcing this was rather involved, as perl lacks the ability + to easily swap or copy arrays and hashes. + - \0, \1, \undef do not work, and were not intended to ever work, as + special values, despite being mentioned in the documentation (reported + by nuclightq). + +1.86 Thu 04 Nov 2021 17:48:16 CET + - fixed a wrong printf format specifier (reported by Petr Písař). + +1.85 Sat 23 Oct 2021 04:59:56 CEST + - left debugging printf in code, need a test for that :( + +1.84 Thu 21 Oct 2021 03:11:52 CEST + - fix a bug in validate_utf8 where we call perl's is_utf8_string with + a lenght of zero for empty strings, but perl interprets that as + "calculate length", causing spurious validation errors for + empty strings. + - include validate_utf8 in new_safe. + - avoid some warnings. + +1.83 Tue Dec 8 09:27:06 CET 2020 + - add CBOR::XS::as_map cast function. + +1.82 Tue Dec 1 02:47:40 CET 2020 + - add CBOR::XS::as_bool cast function. + +1.81 Mon Nov 30 19:29:33 CET 2020 + - cast functions were broken due to last-minute renaming. thats + what you get for not having a tessuite. + - Math::BigInt and Math::BigFloat are pretty broken (again), + so disable some tests. (try printing the bigfloat + 799999999999999999998E99999999999999999998). + +1.8 Sun Nov 29 22:35:13 CET 2020 + - experimental support for some type casts, as well as embedding + raw cbor data. + +1.71 Thu Nov 15 20:52:13 CET 2018 + - work around what smells like a perl bug w.r.t. exceptions + thrown in callbacks. + - update libecb. + +1.7 Tue Jun 27 04:02:23 CEST 2017 + - SECURITY FIX: fix two bugs found by american fuzzy lop, + upgrade is advised if you accept data from untrusted + sources. + - an out-of bound sharedref or stringref index could cause an + out of bounds access - might be exploitable. + - a decoding error during indefinite array or hash decoding + could cause an endless loop. + +1.6 Wed Dec 7 15:13:23 CET 2016 - greatly expand the SECURITY IMPLICATIONS and similar sections. - new constructor new_safe, to create a secure CBOR::XS object. - new option forbid_objects, to disallow serialisation.