Changelog
12.14.0 (2024-11-12)
excludeFromIcloudBackup
option to the Realm
constructor to exclude the realm files from iCloud backup. (#4139 and #6927)const realm = new Realm({
schema: [
/* your schema */
],
// Set to true to exclude from iCloud backup, false to include, defaults to false
excludeFromIcloudBackup: true,
});
Changelog
12.13.2 (2024-10-30)
Changelog
12.13.1 (2024-08-21)
CallInvoker
's invokeAsync
call signature. (#6851 since v12.12.0 in combination with React Native >= v0.75.0).Changelog
12.13.0 (2024-08-14)
Connection[1:<connection id>] Session[1]: log message
). (realm/realm-core#7849)Invalid column key
exception when using an RQL "BETWEEN" query on an int or timestamp property across links. (realm/realm-core#7935, since v12.12.0)Invalid prior_size
exception to prevent synchronization (realm/realm-core#7893, since v12.10.0)unexpected reloc type 0x03
. (realm/realm-core#7947, since v12.7.0)Changelog
12.12.1 (2024-07-25)
Changelog
12.12.0 (2024-07-23)
SyncSession.addProgressNotification
taking transferred
and transferable
arguments is deprecated and will be removed. See Enhancements below for the new callback supporting both Flexible Sync and Partition-Based Sync. (#6743)AppConfiguration.app
is no longer used by Atlas Device Sync. It will be removed in future SDK releases and should not be used. (#6785)estimate
as the new callback argument. The estimate
is roughly equivalent to an estimated value of transferred / transferable
in the deprecated Partition-Based Sync callback. (#6743)realm.syncSession?.addProgressNotification(
ProgressDirection.Upload,
ProgressMode.ReportIndefinitely,
(estimate) => console.log(`progress: ${estimate}/1.0`)
);
https://services.cloud.mongodb.com/
instead of https://services.cloud.mongodb.com
- before this change that would result in a 404 error from the server. (realm/realm-core#7791)BETWEEN
operator. (realm/realm-core#7785)mixed
in an upgraded file would lead to an assertion failing. (realm/realm-core#7771, since 12.7.0-rc.0)Realm.App.Sync.SyncSession#uploadAllLocalChanges()
was inconsistent in how it handled commits which did not produce any changesets to upload. Previously it would sometimes complete immediately if all commits waiting to be uploaded were empty, and at other times it would wait for a server roundtrip. It will now always complete immediately. (realm/realm-core#7796)Realm#writeCopyTo()
on an encrypted Realm without explicitly specifying a new encryption key would only work if the old key happened to be a valid nul-terminated string. (realm/realm-core#7842, since v12.10.0).mapTo
is used to have an alias for a property name, Realm.Results#sorted()
doesn't recognize the alias leading to errors like Cannot sort on key path 'NAME': property 'PersonObject.NAME' does not exist
. (#6779, since v11.2.0)mixed
property with a collection could sometimes end up with a combination of values assigned by different clients. (realm/realm-core#7809, since v12.9.0)array_backlink.cpp:112: Assertion failed: int64_t(value >> 1) == key.value
when removing an object. (realm/realm-core#7594, since v10.6.0)array.cpp:319: Array::move() Assertion failed: begin <= end [2, 1]
. (realm/realm-core#7839, since v12.9.0)Changelog
12.11.1 (2024-06-25)
path
option in the Realm configuration not being set when using a synced Realm. (#6754, since v12.8.0). Note: if you have been using a custom path configuration with your synced Realm, this fix will lead to a re-download of its data in the custom path.Changelog
12.11.0 (2024-06-17)
Changelog
12.10.0 (2024-06-14)
counter
presentation data type has been introduced. The int
data type can now be used as a logical counter for performing numeric updates that need to be synchronized as sequentially consistent events rather than individual reassignments of the number. (#6694)
class MyObject extends Realm.Object {
_id!: BSON.ObjectId;
counter!: Realm.Types.Counter;
static schema: ObjectSchema = {
name: "MyObject",
primaryKey: "_id",
properties: {
_id: { type: "objectId", default: () => new BSON.ObjectId() },
counter: "counter",
// or: counter: { type: "int", presentation: "counter" },
},
};
}
const realm = await Realm.open({ schema: [MyObject] });
const object = realm.write(() => {
return realm.create(MyObject, { counter: 0 });
});
realm.write(() => {
object.counter.increment();
object.counter.value; // 1
object.counter.decrement(2);
object.counter.value; // -1
});
immediatelyRunFileActions
was not added to the bindgen's opt-list. This could lead to the error TypeError: app.internal.immediatelyRunFileActions is not a function
. (#6708, since v12.8.0)off_t
, which is a 32-bit type on 64-bit Windows. (realm/realm-core#7698, since the introduction of encryption support on Windows - likely in v1.11.0)