1Revision history for Perl extension Sereal
2
3Sereal is a dependency package that pulls in the real Sereal::Encoder
4and Sereal::Decoder.  For the actual changes between Sereal releases,
5please see the Encoder and Decoder changelogs:
6   * https://github.com/Sereal/Sereal/blob/master/Perl/Decoder/Changes
7   * https://github.com/Sereal/Sereal/blob/master/Perl/Encoder/Changes
8
9****************************************************************
10* Warning: For a seamless upgrade, upgrade to version 4        *
11*          of the decoder before upgrading to version 4 of the *
12*          encoder! This may mean you should NOT install the   *
13*          Sereal package and instead install the Encoder or   *
14*          Decoder independently.                              *
15****************************************************************
164.018 Thurs Aug 3, 2020
17    * Fix issue with gcc 10 with snappy compression.
18
194.017 Thurs July 9, 2020
20    * The build fixes in 4.016 didn't work correctly, this should fix them.
21
224.016 Thurs July 9, 2020
23    * Fix some dependency issues in build process
24
254.015 Weds  July 8, 2020
26    * Build fixes (missing dependency)
27    * Hardening against corrupted data
28    * New thresholds to manage decoding process
29
304.014 Thurs June 11, 2020
31    * Fix build issue on non-win32 platforms.
32    * Update zstd to 1.4.5
33
344.012 Tues February 4, 2020
35    * Fix memory leak in looks_like_sereal(), thanks to Kirill Sysoev
36
374.011 Tues February 4, 2020
38    * Fix and test custom opcode logic for 5.31.2 and later.
39
404.010 Tues February 4, 2020
41    * Encoder/Decoder: Update miniz
42    * Encoder/Decoder: Update zstd
43    * Sereal/Encoder/Decoder: perltidy perl code to a standard style
44
454.009 Fri January 31, 2020
46    * Encoder/Decoder: Update ppport.h for modern perls.
47
484.008 Thurs Jan 30, 2020
49    * Encoder/Decoder: Build fixes for modern perls.
50    * Encoder/Decoder: Pod fixes
51
524.007 Tues Apr 9, 2019
53    * Sereal: restore write_sereal(), read_sereal() as aliases to write_sereal_file()
54      and read_sereal_file(). Better tests for exported subs. Add SRL_UNCOMPRESSED,
55      SRL_SNAPPY, SRL_ZLIB, SRL_ZSTD exports.
56    * Decoder: tweak docs for looks_like_sereal/scalar_looks_like_sereal
57
584.006 Mon Apr 8, 2019
59    * Sereal: fix read_sereal_file(),
60
614.005 Tues Jan 23, 2018
62    * Encoder: Document encode_to_file()
63    * Decoder: Document and fix decode_from_file()
64    * Sereal: fixup docs on write_sereal_file()/read_sereal_file()
65
664.004 Sun Nov 12
67    * Fix build issues from C++ style comments
68    * Fixup build_requires
69
704.003 Sun Nov 12
71    * Fixup Devel::CheckLib usage
72    * Do not compress using Snappy if the buffer is larger 2**32
73    * Build fixes
74
754.001_001 Mon Feb  6 11:13:40 CEST 2017
76  * Sereal v4 release with Zstandard compression support
77    https://github.com/facebook/zstd
78
793.015 Thu Sep  1 20:18:44 CEST 2016
80  * Fix builds under 5.25+
81  * Fix various buffer overun bugs found using AFL (thanks to dgryski)
82  * Fix issue in decode_from_file()
83
843.014 Dec  7 2015
85  * Fix builds under 5.8.9
86
873.012 Dec  6 2015
88  * Yet another release related to broken META files.
89    ExtUtils::MakeMaker and CPAN::Meta need to be up to date
90    or the META files miss stuff.
91
923.011 Dec  6 2015
93  * No significant changes. Doc typo fixes, and build tweaks.
94
953.010 Nov 30 2015
96  * Fix silly build issue for Sereal. We do some magic so that things
97    "Just Work" when building from withing the git repo, but that magic
98    was failing due to a precedence issue in the magic detection logic.
99    This mean that users building in a git based .cpan dir would see
100    breakage.
101
1023.009 Nov 30 2015
103  * Re-relase 3.008 with updated META files.
104
1053.008 Nov 27 2015
106  * [ENCODER] FIX: Make sure that reserializing a data structure created
107    using alias_varint_under does not produce a corrupted dataset.
108    Thanks to Iskra for the report.
109  * [ENCODER] FIX: Precedence issue related to sort keys options.
110    Thanks to Petr Písař <ppisar@redhat.com> for the report and fix.
111  * [ENCODER/DECODER] FIX: Win32 build issues.
112
1133.007 Nov 26 2015
114  * [DECODER] Build fixes for boxes without any Sereal installed (it seems
115    to be common on certain types of smokers, and not on others).
116  * [ENCODER]: Base sort order changed, new sort orders added.
117    Rework sort logic to be more efficient, fix sorted tied hashes,
118    define new sort order.
119    See Sereal::Encoders CHANGES files.
120  * [ENCODER] Handle PVLV undefs
121  * [ENCODER] General optimizations.
122  * [ENCODER] Build fixes for 5.8.9
123  * [ENCODER] Doc patches
124  * Win32 build fixes.
125
1263.006 Nov 14 2015
127  * [DECODER] fix segfaults from heavily corrupted data. Guards
128    against various pathological cases which could cause segfaults
129    fixed. Thanks to Damian Gryski and "fuzzing sereal with afl"
130    for finding these cases.
131  * [ENCODER] Various subtle fixes to how we choose whether to serialize
132    the string or numeric version of a value, in particular to
133    ensure that "00" always round trips as "00", and related issues.
134    Note this fix has correctness and performance consequences. In
135    some cases values that used to serialized as integers (arguably
136    incorrectly) will be serialized as strings instead, and some code
137    maybe be slower to serialize.
138    NOTE: Some issues related to this subject are not fixable without
139    a protocol change. In particular this change may affect the behavior
140    of code that uses binary logical operators on values serialized
141    with Perl.
142    Thanks to Zefram, Tom, and others for help with this issue.
143  * Fixups for cast warnings under -Wint-to-ptr builds by using
144    using PTR2INT and INT2PTR for casting our objects.
145  * Win32 fixes
146  * Build improvements
147  * Changes to how we generate constants
148
1493.005 Jan 05 2015
150  * Build improvements related to char signedness being platform
151    dependent.
152
1533.004 Dec 27 2014
154  * Performance optimizations and other miscellaneous changes.
155  * Build improvements.
156  * Win32 fixes for weakrefs.
157
1583.003 Oct 19 2014
159  * Niko Tyni fixed the 64-bit big endian Sereal bug! (Yay Niko!)
160  * Setup META.yml correctly so that certain dependencies are
161    marked as being test dependencies and not build or run-time
162    dependencies.
163  * Allow one to build against an externally supplied version
164    of csnappy or miniz. Thanks to Petr Písař <ppisar@redhat.com>
165
1663.002 Aug 20 2014
167  Summary of changes from 3.001 - 3.002
168  - Encoder: Introduce "canonical" option to encoder
169  - Encoder: Introduce "canonical_refs" option to encoder
170  - Decoder: Introduce "set_readonly" option to decoder
171  - Decooder: Introduce "set_readonly_scalars" option to decoder
172
173  * Decoder Bug fixes
174  - Fix assertion fails in DEBUG perls (Brian Fraser)
175  - Fix segfault with "into" interface when decoding references and
176    strings into the same target SV. See new test t/550_decode_into.t
177
178  * Test Infra Changes
179  - Split up bulk tests to speed up testing and make it easier
180    to see when a failure is restricted to a specific option.
181
182  * Big-Endian Support
183  - Improved support for Big-Endian machines. We now build and pass test
184    on Sparc and HP-UX and other platforms with big-endian or strict
185    alignedness requirements. Much thanks to Jarkko Hietaniemi,
186    Gregor Herrmann, and H. Merijn Brand for for their assistance with
187    this.
188  - We still have issues with s390x (Z/Os) with Sereal. If someone wants
189    to help it would be appreciated.
190
1913.001
192  - Production release 1 of protocol version 3
193  - Zlib support
194  - CANONICAL_UNDEF,
195  - new magic header to make it easier to detect
196    UTF8 encoded data.
197  - Minor changes to how scalar values are serialized
198    to favour more compact representations.
199
200Full change history available at https://github.com/Sereal/Sereal
201