diff --git a/.release-please-manifest.json b/.release-please-manifest.json index b05f59a..5e39b94 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.17.1" + ".": "0.18.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index b6a4084..bd9e50e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,26 @@ # Changelog +## [0.18.0](https://github.com/cachekit-io/cachekit-py/compare/v0.17.1...v0.18.0) (2026-08-08) + + +### ⚠ 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](https://github.com/cachekit-io/cachekit-py/issues/261)) ([e1b05ce](https://github.com/cachekit-io/cachekit-py/commit/e1b05ce1b5f30c63d86ab0cab6f4ddbc9af8cef6)) + + +### Bug Fixes + +* **l1:** delete dead backed-mode SWR machinery; docs stop claiming backed SWR (LAB-388) ([#256](https://github.com/cachekit-io/cachekit-py/issues/256)) ([878ad08](https://github.com/cachekit-io/cachekit-py/commit/878ad0860a340477257d2ac4f19f3f107f0789b4)) + + +### Code Refactoring + +* delete dead L1 namespace-index/bulk-invalidation machinery (LAB-1433) ([#258](https://github.com/cachekit-io/cachekit-py/issues/258)) ([2607faf](https://github.com/cachekit-io/cachekit-py/commit/2607fafd3d0dcd974e94788b7e5d46ee676701d4)) + ## [0.17.1](https://github.com/cachekit-io/cachekit-py/compare/v0.17.0...v0.17.1) (2026-07-29) diff --git a/Cargo.lock b/Cargo.lock index bc8e947..0f7c05e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -271,7 +271,7 @@ dependencies = [ [[package]] name = "cachekit-rs" -version = "0.17.1" +version = "0.18.0" dependencies = [ "cachekit-core", "criterion", diff --git a/pyproject.toml b/pyproject.toml index 3860e79..c6947d9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "maturin" [project] name = "cachekit" -version = "0.17.1" +version = "0.18.0" description = "Backend-agnostic caching for Python — intent-based decorators with circuit breaker, distributed locking, Prometheus metrics, and optional zero-knowledge AES-256-GCM encryption, on a Rust-powered core. Zero-config L1 in-memory; scales to Redis, Memcached, File, or CachekitIO." readme = "README.md" license = {text = "MIT"} diff --git a/rust/Cargo.toml b/rust/Cargo.toml index aeeaf39..cbdec4a 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cachekit-rs" -version = "0.17.1" +version = "0.18.0" edition = "2021" authors = ["cachekit Contributors"] description = "High-performance storage engine for caching with compression and encryption" diff --git a/src/cachekit/__init__.py b/src/cachekit/__init__.py index cce4835..e0f9ad3 100644 --- a/src/cachekit/__init__.py +++ b/src/cachekit/__init__.py @@ -68,7 +68,7 @@ def custom_function(): ``` """ -__version__ = "0.17.1" +__version__ = "0.18.0" from collections.abc import Callable from typing import Any, TypeVar diff --git a/uv.lock b/uv.lock index 4f9df25..8a4e6a1 100644 --- a/uv.lock +++ b/uv.lock @@ -231,7 +231,7 @@ filecache = [ [[package]] name = "cachekit" -version = "0.17.1" +version = "0.18.0" source = { editable = "." } dependencies = [ { name = "blake3" }, @@ -594,7 +594,7 @@ name = "exceptiongroup" version = "1.3.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "typing-extensions", marker = "python_full_version < '3.11'" }, + { name = "typing-extensions" }, ] sdist = { url = "https://files.pythonhosted.org/packages/0b/9f/a65090624ecf468cdca03533906e7c69ed7588582240cfe7cc9e770b50eb/exceptiongroup-1.3.0.tar.gz", hash = "sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88", size = 29749, upload-time = "2025-05-10T17:42:51.123Z" } wheels = [