All Versions
169
Latest Version
Avg Release Cycle
35 days
Latest Release
554 days ago
Changelog History
Page 7
Changelog History
Page 7
-
v5.9.0 Changes
January 15, 2019โจ Enhancements
- [ObjectServer] Added
ObjectServerError.getErrorType()
andObjectServerError.getErrorType()
which returns the underlying native error information. This is especially relevant ifObjectServerError.getErrorCode()
returnsUNKNOWN
. #6364 - โ Added better checks for detecting corrupted files, both before and after the file is written to disk.
๐ Fixed
- [ObjectServer] Native errors sometimes mapped to the wrong Java ErrorCode. (Issue #6364, since 2.0.0)
- ๐ [ObjectServer] Query-based Sync queries involving LIMIT, limited the result before permissions were evaluated. This could sometimes result in the wrong number of elements being returned.
- โ Removed Java 8 bytecode. Resulted in errors like
D8: Invoke-customs are only supported starting with Android O (--min-api 26)
if not compiled with Java 8. (Issue #6300, since 5.8.0).
Compatibility
- Realm Object Server: 3.11.0 or later.
- โฌ๏ธ File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
- ๐ APIs are backwards compatible with all previous release of realm-java in the 5.x.y series.
Internal
- โก๏ธ Updated to Object Store commit: f964c2640f635e76839559cb703732e9e906ba4c
- โก๏ธ Updated Realm Sync to 3.14.13
- โก๏ธ Updated Realm Core to 5.12.7
- [ObjectServer] Added
-
v5.8.0 Changes
November 06, 2018๐ This release also contains all changes from 5.8.0-BETA1 and 5.8.0-BETA2.
โจ Enhancements
- [ObjectServer] Added Subscription class available to Query-based Realms. This exposes a Subscription more directly. This class is in beta. #6231.
- [ObjectServer] Added
Realm.getSubscriptions()
,Realm.getSubscriptions(String pattern)
andRealm.getSubscription
to make it easier to find existing subscriptions. These API's are in beta. #6231 - [ObjectServer] Added
RealmQuery.subscribe()
andRealmQuery.subscribe(String name)
to subscribe immediately inside a transaction. These API's are in beta. #6231 - [ObjectServer] Added support for subscribing directly inside
SyncConfiguration.initialData()
. This can be coupled withSyncConfiguration.waitForInitialRemoteData()
in order to block a Realm from opening until the initial subscriptions are ready and have downloaded data. This API are in beta. #6231
- [ObjectServer] Added
- ๐ [ObjectServer] Improved performance when merging changes from the server.
- ๐ [ObjectServer] Added support for timeouts when uploading or downloading data manually using
SyncSession.downloadAllServerChanges(long timeout, TimeUnit unit)
andSyncSession.uploadAllLocalChanges(long timeout, TimeUnit unit)
. #6073 - ๐ [ObjectServer] Added support for timing out when downloading initial data for synchronized Realms using
SyncConfiguration.waitForInitialRemoteData(long timeout, TimeUnit unit)
. #6247 - [ObjectServer] Added
Realm.init(Context, String)
which defines a custom User-Agent String sent to the Realm Object Server when a session is created. Using this requires Realm Object Server 3.12.4 or later. #6267 - โ Added support for
ImportFlag
s toRealm.copyToRealm()
andRealm.copyToRealmOrUpdate()
. This makes it possible to choose a mode so only fields that actually changed are written to disk. This improves notifications and Object Server performance. #6224 - โ Added support for bulk updating the same property in all objects that are part of a query result using
RealmResults.setValue(String fieldName, Object value)
or one of the specialized overrides that have been added for all supported types, e.g.RealmResults.setString(String fieldName, String value)
. #762
๐ Fixed
- ๐ All known bugs introduced in 5.8.0-BETA1 and 5.8.0-BETA2. See the release notes for these releases.
Compatibility
- Realm Object Server: 3.11.0 or later.
- โฌ๏ธ File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
- ๐ APIs are backwards compatible with all previous release of realm-java in the 5.x.y series.
Internal
- โก๏ธ Updated to Object Store commit: f0dfe6c03be49194bc40777901059eaf55e7bff6
- โก๏ธ Updated Realm Sync to 3.13.1
- โก๏ธ Updated Realm Core to 5.12.0
- [ObjectServer] Added Subscription class available to Query-based Realms. This exposes a Subscription more directly. This class is in beta. #6231.
-
v5.8.0-BETA2 Changes
October 19, 2018โจ Enhancements
- None
๐ Fixed
RealmResults
listeners not triggering the initial callback for Query-based Realm when the device is offline #6235.
Known Bugs
- โก๏ธ
Realm.copyToRealm()
andRealm.copyToRealmOrUpdate
has been rewritten to support import flags. It is currently ~30% slower than in 5.7.0. - IllegalStateException thrown when trying to create an object with a primary key that already exists when using
Realm.copyToRealm
, will always report "null" instead of the correct primary key value. - When using
ImportFlag.DO_NOT_SET_SAME_VALUES
, lists will still be written and reported as changed, even if they didn't change.
Compatibility
- Realm Object Server: 3.11.0 or later.
- โฌ๏ธ File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
- ๐ APIs are backwards compatible with all previous release of realm-java in the 5.x.y series.
Internal
- None
-
v5.8.0-BETA1 Changes
October 11, 2018โจ Enhancements
- โ Added new
ImportFlag
class that is used to specify additional behaviour when importing data into Realm #6224. - โ Added support for
ImportFlag
toRealm.copyToRealm()
andRealm.copyToRealmOrUpdate()
#6224.
๐ Fixed
- None
Known Bugs
- โก๏ธ
Realm.copyToRealm()
andRealm.copyToRealmOrUpdate
has been rewritten to support import flags. It is currently ~30% slower than in 5.7.0. - IllegalStateException thrown when trying to create an object with a primary key that already exists when using
Realm.copyToRealm
, will always report "null" instead of the correct primary key value. - When using
ImportFlag.DO_NOT_SET_SAME_VALUES
, lists will still be written and reported as changed, even if they didn't change.
Compatibility
- Realm Object Server: 3.11.0 or later.
- โฌ๏ธ File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
- ๐ APIs are backwards compatible with all previous release of realm-java in the 5.x.y series.
- โ Added new
-
v5.7.1 Changes
October 22, 2018โจ Enhancements
- None
๐ Fixed
- [ObjectServer]
RealmResults
listeners not triggering the initial callback for Query-based Realm when the device is offline. (Issue #6235, since 5.0.0).
Compatibility
- Realm Object Server: 3.11.0 or later.
- โฌ๏ธ File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
- ๐ APIs are backwards compatible with all previous release of realm-java in the 5.x.y series.
Internal
- โก๏ธ Updated to Object Store commit: 362b886628b3aefc5b7a0bc32293d794dc1d4ad5
-
v5.7.0 Changes
September 24, 2018โจ Enhancements
- [ObjectServer] Devices will now report download progress for read-only Realms which
will allow the server to compact files sooner, saving server space. This does not affect
the client. You will need to upgrade your Realm Object Server to at least version 3.11.0
or use Realm Cloud. If you try to connect to a ROS v3.10.x or
previous, you will see an error like
Wrong protocol version in Sync HTTP request, client protocol version = 25, server protocol version = 24
.
๐ Fixed
- None
Compatibility
- Realm Object Server: 3.11.0 or later.
- โฌ๏ธ File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
- ๐ APIs are backwards compatible with all previous release of realm-java in the 5.x.y series.
Internal
- ๐ Sync Protocol version increased to 25.
- โก๏ธ Updated Realm Sync to 3.10.1
- โก๏ธ Updated Realm Core to 5.10.2
- [ObjectServer] Devices will now report download progress for read-only Realms which
will allow the server to compact files sooner, saving server space. This does not affect
the client. You will need to upgrade your Realm Object Server to at least version 3.11.0
or use Realm Cloud. If you try to connect to a ROS v3.10.x or
previous, you will see an error like
-
v5.6.0 Changes
September 24, 2018โจ Enhancements
- [ObjectServer] Added
RealmPermissions.findOrCreate(String roleName)
andClassPermissions.findOrCreate(String roleName)
(#6168). @RealmClass("name")
and@RealmField("name")
can now be used as a shorthand for defining custom name mappings (#6145).- โ Added support for
RealmQuery.limit(long limit)
(#544). When building aRealmQuery
,sort()
,distinct()
andlimit()
will now be applied in the order they are called. Before this release,sort()
anddistinct()
could be called any order, butsort()
would always be applied beforedistinct()
. - ๐ Building with Android App Bundle is now supported (#5977).
๐ Fixed
- None
Compatibility
- Realm Object Server: 3.11.0 or later.
- โฌ๏ธ File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
- ๐ APIs are backwards compatible with all previous release of realm-java in the 5.x.y series.
Internal
- โก๏ธ Updated ReLinker to 1.3.0.
- โก๏ธ Updated to Object Store commit: 7e19c51af72c3343b453b8a13c82dfda148e4bbc
- [ObjectServer] Added
-
v5.5.0 Changes
August 31, 2018โจ Enhancements
- [ObjectServer] Added
ConnectionState
enum describing the states a connection can be in. - ๐ [ObjectServer] Added
SyncSession.isConnected()
andSyncSession.getConnectionState()
. - ๐ [ObjectServer] Added support for observing connection changes for a session using
SyncSession.addConnectionChangeListener()
andSyncSession.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()
andSyncSession.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()
andRealm.copyFromRealm()
#(6124).
- [ObjectServer] Added
-
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