Fixed compiler error when building binding for React Native iOS: "'React-featureflags/react/featureflags/ReactNativeFeatureFlags.h' file not found" (#6808, since v12.12.0)
Compatibility
React Native >= v0.71.4
Realm Studio v15.0.0.
File format: generates Realms with format v24 (reads and upgrades file format v10).
Internal
Removed an unused import in the binding for React Native Android. (#6808, since v12.12.0)
12.12.0 (2024-07-23)
Deprecations
The callback for 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)
Enhancements
Added support for "bridgeless" React Native on iOS and Android, a part of the "new architecture". (#6737)
Added progress notifications support for Flexible Sync using an 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)
It is no longer an error to set a base url for an App with a trailing slash - for example, 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)
Performance has been improved for range queries on integers and timestamps when using the BETWEEN operator. (realm/realm-core#7785)
On Windows devices Device Sync will additionally look up SSL certificates in the Windows Trusted Root Certification Authorities certificate store when establishing a connection. (realm/realm-core#7882)
Role and permissions changes no longer require a client reset to update the Realm on-device. (realm/realm-core#7440)
Fixed
Opening an Flexible Sync Realm asynchronously may not wait to download all data. (realm/realm-core#7720, since v10.12.0)
Clearing a list of mixed in an upgraded file would lead to an assertion failing. (realm/realm-core#7771, since 12.7.0-rc.0)
Sync client can crash if a session is resumed while the session is being suspended. (realm/realm-core#7860, since v10.18.0)
If a sync session is interrupted by a disconnect or restart while downloading a bootstrap, stale data from the previous bootstrap may be included when the session reconnects and downloads the bootstrap. This can lead to objects stored in the database that do not match the actual state of the server and potentially leading to compensating writes. (realm/realm-core#7827, since v10.18.0)
Fixed unnecessary server roundtrips when there is no download to acknowledge. (realm/realm-core#2129, since v12.10.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).
You could get unexpected merge results when assigning to a nested collection. (realm/realm-core#7809, since v12.7.0-rc.0)
When 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)
A 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)
Fixed removing backlinks from the wrong objects if the link came from a nested list, nested dictionary, top-level dictionary, or list of mixed, and the source table had more than 256 objects. This could manifest as array_backlink.cpp:112: Assertion failed: int64_t(value >> 1) == key.value when removing an object. (realm/realm-core#7594, since v10.6.0)
Fixed a bug when removing an object from a nested collection could lead to an assert with the message array.cpp:319: Array::move() Assertion failed: begin <= end [2, 1]. (realm/realm-core#7839, since v12.9.0)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps realm from 12.7.1 to 12.12.1.
Changelog
Sourced from realm's changelog.
... (truncated)
Commits
5050d08
[12.12.1] Bump version (#6816)a431b86
RJS-2870: Remove an unused header from the iOS and unused import from Android...9d80922
[12.12.0] Bump version (#6805)528c3d7
RJS-2841: Upgrade to Realm Core v14.11.0 (#6739)13e70d7
RJS-2852: Adding aCallInvoker
-based scheduler for Core on React Native (#6...96f7c04
RJS-2815: React Native bridgeless support (take 2) (#6737)adda258
RJS-2861: Deprecate AppConfiguration.app and add app instance to App Provider...53ef28a
Test collection and object listeners for updates on links (#6784)b4fd42b
RJS-2636: Add progress notifications and tests (#6743)7b6a79b
Test on Android using "release" configuration (#6769)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show