Releases: taoensso/nippy
v2.9.0 / 2015 June 1
This is a major, non-breaking release that improves performance and makes thawing more resilient to certain failures. Identical to v2.9.0-RC3.
- Robustness: improve error handling for unthawable records
- Performance: switch
doseq-> (faster)run!calls - Performance: eliminate some unnecessary boxed math
- New: allow intelligent auto-selection of
freezecompression scheme using:autocompressor (now the default). This can result in significant speed+space improvements for users serializing many small values.
[com.taoensso/nippy "2.9.0"]v2.8.0 / 2015 Feb 18
This is a maintenance release with some minor fixes and some dependency updates.
- CHANGE: Throw a clear error message on insufficient Encore dependency.
- FIX [#59]:
freezable?should return true for clojure.lang.PersistentVector (@chairmanwow). - FIX [#63]: Missing thaw exception cause (@cespare).
[com.taoensso/nippy "2.8.0"]v2.7.1 / 2014 Nov 27
This is a minor maintenance release & should be a safe upgrade for users of v2.7.0/RC-1.
- CHANGE: Improve some error messages by exposing trapped throwables when possible (@kul).
- FIX: Nippy v1 thaw compatibility was broken in some cases.
- Bumped dependencies.
[com.taoensso/nippy "2.7.1"]v2.7.0 / 2014 Oct 6
Major release with significant performance improvements, a new default compression type (LZ4), and better support for a variety of compression/encryption tools.
The data format is fully backwards-compatible, the API is backwards compatible unless you are using the
:headerless-metathaw option.
Changes
- A number of internal performance improvements.
- Added LZ4 compressor, replacing Snappy as the default (often ~10+% faster with similar compression ratios). Thanks to mpenet for his work on this!
- BREAKING: the
thaw:headerless-metaoption has been dropped. Its purpose was to provide Nippy v1 compatibility, which is now done automatically. To prevent any surprises,thawcalls with this option will now throw an assertion error. - IMPORTANT: the
thawAPI has been improved (simplified). The default:encryptorand:compressorvalues are now both:auto, which'll choose intelligently based on data now included with the Nippy header. Behaviour remains the same for data written without a header: you must specify the correct:compressorand:encryptorvalues manually. - Promoted from Alpha status:
taoensso.nippy.compressionns,taoensso.nippy.encryptionns,taoensso.nippy.toolsns,extend-freeze,extend-thaw. - All Nippy exceptions are now
ex-infos. extend-thawnow prints a warning when replacing a pre-existing type id.
NEW
- #50:
extend-freeze,extend-thawcan now take arbitrary keyword type ids (see docstrings for more info).
[com.taoensso/nippy "2.7.0"]v2.6.3 / 2014 Apr 29
v2.6.2 / 2014 Apr 10
v2.6.1 / 2014 Apr 8
CRITICAL FIX for v2.6.0 released 9 days ago. Please upgrade ASAP!
Problem
Small strings weren't getting a proper UTF-8 encoding:
(.getBytes <string>) was being used here instead of
(.getBytes <string> "UTF-8") as is correct and done elsewhere.
This means that small UTF-8 strings may have been incorrectly stored
in environments where UTF-8 is not the default JVM character encoding.
Bug was introduced in Nippy v2.6.0, released 9 days ago (2014 Mar 30).
Please check for possible errors in Unicode text written using Nippy
v2.6.0 if your JVM uses an alternative character encoding by default
Really sorry about this! Thanks to @xkihzew for the bug report.
[com.taoensso/nippy "2.6.1"]v2.6.0 / 2014 Mar 30
Major release with efficiency improvements, reliability improvements, and some new utils.
New
- Low-level fns added:
freeze-to-out!,thaw-from-in!for operating directly on DataOutputs/DataInputs. - Data size optimizations for some common small data types (small strings/keywords, small integers).
- New test suite added to ensure a 1-to-1 value->binary representation mapping for all core data types. This will be a guarantee kept going forward.
- New
:skip-header?freezeoption to freeze data without standard Nippy headers (can be useful in very performance sensitive environments). - New benchmarks added, notably a Fressian comparison.
- Added experimental
freezable?util fn to main ns. - Added some property-based simple-check roundtrip tests.
- Public utils now available for custom type extension:
write-bytes,write-biginteger,write-utf8,write-compact-long, and respective readers.
Changes
- BREAKING: the experimental
Compressable-LZMA2type has changed (less overhead). - DEPRECATED:
freeze-to-stream!,thaw-from-stream!are deprecated in favor of the more generalfreeze-to-out!,thaw-from-in!. - DEPRECATED:
:legacy-modeoptions. This was being used mainly for headerless freezing, so a new headerless mode is taking its place. - Now distinguish between
BigIntegerandBigInton thawing (previously both thawed toBigInts). (mlacorte). - Moved most utils to external
encoredependency.
[com.taoensso/nippy "2.6.0"]v2.6.0-RC1
v2.6.0-RC1
v2.6.0-beta2
v2.6.0-beta2