Skip to content

Commit a7c6347

Browse files
v0.3.1
1 parent 4e0760d commit a7c6347

41 files changed

Lines changed: 5011 additions & 1884 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@ temp/
113113
*.tmp
114114
*.temp
115115

116+
.agents
116117
*.md
117118
!README.md
118119
!CONTRIBUTING.md

CHANGELOG.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,28 +4,54 @@ All notable changes to this project are documented in this file.
44

55
The format follows Keep a Changelog and the project adheres to SemVer.
66

7+
## 0.3.1 - 2026-02-16
8+
9+
### Added
10+
11+
- Add package-level lint/format scripts and workspace `eslint-config-expo-magic` flat config wiring.
12+
13+
### Changed
14+
15+
- Isolate web Secure scope keys under `__secure_` prefix while keeping biometric fallback under `__bio_`.
16+
- Align `storage.clear(StorageScope.Secure)` with biometric cleanup semantics.
17+
- Update README installation, enum docs, and quality command docs to match current APIs.
18+
19+
### Fixed
20+
21+
- Fix web scope bleed where clearing Disk/Secure could wipe the other secure domain.
22+
- Fix biometric listener updates by emitting change notifications for biometric set/delete/clear paths.
23+
- Fix secure namespace cleanup by flushing pending secure writes before namespace removal.
24+
- Fix secure access-control leakage by applying access control at write time and disabling coalesced raw batch path when access control is configured.
25+
- Fix global `storage.setAccessControl(...)` handling so non-item raw secure writes keep the configured level instead of being forced back to default.
26+
- Fix Android secure key enumeration to return deduplicated key sets when secure and biometric stores share key names.
27+
728
## 0.3.0 - 2026-02-15
829

930
### Added
31+
1032
- Add `useStorageSelector(item, selector, isEqual?)` to reduce rerenders from unrelated object updates.
1133
- Add opt-in `coalesceSecureWrites` and per-item `readCache` controls in `createStorageItem` config.
1234
- Add benchmark regression gate (`benchmark` task/script) and wire it into CI and publish checks.
1335

1436
### Changed
37+
1538
- Switch default serialization to a primitive fast path for primitives while preserving JSON compatibility for objects and legacy values.
1639
- Replace broad listener fan-out with key-indexed registries and automatic pruning for memory/native/web paths.
1740
- Rework Turbo task graph so `build` depends on `codegen`, `test`/`typecheck` run from source, and `codegen` can be cached.
1841

1942
### Fixed
43+
2044
- Route native batch calls through true adapter-level batch APIs (HybridStorage + iOS/Android adapters) instead of per-key loops.
2145
- Add read-through cache invalidation on scoped/key change events and native/web clear paths.
2246

2347
## 0.2.1 - 2026-02-15
2448

2549
### Added
50+
2651
- Add explicit package `exports` for ESM/CJS/react-native/web resolution.
2752

2853
### Fixed
54+
2955
- Preserve validation and TTL semantics in batch APIs by falling back to per-item paths when needed.
3056
- Preserve item-level semantics in transaction `setItem`/`removeItem` by using item methods directly.
3157
- Decode native batch missing values correctly to avoid empty-string ambiguity on iOS/Android C++ bindings.
@@ -36,12 +62,14 @@ The format follows Keep a Changelog and the project adheres to SemVer.
3662
- Expo config plugin makes Android biometric permissions opt-in.
3763

3864
### Changed
65+
3966
- Raise `react` peer dependency floor to `>=18.2.0`.
4067
- Update CI workflow action versions and Bun runtime pin to latest stable releases.
4168

4269
## 0.2.0 - 2026-02-15
4370

4471
### Added
72+
4573
- Export `migrateFromMMKV` from the package root entrypoint.
4674
- Add dedicated web storage tests and include `index.web.ts` in coverage collection.
4775
- Add `runTransaction(scope, fn)` with rollback on thrown errors.
@@ -50,11 +78,13 @@ The format follows Keep a Changelog and the project adheres to SemVer.
5078
- Add per-item TTL support via `expiration.ttlMs`.
5179

5280
### Fixed
81+
5382
- Validate batch operation scope to prevent mixed-scope usage.
5483
- Avoid duplicate native remove calls in `removeBatch`.
5584
- Clear cached item values on `delete()` to prevent stale reads (native and web).
5685

5786
### Changed
87+
5888
- Standardize internal package scripts and README contributor commands to Bun/Bunx.
5989
- Remove the Turbo `test` outputs config to avoid warnings on non-coverage test runs.
6090
- Expand README with complete API behavior/throws documentation.
@@ -63,40 +93,49 @@ The format follows Keep a Changelog and the project adheres to SemVer.
6393
## 0.1.4 - 2026-02-09
6494

6595
### Added
96+
6697
- Add `clearAll` event.
6798

6899
### Fixed
100+
69101
- Fix Android behavior.
70102

71103
### Changed
104+
72105
- Bump react-native-nitro-modules to the latest version and raise the peer dependency floor.
73106

74107
## 0.1.3 - 2026-01-22
75108

76109
### Fixed
110+
77111
- Prevent ProGuard from stripping the JNI class in release builds.
78112

79113
## 0.1.2 - 2026-01-07
80114

81115
### Added
116+
82117
- Finalize batch operations and clean up the implementation.
83118
- Add missing batch coverage and exclude web from the coverage report.
84119

85120
### Changed
121+
86122
- Point types to the correct path and simplify bob targets.
87123

88124
## 0.1.1 - 2025-12-15
89125

90126
### Added
127+
91128
- MMKV migration utility.
92129
- Benchmark UI improvements.
93130

94131
### Changed
132+
95133
- Update native build configs.
96134
- Update README screenshots.
97135
- Add tests for memory item deletion and MMKV migration, and simplify the README.
98136

99137
## 0.1.0 - 2025-12-15
100138

101139
### Added
140+
102141
- Initial public release from the private repository.

0 commit comments

Comments
 (0)