Skip to content

Arch Storage

Arch Storage gives Kotlin Multiplatform applications a shared API for reactive preferences and temporary values. The project keeps the build, CI, coverage and documentation conventions of Arch Lumber, with three storage modules extracted from Arch Toolkit.

Module What it provides
storage-core Typed entries, Flow, mapping, defaults, JSON helpers and Compose integration
storage-memory StateFlow-backed, process-local storage
storage-datastore Persistent AndroidX DataStore Preferences adapter

Start with installation and setup, then see concepts and recipes. API references are generated separately for core, memory and DataStore.

Platform support

Core and memory target Android, JVM, iOS (device and simulators), JavaScript and WasmJS. DataStore persistence is available on Android, JVM and iOS. Its JS/Wasm factory deliberately throws IllegalStateException: use MemoryStoreProvider there for nonpersistent values. Native macOS artifacts are not configured. A desktop JVM application can run on macOS.

See the changelog for the changes included in each release.