Realm v10.9.0 Release Notes
Release Date: 2021-12-06 // over 2 years ago-
✨ Enhancements
- 👍 [RealmApp] Add support for UUID's as partition values. (Issue #7598)
- 🔀 [RealmApp] Reduced native memory usage when working with synchronized Realms.
- 🏗 [RealmApp] Make it possible to bundle synchronized Realms in apps using
Realm.writeCopyTo()
andSyncConfiguration.Builder.assetFile()
. - 🔧 The Realm Transformer and Realm Gradle Plugin now supports the Gradle Configuration Cache. (Issue #7299)
- 🔀 [RealmApp] Introduced
SyncSession.DiscardUnsyncedChangesStrategy
, an alternative automatic client reset strategy that doesn't require the Realm to be closed, but discards any unsynced data from the client. This is now the default policy if not overridden.
🗄 Deprecated
- 🔀 [RealmApp]
SyncSession.ClientResetHandler()
. UseSyncSession.ManuallyRecoverUnsyncedChangesStrategy()
instead. - 🏗 [RealmApp]
AppConfiguration.Builder.defaultClientResetHandler()
. UseAppConfiguration.Builder.setDefaultSyncClientResetStrategy()
instead. - 0️⃣ [RealmApp]
AppConfiguration.getDefaultClientResetHandler()
. UseAppConfiguration.getDefaultSyncClientResetStrategy()
instead. - 🏗 [RealmApp]
SyncConfiguration.Builder.clientResetHandler()
. UseSyncConfiguration.Builder.setSyncClientResetStrategy()
instead. - 🔀 [RealmApp]
SyncConfiguration.getClientResetHandler()
. UseSyncConfiguration.getSyncClientResetStrategy()
instead.
🛠 Fixed
- 🔀 [RealmApp] Setting
AppConfiguration.syncRootDirectory()
didn't have any effect beside creating the new folder. Realms were still placed in the default location. - 🔀 [RealmApp] Bug where progress notifiers continue to be called after the download of a synced realm is complete. (Issue Realm Core #4919)
- [RealmApp] User being left in the logged in state when the user's refresh token expires. (Issue Realm Core #4882, since v10)
- Using "sort", "distinct", or "limit" as field name in query expression would cause an "Invalid predicate" error. (Issue #7545, since v10.X.X)
- Crash when quering with 'Not()' followed by empty group. (Issue Realm Core #4168 since v1.0.0)
- Streaming download notifiers reported incorrect values for transferrable bytes. (Issue Realm Core #5008 since v11.5.2)
@sum
and@avg
queries on Dictionaries of floats or doubles used too much precision for intermediates, resulting in incorrect rounding.
Compatibility
- ⬆️ File format: Generates Realms with format v22. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
- 🚀 APIs are backwards compatible with all previous release of realm-java in the 10.6.y series.
- Realm Studio 11.0.0-alpha.0 or above is required to open Realms created by this version.
Internal
- ⚡️ Updated to Realm Core 11.7.0, commit: 81eafa44879eb5f5829b345005abf99adb306133.
- 🏗 Building the SDK now requires JDK 11.
- ⚡️ Updated to Gradle 7.2.
- ⚡️ Updated to Android Gradle Plugin 7.1.0-beta03.
- ⚡️ Updated to Kotlin 1.5.31.
- ⚡️ Updated to Kotlin Coroutines 1.5.2.
- ⚡️ Updated to CMake 3.21.4.
- ⚡️ Updated to NDK 23.1.7779620.
- Disable analytics for any value of the
REALM_DISABLE_ANALYTICS
environment variable, not justtrue
. - 📈 Disable analytics whenever the
CI
environment variable is set.