All Versions
162
Latest Version
Avg Release Cycle
22 days
Latest Release
57 days ago

Changelog History
Page 7

  • v5.5.0 Changes

    August 31, 2018

    ✨ Enhancements

    • [ObjectServer] Added ConnectionState enum describing the states a connection can be in.
    • 🔀 [ObjectServer] Added SyncSession.isConnected() and SyncSession.getConnectionState().
    • 🔀 [ObjectServer] Added support for observing connection changes for a session using SyncSession.addConnectionChangeListener() and SyncSession.removeConnectionChangeListener().
    • 🔀 [ObjectServer] Added Kotlin extension property Realm.syncSession for synchronized Realms.
    • [ObjectServer] Added Kotlin extension method Realm.classPermissions<RealmModel>().
    • 🔀 [ObjectServer] Added support for starting and stopping synchronization using SyncSession.start() and SyncSession.stop() (#6135).
    • [ObjectServer] Added API's for making it easier to work with network proxies (#6163):
      • SyncManager.setAuthorizationHeaderName(String headerName)
      • SyncManager.setAuthorizationHeaderName(String headerName, String host)
      • SyncManager.addCustomRequestHeader(String headerName, String headerValue)
      • SyncManager.addCustomRequestHeader(String headerName, String headerValue, String host)
      • SyncManager.addCustomRequestHeaders(Map<String, String> headers)
      • SyncManager.addCustomRequestHeaders(Map<String, String> headers, String host)
      • SyncConfiguration.Builder.urlPrefix(String prefix)

    🛠 Fixed

    • 📦 Methods and classes requiring synchronized Realms have been removed from the standard AAR package. They are now only visible when enabling synchronized Realms in Gradle. The methods and classes will still be visible in the source files and docs, but annotated with @ObjectServer (#5799).

    Internal

    • ⚡️ Updated to Realm Sync 3.9.4
    • ⚡️ Updated to Realm Core 5.8.0
    • ⚡️ Updated to Object Store commit: b0fc2814d9e6061ce5ba1da887aab6cfba4755ca

    Credits

    • 🐎 Thanks to @lucasdornelasv for improving the performance of Realm.copyToRealm(), Realm.copyToRealmOrUpdate() and Realm.copyFromRealm() #(6124).
  • v5.4.3 Changes

    🐛 Bug Fixes

    • 🔧 [ObjectServer] ProGuard was not configured correctly when working with Subscriptions for Query-based Realms.
  • v5.4.2 Changes

    August 09, 2018

    🐛 Bug Fixes

    • 🔀 [ObjectServer] Fixed bugs in the Sync Client that could lead to memory corruption and crashes.

    Internal

    • ⬆️ Upgraded to Realm Sync 3.8.8
  • v5.4.1 Changes

    August 03, 2018

    🐛 Bug Fixes

    • Compile time crash if no targetSdk was defined in Gradle. This was introduced in 5.4.0 (#6082).
    • 🛠 Fix Realm Gradle Plugin adding dependencies in a way incompatible with Kotlin Android Extensions. This was introduced in Realm Java 5.4.0 (#6080).
  • v5.4.0 Changes

    July 22, 2018

    ✨ Enhancements

    • 🛠 Removing a ChangeListener on invalid objects or RealmResults should warn instead of throwing (fixes #5855).

    🐛 Bug Fixes

    • 🔒 [ObjectServer] Using Android Network Security Configuration is necessary to install the custom root CA for tests (API >= 24) (#5970).
    • 🛠 Fixes issue with the incremental build causing direct access to model without accessor to fail (#6056).
    • RealmQuery.distinct() is now correctly applied when calling RealmQuery.count() (#5958).

    Internal

    • ⬆️ Upgraded to Realm Core 5.7.2
    • ⬆️ Upgraded to Realm Sync 3.8.1
    • 🐎 [ObjectServer] Improved performance when integrating changes from the server.
    • ➕ Added extra information about the state of the Realm file if an exception is thrown due to Realm not being able to open it.
    • ✂ Removed internal dependency on Groovy in the Realm Transformer (#3971).

    Credits

    • Thanks to @kageiit for removing Groovy from the Realm Transformer (#3971).
  • v5.3.1 Changes

    June 19, 2018

    🐛 Bug Fixes

    • 🛠 [ObjectServer] Fixed a bug which could potentially flood Realm Object Server with PING messages.
    • 👻 Calling Realm.deleteAll() on a Realm file that contains more classes than in the schema throws exception (#5745).
    • Realm.isEmpty() returning false in some cases, even if all tables part of the schema are empty (#5745).
    • Fixed rare native crash materializing as Assertion failed: ref + size <= after_ref with (ref, size, after_ref, ndx, m_free_positions.size()) (#5300).

    Internal

    • ⬆️ Upgraded to Realm Core 5.6.2
    • ⬆️ Upgraded to Realm Sync 3.5.6
    • ⬆️ Upgraded to Object Store commit 0bcb9643b8fb14323df697999b79c4a5341a8a21
  • v5.3.0 Changes

    June 12, 2018

    ✨ Enhancements

    • 🔀 [ObjectServer] Realm.compactRealm(config) now works on synchronized Realms (#5937).
    • 🔀 [ObjectServer] SyncConfiguration.compactOnLaunch() and SyncConfiguration.compactOnLaunch(callback) has been added (#5937).
    • ➕ Added RealmQuery.getRealm(), RealmResults.getRealm(), RealmList.getRealm() and OrderedRealmCollectionSnapshot.getRealm() (#5997).
    • 🛠 Removing a ChangeListener on invalid objects or RealmResults should warn instead of throwing (fixes #5855).

    Internal

    • ⬆️ Upgraded to Realm Core 5.6.0
    • ⬆️ Upgraded to Realm Sync 3.5.2
  • v5.2.0 Changes

    June 06, 2018

    🔀 The feature previously named Partial Sync is now called Query-Based Sync and is now the default mode when synchronizing Realms. 👀 This has impacted a number of API's. See below for the details.

    🗄 Deprecated

    • 🔀 [ObjectServer] SyncConfiguration.automatic() has been deprecated in favour of SyncUser.getDefaultConfiguration().
    • 🏗 [ObjectServer] new SyncConfiguration.Builder(user, url) has been deprecated in favour of SyncUser.createConfiguration(url). NOTE: Creating configurations using SyncUser will default to using query-based Realms, while creating them using new SyncConfiguration.Builder(user, url) will default to fully synchronized Realms.
    • 🏗 [ObjectServer] With query-based sync being the default SyncConfiguration.Builder.partialRealm() has been deprecated. Use `SyncConfiguration.Builder.fullSynchronization() if you want full synchronisation instead.

    ✨ Enhancements

    • 🔀 [ObjectServer] Added SyncUser.createConfiguration(url). Realms created this way are query-based Realms by default.
    • 🔀 [ObjectServer] Added SyncUser.getDefaultConfiguration().
    • 🏗 The Realm bytecode transformer now supports incremental builds (#3034).
    • 👌 Improved speed and allocations when parsing field descriptions in queries (#5547).

    🐛 Bug Fixes

    • Having files that ends with RealmProxy will no longer break the Realm Transformer (#3709).

    Internal

    • 🏗 Module mediator classes being generated now produces a stable output enabling better support for incremental builds (#3034).
  • v5.1.0 Changes

    April 25, 2018

    ✨ Enhancements

    • 🔀 [ObjectServer] Added support for SyncUser.requestPasswordReset(), SyncUser.completePasswordReset() and their async variants. This makes it possible to reset the password for users created using Credentials.usernamePassword() where they used their email as username (#5821).
    • 🔀 [ObjectServer] Added support for SyncUser.requestEmailConfirmation(), SyncUser.confirmEmail() and their async variants. This makes it possible to ask users to confirm their email. This is only supported for users created using Credentials.usernamePassword() who have used an email as their username (#5821).
    • 👍 RealmQuery.in() now support null which will always return no matches (#4011).
    • ➕ Added support for RealmQuery.alwaysTrue() and RealmQuery.alwaysFalse().

    🐛 Bug Fixes

    • Changing a primary key from being nullable to being required could result in objects being deleted (##5899).
  • v5.0.1 Changes

    April 09, 2018

    ✨ Enhancements

    • 🔀 [ObjectServer] SyncConfiguration.automatic() will make use of the host port to work out the default Realm URL.
    • [ObjectServer] A role is now automatically created for each user with that user as its only member. This simplifies the common use case of restricting access to specific objects to a single user. This role can be accessed at PermissionUser.getRole().
    • [ObjectServer] Expose Role.getMembers() to access the list of associated UserPermission.

    🐛 Bug Fixes

    • 🚚 RealmList.move() did not move items correctly for unmanaged lists (#5860).
    • RealmObject.isValid() not correctly returns false if null is provided as an argument (#5865).
    • RealmQuery.findFirst() and RealmQuery.findFirstAsync() not working correctly with sorting (#5714).
    • Permission noPrivileges and allPrivileges were returning opposite privileges.
    • 🛠 Fixes an issue caused by JNI local table reference overflow (#5880).

    Internal

    • ⬆️ Upgraded to Realm Sync 3.0.1
    • ⬆️ Upgraded to Realm Core 5.4.2