You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+32Lines changed: 32 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,38 @@
2
2
3
3
All notable changes to this project will be documented in this file.
4
4
5
+
## [1.3.0] - 2025-10-20
6
+
7
+
### Added
8
+
-**Crypto-only module:** New `:safebox-crypto` published as a standalone artifact. ([#110](https://github.com/harrytmthy/safebox/issues/110))
9
+
-**SafeBoxCrypto helper & ByteArray APIs:** String-in/string-out helper plus raw `ByteArray` encrypt/decrypt to avoid Base64/UTF-8 overhead. ([#121](https://github.com/harrytmthy/safebox/issues/121), [#152](https://github.com/harrytmthy/safebox/issues/152))
10
+
-**Segmented blob store growth:** Removes the 1 MiB ceiling via multi-page mapping with compaction/reuse of freed space. ([#133](https://github.com/harrytmthy/safebox/issues/133))
11
+
-**Recovery journal:** Append-only `SafeBoxRecoveryBlobStore` for ENOSPC/low-storage conditions with exponential-backoff replay. ([#134](https://github.com/harrytmthy/safebox/issues/134))
12
+
-**Kotlin BCV & API guard:** Binary compatibility validator + pre-push API check. ([#131](https://github.com/harrytmthy/safebox/issues/131))
13
+
14
+
### Changed
15
+
-**Public API cleanup:** Removed alias-based parameters. Creation now manages aliases internally. ([#111](https://github.com/harrytmthy/safebox/issues/111))
16
+
-**Fully synchronous commits:**`.commit()` now guarantees durability of all affected pages + channel before returning. ([#161](https://github.com/harrytmthy/safebox/issues/161))
17
+
18
+
### Performance
19
+
-**Batched `.apply()` pipeline:** Debounced batching that coalesces rapid edits/deletes, reducing I/O floods during bursts while keeping `.commit()` semantics predictable. ([#55](https://github.com/harrytmthy/safebox/issues/55), [#156](https://github.com/harrytmthy/safebox/issues/156))
20
+
-**Lower contention in crypto:** Isolated ChaCha providers so key/value ciphers don’t block each other. ([#117](https://github.com/harrytmthy/safebox/issues/117))
21
+
-**Adaptive flush in blob store:** One `force()` per updated page with adaptive behavior—eager for tiny blocking writes, batched for multi-page updates. ([#150](https://github.com/harrytmthy/safebox/issues/150), [#154](https://github.com/harrytmthy/safebox/issues/154))
22
+
-**Smaller dependency footprint:** Switch to `bcprov-jdk15on` and minimal keep rules, making minified apps ≈9.5× smaller than before ([#115](https://github.com/harrytmthy/safebox/issues/115))
23
+
24
+
### Fixed
25
+
-**Read latency regression:** Restored fast read path performance discovered during RC testing. ([#161](https://github.com/harrytmthy/safebox/issues/161))
26
+
-**Single DEK per file:** Both ciphers for a file reliably resolve the same DEK (per-file locking + lazy load). ([#119](https://github.com/harrytmthy/safebox/issues/119))
27
+
-**Corrupted-byte handling:** Scan/trim trailing corruption and resume from a clean boundary after partial writes/shutdowns. ([#148](https://github.com/harrytmthy/safebox/issues/148))
28
+
-**R8 errors:** Remove LDAP/X.509 pulls and missing-class warnings while keeping ChaCha20-Poly1305 intact. ([#115](https://github.com/harrytmthy/safebox/issues/115))
29
+
-**Recovery flow robustness:** Partial delete in recovery store + exponential backoff replay. ([#143](https://github.com/harrytmthy/safebox/issues/143))
30
+
31
+
### Docs
32
+
-**Why SafeBox table:** Clearer comparison vs `EncryptedSharedPreferences`. ([#146](https://github.com/harrytmthy/safebox/issues/146))
33
+
34
+
### Deprecated
35
+
-**SafeBoxState** and **SafeBoxStateListener:** Removal planned in v1.4. ([#125](https://github.com/harrytmthy/safebox/issues/125))
0 commit comments