All Versions
159
Latest Version
Avg Release Cycle
19 days
Latest Release
25 days ago

Changelog History
Page 8

  • v4.3.3 Changes

    January 19, 2018

    Internal

    • ⬇️ Downgrade JavaAssist to 3.21.0-GA to fix an issue with a ClassNotFoundException at runtime (#5641).
  • v4.3.2 Changes

    January 17, 2018

    πŸ› Bug Fixes

    • πŸ‘» Throws a better exception message when calling RealmObjectSchema.addField() with a RealmModel class (#3388).
    • πŸ‘‰ Use https for Realm version checker (#4043).
    • πŸ— Prevent Realms Gradle plugin from transitively forcing specific versions of Google Build Tools onto downstream projects (#5640).
    • πŸ”€ [ObjectServer] logging a warning message instead of throwing an exception, when sync report an unknown error code (#5403).

    ✨ Enhancements

    • πŸ‘ [ObjectServer] added support for both Anonymous and Nickname authentication.

    Internal

    • ⬆️ Upgraded to Realm Sync 2.2.9
    • ⬆️ Upgraded to Realm Core 5.1.2
  • v4.3.1 Changes

    December 06, 2017

    πŸ› Bug Fixes

    • πŸ›  Fixed kotlin standard library being added to both Java and Kotlin projects (#5587).
  • v4.3.0 Changes

    December 05, 2017

    πŸ—„ Deprecated

    • πŸ‘Œ Support for mips devices are deprecated.
    • RealmQuery.findAllSorted() and RealmQuery.findAllSortedAsync() variants in favor of predicate RealmQuery.sort().findAll().
    • RealmQuery.distinct() and RealmQuery.distinctAsync() variants in favor of predicate RealmQuery.distinctValues().findAll()

    ✨ Enhancements

    • πŸ”€ [ObjectServer] Added explicit support for JSON Web Tokens (JWT) using SyncCredentials.jwt(String token). It requires Object Server 2.0.23+ (#5580).
    • πŸ‘€ Projects using Kotlin now include additional extension functions that make working with Kotlin easier. See docs for more info (#4684).
    • πŸ†• New query predicate: sort().
    • πŸ†• New query predicate: distinctValues(). Will be renamed to distinct in next major version.
    • πŸ‘ The Realm annotation processor now has a stable output when there are no changes to model classes, improving support for incremental compilers (#5567).

    πŸ› Bug Fixes

    • βž• Added missing toString() for the implementation of OrderedCollectionChangeSet.
    • 🐎 Sync queries are evaluated immediately to solve the performance issue when the query results are huge, RealmResults.size() takes too long time (#5387).
    • πŸ‘» Correctly close the Realm instance if an exception was thrown while opening it. This avoids IllegalStateException when deleting the Realm in the catch block (#5570).
    • πŸ›  Fixed the listener on RealmList not being called when removing the listener then adding it again (#5507). Please notice that a similar issue still exists for RealmResults.

    Internal

    • πŸ‘‰ Use OsList instead of OsResults to add notification token on for RealmList<RealmModel>.
    • ⚑️ Updated Gradle and plugins to support Android Studio 3.0.0 (#5472).
    • ⬆️ Upgraded to Realm Sync 2.1.8.
    • ⬆️ Upgraded to Realm Core 4.0.4.

    Credits

    • Thanks to @tbsandee for fixing a typo (#5548).
    • ⚑️ Thanks to @vivekkiran for updating Gradle and plugins to support Android Studio 3.0.0 (#5472).
    • πŸ‘ Thanks to @madisp for adding better support for incremental compilers (#5567).
  • v4.2.0 Changes

    November 17, 2017

    ✨ Enhancements

    • βž• Added support for using non-encrypted Realms in multiple processes. Some caveats apply. Read doc for more info (#1091).
    • βž• Added support for importing primitive lists from JSON (#5362).
    • πŸ”€ [ObjectServer] Support SSL validation using Android TrustManager (no need to specify trustedRootCA in SynConfiguration if the certificate is installed on the device), fixes (#4759).
    • βž• Added the and() function to RealmQuery in order to improve readability.

    πŸ› Bug Fixes

    • Leaked file handler in the Realm Transformer (#5521).
    • πŸ”’ Potential fix for "RealmError: Incompatible lock file" crash (#2459).

    Internal

    • ⚑️ Updated JavaAssist to 3.22.0-GA.
    • ⬆️ Upgraded to Realm Sync 2.1.4.
    • ⬆️ Upgraded to Realm Core 4.0.3.

    Credits

    • Thanks to @rakshithravi1997 for adding RealmQuery.and() (#5520).
  • v4.1.1 Changes

    October 27, 2017

    πŸ› Bug Fixes

    • πŸ›  Fixed the compile warnings of using deprecated method RealmProxyMediator.getTableName() in generated mediator classes (#5455).
    • [ObjectServer] now retrying network query when encountering any IOException (#5453).
    • πŸ›  Fixed a NoClassDefFoundError due to using @SafeVarargs below API 19 (#5463).

    Internal

    • ⚑️ Updated Realm Sync to 2.1.0.
  • v4.1.0 Changes

    October 20, 2017

    ✨ Enhancements

    • Realm.deleteRealm() and RealmConfiguration.assetFile() are multi-processes safe now.

    πŸ› Bug Fixes

    • πŸ›  Fix some potential database corruption caused by deleting the Realm file while a Realm instance are still opened in another process or the sync client thread.
    • βž• Added realm.ignoreKotlinNullability as a kapt argument to disable treating kotlin non-null types as @Required (#5412) (introduced in v3.6.0).
    • ⏱ Increased http connect/write timeout for low bandwidth network.
  • v4.0.0 Changes

    October 16, 2017

    πŸ’₯ Breaking Changes

    ⬆️ The internal file format has been upgraded. Opening an older Realm will upgrade the file automatically, but older versions of Realm will no longer be able to read the file.

    • ⚑️ [ObjectServer] Updated protocol version to 22 which is only compatible with Realm Object Server >= 2.0.0.
    • πŸ”€ [ObjectServer] Removed deprecated APIs SyncUser.retrieveUser() and SyncUser.retrieveUserAsync(). Use SyncUser.retrieveInfoForUser() and retrieveInfoForUserAsync() instead.
    • πŸ”€ [ObjectServer] SyncUser.Callback now accepts a generic parameter indicating type of object returned when onSuccess is called.
    • πŸ”€ [ObjectServer] Renamed SyncUser.getAccessToken to SyncUser.getRefreshToken.
    • πŸ”€ [ObjectServer] Removed deprecated API SyncUser.getManagementRealm().
    • Calling distinct() on a sorted RealmResults no longer clears any sorting defined (#3503).
    • 😌 Relaxed upper bound of type parameter of RealmList, RealmQuery, RealmResults, RealmCollection, OrderedRealmCollection and OrderedRealmCollectionSnapshot.
    • ⬆️ Realm has upgraded its RxJava1 support to RxJava2 (#3497)
      • Realm.asObservable() has been renamed to Realm.asFlowable().
      • RealmList.asObservable() has been renamed to RealmList.asFlowable().
      • RealmResults.asObservable() has been renamed to RealmResults.asFlowable().
      • RealmObject.asObservable() has been renamed to RealmObject.asFlowable().
      • RxObservableFactory now return RxJava2 types instead of RxJava1 types.
    • βœ‚ Removed deprecated APIs RealmSchema.close() and RealmObjectSchema.close(). Those don't have to be called anymore.
    • βœ‚ Removed deprecated API RealmResults.removeChangeListeners(). Use RealmResults.removeAllChangeListeners() instead.
    • βœ‚ Removed deprecated API RealmObject.removeChangeListeners(). Use RealmObject.removeAllChangeListeners() instead.
    • πŸ‘ Removed UNSUPPORTED_TABLE, UNSUPPORTED_MIXED and UNSUPPORTED_DATE from RealmFieldType.
    • βœ‚ Removed deprecated API RealmResults.distinct()/RealmResults.distinctAsync(). Use RealmQuery.distinct()/RealmQuery.distinctAsync() instead.
    • 🚚 RealmQuery.createQuery(Realm, Class), RealmQuery.createDynamicQuery(DynamicRealm, String), RealmQuery.createQueryFromResult(RealmResults) and RealmQuery.createQueryFromList(RealmList) have been removed. Use Realm.where(Class), DynamicRealm.where(String), RealmResults.where() and RealmList.where() instead.

    ✨ Enhancements

    • πŸ“‡ [ObjectServer] SyncUserInfo now also exposes a users metadata using SyncUserInfo.getMetadata()
    • πŸ‘ RealmList can now contain String, byte[], Boolean, Long, Integer, Short, Byte, Double, Float and Date values. Queries and Importing primitive lists from JSON are not supported yet.
    • βž• Added support for lists of primitives in RealmObjectSchema with addRealmListField(String fieldName, Class<?> primitiveType)
    • βž• Added support for lists of primitives in DynamicRealmObject with setList(String fieldName, RealmList<?> list) and getList(String fieldName, Class<?> primitiveType).
    • 🐎 Minor performance improvement when copy/insert objects into Realm.
    • βž• Added static RealmObject.getRealm(RealmModel), RealmObject.getRealm() and DynamicRealmObject.getDynamicRealm() (#4720).
    • βž• Added RealmResults.asChangesetObservable() that emits the pair (results, changeset) (#4277).
    • βž• Added RealmList.asChangesetObservable() that emits the pair (list, changeset) (#4277).
    • βž• Added RealmObject.asChangesetObservable() that emits the pair (object, changeset) (#4277).
    • All Realm annotations are now kept at runtime, allowing runtime tools access to them (#5344).
    • Speedup schema initialization when a Realm file is first accessed (#5391).

    πŸ› Bug Fixes

    • [ObjectServer] Exposing a RealmConfiguration that allows a user to open the backup Realm after the client reset (#4759/#5223).
    • πŸ”€ [ObjectServer] Realm no longer throws a native β€œunsupported instruction” exception in some cases when opening a synced Realm asynchronously (https://github.com/realm/realm-object-store/issues/502).
    • πŸ›  [ObjectServer] Fixed "Cannot open the read only Realm" issue when getPermissionManager (#5414).
    • Throw IllegalArgumentException instead of IllegalStateException when calling string/binary data setters if the data length exceeds the limit.
    • βž• Added support for ISO8601 2-digit time zone designators (#5309).
    • "Bad File Header" caused by the device running out of space while compacting the Realm (#5011).
    • RealmQuery.equalTo() failed to find null values on an indexed field if using Case.INSENSITIVE (#5299).
    • Assigning a managed object's own list to itself would accidentally clear it (#5395).
    • Don't try to acquire ApplicationContext if not available in Realm.init(Context) (#5389).
    • Removing and re-adding a changelistener from inside a changelistener sometimes caused notifications to be missed (#5411).

    Internal

    • ⬆️ Upgraded to Realm Sync 2.0.2.
    • ⬆️ Upgraded to Realm Core 4.0.2.
    • ⬆️ Upgraded to OkHttp 3.9.0.
    • ⬆️ Upgraded to RxJava 2.1.4.
    • πŸ‘‰ Use Object Store to create the primary key table.

    Credits

    • πŸ‘ Thanks to @JussiPekonen for adding support for 2-digit time zone designators when importing JSON (#5309).
  • v3.7.2 Changes

    September 12, 2017

    πŸ› Bug Fixes

    • πŸ›  Fixed a JNI memory issue when doing queries which might potentially cause various native crashes.
    • πŸ›  Fixed a bug that RealmList.deleteFromRealm(int), RealmList.deleteFirstFromRealm() and RealmList.deleteLastFromRealm() did not remove target objects from Realm. This bug was introduced in 3.7.1 (#5233).
    • Crash with "'xxx' doesn't exist in current schema." when ProGuard is enabled (#5211).
  • v3.7.1 Changes

    September 07, 2017

    πŸ› Bug Fixes

    • πŸ›  Fixed potential memory leaks of LinkView when calling bulk insertions APIs.
    • πŸ›  Fixed possible assertion when using PermissionManager at the beginning (#5195).
    • Crash caused by JNI couldn't find SharedRealm's inner classes when ProGuard is enabled (#5211).

    Internal

    • Replaced LinkView with Object Store's List.
    • Renaming io.realm.internal.CollectionChangeSet to io.realm.internal.OsCollectionChangeSet.