@@ -4,6 +4,62 @@ All notable changes to this project are documented in this file.
44
55The format follows Keep a Changelog and the project adheres to SemVer.
66
7+ ## 0.3.0 - 2026-02-15
8+
9+ ### Added
10+ - Add ` useStorageSelector(item, selector, isEqual?) ` to reduce rerenders from unrelated object updates.
11+ - Add opt-in ` coalesceSecureWrites ` and per-item ` readCache ` controls in ` createStorageItem ` config.
12+ - Add benchmark regression gate (` benchmark ` task/script) and wire it into CI and publish checks.
13+
14+ ### Changed
15+ - Switch default serialization to a primitive fast path for primitives while preserving JSON compatibility for objects and legacy values.
16+ - Replace broad listener fan-out with key-indexed registries and automatic pruning for memory/native/web paths.
17+ - Rework Turbo task graph so ` build ` depends on ` codegen ` , ` test ` /` typecheck ` run from source, and ` codegen ` can be cached.
18+
19+ ### Fixed
20+ - Route native batch calls through true adapter-level batch APIs (HybridStorage + iOS/Android adapters) instead of per-key loops.
21+ - Add read-through cache invalidation on scoped/key change events and native/web clear paths.
22+
23+ ## 0.2.1 - 2026-02-15
24+
25+ ### Added
26+ - Add explicit package ` exports ` for ESM/CJS/react-native/web resolution.
27+
28+ ### Fixed
29+ - Preserve validation and TTL semantics in batch APIs by falling back to per-item paths when needed.
30+ - Preserve item-level semantics in transaction ` setItem ` /` removeItem ` by using item methods directly.
31+ - Decode native batch missing values correctly to avoid empty-string ambiguity on iOS/Android C++ bindings.
32+ - Avoid duplicate observer updates on native/web ` setBatch ` paths.
33+ - Scope iOS disk storage to a dedicated UserDefaults suite and avoid clearing unrelated app defaults.
34+ - Use a package-specific Android master-key alias for encrypted storage initialization and recovery.
35+ - Expo config plugin now preserves existing ` NSFaceIDUsageDescription ` values.
36+ - Expo config plugin makes Android biometric permissions opt-in.
37+
38+ ### Changed
39+ - Raise ` react ` peer dependency floor to ` >=18.2.0 ` .
40+ - Update CI workflow action versions and Bun runtime pin to latest stable releases.
41+
42+ ## 0.2.0 - 2026-02-15
43+
44+ ### Added
45+ - Export ` migrateFromMMKV ` from the package root entrypoint.
46+ - Add dedicated web storage tests and include ` index.web.ts ` in coverage collection.
47+ - Add ` runTransaction(scope, fn) ` with rollback on thrown errors.
48+ - Add versioned migration APIs: ` registerMigration ` and ` migrateToLatest ` .
49+ - Add schema-aware storage options: ` validate ` and ` onValidationError ` .
50+ - Add per-item TTL support via ` expiration.ttlMs ` .
51+
52+ ### Fixed
53+ - Validate batch operation scope to prevent mixed-scope usage.
54+ - Avoid duplicate native remove calls in ` removeBatch ` .
55+ - Clear cached item values on ` delete() ` to prevent stale reads (native and web).
56+
57+ ### Changed
58+ - Standardize internal package scripts and README contributor commands to Bun/Bunx.
59+ - Remove the Turbo ` test ` outputs config to avoid warnings on non-coverage test runs.
60+ - Expand README with complete API behavior/throws documentation.
61+ - Strengthen native and web test coverage for validation, TTL, migrations, and transactions.
62+
763## 0.1.4 - 2026-02-09
864
965### Added
0 commit comments