Repository navigation
cachekit-rs: v0.8.0
Immutable
release. Only release title and notes can be modified.
0.8.0 (2026-09-29)
⚠ BREAKING CHANGES
- intents:
CacheKit::securetakes the master key as a hex string (master_key_hex: &str) instead of raw bytes (master_key: &[u8]). The key must decode to at least 32 bytes and is validated before any Redis connection is attempted. There is no longer a raw-bytes preset; decoded bytes go throughCacheKitBuilder::encryption_from_bytes. The newCacheKit::secure_from_envreads the key fromCACHEKIT_MASTER_KEY. - interop: reject reserved namespaces ns and nsapi (LAB-5876) (#89)
- intents:
CacheKit::minimalnow enables an in-process L1 cache (1000 entries, no stale-while-revalidate, no cross-process invalidation). Aminimalread may serve an L1 entry for up to its 300 s TTL after another writer changed the value in Redis. Chain.no_l1()on the returned builder to restore read-through-every-time behaviour. - intents:
CacheKit::encrypted(url, key)is nowCacheKit::secure(url, key), and theSecureCacheaccessorcache.secure()is nowcache.secure_cache(). Migration: rename both call sites; behaviour, defaults and feature gates are unchanged.
Features
- encryption: keyring rotation — previous_master_keys + sequential decrypt (LAB-686) (#63) (8b9e7ac)
- encryption: surface hardware-acceleration detection (LAB-523) (fd03a12)
- intents: CacheKit::io falls back to CACHEKIT_API_KEY via io_from_env (LAB-4647) (#86) (464b9d2)
- intents: CacheKit::secure takes a hex master key, add secure_from_env (LAB-4645) (#88) (50211d3)
- observability: live read counters, auto-wired SaaS telemetry, tracing events (LAB-521) (#81) (afe77ad)
- rs: surface rotation drain signal via decrypt_indexed (LAB-1678) (#74) (15b94cf)
Bug Fixes
- cachekitio: reject reserved cache-key segments in request path (LAB-2878) (#76) (0ed7e1d)
- intents: CacheKit::minimal enables L1 with SWR off per intent-preset contract (LAB-4644) (#85) (e0d4388)
- interop: reject reserved namespaces ns and nsapi (LAB-5876) (#89) (5e3aa2f)
- secure: evict L1 copy when decryption fails (LAB-5570) (#87) (fe5170d)
- serializer: enforce decode depth in the structural guard and vendor decode-bounds 1.1.0 (LAB-3481) (b45be1a)
- serializer: own the msgpack decode depth bound and add a structural walk (LAB-2503) (#73) (306c1b1)
Code Refactoring
Dependencies
- The following workspace dependencies were updated
- dependencies
- cachekit-macros bumped from 0.7.0 to 0.8.0
- dependencies