Skip to content

Commit 5d8a3c4

Browse files
jensensclaude
andcommitted
Fix changelog: split 1.4.0 (released) from new 1.5.0 (unreleased)
1.4.0 was already tagged and released. The R1-R4 optimization work (direct JSON writer, class pickle cache, PGO) belongs in 1.5.0. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 08fc7f7 commit 5d8a3c4

2 files changed

Lines changed: 12 additions & 7 deletions

File tree

CHANGES.md

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
11
# Changelog
22

3-
## 1.4.0 (2026-02-25)
3+
## 1.5.0 (unreleased)
44

5-
- Add `decode_zodb_record_for_pg_json()` — converts ZODB pickle records
6-
directly to a JSON string entirely in Rust with the GIL released,
7-
eliminating the intermediate Python dict + `json.dumps()` step
85
- Direct PickleValue → JSON string writer (`json_writer.rs`), bypassing
96
all `serde_json::Value` intermediate allocations (PG path 1.3-3.3x
107
faster than dict + `json.dumps()`)
@@ -15,8 +12,6 @@
1512
replaces 7 opcode writes for ~99.6% of records
1613
- O(1) `@cls` hash lookup replaces O(n) key scan for marker detection
1714
- Direct i64 LONG1 encoding (eliminates BigInt heap allocation)
18-
- Enable thin LTO (`lto = "thin"`) and single codegen unit
19-
(`codegen-units = 1`) in release profile
2015
- Profile-guided optimization (PGO) support with real FileStorage +
2116
synthetic data profiling (adds 5-15%)
2217

@@ -27,6 +22,16 @@
2722
- PG JSON path: 1.4x faster at median on 1,692 real ZODB records
2823
- Full codec overhead: ~28 µs per object (both directions)
2924

25+
## 1.4.0 (2026-02-24)
26+
27+
- Add `decode_zodb_record_for_pg_json()` — converts ZODB pickle records
28+
directly to a JSON string entirely in Rust with the GIL released,
29+
eliminating the intermediate Python dict + `json.dumps()` step
30+
(1.3x faster full pipeline on real-world data)
31+
- Enable thin LTO (`lto = "thin"`) and single codegen unit
32+
(`codegen-units = 1`) in Cargo release profile for 6-9% faster
33+
decode/encode
34+
3035
## 1.3.0 (2026-02-24)
3136

3237
- Fix SETITEMS/SETITEM/APPENDS/APPEND on dict/list subclasses (OrderedDict,

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "zodb-json-codec"
3-
version = "1.4.0"
3+
version = "1.5.0"
44
edition = "2021"
55
description = "Fast pickle ↔ JSON transcoder for ZODB, implemented in Rust"
66
readme = "README.md"

0 commit comments

Comments
 (0)