diff --git a/README.md b/README.md index 1c5e3580..74cdd122 100644 --- a/README.md +++ b/README.md @@ -45,21 +45,23 @@ platforms. The following table shows the names of implementing classes and what platforms they're available on. -| Class | Backing API | Platforms | -|-----------------------------------------|-------------------------------------|---------------------------| -| `KeychainSettings`2 | Apple Keychain | iOS, macOS, watchOS, tvOS | -| `NSUserDefaultsSettings`1 | User Defaults | iOS, macOS, watchOS, tvOS | -| `PreferencesSettings`1 | `java.util.prefs.Preferences` | JVM | -| `PropertiesSettings` | `java.util.Properties` | JVM | -| `SharedPreferencesSettings`1 | `android.content.SharedPreferences` | Android | -| `StorageSettings` | Web Storage (localStorage) | JS, WasmJS | -| `RegistrySettings`2 | Windows Registry | MingwX64 | -| `MapSettings`1,3 | `kotlin.collections.MutableMap` | All platforms | +| Class | Backing API | Platforms | +|-----------------------------------------|-------------------------------------|--------------------------------| +| `KeychainSettings`2 | Apple Keychain | iOS, macOS, watchOS, tvOS | +| `NSUserDefaultsSettings`1 | User Defaults | iOS, macOS, watchOS, tvOS | +| `PreferencesSettings`1 | `java.util.prefs.Preferences` | JVM | +| `PropertiesSettings` | `java.util.Properties` | JVM | +| `SharedPreferencesSettings`1 | `android.content.SharedPreferences` | Android | +| `StorageSettings` | Web Storage (localStorage) | JS, WasmJS | +| `RegistrySettings`2 | Windows Registry | MingwX64 | +| `DataStoreSettings`3 | Jetpack DataStore | Android, JVM, Native | +| `MapSettings`1,4 | `kotlin.collections.MutableMap` | All platforms | -1Implements ObservableSettings interface
-2Implementations is considered experimental
-3MapSettings is intended for use in unit tests and will not persist data to storage +1 Implements ObservableSettings interface
+2 Implementation is considered experimental
+3 DataStoreSettings only implements SuspendSettings / FlowSettings interface
+4 MapSettings is intended for use in unit tests and will not persist data to storage
### Creating a Settings instance @@ -340,7 +342,7 @@ may have the potential to break in the future and should not be considered stabl ### Experimental Implementations -#### Apple Keychain +#### Apple Keychain / Windows Registry The `KeychainSettings` implementation on Apple platforms and the `RegistrySettings` implementation on Windows are considered experimental. Feel free to reach out if they're working well for you, or if you encounter any issues with @@ -513,7 +515,7 @@ actual val settings: SuspendSettings = StorageSettings().toSuspendSettings() ### Make-Observable module The experimental `multiplatform-settings-make-observable` module adds an extension function `Settings.makeObservable()` -in common ode which converts a `Settings` instance to `ObservableSettings` by directly wiring in callbacks rather than +in common code which converts a `Settings` instance to `ObservableSettings` by directly wiring in callbacks rather than native observability methods. ```kotlin