Skip to content

Commit 60d76c3

Browse files
committed
Add 1.2.2 release notes
1 parent f63962a commit 60d76c3

1 file changed

Lines changed: 81 additions & 0 deletions

File tree

RELEASE_NOTES_1.2.2.md

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
# Fluxheim 1.2.2 Release Notes
2+
3+
## Release Metadata
4+
5+
- Version: `1.2.2`
6+
- Release date: 2026-05-13
7+
- Git tag: `v1.2.2`
8+
- Release type: focused storage-bin cache follow-up
9+
10+
## Summary
11+
12+
Fluxheim `1.2.2` adds the focused slab/bin-style disk cache backend planned
13+
after `1.2.1`. The existing filesystem disk cache remains the portable default,
14+
while operators can opt into `cache.disk.backend = "storage-bin"` for large,
15+
high-churn cache workloads that should avoid one-file-per-object storage.
16+
17+
## Highlights
18+
19+
- Added `cache.disk.backend = "storage-bin"` runtime selection while keeping
20+
the existing filesystem backend as the default.
21+
- Added the storage-bin disk cache backend with manifest files, deterministic
22+
bin files, durable object index recovery, reusable free ranges, and LRU
23+
eviction parity.
24+
- Added management parity for storage-bin cache stats, activity reset, exact
25+
purge, indexed hard/soft purge, stale purge, cache lookup, and cache warm
26+
workflows.
27+
- Debounced durable storage-bin index writes after insert, eviction, and purge
28+
bursts to reduce write amplification under high-cardinality cache fills.
29+
- Added clean shutdown flushing for pending storage-bin index updates.
30+
- Added same-key rewrite handling so revalidation or object replacement can
31+
release and reuse the previous range.
32+
- Added conservative tail-bin reclamation so eviction and purge can remove
33+
fully-free highest-numbered bin files without moving live objects.
34+
- Exposed storage-bin pressure stats through admin JSON and Prometheus gauges,
35+
including allocated bin bytes, reusable free bytes, free range count, largest
36+
free range, and bin file count.
37+
- Added `examples/cache-storage-bin.toml` plus CI and smoke coverage for the
38+
storage-bin backend.
39+
40+
## Validated Scope
41+
42+
- Local gate passed before release prep:
43+
- `cargo test -q storage_bin --lib`
44+
- focused storage-bin rewrite, drop-flush, and tail-reclaim tests
45+
- `cargo check --features profile-observability,acme-client`
46+
- `cargo check --no-default-features --features proxy,web,cache,tls-rustls,security`
47+
- `cargo clippy --features profile-observability,acme-client --all-targets -- -D warnings`
48+
- `sh scripts/smoke_storage_bin_cache.sh`
49+
- `cargo run --quiet -- --check-config --config examples/cache-storage-bin.toml`
50+
- `perl scripts/check-doc-links.pl`
51+
- `scripts/validate-release-metadata.sh`
52+
- `git diff --check`
53+
54+
## Known Limits
55+
56+
- The storage-bin backend is opt-in in `1.2.2`; the filesystem backend remains
57+
the default until production testing proves the bin format across more
58+
deployment shapes.
59+
- Storage-bin compaction is conservative and only reclaims fully-free tail
60+
bins. Moving live objects between bins is reserved for a later compaction
61+
pass if production data shows it is needed.
62+
- Partial streaming admission and range-slice fill remain future cache work.
63+
- Optional cache encryption at rest, including local-key and OpenBao
64+
Transit/KMS key providers, is planned for `1.2.3`.
65+
- Distributed cache metadata and peer-fill are planned for `1.2.4`.
66+
- Wasm-based extension points, including cache-rule hooks comparable to VCL/Lua
67+
style customization, are planned for `1.4`.
68+
69+
## Checksums And Signatures
70+
71+
Record during the release:
72+
73+
- Commit: `v1.2.2` tag target
74+
- Local gate: GitHub CI green before tag; local release metadata checks passed
75+
- CodeQL/code scanning: no open release-blocking alerts before tag
76+
- Source archive checksums: to be filled
77+
- Binary checksums: to be filled
78+
- SBOM checksums: to be filled
79+
- Reproducible build: to be filled
80+
- Container digests: to be filled
81+
- Tag signature: to be filled

0 commit comments

Comments
 (0)