All Versions
169
Latest Version
Avg Release Cycle
35 days
Latest Release
1019 days ago
Changelog History
Page 12
Changelog History
Page 12
-
v2.2.0 Changes
November 12, 2016Object Server API Changes (In Beta)
- โ Added support for
SyncUser.getManagementRealm()
and permission changes.
๐ Bug fixes
- 0๏ธโฃ Kotlin projects no longer create the
RealmDefaultModule
if no Realm model classes are present (#3746). - โ Remove
includedescriptorclasses
option from ProGuard rule file in order to support built-in shrinker of Android Gradle Plugin (#3714). - ๐ Unexpected
RealmMigrationNeededException
was thrown when a field was added to synced Realm.
โจ Enhancements
- โ Added support for the
annotationProcessor
configuration provided by Android Gradle Plugin 2.2.0 or later. Realm plugin adds its annotation processor to theannotationProcessor
configuration instead ofapt
configuration if it is available and thecom.neenbedankt.android-apt
plugin is not used. In Kotlin projects,kapt
is used instead of theannotationProcessor
configuration (#3026).
- โ Added support for
-
v2.1.1 Changes
October 27, 2016๐ Bug fixes
- ๐ Fixed a bug in
Realm.insert
andRealm.insertOrUpdate
methods causing aStackOverFlow
when you try to insert a cyclic graph of objects between Realms (#3732).
Object Server API Changes (In Beta)
- ๐ Set default RxFactory to
SyncConfiguration
.
๐ Bug fixes
- ๐ง ProGuard configuration introduced in 2.1.0 unexpectedly kept classes that did not have the @KeepMember annotation (#3689).
- ๐ Fixed a bug in
-
v2.1.0 Changes
October 25, 2016๐ฅ Breaking changes
- ๐ *
SecureUserStore
has been moved to its own GitHub repository: https://github.com/realm/realm-android-user-store See https://github.com/realm/realm-android-user-store/blob/master/README.md for further info on how to include it.
Object Server API Changes (In Beta)
- ๐ Renamed
User
toSyncUser
,Credentials
toSyncCredentials
andSession
toSyncSession
to align names with Cocoa. - โ Removed
SyncManager.setLogLevel()
. UseRealmLog.setLevel()
instead. - ๐
SyncUser.logout()
now correctly clearsSyncUser.currentUser()
(#3638). - ๐ง Missing ProGuard configuration for libraries used by Sync extension (#3596).
- ๐ Error handler was not called when sync session failed (#3597).
- โ Added
User.all()
that returns all known Realm Object Server users. - โฌ๏ธ Upgraded Realm Sync to 1.0.0-BETA-3.2
๐ Deprecated
Logger
. UseRealmLogger
instead.AndroidLogger
. The logger for Android is implemented in native code instead.
๐ Bug fixes
- ๐ฆ The following were not kept by ProGuard: names of native methods not in the
io.realm.internal
package, names of classes used in method signature (#3596). - Permission error when a database file was located on external storage (#3140).
- Memory leak when unsubscribing from a RealmResults/RealmObject RxJava Observable (#3552).
โจ Enhancements
Realm.compactRealm()
now works for encrypted Realms.- โ Added
first(E defaultValue)
andlast(E defaultValue)
methods toRealmList
andRealmResult
. These methods will return the provided object instead of throwing anIndexOutOfBoundsException
if the list is empty. - โฌ๏ธ Reduce transformer logger verbosity (#3608).
- ๐ฒ
RealmLog.setLevel(int)
for setting the log level across all loggers.
Internal
- โฌ๏ธ Upgraded Realm Core to 2.1.3
Credits
- 0๏ธโฃ Thanks to Max Furman (@maxfurman) for adding support for
first()
andlast()
default values.
- ๐ *
-
v2.0.2 Changes
October 06, 2016๐ This release is not protocol-compatible with previous versions of the Realm Mobile Platform. The base library is still fully compatible.
๐ Bug fixes
- ๐ Build error when using Java 7 (#3563).
Internal
- โฌ๏ธ Upgraded Realm Core to 2.1.0
- โฌ๏ธ Upgraded Realm Sync to 1.0.0-BETA-2.0.
-
v2.0.1 Changes
October 05, 2016๐ Bug fixes
- ๐
android.net.conn.CONNECTIVITY_CHANGE
broadcast causedRuntimeException
if sync extension was disabled (#3505). android.net.conn.CONNECTIVITY_CHANGE
was not delivered on Android 7 devices.distinctAsync
did not respect other query parameters (#3537).- ๐
ConcurrentModificationException
from Gradle when building an application (#3501).
Internal
- โฌ๏ธ Upgraded to Realm Core 2.0.1 / Realm Sync 1.3-BETA
- ๐
-
v2.0.0 Changes
September 27, 2016๐ This release introduces support for the Realm Mobile Platform! ๐ See https://realm.io/news/introducing-realm-mobile-platform/ for an overview of these great new features.
๐ฅ Breaking Changes
- Files written by Realm 2.0 cannot be read by 1.x or earlier versions. Old files can still be opened.
- It is now required to call
Realm.init(Context)
before calling any other Realm API. - โ Removed
RealmConfiguration.Builder(Context)
,RealmConfiguration.Builder(Context, File)
andRealmConfiguration.Builder(File)
constructors. isValid()
now always returnstrue
instead offalse
for unmanagedRealmObject
andRealmList
. This puts it in line with the behaviour of the Cocoa and .NET API's (#3101).- ๐ armeabi is not supported anymore.
- โ Added new
RealmFileException
.IncompatibleLockFileException
has been removed and replaced byRealmFileException
with kindINCOMPATIBLE_LOCK_FILE
.RealmIOExcpetion
has been removed and replaced byRealmFileException
.
- ๐
RealmConfiguration.Builder.assetFile(Context, String)
has been renamed toRealmConfiguration.Builder.assetFile(String)
. - Object with primary key is now required to define it when the object is created. This means that
Realm.createObject(Class<E>)
andDynamicRealm.createObject(String)
now throwsRealmException
if they are used to create an object with a primary key field. UseRealm.createObject(Class<E>, Object)
orDynamicRealm.createObject(String, Object)
instead. - Importing from JSON without the primary key field defined in the JSON object now throws
IllegalArgumentException
. - Now
Realm.beginTransaction()
,Realm.executeTransaction()
andRealm.waitForChange()
throwRealmMigrationNeededException
if a remote process introduces incompatible schema changes (#3409). - The primary key value of an object can no longer be changed after the object was created. Instead a new object must be created and all fields copied over.
- 0๏ธโฃ Now
Realm.createObject(Class)
andRealm.createObject(Class,Object)
take the values from the model's fields and default constructor. Creating objects through theDynamicRealm
does not use these values (#777). - 0๏ธโฃ When
Realm.create*FromJson()
s create a newRealmObject
, now they take the default values defined by the field itself and its default constructor for those fields that are not defined in the JSON object.
โจ Enhancements
- โ Added
realmObject.isManaged()
,RealmObject.isManaged(obj)
andRealmCollection.isManaged()
(#3101). - โ Added
RealmConfiguration.Builder.directory(File)
. - ๐
RealmLog
has been moved to the public API. It is now possible to control which events Realm emit to Logcat. See theRealmLog
class for more details. - Typed
RealmObject
s can now continue to access their fields properly even though the schema was changed while the Realm was open (#3409). - A
RealmMigrationNeededException
will be thrown with a cause to show the detailed message when a migration is needed and the migration block is not in theRealmConfiguration
.
๐ Bug fixes
- ๐ Fixed a lint error in proxy classes when the 'minSdkVersion' of user's project is smaller than 11 (#3356).
- ๐ Fixed a potential crash when there were lots of async queries waiting in the queue.
- ๐ Fixed a bug causing the Realm Transformer to not transform field access in the model's constructors (#3361).
- ๐ Fixed a bug causing a build failure when the Realm Transformer adds accessors to a model class that was already transformed in other project (#3469).
- ๐ Fixed a bug causing the
NullPointerException
when calling getters/setters in the model's constructors (#2536).
Internal
- ๐ Moved JNI build to CMake.
- โก๏ธ Updated Realm Core to 2.0.0.
- โก๏ธ Updated ReLinker to 1.2.2.
-
v1.2.0 Changes
August 19, 2016๐ Bug fixes
- ๐ป Throw a proper exception when operating on a non-existing field with the dynamic API (#3292).
DynamicRealmObject.setList
should only acceptRealmList<DynamicRealmObject>
(#3280).- ๐ป
DynamicRealmObject.getX(fieldName)
now throws a proper exception instead of a native crash when called with a field name of the wrong type (#3294). - ๐ Fixed a concurrency crash which might happen when
Realm.executeTransactionAsync()
tried to callonSucess
after the Realm was closed.
โจ Enhancements
- โ Added
RealmQuery.in()
for a comparison against multiple values. - โ Added byte array (
byte[]
) support toRealmQuery
'sequalTo
andnotEqualTo
methods. - โก๏ธ Optimized internal caching of schema classes (#3315).
Internal
- โก๏ธ Updated Realm Core to 1.5.1.
- ๐ Improved sorting speed.
- ๐ Completely removed the
OptionalAPITransformer
.
Credits
- ๐ Thanks to Brenden Kromhout (@bkromhout) for adding binary array support to
equalTo
andnotEqualTo
.
-
v1.1.1 Changes
July 01, 2016๐ Bug fixes
- ๐ Fixed a wrong JNI method declaration which might cause "method not found" crash on some devices.
- ๐ Fixed a bug that
Error
in the background async thread is not forwarded to the caller thread. - ๐ Fixed a crash when an empty
Collection
is passed toinsert()
/insertOrUpdate()
(#3103). - ๐ Fixed a bug that does not transfer the primary key when
RealmSchemaObject.setClassName()
is called to rename a class (#3118). - ๐ Fixed bug in
Realm.insert
andRealm.insertOrUpdate
methods causing aRealmList
to be cleared when inserting a managedRealmModel
(#3105). - ๐ Fixed a concurrency allocation bug in storage engine which might lead to some random crashes.
- Bulk insertion now throws if it is not called in a transaction (#3173).
- The IllegalStateException thrown when accessing an empty RealmObject is now more meaningful (#3200).
- ๐ป
insert()
now correctly throws an exception if two different objects have the same primary key (#3212). - Blackberry Z10 throwing "Function not implemented" (#3178).
- โฌ๏ธ Reduced the number of file descriptors used by Realm Core (#3197).
- Throw a proper
IllegalStateException
if aRealmChangeListener
is used inside an IntentService (#2875).
โจ Enhancements
- The Realm Annotation processor no longer consumes the Realm annotations. Allowing other annotation processors to run.
Internal
- โก๏ธ Updated Realm Core to 1.4.2.
- ๐ Improved sorting speed.
-
v1.1.0 Changes
June 30, 2016๐ Bug fixes
- ๐ A number of bug fixes in the storage engine related to memory management in rare cases when a Realm has been compacted.
- Disabled the optional API transformer since it has problems with DexGuard (#3022).
OnSuccess.OnSuccess()
might not be called with the correct Realm version for async transaction (#1893).- ๐ Fixed a bug in
copyToRealm()
causing a cyclic dependency objects being duplicated. - ๐ Fixed a build failure when model class has a conflicting name such as
Map
,List
,String
, ... (#3077).
โจ Enhancements
- โ Added
insert(RealmModel obj)
,insertOrUpdate(RealmModel obj)
,insert(Collection<RealmModel> collection)
andinsertOrUpdate(Collection<RealmModel> collection)
to perform batch inserts (#1684). - โจ Enhanced
Table.toString()
to show a PrimaryKey field details (#2903). - ๐ Enabled ReLinker when loading a Realm from a custom path by adding a
RealmConfiguration.Builder(Context, File)
constructor (#2900). - ๐ Changed
targetSdkVersion
ofrealm-library
to 24. - ๐ Logs warning if
DynamicRealm
is not closed when GC happens as it does forRealm
.
๐ Deprecated
- ๐
RealmConfiguration.Builder(File)
. UseRealmConfiguration.Builder(Context, File)
instead.
Internal
- โก๏ธ Updated Realm Core to 1.2.0.
-
v1.0.1 Changes
May 25, 2016๐ Bug fixes
- ๐ Fixed a crash when calling
Table.toString()
in debugger (#2429). - ๐ Fixed a race condition which would cause some
RealmResults
to not be properly updated inside aRealmChangeListener
. This could result in crashes when accessing items from those results (#2926/#2951). - Revised
RealmResults.isLoaded()
description (#2895). - ๐ Fixed a bug that could cause Realm to lose track of primary key when using
RealmObjectSchema.removeField()
andRealmObjectSchema.renameField()
(#2829/#2926). - ๐ Fixed a bug that prevented some devices from finding async related JNI methods correctly.
- โก๏ธ Updated ProGuard configuration in order not to depend on Android's default configuration (#2972).
- ๐ Fixed a race condition between Realms notifications and other UI events. This could e.g. cause ListView to crash (#2990).
- ๐ Fixed a bug that allowed both
RealmConfiguration.Builder.assetFile()
/deleteRealmIfMigrationNeeded()
to be configured at the same time, which leads to the asset file accidentally being deleted in migrations (#2933). - Realm crashed outright when the same Realm file was opened in two processes. Realm will now optimistically retry opening for 1 second before throwing an Error (#2459).
โจ Enhancements
- โ Removes RxJava related APIs during bytecode transforming to make RealmObject plays well with reflection when rx.Observable doesn't exist.
- ๐ Fixed a crash when calling