This project uses Break Versioning.
v3.5.0 (2025-04-15)This is a general maintenance release focused on updating dependencies and laying groundwork (read support) for new array types coming in Nippy v3.6.
It drops support for Clojure v1.9 but should otherwise be a safe update from (at least) all recent versions of Nippy.
v3.5.0-RC1 (2024-10-28)*freeze-fallback* docstring [1026ea0]v3.4.2 (2024-05-26)*freeze-fallback* docstring [1026ea0]| Updating from Nippy | Changes to API? | Changes to byte output? | Rolling update sequence [1] |
|---|---|---|---|
v3.5.0-RC1 (2024-10-28) | - | - | - |
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 Nippy introduces support for new types AND you plan to update Nippy with a rolling update (coexisting new and old versions).
If updating from older versions of Nippy, please see the relevant release notes.
As always:
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? | Rolling 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, and for users that do rolling updates
If updating from older versions of Nippy, please see the relevant release notes.
As always:
v3.4.2 (2024-05-26)⚠️ 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? | Rolling 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, and for users that do 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.0v3.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.0freezable? 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.0freezable? 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.0nippy/snappy-compressorv3.3.0freezable? 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.0v3.2.0with-metav3.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-specv3.2.0v3.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-RC2v3.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.0with-metav3.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-specv3.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.3org.joda.time.DateTime to default-thaw-serializable-allowlist (@slipset)v3.1.3v3.1.1true (@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.3org.joda.time.DateTime to default-thaw-serializable-allowlist (@slipset)v3.1.3v3.1.1true (@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.3org.joda.time.DateTime to default-thaw-serializable-allowlist (@slipset)v3.1.3v3.1.1tools/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.1tools/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.1will need >=v3.1.1to 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.0freeze/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.0java.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.0freeze/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 nilSee here for earlier releases.
Can you improve this documentation?Edit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |