v10.0.0-beta.6
Pre-release
Pre-release
realm-ci
released this
01 Oct 01:38
·
1103 commits
to master
since this release
Breaking Changes
- Change Google Credential parameter names to better reflect the required auth code:
Credentials(googleToken:)
=>Credentials(googleAuthCode:)
[RLMCredentials credentialsWithGoogleToken:]
=>[RLMCredentials credentialsWithGoogleAuthCode:]
- Rename Realm.Publishers to RealmPublishers to avoid confusion with Combine.Publishers
Fixed
- Deleting objects could sometimes change the ObjectId remaining objects from null to ObjectId("deaddeaddeaddeaddeaddead") when there are more than 1000 objects. (Since v10.0.0-alpha.1)
- Fixed an assertion failure when adding an index to a nullable ObjectId property that contains nulls. (since v10.0.0-alpha.1).
This release also contains the following changes from 5.4.0 - 5.4.6:
Enhancements
- Add prebuilt binary for Xcode 11.7 to the release package.
- Add prebuilt binary for Xcode 12 to the release package.
- Improve the asymptotic performance of NOT IN queries on indexed properties. It is now O(Number of Rows) rather than O(Number of Rows * Number of values in IN clause.)
- Slightly (<5%) improve the performance of most operations which involve reading from a Realm file.
Fixed
- Upgrading pre-5.x files with string primary keys would result in a file where
realm.object(ofType:forPrimaryKey:)
would fail to find the object. (#6716, since 5.2.0) - A write transaction which modifies an object with more than 16 managed properties and causes the Realm file to grow larger than 2 GB could cause an assertion failure mentioning "m_has_refs". (JS #3194, since 5.0.0).
- Objects with more than 32 properties could corrupt the Realm file and result in a variety of crashes. (Java #7057, since 5.0.0).
- Fix deadlocks when opening a Realm file in both the iOS simulator and Realm Studio (#6743, since 5.3.6).
- Fix Springboard deadlocking when an app is unsuspended while it has an open Realm file which is stored in an app group on iOS 10-12 (#6749, since 5.3.6).
- If you use encryption your application could crash with a message like "Opening Realm files of format version 0 is not supported by this version of Realm". (#6889 among others, since 5.0.0)
- Confining a Realm to a serial queue would throw an error claiming that the queue was not a serial queue on iOS versions older than 12. (#6735, since 5.0.0).
- Results would sometimes give stale results inside a write transaction if a write which should have updated the Results was made before the first access of a pre-existing Results object. (#6721, since 5.0.0)
- Fix Archiving the Realm and RealmSwift frameworks with Xcode 12. (#6774)
- Fix compilation via Carthage when using Xcode 12 (#6717).
- Fix a crash inside
realm::Array(Type)::init_from_mem()
which would sometimes occur when running a query over links immediately after creating objects of the queried type. (#6789 and possibly others, since 5.0.0). - Possibly fix problems when changing the type of the primary key of an object from optional to non-optional.
- Rerunning an equality query on an indexed string property would give incorrect results if a previous run of the query matched multiple objects and it now matches one object. This could manifest as either finding a non-matching object or a "key not found" exception being thrown. (#6536, since 5.0.0).
Compatibility
- File format: Generates Realms with format v12 (Reads and upgrades all previous formats)
- Realm Studio: 10.0.0 or later.
- Carthage release for Swift is built with Xcode 12.
Internal
- Upgraded realm-core from v10.0.0-beta.7 to v10.0.0-beta.9
- Upgraded realm-sync from v10.0.0-beta.11 to v10.0.0-beta.14