Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions changelog.d/20261024_lab-4614.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
### SDK feature matrix — TypeScript cells brought to the published npm 0.2.1 (LAB-4614)

- `sdk-feature-matrix.md`: every TypeScript claim that called a change "unreleased" or bounded current behaviour
"through npm 0.1.5" now names `@cachekit-io/cachekit` 0.2.1 as its floor, or is re-dated against 0.2.1 where 0.2.1
still lacks the change. Key rotation, hardware-acceleration detection, server-bounded L1 backfill, the SaaS API row
(⚠️ → ✅ on its TTL and lock-id rules) and cache-key path encoding read ✅ for TypeScript from 0.2.1. The
test-vector, wire-format, `minimal` L1 and tenancy cells, notes ¹, ⁴, ⁵, ⁶, ¹⁶ and ¹⁷, and the `bin` rollout note
follow.
- Note ¹⁷ records that npm 0.2.0 carries the same changes but does not install, so no floor names it.
- Unchanged, because both 0.2.1 bindings embed `cachekit-core` 0.6.0: TypeScript's envelope pre-scan caveat and its
aarch64 hardware-acceleration false positive. TypeScript's temporal-sentinel ❌ also stays, re-dated against 0.2.1; that
gap is in the SDK's own serializer, so a core 0.7.0 republish does not close it. Note ⁶ and note ¹⁶ now say that
`cachekit-core` 0.7.0 ships the aarch64 probe, the envelope pre-scan and the allocation probe, and that
`cachekit-rs` 0.11.1+ inherits the aarch64 fix.
- `spec/encryption.md` and `decisions/key-rotation.md`: the keyring is released in all three SDKs; TypeScript's floor
is 0.2.1.
2 changes: 1 addition & 1 deletion decisions/key-rotation.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
| **Date** | 2026-07-23 |
| **Ticket** | LAB-516 (filed by the LAB-275 cross-SDK feature-gap audit) |
| **Normative spec** | [`spec/encryption.md` → Key Rotation (Keyring)](../spec/encryption.md#key-rotation-keyring) — the spec section owns the rules; this record owns the rationale and runbooks. |
| **Implementation** | Implemented in all three SDKs; released in Python (`cachekit` 0.18.0+, PyPI) and Rust (`cachekit-rs` 0.8.0+, crates.io; `CACHEKIT_PREVIOUS_MASTER_KEYS` is read by its `from_env()` and, from 0.9.0, by the `secure` preset's `secure_from_env` — see the matrix note), with TypeScript on `main` pending its next release (artifacts inspected 2026-09-22, the Rust `.crate`s 2026-09-30 (0.8.0) and 2026-10-03 (0.9.0)). Shared decrypt helper `Keyring` in cachekit-core 0.5.0 ([cachekit-core#67](https://github.com/cachekit-io/cachekit-core/pull/67), LAB-683 — also deleted the `rotate_key()` stub, `KeyRotationState` and `RotationAwareHeader`); SDK surfaces in [cachekit-py#261](https://github.com/cachekit-io/cachekit-py/pull/261) (LAB-684), [cachekit-rs#63](https://github.com/cachekit-io/cachekit-rs/pull/63) (LAB-686) and [cachekit-ts#103](https://github.com/cachekit-io/cachekit-ts/pull/103) (LAB-685). The [feature matrix](../sdk-feature-matrix.md#encryption) rotation row reads ✅ for Python and Rust and 🚧 unreleased for TypeScript until a release carries the code; conformance is enforced by [`tools/encryption-verify.py`](../tools/encryption-verify.py) against the keyring vectors in [`test-vectors/encryption.json`](../test-vectors/encryption.json) (LAB-687). |
| **Implementation** | Implemented and released in all three SDKs: Python (`cachekit` 0.18.0+, PyPI), Rust (`cachekit-rs` 0.8.0+, crates.io; `CACHEKIT_PREVIOUS_MASTER_KEYS` is read by its `from_env()` and, from 0.9.0, by the `secure` preset's `secure_from_env` — see the matrix note), and TypeScript (`@cachekit-io/cachekit` 0.2.1+, npm; 0.2.0 does not install) (artifacts inspected 2026-09-22, the Rust `.crate`s 2026-09-30 (0.8.0) and 2026-10-03 (0.9.0), the npm `.tgz` 2026-10-24). Shared decrypt helper `Keyring` in cachekit-core 0.5.0 ([cachekit-core#67](https://github.com/cachekit-io/cachekit-core/pull/67), LAB-683 — also deleted the `rotate_key()` stub, `KeyRotationState` and `RotationAwareHeader`); SDK surfaces in [cachekit-py#261](https://github.com/cachekit-io/cachekit-py/pull/261) (LAB-684), [cachekit-rs#63](https://github.com/cachekit-io/cachekit-rs/pull/63) (LAB-686) and [cachekit-ts#103](https://github.com/cachekit-io/cachekit-ts/pull/103) (LAB-685). The [feature matrix](../sdk-feature-matrix.md#encryption) rotation row reads ✅ for all three; conformance is enforced by [`tools/encryption-verify.py`](../tools/encryption-verify.py) against the keyring vectors in [`test-vectors/encryption.json`](../test-vectors/encryption.json) (LAB-687). |

---

Expand Down
Loading
Loading