All Versions
169
Latest Version
Avg Release Cycle
35 days
Latest Release
593 days ago

Changelog History
Page 3

  • v10.1.2 Changes

    December 02, 2020

    ๐Ÿ’ฅ Breaking Changes

    • None.

    โœจ Enhancements

    • None.

    ๐Ÿ›  Fixes

    Compatibility

    • โฌ†๏ธ File format: Generates Realms with format v20. 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.x.y series.
    • Realm Studio 10.0.0 or above is required to open Realms created by this version.
  • v10.1.1 Changes

    November 27, 2020

    ๐Ÿ’ฅ Breaking Changes

    • None.

    โœจ Enhancements

    • None.

    ๐Ÿ›  Fixes

    • KAPT crash when processing a RealmObject referenced from another module (changed revealed after we started checking for embedded types). (Issue #7213, since v10.0.0).

    Compatibility

    • โฌ†๏ธ File format: Generates Realms with format v20. 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.x.y series.
    • Realm Studio 10.0.0 or above is required to open Realms created by this version.

    Internal

    • โšก๏ธ Updated to Realm Sync: 10.1.3.
    • โšก๏ธ Updated to Realm Core: 10.1.3.
    • โšก๏ธ Updated to Object Store commit: fc6daca61133aa9601e4cb34fbeb9ec7569e162e.
  • v10.1.0 Changes

    October 23, 2020

    ๐Ÿ’ฅ Breaking Changes

    • None.

    โœจ Enhancements

    • โž• Added FlowFactory interface that allows customization of Flow emissions, just as we do with RxObservableFactory. A default implementation, RealmFlowFactory, is provided when building RealmConfigurations.
    • โž• Added toChangeSetFlow methods (similar to the Rx asChangesetFlowable methods) for RealmObject, RealmResults and RealmList.

    ๐Ÿ›  Fixes

    • ๐Ÿ›  Fixed crash when adding classes containing an ObjectId as primary key to the schema. (Issue #7189, since v10.0.0)
    • ๐Ÿ›  Fixed crash when creating proxy classes containing an ObjectId as primary key. (Issue #7197, since v10.0.0)
    • ๐Ÿ›  Fixed crash where calls to toFlow could crash if the Flow job is canceled and object updates are emitted after that happens. (Issue 7211, since v10.0.1)

    Compatibility

    • โฌ†๏ธ File format: Generates Realms with format v20. 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.x.y series.
    • Realm Studio 10.0.0 or above is required to open Realms created by this version.

    Internal

    • โšก๏ธ Updated to Realm Sync: 10.1.3.
    • โšก๏ธ Updated to Realm Core: 10.1.3.
    • โšก๏ธ Updated to Object Store commit: fc6daca61133aa9601e4cb34fbeb9ec7569e162e.
  • v10.0.1 Changes

    November 06, 2020

    ๐Ÿ’ฅ Breaking Changes

    • None.

    โœจ Enhancements

    • ๐Ÿ‘Œ Improved the error message for NoSuchTable errors. In some cases an outdated native reference was used,but the table was still there. In those cases an InvalidTableRef error is now used.

    ๐Ÿ›  Fixes

    • ๐Ÿ— [RealmApp] The SyncConfiguration.Builder.allowQueriesOnUiThread flag was wrongly initialized to false keeping users from running queries from the UI thread when using synced Realms. It now defaults to true, allowing queries to be run from the UI. (Issue #7177, since 10.0.0)
    • Crash with Assertion failed: m_method_id != nullptr with (method_name, signature) = ["<init>", "(Ljava/lang/String;)V"] when Minify is enabled. (Issue #7159, since 10.0.0)
    • ๐Ÿ›  Fix crash in case insensitive query on indexed string columns when nothing matches (Cocoa issue #6836, since v10.0.0)
    • ๐Ÿ›  Fix list of primitives with nullable values where Lst::is_null(ndx) always false even on null values, (Core issue #3987, since v10.0.0).
    • ๐Ÿ›  Fix queries for the size of a list of primitive nullable ints returning size + 1. (Core issue #4016, since v10.0.0).

    Compatibility

    • โฌ†๏ธ File format: Generates Realms with format v20. 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.x.y series.
    • Realm Studio 10.0.0 or above is required to open Realms created by this version.

    Internal

    • โšก๏ธ Updated to Realm Sync: 10.1.0.
    • โšก๏ธ Updated to Realm Core: 10.1.0.
    • โšก๏ธ Updated to Object Store commit: fd246c54de7d1fee6bcbeb3609de75a4eccd5b70.
  • v10.0.0 Changes

    October 15, 2020

    ๐Ÿš€ NOTE: This is a unified release note covering all v10.0.0-BETA.X v10.0.0-RC.X releases.

    ๐Ÿ”€ NOTE: Support for syncing with realm.cloud.io and/or Realm Object Server has been replaced with support for syncing with MongoDB Realm Cloud.

    โฌ‡๏ธ NOTE: This version upgrades the Realm file format to version 20. It is not possible to downgrade to earlier versions than v10.0.0-BETA.7. Non-sync Realms will be upgraded automatically. Synced Realms can only be automatically upgraded if created with Realm Java v10.0.0-BETA.1 and above.

    ๐Ÿ’ฅ Breaking Changes

    • ๐Ÿ‘€ [RealmApp] Most APIs for interacting with Realm Cloud have changed significantly. All new APIs can be found in the io.realm.mongodb package. The entry point is through the App class from which you can create and login users and otherwise interact with MongoDB Realm. See the docs for further details. Synced Realms still use a SyncConfiguration that are largely created the same way.
    • ๐Ÿ— [RealmApp] Client Resets are now handled through a custom SyncConfiguration.Builder.clientResetHandler() instead of through the default session error handler SyncConfiguration.Builder.errorHandler()
    • [RealmApp] Realm files have changed location on disk. They are now located in getFiles()/mongodb-realm.
    • [RealmApp] All synced model classes not marked as embedded are required to have a primary key named _id. It is possible to use @RealmField(name = "_id") to map from any Java or Kotlin property.
    • ๐Ÿ— From now on it is by default not allowed to run transactions with either Realm.executeTransaction() or DynamicRealm.executeTransaction() from the UI thread. Doing so will yield a RealmException. Users can override this behavior by using RealmConfiguration.Builder.allowWritesOnUiThread(true) when building a RealmConfiguration to obtain a Realm or DynamicRealm instance, however, we do not recommend doing so. Instead, we recommend using executeTransactionAsync() or, alternatively, using non-UI threads when calling executeTransaction() for both Realms and DynamicRealms.

    โœจ Enhancements

    • ๐Ÿ— Users can now opt out from allowing queries to be launched from the UI thread by using RealmConfiguration.Builder.allowQueriesOnUiThread(false). A RealmException will be thrown when calling RealmQuery.findAll(), RealmQuery.findFirst(), RealmQuery.minimumDate(), RealmQuery.maximumDate(), RealmQuery.count(), RealmQuery.sum(), RealmQuery.max(), RealmQuery.min(), RealmQuery.average() and RealmQuery.averageDecimal128() from the UI thread after having used allowQueriesOnUiThread(false). Queries will be allowed from the thread from which the Realm instance was obtained as it always has been by default, although we recommend using RealmQuery.findAllAsync() or RealmQuery.findFirstAsync(), or, alternatively, using a non-UI thread to launch them.
    • 0๏ธโƒฃ BaseRealm.refresh() will throw a RealmException if it is being called from the UI thread if allowQueriesOnUiThread is set to false, though it will be allowed by default.
    • โž• Added DynamicRealm.executeTransactionAsync().
    • โž• Added Kotlin extension suspend function Realm.executeTransactionAwait() which runs transactions inside coroutines.
    • โž• Added Kotlin extension function RealmResults.toFlow() which returns a Kotlin flow, similar to our RxJava convenience method asFlowable().
    • โž• Added Kotlin extension function RealmList.toFlow() which returns a Kotlin flow, similar to our RxJava convenience method asFlowable().
    • โž• Added Kotlin extension function RealmModel.toFlow() which returns a Kotlin flow, similar to our RxJava convenience method asFlowable().
    • RealmLists can now be marked final. (Issue #6892)
    • โž• Added support for distinct queries on non-index and linked fields. (Issue #1906)
    • โž• Added support for org.bson.types.Decimal128 and org.bson.types.ObjectId as supported fields in model classes.
    • โž• Added support for org.bson.types.ObjectId as a primary key.
    • โž• Added support for "Embedded Objects". They are enabled using @RealmClass(embedded = true). An embedded object must have exactly one parent object linking to it and it will be deleted when the parent is. Embedded objects can also be the parent of other embedded classes. Read more here. (Issue #6713)

    ๐Ÿ›  Fixes

    • None.

    Compatibility

    • โฌ†๏ธ File format: Generates Realms with format v20. 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.x.y series.
    • Realm Studio 10.0.0 or above is required to open Realms created by this version.

    Internal

    • โšก๏ธ Updated to Realm Sync: 10.0.0.
    • โšก๏ธ Updated to Realm Core: 10.0.0.
  • v10.0.0-RC.2 Changes

    October 12, 2020

    โœจ Enhancements

    • ๐Ÿ‘ป [RealmApp] Illegal schemas where embedded object classes referenced each other is now correctly detected and throws and exception when opening a Realm with such a schema.

    ๐Ÿ›  Fixed

    • [RealmApp] It is now possible to use types different than ObjectId for the _id field in documents inserted with MongoCollection.insertOne and MongoCollection.insertMany.
    • [RealmApp] Lossy round trip of Double and Timestamps through functions when using Bson. (ObjectStore issue (#1106)[https://github.com/realm/realm-object-store/issues/1106])

    Compatibility

    • โฌ†๏ธ File format: Generates Realms with format v20. 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 10.0.0-BETA.1.
    • ๐Ÿš€ APIs are backwards compatible with all previous release of realm-java in the 10.x.y series.
    • Realm Studio 10.0.0 and above is required to open Realms created by this version.

    Internal

    • โšก๏ธ Updated to Object Store commit: 6b44209e6fcac0137e193c96444f93c50d184d06.
  • v10.0.0-RC.1 Changes

    October 02, 2020

    ๐Ÿ— We no longer support Realm Cloud (legacy), but instead the new MongoDB Realm Cloud. MongoDB Realm is a serverless platform that enables developers to quickly build applications without having to set up server infrastructure. MongoDB Realm is built on top of MongoDB Atlas, automatically integrating the connection to your database.

    ๐Ÿ”จ The old Realm Cloud legacy APIs have undergone significant refactoring. The new APIs are all located in the io.realm.mongodb package with io.realm.mongodb.App as the entry point.

    ๐Ÿ’ฅ Breaking Changes

    • ๐Ÿ— From now on it is not allowed by default to run transactions with either Realm.executeTransaction() or DynamicRealm.executeTransaction() from the UI thread. Doing so will yield a RealmException. Users can override this behavior by using RealmConfiguration.Builder.allowWritesOnUiThread(true) when building a RealmConfiguration to obtain a Realm or DynamicRealm instance, though we do not recommend doing so. Instead, we recommend using executeTransactionAsync() or, alternatively, using non-UI threads when calling executeTransaction() for both Realms and DynamicRealms.

    โœจ Enhancements

    • ๐Ÿ— Users can now opt out from allowing queries to be launched from the UI thread by using RealmConfiguration.Builder.allowQueriesOnUiThread(false). A RealmException will be thrown when calling RealmQuery.findAll(), RealmQuery.findFirst(), RealmQuery.minimumDate(), RealmQuery.maximumDate(), RealmQuery.count(), RealmQuery.sum(), RealmQuery.max(), RealmQuery.min(), RealmQuery.average() and RealmQuery.averageDecimal128() from the UI thread after having used allowQueriesOnUiThread(false). Queries will be allowed from the thread from which the Realm instance was obtained as it always has been by default, although we recommend using RealmQuery.findAllAsync() or RealmQuery.findFirstAsync(), or, alternatively, using a non-UI thread to launch them.
    • 0๏ธโƒฃ BaseRealm.refresh() will throw a RealmException if it is being called from the UI thread if allowQueriesOnUiThread is set to false, though it will be allowed by default.
    • โž• Added DynamicRealm.executeTransactionAsync().
    • โž• Added Kotlin extension suspend function Realm.executeTransactionAwait() which runs transactions inside coroutines.
    • โž• Added Kotlin extension function RealmResults.toFlow() which returns a Kotlin flow, similar to our RxJava convenience method asFlowable().
    • โž• Added Kotlin extension function RealmList.toFlow() which returns a Kotlin flow, similar to our RxJava convenience method asFlowable().
    • โž• Added Kotlin extension function RealmModel.toFlow() which returns a Kotlin flow, similar to our RxJava convenience method asFlowable().

    ๐Ÿ›  Fixed

    • โšก๏ธ Using Realm.copyToRealmOrUpdate() and Realm.insertOrUpdate() did not correctly update objects if they contained lists of embedded objets. Instead of replacing the original list, list items was appended to the original list. Note, some corner cases are still not supported. See #7138 for more information. (Issue #7131, since 10.0.0-BETA.1).

    Compatibility

    • โฌ†๏ธ File format: Generates Realms with format v20. 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 10.0.0-BETA.1.
    • ๐Ÿš€ APIs are backwards compatible with all previous release of realm-java in the 10.x.y series.
    • Realm Studio 10.0.0 and above is required to open Realms created by this version.

    Internal

    • โšก๏ธ Updated to Object Store commit: ef6736cc07a8b94d1242c522969114bb8047deef
    • โšก๏ธ Updated to Realm Sync 10.0.0-beta.14.
    • โšก๏ธ Updated to Realm Core 10.0.0-beta.9.
  • v10.0.0-BETA.8 Changes

    September 23, 2020

    ๐Ÿ— We no longer support Realm Cloud (legacy), but instead the new MongoDB Realm Cloud. MongoDB Realm is a serverless platform that enables developers to quickly build applications without having to set up server infrastructure. MongoDB Realm is built on top of MongoDB Atlas, automatically integrating the connection to your database.

    ๐Ÿ”จ The old Realm Cloud legacy APIs have undergone significant refactoring. The new APIs are all located in the io.realm.mongodb package with io.realm.mongodb.App as the entry point.

    ๐Ÿ›  Fixed

    • ๐ŸŒฒ [RealmApp] Logging in caused an token contains an invalid number of segments error. (Issue #7117, since 10.0.0-BETA.7)
    • [RealmApp] The order of arguments to EmailPassword.resetPassword() was not handled correctly, resulting in resetting the password failing. (Issue #7116, since 10.0.0-BETA.1)

    Compatibility

    • โฌ†๏ธ File format: Generates Realms with format v20. 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 10.0.0-BETA.1.
    • ๐Ÿš€ APIs are backwards compatible with all previous release of realm-java in the 10.x.y series.
    • Realm Studio 10.0.0 and above is required to open Realms created by this version.

    Internal

    • โšก๏ธ Updated to Object Store commit: 035eb07f3ef313bfb78c046be9cf6b4f065d6772.
  • v10.0.0-BETA.7 Changes

    September 16, 2020

    ๐Ÿ— We no longer support Realm Cloud (legacy), but instead the new MongoDB Realm Cloud. MongoDB Realm is a serverless platform that enables developers to quickly build applications without having to set up server infrastructure. MongoDB Realm is built on top of MongoDB Atlas, automatically integrating the connection to your database.

    ๐Ÿ”จ The old Realm Cloud legacy APIs have undergone significant refactoring. The new APIs are all located in the io.realm.mongodb package with io.realm.mongodb.App as the entry point.

    ๐Ÿš€ WARNING: This release upgrades the fileformat to 20. Non-sync Realms will be upgraded automatically. Synced Realms can only be automatically upgraded if created with Realm Java 10.0.0-BETA.1 and above.

    ๐Ÿ’ฅ Breaking Changes

    • ๐Ÿšš [RealmApp] Moved User.remove() to App.removeUser().
    • [RealmApp] Renamed ApiKeyAuth.createApiKey() to ApiKeyAuth.create() and ApiKeyAuth.createApiKeyAsync() to ApiKeyAuth.createAsync().
    • [RealmApp] Renamed ApiKeyAuth.fetchApiKey() to ApiKeyAuth.fetch() and ApiKeyAuth.fetchApiKeyAsync() to ApiKeyAuth.fetchAsync().
    • [RealmApp] Renamed ApiKeyAuth.fetchAllApiKeys() to ApiKeyAuth.fetchAll() and ApiKeyAuth.fetchAllApiKeysAsync() to ApiKeyAuth.fetchAllAsync().
    • [RealmApp] Renamed ApiKeyAuth.deleteApiKey() to ApiKeyAuth.delete() and ApiKeyAuth.deleteApiKeyAsync() to ApiKeyAuth.deleteAsync().
    • [RealmApp] Renamed ApiKeyAuth.enableApiKey() to ApiKeyAuth.enable() and ApiKeyAuth.enableApiKeyAsync() to ApiKeyAuth.enableAsync().
    • [RealmApp] Renamed ApiKeyAuth.disableApiKey() to ApiKeyAuth.disable() and ApiKeyAuth.disableApiKeyAsync() to ApiKeyAuth.disableAsync().
    • [RealmApp] Renamed User.getApiKeysAuth() to User.getApiKeys().
    • [RealmApp] Renamed UserApiKey class to ApiKey.
    • ๐Ÿšš [RealmApp] Removed support for Credentials.serverApiKey().
    • [RealmApp] Renamed App.getEmailPasswordAuth() to App.getEmailPassword().
    • [RealmApp] User profile methods getName(), getEmail(), getPictureUrl(), getFirstName(), getLastName(), getGender(), getBirthday(), getMinAge() and getMaxAge() are now available under a new class UserProfile. It can be accessed using User.getProfile().
    • ๐Ÿ”€ [RealmApp] Renamed Sync.refreshConnections() to Sync.reconnect().
    • [RealmApp] Renamed Credentials.IdentityProvider to Credentials.Provider.
    • ๐Ÿšš [RealmApp] Removed support for User.getLocalId().
    • ๐Ÿ— [RealmApp] Client Resets are now handled through a custom SyncConfiguration.Builder.clientResetHandler() instead of through the default session error handler SyncConfiguration.Builder.errorHandler()

    โœจ Enhancements

    • [RealmApp] It is now possible to create App instances with different app id's.
    • ๐Ÿ‘ [RealmApp] Support for using null as a partition value.
    • ๐Ÿ”€ [RealmApp] Improve errors exception messages from SyncSession.downloadAllServerChanges() and SyncSession.uploadAllLocalChanges().
    • ๐Ÿ‘ [RealmApp] Support for watching MongoCollection change streams (Issue #6912)
    • ๐Ÿ‘ [RealmApp] Support for retrying a custom confirmation function on an User for a given email (Issue #7079)
    • ๐Ÿ”€ [RealmApp] Support for getting all app sessions via Sync.getAllSessions().
    • ๐Ÿ‘ [RealmApp] Support to retrieve the MongoClient service name using MongoClient.getServiceName()
    • ๐Ÿ‘ [RealmApp] Support to retrieve the MongoDatabase name using MongoDatabase.getName()
    • ๐Ÿ‘ [RealmApp] Support to retrieve the MongoCollection name using MongoCollection.getName()

    ๐Ÿ›  Fixed

    • If you have a realm file growing towards 2Gb and have a table with more than 16 columns, then you may get a "Key not found" exception when updating an object. If asserts are enabled at the sdk level, you may get an "assert(m_has_refs)" instead. (#3194, since v7.0.0)
    • In cases where you have more than 32 columns in a table, you may get a currrupted file resulting in various crashes (#7057, since v7.0.0)

    Compatibility

    • โฌ†๏ธ File format: Generates Realms with format v20. 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 10.0.0-BETA.1.
    • ๐Ÿš€ APIs are backwards compatible with all previous release of realm-java in the 10.x.y series.
    • Realm Studio 10.0.0 and above is required to open Realms created by this version.

    Internal

    • โšก๏ธ Updated to Object Store commit: 6ab48d3b4b1e0865f68b84d5993bb2aad910320b.
    • โšก๏ธ Updated to Realm Sync 10.0.0-beta.11.
    • โšก๏ธ Updated to Realm Core 10.0.0-beta.7.
  • v10.0.0-BETA.6 Changes

    August 17, 2020

    ๐Ÿ— We no longer support Realm Cloud (legacy), but instead the new MongoDB Realm Cloud. MongoDB Realm is a serverless platform that enables developers to quickly build applications without having to set up server infrastructure. MongoDB Realm is built on top of MongoDB Atlas, automatically integrating the connection to your database.

    ๐Ÿ”จ The old Realm Cloud legacy APIs have undergone significant refactoring. The new APIs are all located in the io.realm.mongodb package with io.realm.mongodb.App as the entry point.

    ๐Ÿ’ฅ Breaking Changes

    • โฌ†๏ธ [RealmApp] Realm files have changed location on disk, so Realms should upload all their data to the server before upgrading.
    • โšก๏ธ [RealmApp] Removed GMS Task framework and added RealmResultTask to provide with a mechanism to operate with asynchronous operations. MongoCollection has been updated to reflect this change.

    โœจ Enhancements

    • 0๏ธโƒฃ [RealmApp] Credentials information (e.g. username, password) displayed in Logcat is now obfuscated by default, even if [LogLevel] is set to DEBUG, TRACE or ALL.
    • RealmLists can now be marked final. (Issue #6892)
    • It is now possible to create embedded objects using [DynamicRealm]s. (Issue #6982)
    • โž• Added extra validation and more meaningful error messages when creating embedded objects pointing to the wrong parent property. (See issue above)

    ๐Ÿ›  Fixed

    • [RealmApp] The same user opening different Realms with different partion key values would crash with an IllegalArgumentException. (Issue #6882, since 10.0.0-BETA.1)
    • ๐Ÿ”€ [RealmApp] Sync would not refresh the access token if started with an expired one. (Since 10.0.0-BETA.1)
    • [RealmApp] Leaking objects when registering session listeners. (Issue #6916)
    • โž• Added support for Json-import of objects containing embedded objects. (Issue #6896)
    • โฌ†๏ธ Upgrading the file format result did in some cases not work correctly. This could result in a number of crashes, e.g. FORMAT_UPGRADE_REQUIRED. (Issue #6889, since 7.0.0)
    • ๐Ÿ› Bug in memory mapping management. This bug could result in multiple different asserts as well as segfaults. In many cases stack backtraces would include members of the EncyptedFileMapping near the top - even if encryption was not used at all. In other cases asserts or crashes would be in methods reading an array header or array element. In all cases the application would terminate immediately. (Realm Core PR #3838, since 7.0.0)
    • It was possible to use RealmObjectSchema to mark a Class as embedded even if some of the objects broke the constraints for being embedded.

    Compatibility

    • โฌ†๏ธ File format: Generates Realms with format v11 (Reads and upgrades all previous formats from Realm Java 2.0 and later).
    • ๐Ÿš€ APIs are backwards compatible with all previous release of realm-java in the 10.x.y series.
    • Realm Studio 10.0.0 and above is required to open Realms created by this version.

    Internal

    • โฌ†๏ธ Upgraded to Object Store commit: 5b5fb8a90192cb4ee6799e7465745cd2067f939b.
    • โฌ†๏ธ Upgraded to Realm Sync 10.0.0-beta.6.
    • โฌ†๏ธ Upgraded to Realm Core 10.0.0-beta.4.