This project uses Break Versioning.
v3.5.0-RC1
(2024-10-28)This is a non-breaking maintenance release that updates dependencies and includes read support for more native array types to be introduced in a future v3.6 release.
It should be safe to update from (at least) all recent versions of Nippy.
Updating from Nippy | Changes to API? | Changes to byte output? | Recommended update sequence [1] |
---|---|---|---|
v3.4.2 (2024-05-26) | - | - | - |
v3.4.1 (2024-05-02) | - | - | - |
v3.4.0 (2024-04-30) | - | Yes | - |
v3.3.0 (2023-10-11) | - | - | - |
v3.2.0 (2022-07-18) | - | - | - |
v3.1.3 (2022-06-23) | - | - | - |
[1] Relevant only when introducing support for new types, to help with rolling updates
If updating from older versions of Nippy, please see the relevant release notes.
As always:
v3.4.2
(2024-05-26)Dep: Nippy is on Clojars.
Versioning: Nippy uses Break Versioning.
⚠️ This release addresses a security vulnerability in Nippy's upstream compression library and is recommended for all existing users.
It should be a straight-forward and non-breaking update for almost everyone:
Updating from Nippy | Changes to API? | Changes to byte output? | Recommended update sequence [1] |
---|---|---|---|
v3.4.1 (2024-05-02) | - | - | - |
v3.4.0 (2024-04-30) | - | Yes | - |
v3.3.0 (2023-10-11) | - | - | - |
v3.2.0 (2022-07-18) | - | - | - |
v3.1.3 (2022-06-23) | - | - | - |
[1] Relevant only when introducing support for new types, to help with rolling updates
If updating from older versions of Nippy, please see the relevant release notes.
As always:
v3.4.1
(2024-05-02)Dep: Nippy is on Clojars.
Versioning: Nippy uses Break Versioning.
Like v3.4.0
but introduces an internal mechanism to help make it easier for some users that do rolling updates from earlier versions of Nippy.
Still, the usual warning applies: data frozen by Nippy version X should ideally be thawed by version >= X, otherwise you run the risk of the thaw throwing when unfamiliar types are encountered. Please note that this can affect rolling updates, and can limit your ability to revert a Nippy update. Please ensure adequate testing in your environment before updating against production data!
v3.4.0
v3.4.1
may produce different serialized output to v3.4.0
and earlier versions of Nippy. Most users won't care about this, but you could be affected if you depend on specific serialized byte values (for example by comparing serialized output between different versions of Nippy).v3.4.0
(2024-04-30)Dep: Nippy is on Clojars.
Versioning: Nippy uses Break Versioning.
This is a non-breaking feature and maintenance release and should be a safe update for existing users. But as always, please test carefully and report any unexpected problems, thank you! 🙏
IMPORTANT: data frozen by Nippy version X should always be thawed by version >= X, otherwise you run the risk of the thaw throwing when encountering unfamiliar types. Please note that this can affect rolling updates, and can limit your ability to revert a Nippy update. Please ensure adequate testing in your environment before updating against production data.
v3.3.0
(2023-10-11)nil
rather than {}
)v3.3.0
(2023-10-11)*final-freeze-fallback*
default valv3.3.0
(2023-10-11)freezable?
util:zstd
compressor, new compressor backendMapEntry
freezerv3.4.0-RC3
(2024-04-10)v3.4.0-RC3
(2024-04-10)📦 Available on Clojars, this project uses Break Versioning.
This is a non-breaking feature and maintenance pre-release.
Please test carefully and report any unexpected problems, thank you! 🙏
v3.3.0
freezable?
util:zstd
compressor, new compressor backendMapEntry
freezerv3.4.0-RC2
*final-freeze-fallback*
default valv3.4.0-RC2
(2024-02-26)📦 Available on Clojars, this project uses Break Versioning.
This is a non-breaking feature and maintenance pre-release.
Please test carefully and report any unexpected problems, thank you! 🙏
v3.3.0
freezable?
util:zstd
compressor, new compressor backendMapEntry
freezerv3.4.0-RC1
:zstd
compressor when decompressingv3.4.0-RC1
(2024-02-06)📦 Available on Clojars, this project uses Break Versioning.
This is a non-breaking feature and maintenance pre-release.
Please test carefully and report any unexpected problems, thank you! 🙏
v3.3.0
nippy/snappy-compressor
v3.3.0
freezable?
util:zstd
compressor, new compressor backendMapEntry
freezerv3.3.0
(2023-10-11)📦 Available on Clojars, this project uses Break Versioning.
Identical to v3.3.0-RC2
.
This is a non-breaking feature and maintenance release.
Please test carefully and report any unexpected problems, thank you! 🙏
v3.2.0
v3.2.0
with-meta
v3.2.0
:bindings
in ex-data of thaw failuresjava.sql.Date
(@philomates)java.lang.ClassCastException
to default thaw allow list (@carlosgeos)*freeze-opts*
in wrapperspublic-types-spec
v3.2.0
v3.4.0-beta1
(2023-09-26)This is a non-breaking feature pre-release.
Please test carefully and report any unexpected problems, thank you! 🙏
v3.3.0-RC2
:zstd
compressor, new (faster) compressor backend, better docstringsfreezable?
utilMapEntry
freezerv3.3.0-RC2
v3.3.0-RC2
(2023-09-25)Identical to v3.3.0-RC1
except:
If no unexpected problems come up, v3.3.0
final is planned for release by the end of September.
v3.3.0-RC1
(2023-08-02)This is a non-breaking feature and maintenance pre-release.
Please test carefully and report any unexpected problems, thank you! 🙏
v3.2.0
with-meta
v3.2.0
:bindings
in ex-data of thaw failuresjava.sql.Date
(@philomates)java.lang.ClassCastException
to default thaw allow list (@carlosgeos)*freeze-opts*
in wrapperspublic-types-spec
v3.2.0
(2022-07-18)Identical to
v3.2.0-RC3
(2022 Jun 27)
[com.taoensso/nippy "3.2.0"]
This is a non-breaking maintenance release.
See here for recommended steps when updating any Clojure/Script dependencies.
v3.1.3
org.joda.time.DateTime
to default-thaw-serializable-allowlist
(@slipset)v3.1.3
v3.1.1
true
(@RolT)tools/freeze
should use *freeze-opts*
even for unwrapped valsThe boxed Boolean bug has been around since the first version of Nippy and is mostly relevant to users doing Java interop. For more info see: https://github.com/taoensso/nippy/commit/8909a32bdd654a136da385e0e09c9cc44416f964
v3.2.0-RC3
(2022-06-27)[com.taoensso/nippy "3.2.0-RC3"]
This is a non-breaking maintenance release.
See here for recommended steps when updating any Clojure/Script dependencies.
v3.1.3
org.joda.time.DateTime
to default-thaw-serializable-allowlist
(@slipset)v3.1.3
v3.1.1
true
(@RolT)tools/freeze
should use *freeze-opts*
even for unwrapped valsThe boxed Boolean bug has been around since the first version of Nippy and is mostly relevant to users doing Java interop. For more info see: https://github.com/taoensso/nippy/commit/8909a32bdd654a136da385e0e09c9cc44416f964
v3.2.0-RC2
(2022-06-23)[com.taoensso/nippy "3.2.0-RC2"]
This is a non-breaking maintenance release.
See here for recommended steps when updating any Clojure/Script dependencies.
v3.1.3
org.joda.time.DateTime
to default-thaw-serializable-allowlist
(@slipset)v3.1.3
v3.1.1
tools/freeze
should use *freeze-opts*
even for unwrapped valstrue
(@RolT)The boxed Boolean bug has been around since the first version of Nippy and is mostly relevant to users doing Java interop. For more info see: https://github.com/taoensso/nippy/commit/8909a32bdd654a136da385e0e09c9cc44416f964
v3.1.3
(2022-06-23)[com.taoensso/nippy "3.1.3"]
This is a non-breaking, bugfix release.
See here for recommended steps when updating any Clojure/Script dependencies.
v3.1.1
tools/freeze
should use *freeze-opts*
even for unwrapped valstrue
(@RolT)The boxed Boolean bug has been around since the first version of Nippy and is mostly relevant to users doing Java interop. For more info see: https://github.com/taoensso/nippy/commit/8909a32bdd654a136da385e0e09c9cc44416f964
v3.1.1
(2020-11-18)[com.taoensso/nippy "3.1.1"]
This is a non-breaking, bugfix release. But please note that large keywords or symbols (with >127 characters) frozen with >=
v3.1.1
will need >=v3.1.1
to thaw.
v3.1.0
[1] Keywords or symbols with >127 characters in their name
v3.1.0
(2020-11-06)[com.taoensso/nippy "3.1.0"]
This is a non-breaking, minor feature release.
v3.0.0
freeze/thaw
support for java.time
classes on JVM 8+: Instant
, Duration
, Period
.thaw-from-resource
convenience util.swap-serializable-whitelist!
for backwards compatibility.v3.0.0
java.time
classes to default *thaw-serializable-whitelist*
.v3.1.0-RC1
(2020-10-24)[com.taoensso/nippy "3.1.0-RC1"]
This is a non-breaking, minor feature release.
v3.0.0
freeze/thaw
support for java.time.Instant
on JVM 8+ (@cnuernber).v3.0.0
(2020-09-20)[com.taoensso/nippy "3.0.0"]
This release is focused on smoothing out rough edges left by
CVE-2020-24164
[#130], and to ease transition from versions of Nippy <v2.15.0 final
.
See here for recommended steps when updating any Clojure/Script dependencies.
Note that there's separate details below for upgrading from v2.15
vs v2.14
:
v2.15
(usually non-breaking)Usually a non-breaking drop-in replacement, but there's some changes you might like to take advantage of. See [#130] for detailed upgrade instructions.
v1.5
to v1.7
.:nippy/unthawable
responses now have a standardized form: {:nippy/unthawable {:type _ :cause _ ...}
. Most folks won't care about this change unless they have code specifically to deal with :nippy/unthawable
responses.*serializable-whitelist*
has been split into two separate vars: *freeze-serializable-allowlist*
, *thaw-serializable-allowlist
*. See [#130] for details.freeze
now allows the use of Java's Serializable for any class. thaw
continues to be restrictive by default, and will quarantine any objects not on the class allowlist. See [#130] for details.freeze
and thaw
now support opts: :serializable-allowlist
, :incl-metadata?
.read-quarantined-serializable-object-unsafe!
util to read quarantined Serializable objects. See API docs and/or [#130] for details.allow-and-record-any-serializable-class-unsafe
util. See API docs and/or [#130] for details.v2.14
(may be BREAKING)Likely breaking. Please see [#130] for detailed upgrade instructions.
v1.5
to v1.7
.thaw
will now quarantine Serializable objects whose class is not allowed by *thaw-serializable-allowlist*
. See [#130] for details.:nippy/unthawable
responses now have a standardized form: {:nippy/unthawable {:type _ :cause _ ...}
. Most folks won't care about this change unless you have code specifically to deal with :nippy/unthawable
responses.AES-CBC
to AES-GCM
(faster, includes integrity check)freeze-to-string
, thaw-from-string
(@piotr-yuxuan)extend-freeze
: include id collision odds in docstringfreezable?
to cover nil
See here for earlier releases.
Can you improve this documentation?Edit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close