Realm v10.12.0 Release Notes

Release Date: 2022-09-22 // 4 months ago
  • ✨ Enhancements

    • 🔀 [RealmApp] Introduced SyncSession.RecoverOrDiscardUnsyncedChangesStrategy, an alternative automatic client reset strategy that tries to automatically recover any unsynced data from the client, and discards any unsynced data if not possible. This is now the default client reset policy if not explicitly set in the SyncConfiguration.
    • 🔀 [RealmApp] Introduced SyncSession.RecoverUnsyncedChangesStrategy, an alternative automatic client reset strategy that tries to automatically recover any unsynced data from the client and will revert to manual client reset if not possible.
    • 🔀 [RealmApp] Flexible sync client reset is no longer limited to ManuallyRecoverChangesStrategy, it now supports all available strategies: RecoverOrDiscardUnsyncedChangesStrategy, RecoverUnsyncedChangesStrategy, DiscardUnsyncedChangesStrategy and ManuallyRecoverChangesStrategy.

    🛠 Fixed

    • Now queries can point to fields with query language-reserved words like 'desc', 'sort', 'distinct', etc. Issue #7705

    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

    • ⚡️ Update to Realm Core 12.6.0, commit: 5da7744b4056ad185c025bccf0924f17f73f7a91.

Previous changes from v10.11.1

  • ✨ Enhancements

    • None

    🛠 Fixed

    • 🛠 Fixed deadlock while trying to close all Realm instances during a manual client reset. Issue #7696)
    • 🔀 [RealmApp] Throw RuntimeException if subscription set is requested and flexible sync is not enabled. (Realm Core issue #5079)
    • ➕ Adding an object to a Set, deleting the parent object, and then deleting the previously mentioned object causes crash. (Realm Core issue #5387, since 11.0.0)
    • 🔀 [RealmApp] The sync client may have sent a corrupted upload cursor leading to a fatal error from the server due to an uninitialized variable. (#5460
    • 🔀 [RealmApp] Flexible sync would not correctly resume syncing if a bootstrap was interrupted. (#5466
    • 🔀 [RealmApp] Flexible sync subscription state changes will now correctly be reported after sync progress is reported. (#5553

    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

    • ⚡️ Update to Realm Core 12.3.0, commit: 55a48c287b5e3a8ca129c257ec7e3b92bcb2a05f.