You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+14Lines changed: 14 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
8
8
## [Unreleased]
9
9
10
+
## [0.5.0] - 2026-03-02
11
+
10
12
### Fixed
11
13
-**ConcurrentSlabStore TOCTOU race conditions** — Separate `RwLock`s for index, entries, and free list allowed data corruption on concurrent update-after-remove, capacity overshoot under parallel inserts, and inconsistent reads during `clear()`. Consolidated into a single `SlabInner` behind one `RwLock` for full mutation atomicity.
12
14
-**ARC ghost-list directory leak** — Case 4 (complete miss) did not prune ghost lists B1/B2, violating the paper's invariant that T1+T2+B1+B2 ≤ 2×capacity. Fixed to match the original ARC eviction logic.
@@ -21,9 +23,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
21
23
- Integration test suite `tests/slab_concurrency.rs` for ConcurrentSlabStore race conditions and atomicity.
22
24
- Integration test suite `tests/policy_invariants.rs` for cross-policy capacity-0 semantics.
23
25
- Per-policy regression tests for capacity-0 behavior, insert return values, ARC ghost-list bounds, and ConcurrentWeightStore metrics.
26
+
- Metrics tracking for `ClockRing`, `ArcCache`, `CarCache`, and `ClockProCache`.
27
+
-`cargo-deny` policy configuration (`deny.toml`) and CI checks for licenses/advisories.
24
28
25
29
### Changed
26
30
-`ClockRing` module documentation updated with rustdoc intra-doc links and expanded operations table.
31
+
-`LruCore` internals refactored to a pool-based, allocation-free design for improved hot-path predictability.
32
+
-`SlotId`/`SlotArena` internals improved for stability and performance, including iterator refinements and corrected `approx_bytes` accounting.
33
+
-`ClockRing::insert` slot management optimized to reduce unnecessary evictions.
34
+
-`WeightStore` weight accounting updated to checked arithmetic with stronger invariant enforcement.
35
+
- CI/release automation updated for benchmark reporting and crate publishing workflow improvements.
36
+
- Dependency refreshes (including `chrono` patch update and lockfile refreshes).
37
+
38
+
### Documentation
39
+
- Policy roadmap expanded and refreshed (including SIEVE, LHD, LeCaR, and Hyperbolic entries).
40
+
- Additional architecture/API-guideline documentation polish across core data structures and policy docs.
0 commit comments