Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^6.1.5
->^12.0.0
Release Notes
realm/realm-js (realm)
v12.13.2
Compare Source
Fixed
Compatibility
Internal
v12.13.1
Compare Source
Fixed
CallInvoker
'sinvokeAsync
call signature. (#6851 since v12.12.0 in combination with React Native >= v0.75.0).Compatibility
Internal
v12.13.0
Compare Source
Enhancements
Connection[1:<connection id>] Session[1]: log message
). (realm/realm-core#7849)Fixed
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)Compatibility
Internal
v12.12.1
Compare Source
Fixed
Compatibility
Internal
v12.12.0
Compare Source
Deprecations
SyncSession.addProgressNotification
takingtransferred
andtransferable
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
estimate
as the new callback argument. Theestimate
is roughly equivalent to an estimated value oftransferred / transferable
in the deprecated Partition-Based Sync callback. (#6743)https://services.cloud.mongodb.com/
instead ofhttps://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)Fixed
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 likeCannot 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)Compatibility
Internal
v12.11.1
Compare Source
Fixed
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.Compatibility
v12.11.0
Compare Source
Enhancements
Compatibility
v12.10.0
Compare Source
Enhancements
counter
presentation data type has been introduced. Theint
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)Fixed
immediatelyRunFileActions
was not added to the bindgen's opt-list. This could lead to the errorTypeError: 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)Compatibility
Internal
v12.9.0
Compare Source
Enhancements
mixed
value can now hold aRealm.List
andRealm.Dictionary
with nested collections. Note thatRealm.Set
is not supported as amixed
value. (#6613)Fixed
...@​links.@​count
) and possibly notifications (realm/realm-core#7676 since v12.7.1).Compatibility
Internal
@trunk/launcher
from v1.3.0 to v1.3.1 to support Apple's versioning scheme for macOS.v12.8.1
Compare Source
Fixed
Realm.deleteFile
,Realm.exists
,Realm.schemaVersion
,Realm.determinePath
,Realm.transformConfig
andUser#isLoggedIn
. (#6662, since v12.8.0)Realm.App#currentUser
from within a notification produced byRealm.App.switchUser
(which includes notifications for a newly logged in user) would deadlock. (realm/realm-core#7670, since v12.8.0)IN
query on astring
/int
/uuid
/objectId
property that was indexed. (realm/realm-core#7642 since v12.8.0)IN
query on anint
property wheredouble
/float
parameters were ignored. (realm/realm-core#7642 since v12.8.0)Compatibility
Internal
5ba02142131efa3d97eda770ce33a85a2a085202
and5462d47998b86459d328648c8057790a7b92af20
.v12.8.0
Compare Source
Deprecations
MetadataMode.NoMetadata
is deprecated and will be removed. The new name isMetadataMode.InMemory
.Enhancements
App.baseUrl
andApp.updateBaseUrl()
allow for retrieving and updating the base URL currently used for requests sent to Atlas App Services. These APIs are only available after importing"realm/experimental/base-url"
. (#6518)uuid
/objectId
types and RQL parsedIN
queries onstring
/int
/uuid
/objectId
types. (realm/realm-dotnet#3566, since the introduction of these types)Fixed
IN
query (or a query of the patternx == 1 OR x == 2 OR x == 3
) when evaluating on a string property with an empty string in the search condition. Matches with an empty string would have been evaluated as if searching for a null string instead. (realm/realm-core#7628, since v10.0.0)App.allUsers()
included logged out users only if they were logged out while theApp
instance existed. It now always includes all logged out users. (realm/realm-core#7300)Assertion failed: new_size % (1ULL << m_page_shift) == 0
when opening an encrypted Realm less than 64Mb that was generated on a platform with a different page size than the current platform. (#realm/realm-core#7322, since v12.0.0-rc.3)encrypted_file_mapping.hpp:183: Assertion failed: local_ndx < m_page_state.size()
. (realm/realm-core#7319)mixed
values returns inconsistent results. (realm/realm-core#7587, since v12.7.0-rc.0)Known issues
Compatibility
Internal
MetadataMode.NoMetadata
) has been replaced with an in-memory metadata mode (MetadataMode.InMemory
) which performs similarly and doesn't work weirdly differently from the normal mode. The new mode is intended for testing purposes, but should be suitable for production usage if there is a scenario where metadata persistence is not needed. (realm/realm-core#7300)v12.7.1
Compare Source
Fixed
Compatibility
Internal
v12.7.0
Compare Source
Enhancements
$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)Realm.setLogLevel
. (#6560)Fixed
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 forMixed
properties. (realm/realm-core#7280, since v10.0.0)indexed_property == NONE {x}
which mistakenly matched on onlyx
instead of notx
. This only applies when an indexed property with equality (==
, orIN
) matches withNONE
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
andstring
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 fordata
is desired, then that type must be specified by the constant. In RQL the new way to specify a binary constant is to usemixed = bin('xyz')
ormixed = binary('xyz')
. (realm/realm-core#6407)Compatibility
Internal
v12.6.2
Compare Source
Fixed
$$typeof
for now) prior to its injection. (#6522, since v12.6.1)path-browserify
. (#6522, since v12.6.1)Internal
v12.6.1
Compare Source
Fixed
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 callinguser.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)Compatibility
Internal
util::Optional
tostd::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)v12.6.0
Compare Source
Enhancements
fetch
parameter to theAppConfiguration
. Use this to specify a custom implementation of thefetch
function used by the app to perform network requests.Fixed
EOPNOTSUPP
when usingposix_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)Compatibility
Internal
v12.5.1
Compare Source
Fixed
providerType
on aUserIdentity
viaUser.identities
always yieldedundefined
. Thanks to @joelowry96 for pinpointing the fix.Compatibility
Internal
v12.5.0
Compare Source
Enhancements
keyPaths
argument to theaddListener
methods ofCollection
andObject
. Use this to indicate a lower bound on the changes relevant for the listener. This is a lower bound, since if multiple listeners are added (each with their own "key paths") the union of these key-paths will determine the changes that are considered relevant for all listeners registered on the object or collection. In other words: A listener might fire more than the key-paths specify, if other listeners with different key-paths are present. (#6285)Fixed
!m_sess
assertion. (realm/realm-core#7196, since v10.18.0)SyncSession
was explicitly resumed viareconnect()
while it was waiting to auto-resume after a non-fatal error and then another non-fatal error was received, the sync client could crash with a!m_try_again_activation_timer
assertion. (realm/realm-core#6961, since device sync was introduced)Collection
orObject
used to be undefined behavior. Now it throws, which results in runtime errors that can be resolved by ensuring that the callback is only added once per object. (#6310)Compatibility
Internal
v12.4.0
Compare Source
Enhancements
RealmEventName
type. (#6300)Realm.Object
andRealm.Collection
objects on Node.js, by providing a custom "inspect" symbol. (#2758)Fixed
When mapTo is used on a property of type List, an error like
Property 'test_list' does not exist on 'Task' objects
occurs when trying to access the property. (#6268, since v12.0.0)Fixed bug where apps running under JavaScriptCore on Android will terminate with the error message
No identifiers allowed directly after numeric literal
. (#6194, since v12.2.0)When an object had an embedded object as one of its properties, updating that property to
null
orundefined
did not update the property in the database. (#6280, since v12.0.0)Fixed download of platform + arch specific prebuilt binaries when building an Electron app using
electron-builder
. (#3828)Notification listeners on a
Dictionary
would only fire when the dictionary itself changed (via inserts or deletions) but not when changes were made to the underlying objects. (#6310, since v12.0.0)Fixed deadlock which occurred when accessing the current user from the
App
from within a callback from theUser
listener. (realm/realm-core#7183, since v12.2.1)Errors encountered while reapplying local changes for client reset recovery on partition-based sync Realms would result in the client reset attempt not being recorded, possibly resulting in an endless loop of attempting and failing to automatically recover the client reset. Flexible sync and errors from the server after completing the local recovery were handled correctly. (realm/realm-core#7149, since v10.3.0-rc.1)
During a client reset with recovery when recovering a move or set operation on a
List<Object>
orList<Mixed>
that operated on indices that were not also added in the recovery, links to an object which had been deleted by another client while offline would be recreated by the recovering client. But the objects of these links would only have the primary key populated and all other fields would be default values. Now, instead of creating these zombie objects, the lists being recovered skip such deleted links. (realm/realm-core#7112 since the beginning of client reset with recovery in v10.18.0)During a client reset recovery a Set of links could be missing items, or an exception could be thrown that prevents recovery e.g.,
Requested index 1 calling get() on set 'source.collection' when max is 0
. (realm/realm-core#7112, since the beginning of client reset with recovery in v10.18.0)Calling
sort()
ordistinct()
on aLnkSet
that had unresolved links in it would produce duplicate indices. (realm/realm-core#7112, since the beginning of client reset with recovery in v10.18.0)Automatic client reset recovery would duplicate insertions in a list when recovering a write which made an unrecoverable change to a list (i.e. modifying or deleting a pre-existing entry), followed by a subscription change, followed by a write which added an entry to the list. (realm/realm-core#7155, since v10.19.4)
Fixed several causes of "decryption failed" exceptions that could happen when opening multiple encrypted Realm files in the same process while using Apple/linux and storing the Realms on an exFAT file system. (realm/realm-core#7156, since v1.0.0)
If the very first open of a flexible sync Realm triggered a client reset, the configuration had an initial subscriptions callback, both before and after reset callbacks, and the initial subscription callback began a read transaction without ending it (which is normally going to be the case), opening the frozen Realm for the after reset callback would trigger a BadVersion exception. (realm/realm-core#7161, since v10.19.4)
Compatibility
Internal
v12.3.1
Compare Source
Fixed
KeyNotFound
exception when subscriptions are marked complete after a client reset. (realm/realm-core#7090, since v10.19.0)DiscardLocal
client reset on a FLX Realm could leave subscriptions in an invalid state. (realm/realm-core#7110, since v10.19.4)Realm.List
by index, the new object would be inserted at the end rather than replacing the existing object at the given index. (#6239, since v12.0.0)SyncConfiguration.clientReset
wasundefined
, no client reset mode was set which could lead to an app crash with the messagem_mode != ClientResyncMode::Manual
. The default mode is nowRecoverUnsyncedChanges
and no callbacks are defined. (#6260, since v12.0.0)realm-constants.json
file used for analytics / telemetry, which used to cause errors such asUnable to resolve module ../realm-constants.json
for users installing the package into a mono-repo. We're now storing this information in therealm/package.json
file instead. (#6144, since v12.0.0-rc.2)Compatibility
Internal
v12.3.0
Compare Source
Enhancements
Fixed
onBefore
,onAfter
, andonFallback
client reset callbacks were not called. (#6201, since v12.0.0)Symbol.unscopables
has been implemented on the base class ofRealm.Results
,Realm.List
, andRealm.Set
. (#6215)Compatibility
Internal
v12.2.1
Compare Source
Deprecations
Realm.User.providerType
is deprecated, and will be remove in next major version. UseRealm.User.identities
instead.Fixed
write_not_allowed
error from the server would have led to a crash. (realm/realm-core#6978, since v11.5.0)Point
(case insensitive) an exception would have been thrown. Instead of disrupting the query, those objects are now just ignored. (realm/realm-core#6989, since v12.0.0)Realm.User
per auth provider. This mostly worked, but had some quirks:Realm.User
used to create them. As a result, querying a user for its sessions could give incorrect results, and logging one user out could close the wrong sessions.Realm.User
s would delete all local Realm files for allRealm.User
s for that user.Realm.User
s left the otherRealm.User
s in an invalid state.Realm.User
which was originally created via anonymous login and then linked to an identity would still be treated as an anonymous users and removed entirely on logout.Compatibility
Internal
v12.2.0
Compare Source
Deprecations
Realm.App.Sync.reconnect(app)
has been deprecated and will be removed in the next major version. You can useRealm.App.Sync.Session.reconnect()
instead.Enhancements
Realm.Sync.Session.reconnect()
to help force a reconnection to Atlas Device Sync. (#6123)Realm.App.AppConfiguration.metaData
whichConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.