diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 945fbaf2..d5d3f370 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.25.0" + ".": "0.25.1" } diff --git a/CHANGELOG.md b/CHANGELOG.md index eea1b9a2..36ebf99b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,20 @@ # Changelog +## [0.25.1](https://github.com/cachekit-io/cachekit-py/compare/v0.25.0...v0.25.1) (2026-10-30) + + +### Bug Fixes + +* **tests:** compare Redis connection ids, not totals, in the flag-unset listener test (LAB-11835) ([#664](https://github.com/cachekit-io/cachekit-py/issues/664)) ([4db94e8](https://github.com/cachekit-io/cachekit-py/commit/4db94e89a1edb1794fe457210d0e07a073091502)) + + +### Performance Improvements + +* **l1:** keep verified MessagePack in L1 after an entry's first hit (LAB-7116) ([#662](https://github.com/cachekit-io/cachekit-py/issues/662)) ([844070d](https://github.com/cachekit-io/cachekit-py/commit/844070d302a66b2bbdd3326dede02765fb0d7e04)) +* **metrics:** record cache operations into per-thread cells (LAB-7117) ([#661](https://github.com/cachekit-io/cachekit-py/issues/661)) ([d0febb6](https://github.com/cachekit-io/cachekit-py/commit/d0febb68b3e2bd57aab91e213f90f586920a54ad)) +* **object-cache:** find expired entries with a deadline heap, not a scan (LAB-7106) ([#658](https://github.com/cachekit-io/cachekit-py/issues/658)) ([99047e1](https://github.com/cachekit-io/cachekit-py/commit/99047e11c6ee4d706003bf5fc09e3ca192ce62c3)) +* **redis:** send the key-registry SADD+EXPIRE in the same pipeline as the SET (LAB-7115) ([#660](https://github.com/cachekit-io/cachekit-py/issues/660)) ([73e99e0](https://github.com/cachekit-io/cachekit-py/commit/73e99e0621371f7522dc9f0d772a33195c0576d4)) + ## [0.25.0](https://github.com/cachekit-io/cachekit-py/compare/v0.24.1...v0.25.0) (2026-10-28) diff --git a/Cargo.lock b/Cargo.lock index 5fd7e25c..48729219 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -221,7 +221,7 @@ dependencies = [ [[package]] name = "cachekit-rs" -version = "0.25.0" +version = "0.25.1" dependencies = [ "cachekit-core", "criterion 0.8.2", diff --git a/pyproject.toml b/pyproject.toml index 8e818eaf..f84f96bb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "maturin" [project] name = "cachekit" -version = "0.25.0" +version = "0.25.1" 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 d120308b..ffe674ff 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cachekit-rs" -version = "0.25.0" +version = "0.25.1" 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 766176ce..c0a5dab7 100644 --- a/src/cachekit/__init__.py +++ b/src/cachekit/__init__.py @@ -79,7 +79,7 @@ def custom_function(): - ``api_key``: a cachekit.io API key, for example ``api_key = os.environ["CACHEKIT_API_KEY"]``. """ -__version__ = "0.25.0" +__version__ = "0.25.1" from collections.abc import Callable from typing import Any, TypeVar diff --git a/uv.lock b/uv.lock index 20ff6496..988b68ee 100644 --- a/uv.lock +++ b/uv.lock @@ -222,7 +222,7 @@ filecache = [ [[package]] name = "cachekit" -version = "0.25.0" +version = "0.25.1" source = { editable = "." } dependencies = [ { name = "blake3" },