10.0.0-beta.10 Release notes (2020-8-27)
NOTE: Support for syncing with realm.cloud.io and/or Realm Object Server has been replaced with support for syncing with MongoDB Realm Cloud.
NOTE: This version bumps the Realm file format to version 11. 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 v1.0.0, might not be upgradeable. Only Realm Studio 10.0.0 or later will be able to open the new file format.
Enhancements
- Adding the possibility of passing a string argument when constructing an App. (#3082)
toJSON()
implemented forRealm.Collection
, to return a nicer serializable Array. (#3044)Realm.JsonSerializationReplacer
exposed as a replacer (for usage withJSON.stringify
) to handle circular structures.(#3044)- TS: Stricter model validation for
create<T>(...)
. (#3044)
Fixed
- Fixed Android and XCode build files. (#3069, since v10.0.0-beta.9)
- Fixed a crash when calling
user.apiKeys.fetchAll()
. (#3067) - Fixed calling
app.emailPasswordAuth.resetPassword
andapp.emailPasswordAuth.callResetPasswordFunction
, which would throw an error of mismatch in count of arguments. (#3079) - realm.delete throws an exception
Argument to 'delete' must be a Realm object or a collection of Realm objects.
for schema objects defined with JS class syntax and not inheriting from RealmObject #2848. - Fixed
Realm.Object
TS declaration to allow inheritance. (#1226) - Fixed TS declaration for
CollectionChangeSet
inCollectionChangeCallback
when adding a change listener to a collection (#3093). - Fixed an error Error:
Invalid arguments: 2 expected, but 1 supplied.
when callingapp.removeUser
#3091 - Creating standalone/free-floating embedded objects crashed with a seg. fault. Temporarily an exception is thrown. Later we will introduce a way to add a new object to a list. (RJS#636, since v10.0.0-beta.1)
- Fixed a missing import in the RN debugger support causing the debug session to fail with the error
ReferenceError: createSession is not defined
. Thanks for @deckyfx to investigating and refactoring the cache. (#3085, since v10.0.0-beta.9) toJSON()
no longer throws"RangeError: Maximum call stack size exceeded"
when a circular structure is encountered (applies for bothRealm.Object
&Realm.Collection
). (#3044)- TS:
objects<T>(...)
now sets return types reflecting underlying implementation. (#3044) - TS:
_objectId()
added to TS declaration forRealm.Object
. (#3044) - Fixed performance regresion when creating
Realm.Object
in RN on iOS. ([#2845]#2845)) - Rare crash when a schema was updated (#6680)
- Bug in memory mapping management. This bug could result in multiple different asserts as well as segfaults. In many cases stack backtraces would include members of the EncyptedFileMapping near the top - even if encryption was not used at all. In other cases asserts or crashes would be in methods reading an array header or array element. In all cases the application would terminate immediately. (Realm Core PR #3838, since 7.0.0)
- Fixed the error
expected either accessToken, id_token or authCode in payload
when using Facebook Auth ([#3109])(#3109) - Fixed segfault when
push()
ing onto a list of embedded objects (RJS-732)
Compatibility
- MongoDB Realm Cloud.
- APIs are backwards compatible with all previous releases of Realm JavaScript in the 10.x.y series.
- File format: generates Realms with format v11 (reads and upgrades file format v5 or later).
Internal
- Realm Object Store updated to commit 9c80160881f2af76d99c356a9d6017c88c9b7e52
- Upgraded Realm Core from v10.0.0-beta.4 to v10.0.0-beta.5
- Upgraded Realm Sync from v10.0.0-beta.6 to v10.0.0-beta.8
- Upgraded Realm Network Transport from v0.6.0 to v0.7.0
- When creating objects without primary keys, it is now checked that the generated ObjKey does not collide with an already existing object. This was a problem in some migration scenarios in ObjectStore.