Skip to content

SafeBox 1.3.0-alpha01

Latest
Compare
Choose a tag to compare
@harrytmthy harrytmthy released this 07 Sep 23:04
· 2 commits to main since this release
faa738d

This release focuses on a slimmer crypto stack, a new helper for non-Prefs use cases, and API cleanup.

⚠️ Breaking changes ⚠️

  • Removed SafeBox.create(...) overloads that accepted keyAlias and valueKeyStoreAlias. Use the simplified factory without aliases. (#111, #103)
    Migration note: If you previously passed a custom valueKeyStoreAlias, re-encrypt stored data or migrate to the default; custom aliases are no longer honored.

Highlights

  • New crypto-only module (:safebox-crypto)
    Extracts all cryptography into its own artifact so apps that don't need SharedPreferences can still use SafeBox's cipher stack. (#110)

  • SafeBoxCrypto helper
    A simple text encryption with one-liner secret and encryption/decryption. Uses the same cipher as SafeBox and keeps key management in your hands. (#121)

  • API cleanup and removals
    Alias-based creation removed from the public API (previously deprecated). Internal rotation/destruction hooks on key providers eliminated to avoid accidental data loss. (#111, #103)

  • R8 shrink: ~9.5× smaller vs v1.2.0
    Switch to bcprov-jdk15on and targeted keep rules for ChaCha20-Poly1305 drastically reduce APK size under minify, while fixing missing-class warnings. (#115)

  • Concurrency and correctness
    Cross-cipher contention reduced by isolating ChaCha providers. This ensures exactly one DEK per file even when two providers are used. (#117, #119)

Dependency notes

  • BouncyCastle updated to bcprov-jdk15on:1.70 and consumer ProGuard rules narrowed to the minimal ChaCha20-Poly1305 classes, eliminating broad keeps and javax.naming.* warnings. (#115)

If you are evaluating or contributing to SafeBox, we would love your feedback!