Releases: taoensso/nippy
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-meta
thaw 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-meta
option has been dropped. Its purpose was to provide Nippy v1 compatibility, which is now done automatically. To prevent any surprises,thaw
calls with this option will now throw an assertion error. - IMPORTANT: the
thaw
API has been improved (simplified). The default:encryptor
and:compressor
values 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:compressor
and:encryptor
values manually. - Promoted from Alpha status:
taoensso.nippy.compression
ns,taoensso.nippy.encryption
ns,taoensso.nippy.tools
ns,extend-freeze
,extend-thaw
. - All Nippy exceptions are now
ex-info
s. extend-thaw
now prints a warning when replacing a pre-existing type id.
NEW
- #50:
extend-freeze
,extend-thaw
can 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?
freeze
option 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-LZMA2
type 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-mode
options. This was being used mainly for headerless freezing, so a new headerless mode is taking its place. - Now distinguish between
BigInteger
andBigInt
on thawing (previously both thawed toBigInt
s). (mlacorte). - Moved most utils to external
encore
dependency.
[com.taoensso/nippy "2.6.0"]
v2.6.0-RC1
v2.6.0-RC1
v2.6.0-beta2
v2.6.0-beta2
v2.6.0-beta1
v2.6.0-beta1
v2.6.0-alpha4
v2.6.0-alpha4: forgot to bump project version before