Skip to content

Releases: taoensso/nippy

v2.7.0 / 2014 Oct 6

27 Aug 12:28
Compare
Choose a tag to compare

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-infos.
  • 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

29 Apr 16:12
Compare
Choose a tag to compare
  • Fix #48: broken freeze/thaw identity for empty lazy seqs (@vgeshel).
[com.taoensso/nippy "2.6.3"]

v2.6.2 / 2014 Apr 10

10 Apr 09:41
Compare
Choose a tag to compare
  • Fix #46: broken support for Clojure <1.5.0 (@kul).
[com.taoensso/nippy "2.6.2"]

v2.6.1 / 2014 Apr 8

08 Apr 10:13
Compare
Choose a tag to compare

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

30 Mar 12:32
Compare
Choose a tag to compare

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 general freeze-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 and BigInt on thawing (previously both thawed to BigInts). (mlacorte).
  • Moved most utils to external encore dependency.
[com.taoensso/nippy "2.6.0"]

v2.6.0-RC1

30 Mar 12:37
Compare
Choose a tag to compare
v2.6.0-RC1 Pre-release
Pre-release
v2.6.0-RC1

v2.6.0-beta2

30 Mar 12:36
Compare
Choose a tag to compare
v2.6.0-beta2 Pre-release
Pre-release
v2.6.0-beta2

v2.6.0-beta1

30 Mar 12:36
Compare
Choose a tag to compare
v2.6.0-beta1 Pre-release
Pre-release
v2.6.0-beta1

v2.6.0-alpha4

30 Mar 12:36
Compare
Choose a tag to compare
v2.6.0-alpha4 Pre-release
Pre-release
v2.6.0-alpha4: forgot to bump project version before

v2.6.0-alpha3

30 Mar 12:36
Compare
Choose a tag to compare
v2.6.0-alpha3 Pre-release
Pre-release
v2.6.0-alpha3