Skip to content

Commit 49b7bb0

Browse files
committed
v3.9.0-SNAPSHOT
1 parent 44e1c89 commit 49b7bb0

2 files changed

Lines changed: 49 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,54 @@ This project uses [**Break Versioning**](https://www.taoensso.com/break-versioni
22

33
---
44

5+
# `v3.9.0-SNAPSHOT` (dev)
6+
7+
- **Dependency**: [on Clojars](https://clojars.org/com.taoensso/nippy/versions/3.9.0-SNAPSHOT)
8+
- **Versioning**: [Break Versioning](https://www.taoensso.com/break-versioning)
9+
10+
**EARLY PREVIEW**: only for early testers, not suitable for production.
11+
12+
**Major performance release**. Includes new automatic keyword caching, and many other optimizations that together yield up to 2x faster performance in several common cases.
13+
14+
Intended as a non-breaking release, but touches a lot of core code. As always please **test carefully** before using for anything important, and please **report any unexpected problems** - thank you! 🙏
15+
16+
\- [Peter Taoussanis](https://www.taoensso.com)
17+
18+
## Rolling updates
19+
20+
Updating Nippy with a **rolling deployment** (>1 coexisting Nippy version)?
21+
22+
Then please ensure you update **step by step** (e.g. v3.5 → v3.6 → v3.7) so that read support is fully deployed before the corresponding writes might happen.
23+
24+
## New byte output
25+
26+
v3.9 changes the [byte output](https://github.com/taoensso/nippy#stability-of-byte-output) of several common Nippy data types.
27+
28+
Almost no one should care about this, but mentioning for the tiny minority of users that depend on Nippy's byte output remaining stable.
29+
30+
## Since v3.8.1 (2026-07-28)
31+
32+
* [new] Add cache dictionaries \[44e1c89]
33+
* [new] Update benchmark results \[df391d2]
34+
* [prf] Cache: auto-cache keywords \[03725ac]
35+
* [prf] Freeze: enable tight packing by default \[2705bb1]
36+
* [prf] Freeze: copy-free compression \[e36a2ff]
37+
* [prf] Freeze: fast-path common elements \[bbff6c6]
38+
* [prf] Freeze: streamline common paths \[50a56ac]
39+
* [prf] Freeze: optimize default header copy \[79f17cd]
40+
* [prf] Thaw: direct transient loop for `read-into` \[5f05346]
41+
* [prf] Thaw: decode keywords from bytes \[bff8c29]
42+
* [prf] Thaw: build lists directly \[5a417fc]
43+
* [prf] Thaw: decode strings in place \[2ac10be]
44+
* [prf] Thaw: bulk-build short vectors \[7fde2b1]
45+
* [prf] Thaw: avoid header copies \[d119f59]
46+
* [prf] Crypto: reduce buffer copies \[1b62a1d]
47+
* [prf] Cache: use ArrayList for `read-cached` \[ecb1206]
48+
* [prf] Cache: identity maps for keywords \[ac4958e]
49+
* [prf] Cache: use mutable Java state \[eecda2d]
50+
51+
---
52+
553
# `v3.8.1` (2026-07-28)
654

755
- **Dependency**: [on Clojars](https://clojars.org/com.taoensso/nippy/versions/3.8.1)

project.clj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
(defproject com.taoensso/nippy "3.8.1"
1+
(defproject com.taoensso/nippy "3.9.0-SNAPSHOT"
22
:author "Peter Taoussanis <https://www.taoensso.com>"
33
:description "Fast serialization library for Clojure"
44
:url "https://www.taoensso.com/nippy"

0 commit comments

Comments
 (0)