Realm is a mobile database: an alternative to SQLite & key-value stores
[!NOTE] This version bumps the Realm file format to version 24. It is not possible to downgrade to earlier versions. Older files will automatically be upgraded to the new file format. Files created by Realm JavaScript prior to v6.0.0, might not be upgradeable. Only Realm Studio 15.0.0 or later will be able to open the new file format.
[!NOTE] This version communicates with Atlas Device Services through a different URL (https://services.cloud.mongodb.com). While we consider this an internal detail of the SDK, you might need to update rules in firewalls or other configuration that you've used to limit connections made by your app.
$P<i>
in query string. (realm/realm-core#7033)@type
argument. (realm/realm-core#7289)Decimal128
properties has been optimized so that the individual values will take up 0 bits (if all nulls), 32 bits, 64 bits or 128 bits depending on what is needed. (realm/realm-core#6111)>
, >=
, <
, <=
operators and fixed behavior that a null string should be evaluated as less than everything, previously nulls were not matched. (realm/realm-core#3939)Realm.setLogLevel
. (#6560)Mixed
property with an index possibly returning the wrong result if values of different types happened to have the same StringIndex hash. (realm/realm-core#6407, since v10.5.0-beta.1)@count
/@size
is now supported for Mixed
properties. (realm/realm-core#7280, since v10.0.0)indexed_property == NONE {x}
which mistakenly matched on only x
instead of not x
. This only applies when an indexed property with equality (==
, or IN
) matches with NONE
on a list of
one item. If the constant list contained more than one value then it was working correctly. (realm/realm-java#7862, since v10.20.0)Bad server version
errors and a new client reset. (realm/realm-core#7279, since v12.5.0)data
and string
are now strongly typed for comparisons and queries. This change is especially relevant when querying for a string constant on a Mixed property, as now only strings will be returned. If searchi
ng for data
is desired, then that type must be specified by the constant. In RQL the new way to specify a binary constant is to use mixed = bin('xyz')
or mixed = binary('xyz')
. (realm/realm-core#6407)[!NOTE] This version bumps the Realm file format to version 24. It is not possible to downgrade to earlier versions. Older files will automatically be upgraded to the new file format. Files created by Realm JavaScript prior to v6.0.0, might not be upgradeable. Only Realm Studio 15.0.0 or later will be able to open the new file format.
[!NOTE] This release doesn't include the changes previously released as v12.7.0-alpha.0 and is a pre-release because we plan on updating the
setLogLevel
API before releasing this asv12.7.0
: https://github.com/realm/realm-js/issues/6560 and we just wanted to get this out for Realm Studiov15.0.0
.
$P<i>
in query string. (realm/realm-core#7033)@type
argument. (realm/realm-core#7289)Decimal128
properties has been optimized so that the individual values will take up 0 bits (if all nulls), 32 bits, 64 bits or 128 bits depending on what is needed. ([realm/realm-core#6111]https://github.com/realm/realm-core/pull/6111))>
, >=
, <
, <=
operators and fixed behavior that a null string should be evaluated as less than everything, previously nulls were not matched. (realm/realm-core#3939)Mixed
property with an index possibly returning the wrong result if values of different types happened to have the same StringIndex hash. (realm/realm-core#6407, since v10.5.0-beta.1)@count
/@size
is now supported for Mixed
properties. (realm/realm-core#7280, since v10.0.0)indexed_property == NONE {x}
which mistakenly matched on only x
instead of not x
. This only applies when an indexed property with equality (==
, or IN
) matches with NONE
on a list of one item. If the constant list contained more than one value then it was working correctly. (realm/realm-java#7862, since v10.20.0)Bad server version
errors and a new client reset. (realm/realm-core#7279, since v12.5.0)data
and string
are now strongly typed for comparisons and queries. This change is especially relevant when querying for a string constant on a Mixed property, as now only strings will be returned. If searching for data
is desired, then that type must be specified by the constant. In RQL the new way to specify a binary constant is to use mixed = bin('xyz')
or mixed = binary('xyz')
. (realm/realm-core#6407)$$typeof
for now) prior to its injection. (#6522, since v12.6.1)path-browserify
. (#6522, since v12.6.1)User#callFunction
to correctly pass arguments to the server. Previously they would be sent as an array, so if your server-side function used to handle the unwrapping of arguments, it would need an update too. The "functions factory" pattern of calling user.functions.sum(1, 2, 3)
wasn't affected by this bug. Thanks to @deckyfx for finding this and suggesting the fix! (#6447, since v12.0.0)util::Optional
to std::optional
.@realm/fetch
to the newly released v0.1.1 and no longer bundling it into the SDK package.tsc
utilizing TypeScript project references. (#6492)REALM_BUILD_CORE
flag when running pod install
.REALM_BUILD_CORE
flag when running pod install
.fetch
parameter to the AppConfiguration
. Use this to specify a custom implementation of the fetch
function used by the app to perform network requests.EOPNOTSUPP
when using posix_fallocate()
and fallback to manually consume space. This should enable android users to open a Realm on restrictive file systems. (#6349, since v12.2.0)incoming_changesets.size() != 0
when a download message is mistaken for a bootstrap message. This can happen if the synchronization session is paused and resumed at a specific time. (realm/realm-core#7238, since v10.12.0)__atomic_is_lock_free
on ARMv7 Linux. (realm/realm-core#7257)