Revision history for Perl extension Sereal-Encoder
0.01 Tue Aug 8 17:09 2012
- original version; internal release.
0.02 Tue Aug 8 17:09 2012
- internal release.
0.03 Tue Sep 4 17:09 2012
- internal release.
0.04 Thu Sep 6 16:00 2012
- internal release.
0.05 Fri Sep 7 14:00 2012
- internal release.
0.06 Mon Sep 10 11:00 2012
- First public release (CPAN).
- Beta quality software.
0.07 Tue Sep 11 14:00 2012
- "undef_unknown" option will cause unsupported Perl types to be
encoded as "undef" instead of throwing an exception.
- Similarly, "stringify_unknown" will make those unsupported types
be stringified instead. The two options are mutually exclusive.
- "warn_unknown" option (only meaningful if "stringify_unknown" or
"undef_unknown" are active) will cause a warning to be issued when
an unsupported type is encoded as a string or as undef.
- Bug fixes for encoding the contents of tied hashes (the tiedness
itself is not preserved by design).
- Solaris build fix.
- Test fixes for threaded perls (likely working around a bug in Perl
- Improved documentation.
0.08 Thu Sep 13 17:00 2012
- 'snappy_threshold' option which controls at which minimum packet size
we start compressing with Snappy at all (if Snappy enabled)
- More tests.
0.09 Fri Sep 14 10:00 2012
- Export functions by default when loaded from one liner
- More liberal set of decoder versions that we can run full tests against
0.10 Mon Sep 17 14:00 2012
- Perl 5.10 regular-expression-related build fixes.
0.11 Tue Sep 18 13:00 2012
- 5.8.5 fixes.
- Fixes to other languages' reference data output.
0.12 Wed Sep 19 08:00 2012
* Important bug fix *
- Under certain circumstances, an encoder object could be left
in an unclean state when an encoding operation failed via
an exception.
0.13 - unreleased
0.14 Wed Oct 10 11:11 2012
- The 'warn_unknown' option now optionally does NOT emit a warning
if the unsupported item is a blessed object with string overloading.
0.15 Wed Oct 17 13:00 2012
- Thread-safety fix on Perls >= 5.8.7. Sereal is still not thread-safe
on older Perls
0.16 Thu Oct 25 12:00 2012
- Re-entrancy fix for obscure cases like calling into Sereal from
$SIG{__DIE__} if the exception was thrown from within Sereal.
(A bit of a "don't do that" case)
0.17 Mon Oct 29 12:00 2012
* This release contains critical bug fixes *
- Fix pointer-stashing-broken-by-realloc-from-under-it problem by
using offsets instead.
This bug could cause you Perl to segfault.
0.18 Wed Nov 14 07:30 2012
* This release contains critical bug fixes *
- Fix output data corruption in encoder when serializing an incompatible
data structure with refcount > 1 with the "stringify_unknown" option.
0.19 - unreleased
0.20 Fri Nov 23 15:35 2012
- Configurable recursion limit for the Encoder.
- Fix hard-crash issue with weak-refs to certain data structures
(issue #11 on github). Thanks to Andrew Yates for helping us debug
the problem!
=> Regression tests still pending.
0.21 - unreleased
0.22 - unreleased
0.23 Tue Jan 08 07:23 2013
* Important bug fix release *
* Warning *
Before using the incremental Snappy mode described below, you must
upgrade the Sereal::Decoder to version 0.23 or higher!
- Support for the 'snappy_incr' option, which uses a new Snappy
compression format that is suitable for parsing multiple Sereal
documents from a large buffer. A bug in the previous implementation
of Snappy-compression resulted in the Decoder failing if the
buffer (Perl input string) extended beyond the length of the
Snappy-compressed Sereal document.
If this confuses you, then:
=> If you're not using Snappy compression, move on.
=> If you are, but you're not extracting Sereal documents
from larger strings, consider upgrading or move on.
=> If you're using Snappy compression and might want to extract
Sereal documents from larger strings, then please:
1) Upgrade Sereal::Decoder and Sereal::Encoder everywhere.
2) Then swap the "snappy" option of the encoder for the
"snappy_incr" option.
- Support for the 'sort_keys' option, which outputs hash keys in
consistent order (but see gotchas in documentation).