Keyv v6.0.0-beta.4 — 2026-06-18
Finalize the v6 storage-adapter API (ttl → expires) and complete the cross-adapter code/test review.
⚠ BREAKING CHANGES
- Storage adapters now use
expires(absolute epoch-ms timestamp) instead of a relativettl. (da9c08f, #1981)
Migration: if you call a storage adapter directly or implement a custom one, read the absoluteexpiresvalue from the entry envelope instead of accepting attlargument. TheKeyvcore API is unchanged — it continues to deriveexpiresfrom the value envelope, so typicalkeyv.set(key, value, ttl)usage is unaffected.
Features
-
bigmap: wire up Hookified events —
BigMapnow emitsSET,DELETE, andCLEARvia the newBigMapEventsenum. (b88d03f, #1977)import { BigMap, BigMapEvents } from '@keyv/bigmap'; const map = new BigMap<string>(); map.on(BigMapEvents.SET, (key, value) => console.log('set', key, value)); map.on(BigMapEvents.DELETE, (key) => console.log('deleted', key)); map.set('a', '1'); // → "set a 1" map.delete('a'); // → "deleted a"
Also renames the exported
MapInterfaceetype toMapInterface(typo fix — safe within the v6 beta).
Bug Fixes
- etcd: support the grpc-gateway v2 error format for etcd 3.6 compatibility. (dcb64bd, #1964)
- dynamo: strip the namespace prefix in the iterator and align tests/docs. (75198aa, #1965)
- etcd: return
undefinedfor missing values and align tests/docs. (1e84580, #1966) - mysql: return
undefinedinstead ofnull, guardgetMany, and align tests/docs. (d76926b, #1969)
Documentation
- keyv: fix README API accuracy and strengthen the code/test review. (685bc77, #1979)
- keyv: add a jsDelivr badge to the README. (418ce7a, #1963)
Internal
- dynamo: code clean up and minor fixes. (9048a87, #1970)
- etcd: code clean up and documentation. (aed5638, #1972)
- postgres: code/test review for
@keyv/postgres. (9fa6847, #1971) - redis: full code and test review cleanup. (480a560, #1974)
- memcache: add an error handler. (394e254, #1973)
- memcache: uniform test suite, fix namespace docs, validate API. (95612fc, #1967)
- mongo: uniform test suite, fix README API docs. (0240400, #1968)
- mongo: documentation and fixes (includes #1980 review follow-ups). (f31850d, #1976)
- sqlite: full code and test review cleanup. (8539cfd, #1975)
- valkey: full code and test review. (e8a3ffa, #1978)
Contributors
- @jaredwray (18)
Full List of Changes
- feat: adding in jsDelivr badge for Keyv by @jaredwray in #1963
- etcd - fix: support grpc-gateway v2 error format for etcd 3.6 compatibility by @jaredwray in #1964
- dynamo - fix: strip namespace prefix in iterator and align tests/docs by @jaredwray in #1965
- etcd - fix: return undefined for missing values and align tests/docs by @jaredwray in #1966
- memcache - test: uniform test suite, fix namespace docs, validate API by @jaredwray in #1967
- mongo - test: uniform test suite, fix README API docs by @jaredwray in #1968
- mysql - fix: return undefined not null, guard getMany, and align tests/docs by @jaredwray in #1969
- dynamo - chore: code clean up and minor fixes by @jaredwray in #1970
- etcd - chore: code clean up and documentation by @jaredwray in #1972
- postgres - refactor: code/test review for @keyv/postgres by @jaredwray in #1971
- redis - chore: full code and test review cleanup by @jaredwray in #1974
- memcache - chore: adding in error handler by @jaredwray in #1973
- sqlite - refactor: full code and test review cleanup by @jaredwray in #1975
- keyv - docs: fix README API accuracy and strengthen code/test review by @jaredwray in #1979
- valkey - refactor: full code and test review by @jaredwray in #1978
- bigmap - feat: wire up hookified events and complete code/test review by @jaredwray in #1977
- mongo - chore: documentation and fixes by @jaredwray in #1976
- keyv (breaking) - storage adapters now only use expires instead of ttl by @jaredwray in #1981
Full diff: v6.0.0-beta.3...v6.0.0-beta.4