All Versions
169
Latest Version
Avg Release Cycle
35 days
Latest Release
554 days ago
Changelog History
Page 14
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).
- โก๏ธ Updated Realm Core to 0.96.2.
-
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.
- โก๏ธ Updated Realm Core to 0.96.0.
-
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).