Skip to content

v0.18.0

Latest

Choose a tag to compare

@cachekit-release-bot cachekit-release-bot released this 04 Sep 03:08
f7b15d9

0.18.0 (2026-09-03)

⚠ BREAKING CHANGES

  • L1CacheConfig.namespace_index is removed. The flag was read by nothing and toggled no behavior, but it shipped in v0.17.1 and docs/configuration.md documented a copy-pasteable L1CacheConfig(..., namespace_index=True) example — L1CacheConfig is a frozen dataclass, so constructors still passing it now raise TypeError instead of silently lying. L1Cache.invalidate_by_key(), .invalidate_by_namespace() and .invalidate_all() are removed with it; per-key L1Cache.invalidate() is unaffected. Same removal shape as L1CacheConfig.invalidation_enabled in v0.16.0 (LAB-520).

Features

  • encryption: keyring rotation — previous_master_keys + fingerprint selection (LAB-684) (#261) (e1b05ce)

Bug Fixes

  • cachekitio: percent-encode cache key in request path (LAB-2846) (#279) (f000ba3)
  • fuzz: commit per-target corpus seeds cargo-fuzz actually loads (LAB-1149) (#263) (1b85f56)
  • l1: delete dead backed-mode SWR machinery; docs stop claiming backed SWR (LAB-388) (#256) (878ad08)

Performance Improvements

  • file: eliminate two full-payload copies on the non-mmap read path (LAB-770) (#267) (f7e236b)

Code Refactoring

  • delete dead L1 namespace-index/bulk-invalidation machinery (LAB-1433) (#258) (2607faf)