--- CBOR-XS/Changes 2020/11/30 20:38:25 1.83 +++ CBOR-XS/Changes 2023/09/08 20:16:09 1.99 @@ -2,16 +2,49 @@ TODO: pack_keys? TODO: document encode_cbor_sharing? -TODO: weaken cyclic structures? TODO: large negative integers 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_bool, also in Types::Serialiser? + +1.87 Fri 08 Sep 2023 22:14:18 CEST + - 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. Fixing 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). + - new feature: allow_weak_cycles. + +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 funbctions were broken due to last-minute renaming. thats - what you egt for not havign a tessuite. + - 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).