Releases: taoensso/nippy
v3.7.0-beta1 (2026-04-21)
- Dependency: on Clojars
- Versioning: Break Versioning
This is a major performance upgrade for early testers only!
It includes a significant refactor of Nippy's internals to switch to a more efficient ByteBuffer implementation that's >20% faster in Nippy's standard benchmarks. Huge thanks to @huahaiy for his excellent work on this release! 🎉
Please test carefully and report any unexpected problems, thank you! 🙏
👉 Migration info
When doing a rolling update (>1 coexisting version) from Nippy <v3.6, please FIRST update to v3.6 THEN to v3.7. This allows read support for new types to fully roll out BEFORE new types may be written.
👉 Change in byte output
This release includes a change in Nippy's byte output for uncounted collections (mostly lazy seqs). Almost no one should care about this, but mentioning for the tiny minority of users that depend on Nippy's byte output remaining stable.
Since v3.6.2 (2026-04-09)
v3.6.2 (2026-04-09)
- Dependency: on Clojars
- Versioning: Break Versioning
This is a minor hotfix release that updates dependencies.
It resolves a security vulnerability in the library Nippy uses for compression. The vulnerability should NOT be a concern for Nippy users, but it's anyway nice to avoid possible automated warnings, etc.
This should be a safe update for everyone on v3.6.0.
v3.6.0 (2025-06-17)
- Dependency: on Clojars
- Versioning: Break Versioning
This is a minor feature release that adds freeze support for some new types.
Migration info
👉 If doing a rolling update (>1 coexisting version) from Nippy < v3.5.0, please FIRST update to v3.5.x THEN to v3.6.x. (v3.5 adds thaw support for new types frozen by v3.6).
No changes to API or byte output.
As always:
- Please ensure adequate testing before updating against production data!
- Please report any unexpected problems 🙏
- See operational considerations for info on data longevity, rolling updates, etc.
Since v3.5.0 (2025-04-15)
- [new] [#178] Add freeze support for native arrays: strings, longs, ints, doubles, floats
v3.5.0 (2025-04-15)
- Dependency: on Clojars
- Versioning: Break Versioning
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.
Since v3.5.0-RC1 (2024-10-28)
- [mod] Drop official Clojure v1.9 support [da57206]
- [new] Add string array type to default thaw-serializable-allowlist [bfba594]
- [new] Use Truss exceptions on errors [8d62dc2]
- [new] [#184] Incl. cause on non-native freeze failures [8d10765]
- [doc] Clarify
*freeze-fallback*docstring [1026ea0]
Since v3.4.2 (2024-05-26)
- [mod] Drop official Clojure v1.9 support [da57206]
- [new] Add string array type to default thaw-serializable-allowlist [bfba594]
- [new] Use Truss exceptions on errors [8d62dc2]
- [new] [#184] Incl. cause on non-native freeze failures [8d10765]
- [new] [#175] Mark cache feature as stable [b217db5]
- [new] [#178] Add thaw support for native arrays: strings, longs, ints, doubles, floats
- [doc] Clarify
*freeze-fallback*docstring [1026ea0]
Migration info
| 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:
- See operational considerations for info on: data compatibility, rolling updates, rollback support, etc.
- It's always a good idea to ensure adequate testing in your environment before updating against production data!
- Please report any unexpected problems 🙏
v3.5.0-RC1 (2024-10-28)
- Dependency: on Clojars
- Versioning: Break Versioning
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:
- See operational considerations for info on: data compatibility, rolling updates, rollback support, etc.
- It's always a good idea to ensure adequate testing in your environment before updating against production data!
- Please report any unexpected problems 🙏
v3.4.2 (2024-05-26)
- Dependency: on Clojars
- Versioning: Break Versioning
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:
- See operational considerations for info on: data compatibility, rolling updates, rollback support, etc.
- It's always a good idea to ensure adequate testing in your environment before updating against production data!
- Please report any unexpected problems 🙏
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!
Changes since v3.4.0
- [mod] Due to some internal format changes, Nippy
v3.4.1may produce different serialized output tov3.4.0and 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.
Update: please use v3.4.1 instead.
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.
Changes since v3.3.0 (2023-10-11)
- 82a050b [mod] Don't attach empty metadata (meta will now be
nilrather than{})
Fixes since v3.3.0 (2023-10-11)
- 92c4a83 [fix] Broken
*final-freeze-fallback*default val
New since v3.3.0 (2023-10-11)
- fb6f75e [new] Smarter, faster, protocol-based
freezable?util - 6ad5aeb [new] Add
:zstdcompressor, new compressor backend - 9db09e1 [new] [#163] Track serialized output in tests (to enable warnings about future binary changes)
- dcc6b08 [new] [#164] Update benchmarks
- f3ff7ae [new] Add native
MapEntryfreezer - 37cf415 [new] [#171] Auto strip metadata protocol extensions (fix support for next.JDBC results)
- Misc internal improvements
Everything since v3.4.0-RC3 (2024-04-10)
- Update dependencies
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! 🙏
New since v3.3.0
- fb6f75e [new] Smarter, faster, protocol-based
freezable?util - 6ad5aeb [new] Add
:zstdcompressor, new compressor backend - 9db09e1 [new] [#163] Track serialized output in tests
- dcc6b08 [new] [#164] Update benchmarks
- f3ff7ae [new] Add native
MapEntryfreezer - 37cf415 [new] [#171] Auto strip metadata protocol extensions
- Misc internal improvements
Everything since v3.4.0-RC2
v3.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! 🙏
New since v3.3.0
- fb6f75e [new] Smarter, faster, protocol-based
freezable?util - 6ad5aeb [new] Add
:zstdcompressor, new compressor backend - 9db09e1 [new] [#163] Track serialized output in tests
- dcc6b08 [new] [#164] Update benchmarks
- f3ff7ae [new] Add native
MapEntryfreezer - Misc internal improvements