1 | Revision history for Perl extension CBOR::XS |
1 | Revision history for Perl extension CBOR::XS |
2 | |
2 | |
3 | TODO: pack_keys? |
3 | TODO: pack_keys? |
4 | TODO: document encode_cbor_sharing? |
4 | TODO: document encode_cbor_sharing? |
5 | TODO: weaken cyclic structures? |
5 | TODO: weaken cyclic structures? |
6 | TODO: allowed_classes or so? |
6 | TODO: large negative integers |
|
|
7 | TODO: type cast tests. |
|
|
8 | TODO: possibly implement https://peteroupc.github.io/CBOR/extended.html, but NaNs are nonportable. rely on libecb? |
|
|
9 | TODO: https://github.com/svaarala/cbor-specs/blob/master/cbor-nonutf8-string-tags.rst, but maybe that is overkill? |
7 | |
10 | |
8 | 1.5 |
11 | - fixed a wrong printf format specifier (reported by Petr Písař). |
|
|
12 | |
|
|
13 | 1.85 Sat 23 Oct 2021 04:59:56 CEST |
|
|
14 | - left debugging printf in code, need a test for that :( |
|
|
15 | |
|
|
16 | 1.84 Thu 21 Oct 2021 03:11:52 CEST |
|
|
17 | - fix a bug in validate_utf8 where we call perl's is_utf8_string with |
|
|
18 | a lenght of zero for empty strings, but perl interprets that as |
|
|
19 | "calculate length", causing spurious validation errors for |
|
|
20 | empty strings. |
|
|
21 | - include validate_utf8 in new_safe. |
|
|
22 | - avoid some warnings. |
|
|
23 | |
|
|
24 | 1.83 Tue Dec 8 09:27:06 CET 2020 |
|
|
25 | - add CBOR::XS::as_map cast function. |
|
|
26 | |
|
|
27 | 1.82 Tue Dec 1 02:47:40 CET 2020 |
|
|
28 | - add CBOR::XS::as_bool cast function. |
|
|
29 | |
|
|
30 | 1.81 Mon Nov 30 19:29:33 CET 2020 |
|
|
31 | - cast functions were broken due to last-minute renaming. thats |
|
|
32 | what you get for not having a tessuite. |
|
|
33 | - Math::BigInt and Math::BigFloat are pretty broken (again), |
|
|
34 | so disable some tests. (try printing the bigfloat |
|
|
35 | 799999999999999999998E99999999999999999998). |
|
|
36 | |
|
|
37 | 1.8 Sun Nov 29 22:35:13 CET 2020 |
|
|
38 | - experimental support for some type casts, as well as embedding |
|
|
39 | raw cbor data. |
|
|
40 | |
|
|
41 | 1.71 Thu Nov 15 20:52:13 CET 2018 |
|
|
42 | - work around what smells like a perl bug w.r.t. exceptions |
|
|
43 | thrown in callbacks. |
|
|
44 | - update libecb. |
|
|
45 | |
|
|
46 | 1.7 Tue Jun 27 04:02:23 CEST 2017 |
|
|
47 | - SECURITY FIX: fix two bugs found by american fuzzy lop, |
|
|
48 | upgrade is advised if you accept data from untrusted |
|
|
49 | sources. |
|
|
50 | - an out-of bound sharedref or stringref index could cause an |
|
|
51 | out of bounds access - might be exploitable. |
|
|
52 | - a decoding error during indefinite array or hash decoding |
|
|
53 | could cause an endless loop. |
|
|
54 | |
|
|
55 | 1.6 Wed Dec 7 15:13:23 CET 2016 |
|
|
56 | - greatly expand the SECURITY IMPLICATIONS and similar sections. |
|
|
57 | - new constructor new_safe, to create a secure CBOR::XS object. |
|
|
58 | - new option forbid_objects, to disallow serialisation. |
|
|
59 | - new CBOR::XS::safe_filter functionality. |
|
|
60 | - fix a crash when decoding a cyclic data structure using |
|
|
61 | stringref/pack_strings when allow_cycles is disabled. |
|
|
62 | - fix a crash when decoding hash keys with length >= 2**31. |
|
|
63 | - avoid unreasonably long decoding times for certain |
|
|
64 | types of (corrupt) cbor texts. |
|
|
65 | - support arrays and hashes with >= 2**31 members. |
|
|
66 | - avoid overflow on pointer arithmetic when checking whether enough |
|
|
67 | data is available. |
|
|
68 | - fix a memory leak that occured when decoding failed while decoding |
|
|
69 | a tagged value. |
|
|
70 | - do not leak the partially constructed result when stringifying |
|
|
71 | a hash key throws an exception. |
|
|
72 | - various code size and efficiency optimizations (reduced code |
|
|
73 | from 42 to 40kB on my system, despite the new features). |
|
|
74 | |
|
|
75 | 1.5 Wed Apr 27 11:38:39 CEST 2016 |
9 | - Math::BigFloat madness workaround, see |
76 | - Math::BigFloat madness workaround, see |
10 | http://blog.schmorp.de/2016-04-23-mathbigfloat-maintainer-fail.html |
77 | http://blog.schmorp.de/2016-04-23-mathbigfloat-maintainer-fail.html |
11 | (bugreport by zdm@softvisio.net). |
78 | (bugreport by zdm@softvisio.net). |
12 | - add text_keys and text_strings options to force CBOR text encoding |
79 | - add text_keys and text_strings options to force CBOR text encoding |
13 | for perl hash keys or all strings, as a result of discussions |
80 | for perl hash keys or all strings, as a result of discussions |
… | |
… | |
16 | http://peteroupc.github.io/CBOR/bigfrac.html, tags 264 and 265) |
83 | http://peteroupc.github.io/CBOR/bigfrac.html, tags 264 and 265) |
17 | for both en- and decoding. |
84 | for both en- and decoding. |
18 | - implement support for rational numbers (see |
85 | - implement support for rational numbers (see |
19 | http://peteroupc.github.io/CBOR/rational.html, tag 30) for both |
86 | http://peteroupc.github.io/CBOR/rational.html, tag 30) for both |
20 | en- and decoding. |
87 | en- and decoding. |
|
|
88 | - the above effectively implements all registered CBOR extensions |
|
|
89 | in a sensible manner. |
21 | - remove some weird dead code that was duplication (%FILTER). |
90 | - remove some weird dead code that was duplicated (%FILTER). |
22 | - add t/58_hv.t, which tests hashes and the new text_* flags. |
91 | - add t/58_hv.t, which tests hashes and the new text_* flags. |
23 | hashes apparently were not encoded at all in any of the previous |
92 | hashes apparently were not encoded at all in any of the existing |
24 | tests. |
93 | tests. |
25 | - document base-2 Math::BigFloat performance/crash issues. |
94 | - document Math::BigFloat base-2 performance/crash issues. |
26 | - use stability canary. |
95 | - use stability canary. |
27 | |
96 | |
28 | 1.41 Thu 25 Feb 15:22:03 CET 2016 |
97 | 1.41 Thu 25 Feb 15:22:03 CET 2016 |
29 | - avoid perl panics on nested FREEZE/THAW calls (testcase by |
98 | - avoid perl panics on nested FREEZE/THAW calls (testcase by |
30 | Victor Efimov). |
99 | Victor Efimov). |