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

Changelog History
Page 14

  • v0.88.0 Changes

    March 10, 2016
    • โšก๏ธ Updated Realm Core to 0.97.0.

    ๐Ÿ’ฅ Breaking changes

    • ๐Ÿ”Œ Realm has now to be installed as a Gradle plugin.
    • DynamicRealm.executeTransaction() now directly throws any RuntimeException instead of wrapping it in a RealmException (#1682).
    • DynamicRealm.executeTransaction() now throws IllegalArgumentException instead of silently accepting a null Transaction object.
    • String setters now throw IllegalArgumentException instead of RealmError for invalid surrogates.
    • ๐Ÿ‘ DynamicRealm.distinct()/distinctAsync() and Realm.distinct()/distinctAsync() now throw IllegalArgumentException instead of UnsupportedOperationException for invalid type or unindexed field.
    • All thread local change listeners are now delayed until the next Looper event instead of being triggered when committing.
    • โœ‚ Removed RealmConfiguration.getSchemaMediator() from public API which was deprecated in 0.86.0. Please use RealmConfiguration.getRealmObjectClasses() to obtain the set of model classes (#1797).
    • Realm.migrateRealm() throws a FileNotFoundException if the Realm file doesn't exist.
    • It is now required to unsubscribe from all Realm RxJava observables in order to fully close the Realm (#2357).

    ๐Ÿ—„ Deprecated

    • 0๏ธโƒฃ Realm.getInstance(Context). Use Realm.getInstance(RealmConfiguration) or Realm.getDefaultInstance() instead.
    • Realm.getTable(Class) which was public because of the old migration API. Use Realm.getSchema() or DynamicRealm.getSchema() instead.
    • Realm.executeTransaction(Transaction, Callback) and replaced it with Realm.executeTransactionAsync(Transaction), Realm.executeTransactionAsync(Transaction, OnSuccess), Realm.executeTransactionAsync(Transaction, OnError) and Realm.executeTransactionAsync(Transaction, OnSuccess, OnError).

    โœจ Enhancements

    • ๐Ÿ‘Œ Support for custom methods, custom logic in accessors, custom accessor names, interface implementation and public fields in Realm objects (#909).
    • ๐Ÿ‘Œ Support to project Lombok (#502).
    • RealmQuery.isNotEmpty() (#2025).
    • Realm.deleteAll() and RealmList.deleteAllFromRealm() (#1560).
    • RealmQuery.distinct() and RealmResults.distinct() (#1568).
    • RealmQuery.distinctAsync() and RealmResults.distinctAsync() (#2118).
    • ๐Ÿ‘Œ Improved .so loading by using ReLinker.
    • ๐Ÿ‘Œ Improved performance of RealmList#contains() (#897).
    • distinct(...) for Realm, DynamicRealm, RealmQuery, and RealmResults can take multiple parameters (#2284).
    • "realm" and "row" can be used as field name in model classes (#2255).
    • RealmResults.size() now returns Integer.MAX_VALUE when actual size is greater than Integer.MAX_VALUE (#2129).
    • โœ‚ Removed allowBackup from AndroidManifest (#2307).

    ๐Ÿ› Bug fixes

    • โœ… Error occurring during test and (#2025).
    • โœ… Error occurring during test and connectedCheck of unit test example (#1934).
    • ๐Ÿ› Bug in jsonExample (#2092).
    • Multiple calls of RealmResults.distinct() causes to return wrong results (#2198).
    • Calling DynamicRealmObject.setList() with RealmList (#2368).
    • RealmChangeListeners did not triggering correctly if findFirstAsync() didn't find any object. findFirstAsync() Observables now also correctly call onNext when the query completes in that case (#2200).
    • Setting a null value to trigger RealmChangeListener (#2366).
    • Preventing throwing BadVersionException (#2391).

    Credits

    • โœ… Thanks to Bill Best (@wmbest2) for snapshot testing.
    • Thanks to Graham Smith (@grahamsmith) for a detailed bug report (#2200).
  • v0.87.5 Changes

    January 29, 2016
    • โšก๏ธ Updated Realm Core to 0.96.2.
      • IllegalStateException won't be thrown anymore in RealmResults.where() if the RealmList which the RealmResults is created on has been deleted. Instead, the RealmResults will be treated as empty forever.
      • Fixed a bug causing a bad version exception, when using findFirstAsync (#2115).
  • v0.87.4 Changes

    January 28, 2016
    • โšก๏ธ Updated Realm Core to 0.96.0.
      • Fixed bug causing BadVersionException or crashing core when running async queries.
  • v0.87.3 Changes

    January 25, 2016
    • IllegalArgumentException is now properly thrown when calling Realm.copyFromRealm() with a DynamicRealmObject (#2058).
    • ๐Ÿ›  Fixed a message in IllegalArgumentException thrown by the accessors of DynamicRealmObject (#2141).
    • ๐Ÿ›  Fixed RealmList not returning DynamicRealmObjects of the correct underlying type (#2143).
    • ๐Ÿ›  Fixed potential crash when rolling back removal of classes that reference each other (#1829).
    • โšก๏ธ Updated Realm Core to 0.95.8.
      • Fixed a bug where undetected deleted object might lead to seg. fault (#1945).
      • Better performance when deleting objects (#2015).
  • v0.87.2 Changes

    January 08, 2016
    • โœ‚ Removed explicit GC call when committing a transaction (#1925).
    • ๐Ÿ›  Fixed a bug when RealmObjectSchema.addField() was called with the PRIMARY_KEY modifier, the field was not set as a required field (#2001).
    • ๐Ÿ›  Fixed a bug which could throw a ConcurrentModificationException in RealmObject's or RealmResults' change listener (#1970).
    • ๐Ÿ›  Fixed RealmList.set() so it now correctly returns the old element instead of the new (#2044).
    • ๐Ÿ›  Fixed the deployment of source and javadoc jars (#1971).
  • v0.87.1 Changes

    December 23, 2015
    • โฌ†๏ธ Upgraded to NDK R10e. Using gcc 4.9 for all architectures.
    • โšก๏ธ Updated Realm Core to 0.95.6
      • Fixed a bug where an async query can be copied incomplete in rare cases (#1717).
    • ๐Ÿ›  Fixed potential memory leak when using async query.
    • โž• Added a check to prevent removing a RealmChangeListener from a non-Looper thread (#1962). (Thank you @hohnamkung.)
  • v0.87.0 Changes

    December 17, 2015
    • โž• Added Realm.asObservable(), RealmResults.asObservable(), RealmObject.asObservable(), DynamicRealm.asObservable() and DynamicRealmObject.asObservable().
    • โž• Added RealmConfiguration.Builder.rxFactory() and RxObservableFactory for custom RxJava observable factory classes.
    • โž• Added Realm.copyFromRealm() for creating detached copies of Realm objects (#931).
    • โž• Added RealmObjectSchema.getFieldType() (#1883).
    • โž• Added unitTestExample to showcase unit and instrumentation tests. Examples include jUnit3, jUnit4, Espresso, Robolectric, and MPowermock usage with Realm (#1440).
    • โž• Added support for ISO8601 based dates for JSON import. If JSON dates are invalid a RealmException will be thrown (#1213).
    • โž• Added APK splits to gridViewExample (#1834).
  • v0.86.1 Changes

    December 11, 2015
    • ๐Ÿ‘Œ Improved the performance of removing objects (RealmResults.clear() and RealmResults.remove()).
    • โšก๏ธ Updated Realm Core to 0.95.5.
    • โšก๏ธ Updated ProGuard configuration (#1904).
    • ๐Ÿ›  Fixed a bug where RealmQuery.findFirst() returned a wrong result if the RealmQuery had been created from a RealmResults.where() (#1905).
    • ๐Ÿ›  Fixed a bug causing DynamicRealmObject.getObject()/setObject() to use the wrong class (#1912).
    • ๐Ÿ›  Fixed a bug which could cause a crash when closing Realm instances in change listeners (#1900).
    • ๐Ÿ›  Fixed a crash occurring during update of multiple async queries (#1895).
    • ๐Ÿ›  Fixed listeners not triggered for RealmObject & RealmResults created using copy or create methods (#1884).
    • ๐Ÿ›  Fixed RealmChangeListener never called inside RealmResults (#1894).
    • ๐Ÿ›  Fixed crash when calling clear on a RealmList (#1886).
  • v0.86.0 Changes

    December 03, 2015
    • ๐Ÿ’ฅ BREAKING CHANGE: The Migration API has been replaced with a new API.
    • BREAKING CHANGE: RealmResults.SORT_ORDER_ASCENDING and RealmResults.SORT_ORDER_DESCENDING constants have been replaced by Sort.ASCENDING and Sort.DESCENDING enums.
    • BREAKING CHANGE: RealmQuery.CASE_SENSITIVE and RealmQuery.CASE_INSENSITIVE constants have been replaced by Case.SENSITIVE and Case.INSENSITIVE enums.
    • ๐Ÿ’ฅ BREAKING CHANGE: Realm.addChangeListener, RealmObject.addChangeListener and RealmResults.addChangeListener hold a strong reference to the listener, you should unregister the listener to avoid memory leaks.
    • ๐Ÿ’ฅ BREAKING CHANGE: Removed deprecated methods RealmQuery.minimum{Int,Float,Double}, RealmQuery.maximum{Int,Float,Double}, RealmQuery.sum{Int,Float,Double} and RealmQuery.average{Int,Float,Double}. Use RealmQuery.min(), RealmQuery.max(), RealmQuery.sum() and RealmQuery.average() instead.
    • ๐Ÿ’ฅ BREAKING CHANGE: Removed RealmConfiguration.getSchemaMediator() which is public by mistake. And RealmConfiguration.getRealmObjectClasses() is added as an alternative in order to obtain the set of model classes (#1797).
    • ๐Ÿ’ฅ BREAKING CHANGE: Realm.addChangeListener, RealmObject.addChangeListener and RealmResults.addChangeListener will throw an IllegalStateException when invoked on a non-Looper thread. This is to prevent registering listeners that will not be invoked.
    • ๐Ÿ’ฅ BREAKING CHANGE: trying to access a property on an unloaded RealmObject obtained asynchronously will throw an IllegalStateException
    • โž• Added new Dynamic API using DynamicRealm and DynamicRealmObject.
    • โž• Added Realm.getSchema() and DynamicRealm.getSchema().
    • โšก๏ธ Realm.createOrUpdateObjectFromJson() now works correctly if the RealmObject class contains a primary key (#1777).
    • ๐Ÿ‘ป Realm.compactRealm() doesn't throw an exception if the Realm file is opened. It just returns false instead.
    • โšก๏ธ Updated Realm Core to 0.95.3.
      • Fixed a bug where RealmQuery.average(String) returned a wrong value for a nullable Long/Integer/Short/Byte field (#1803).
      • Fixed a bug where RealmQuery.average(String) wrongly counted the null value for average calculation (#1854).
  • v0.85.1 Changes

    November 23, 2015
    • ๐Ÿ›  Fixed a bug which could corrupt primary key information when updating from a Realm version <= 0.84.1 (#1775).