All Versions
122
Latest Version
Avg Release Cycle
25 days
Latest Release
9 days ago

Changelog History
Page 1

  • v6.0.1

    November 11, 2019

    ⬆️ NOTE: Anyone using encrypted Realms are strongly advised to upgrade to this version.

    ✨ Enhancements

    • None

    🛠 Fixed

    • When using encrypted Realms a race condition could lead to the Realm ending up corrupted when the file increased in size. This could manifest as a wide array of different error messages. Most commonly seen has been "Fatal signal 11 (SIGSEGV) from Java_io_realm_internal_UncheckedRow_nativeGetString", "RealmFileException: Top ref outside file" and "Unable to open a realm at path. ACCESS_ERROR: Invalid mnemonic". (#6152, since 5.0.0)
    • 🖨 RealmResults.asJSON() now prints lists with primitive values directly instead of wrapping each value in an object with an !ARRAY_VALUE property.

    Compatibility

    • Realm Object Server: 3.23.1 or later.
    • ⬆️ File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
    • 🚀 APIs are backwards compatible with all previous release of realm-java in the 6.x.y series.

    Internal

    • ⚡️ Updated to Realm Sync 4.7.12.
    • ⚡️ Updated to Realm Core 5.23.6.

    Credits

    • Thanks to Vladimir Konkov (@vladimirfx) for help with isolating (#6152).
  • v6.0.0

    October 01, 2019

    💥 Breaking Changes

    • 🔀 [ObjectServer] The PermissionManager is no longer backed by Realms but instead a REST API. This means that the PermissionManager class has been removed and all methods have been moved to SyncUser. Some method names have been renamed slightly and return values for methods have changed from RealmResults<Permission> to List<Permission>. This should only have an impact if change listeners were used to listen for changes. In these cases, you must now manually retry the request.

    ✨ Enhancements

    None.

    🛠 Fixed

    None.

    Compatibility

    • Realm Object Server: 3.23.1 or later.
    • ⬆️ File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
    • 🚀 APIs are backwards compatible with all previous release of realm-java in the 6.x.y series.

    Internal

    • [ObjectServer] The OKHttp client will now follow redirects from the Realm Object Server.
  • v5.15.2

    September 30, 2019

    ✨ Enhancements

    • None.

    🛠 Fixed

    • 🖨 null values were not printed correctly when using RealmResults.asJSON() (Realm Core Issue #3399)
    • 🔀 [ObjectServer] Queries with nullable Date's did not serialize correctly. Only relevant if using Query-based Synchronization. (Realm Core issue #3388)
    • 🛠 [ObjectServer] Fixed crash with java.lang.IllegalStateException: The following changes cannot be made in additive-only schema mode when opening an old Realm created between Realm Java 5.10.0 and Realm Java 5.13.0. (Issue #6619, since 5.13.0).

    Compatibility

    • Realm Object Server: 3.21.0 or later.
    • ⬆️ File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
    • 🚀 APIs are backwards compatible with all previous release of realm-java in the 5.x.y series.

    Internal

    • ⚡️ Updated to Object Store commit: 8416010e4be5e32ba552ff3fb29e500f3102d3db.
    • ⚡️ Updated to Realm Sync 4.7.8.
    • ⚡️ Updated to Realm Core 5.23.5.
    • ⚡️ Updated Docker image used on CI to Node 10.
  • v5.15.1

    September 09, 2019

    ✨ Enhancements

    • None.

    🛠 Fixed

    • 🏗 Projects with flatDirs repositories defined crashed the build with MissingPropertyException. (Issue #6610, since 5.15.0).

    Compatibility

    • Realm Object Server: 3.21.0 or later.
    • ⬆️ File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
    • 🚀 APIs are backwards compatible with all previous release of realm-java in the 5.x.y series.

    Internal

    • None.
  • v5.15.0

    September 05, 2019

    ✨ Enhancements

    • 🏗 [ObjectServer] Added support for Client Resync for fully synchronized Realms which automatically will recover the local Realm in case the server is rolled back. This largely replaces the Client Reset mechanism. Can be configured using SyncConfiguration.Builder.clientResyncMode(). (Issue #6487)

    🛠 Fixed

    • ⬆️ Huawei devices reporting Permission denied when opening a Realm file after an app upgrade or factory reset. This does not automatically fix already existing Realm files. See this FAQ entry for more details. (Issue #5715)
    • ⚡️ Realm.copyToRealm() and Realm.insertOrUpdate() crashed on model classes if @LinkingObjects was used to target a field with a re-defined internal name in the parent class (e.g. by using @RealmField). (Issue #6581)

    Compatibility

    • Realm Object Server: 3.21.0 or later.
    • ⬆️ File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
    • 🚀 APIs are backwards compatible with all previous release of realm-java in the 5.x.y series.

    Internal

    • 🔀 Implemented direct access to sync workers on Cloud, bypassing the Sync Proxy: the binding will override the sync session's url prefix if the token refresh response for a realm contains a sync worker path field.
    • ⚡️ Updated to Object Store commit: 9f19d79fde248ba37cef0bd52fe64984f9d71be0.
    • ⚡️ Updated to Realm Sync 4.7.4.
    • ⚡️ Updated to Realm Core 5.23.2.
  • v5.14.1

    ✨ Enhancements

    • None.

    🛠 Fixed

    • ⚡️ Realm.copyToRealm() and Realm.insertOrUpdate() crashed on model classes if @LinkingObjects was used to target a field with a re-defined internal name in the parent class (e.g. by using @RealmField). (Issue #6581)

    Compatibility

    • Realm Object Server: 3.21.0 or later.
    • ⬆️ File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
    • 🚀 APIs are backwards compatible with all previous release of realm-java in the 5.x.y series.

    Internal

    • None.
  • v5.14.0

    August 12, 2019

    🗄 Deprecated

    • 🔀 [ObjectServer] SyncCredentials.nickname() has been deprecated in favour of SyncCredentials.usernamePassword().
    • 🔀 [ObjectServer] SyncCredentials.IdentityProvider.NICKNAME has been deprecated in favour of SyncCredentials.IdentityProvider.USERNAME_PASSWORD.

    ✨ Enhancements

    • None.

    🛠 Fixed

    • None.

    Compatibility

    • Realm Object Server: 3.21.0 or later.
    • ⬆️ File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
    • 🚀 APIs are backwards compatible with all previous release of realm-java in the 5.x.y series.

    Internal

    • None.
  • v5.13.1

    August 05, 2019

    🗄 Deprecated

    • 🔀 SyncCredentials.nickname() has been deprecated in favour of SyncCredentials.usernamePassword().
    • 🔀 SyncCredentials.IdentityProvider.NICKNAME has been deprecated in favour of SyncCredentials.IdentityProvider.USERNAME_PASSWORD.

    ✨ Enhancements

    • None.

    🛠 Fixed

    • [ObjectServer] The C++ networking layer now correctly uses any system defined proxy the same way the Java networking layer does. (Issue #6574).
    • 🔌 The Realm bytecode transformer now works correctly with Android Gradle Plugin 3.6.0-alpha01 and beyond. (Issue #6531).
    • Queries on RealmLists with objects containing indexed integers could return the wrong result. (Issue #6522, since 5.11.0)

    Compatibility

    • Realm Object Server: 3.21.0 or later.
    • ⬆️ File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
    • 🚀 APIs are backwards compatible with all previous release of realm-java in the 5.x.y series.

    Internal

    • ⚡️ Updated JavaAssist in the Realm Transformer to 3.25.0-GA.
    • ⚡️ Updated to Realm Core 5.23.1.
    • ⚡️ Updated to Realm Sync 4.7.1.
    • ⚡️ Updated to Object Store commit: bcc6a7524e52071bfcd35cf740f506e0cc6a595e
  • v5.13.0

    July 23, 2019

    ✨ Enhancements

    • 🔀 [ObjectServer] Added support for faster initial synchronization for fully synchronized Realms. (Issue #6469)
    • [ObjectServer] Improved session lifecycle debug output. (Issue #6552).

    🛠 Fixed

    • None.

    Compatibility

    • Realm Object Server: 3.21.0 or later.
    • ⬆️ File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
    • 🚀 APIs are backwards compatible with all previous release of realm-java in the 5.x.y series.

    Internal

    • ⚡️ Updated to Realm Core 5.22.0.
    • ⚡️ Updated to Realm Sync 4.6.1.
    • ⚡️ Updated to Object Store commit f0d75261fc8d332c20dc82f643dd795c0f4c7aec
  • v5.12.0

    June 20, 2019

    ✨ Enhancements

    • 🔀 [ObjectServer] Added SyncManager.refreshConnections() that can be used to manually trigger a reconnect for all sessions. This is useful if the device has been offline for a long time or fail to detect that it regained connectivity. (Issue #259)
    • ➕ Added RealmResults.asJson() in @Beta that returns the result of the query as a JSON payload (#6540).

    🛠 Fixed

    • [ObjectServer] PermissionManager stopped working if an intermittent network error was reported. (Issue #6492, since 3.7.0)
    • The Kotlin extensions library no longer defines a app_name, which in some cases conflicted with the app_name defined by applications. (Issue #6536, since 4.3.0)

    Compatibility

    • Realm Object Server: 3.21.0 or later.
    • ⬆️ File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
    • 🚀 APIs are backwards compatible with all previous release of realm-java in the 5.x.y series.

    Internal

    • ⚡️ Updated to Realm Core 5.22.0.
    • ⚡️ Updated to Realm Sync 4.6.1.
    • ⚡️ Updated to Object Store commit 7c3ff8235579550a3e3c6060c47140b2005174f5