github realm/realm-cocoa v10.0.0-beta.6

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 (%) 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
latest releases: v10.11.0, v10.10.0, v10.9.0...
pre-release10 months ago