[!WARNING]
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
osipxd/encrypted-datastore (io.github.osipxd:security-crypto-datastore-preferences)
### [`v1.0.0`](https://togithub.com/osipxd/encrypted-datastore/blob/HEAD/CHANGELOG.md#100---20240417)
##### Delegates to create encrypted DataStores
Delegates `encryptedDataStore` and `encryptedPreferencesDataStore` were added to simplify DataStore creation.
If you have the following code:
```kotlin
val dataStore = DataStoreFactory.createEncrypted(serializer) {
EncryptedFile.Builder(
context.dataStoreFile("filename"),
context,
MasterKeys.getOrCreate(MasterKeys.AES256_GCM_SPEC),
EncryptedFile.FileEncryptionScheme.AES256_GCM_HKDF_4KB
).build()
}
```
You can simplify it using delegate for DataStore creation.
```kotlin
// 1. Move the field to top level of you Kotlin file and turn it to an extension on Context
// 2. Replace `DataStoreFactory.createEncrypted` with `encryptedDataStore`
val Context.dataStore by encryptedDataStore(
fileName = "filename", // Keep file the same
serializer = serializer,
)
```
> \[!NOTE]
> This only will be interchangeable if you used `context.dataStoreFile(...)` to create datastore file.
> In case you have custom logic for master key creation, pass the created master key as a parameter `masterKey` to the delegate.
##### Dependencies
- Target JVM `1.8` → `11`
- Kotlin `1.7.21` → `1.9.23`
- [Tink](https://togithub.com/tink-crypto/tink-java/releases) `1.7.0` → `1.13.0`
##### Housekeeping
- Update Gradle to 8.7
- Update AGP to 8.3.2
- Move `PreferenceDataStoreHack.java` into `encrypted-datastore-preferences` module
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
â™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
1.0.0-beta01
->1.0.0
Release Notes
osipxd/encrypted-datastore (io.github.osipxd:security-crypto-datastore-preferences)
### [`v1.0.0`](https://togithub.com/osipxd/encrypted-datastore/blob/HEAD/CHANGELOG.md#100---20240417) ##### Delegates to create encrypted DataStores Delegates `encryptedDataStore` and `encryptedPreferencesDataStore` were added to simplify DataStore creation. If you have the following code: ```kotlin val dataStore = DataStoreFactory.createEncrypted(serializer) { EncryptedFile.Builder( context.dataStoreFile("filename"), context, MasterKeys.getOrCreate(MasterKeys.AES256_GCM_SPEC), EncryptedFile.FileEncryptionScheme.AES256_GCM_HKDF_4KB ).build() } ``` You can simplify it using delegate for DataStore creation. ```kotlin // 1. Move the field to top level of you Kotlin file and turn it to an extension on Context // 2. Replace `DataStoreFactory.createEncrypted` with `encryptedDataStore` val Context.dataStore by encryptedDataStore( fileName = "filename", // Keep file the same serializer = serializer, ) ``` > \[!NOTE] > This only will be interchangeable if you used `context.dataStoreFile(...)` to create datastore file. > In case you have custom logic for master key creation, pass the created master key as a parameter `masterKey` to the delegate. ##### Dependencies - Target JVM `1.8` → `11` - Kotlin `1.7.21` → `1.9.23` - [Tink](https://togithub.com/tink-crypto/tink-java/releases) `1.7.0` → `1.13.0` ##### Housekeeping - Update Gradle to 8.7 - Update AGP to 8.3.2 - Move `PreferenceDataStoreHack.java` into `encrypted-datastore-preferences` moduleConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
â™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.