Realm v10.28.0 Release Notes

Release Date: 2022-06-03 // about 2 years ago
  • โœจ Enhancements

    • ๐Ÿ“š Replace mentions of 'MongoDB Realm' with 'Atlas App Services' in the documentation and update appropriate links to documentation.
    • ๐Ÿ‘ Allow adding a subscription querying for all documents of a type in swift for flexible sync. try await subscriptions.update { subscriptions.append(QuerySubscription<SwiftPerson>(name: "all_people")) }
    • โž• Add Combine API support for flexible sync beta.
    • โž• Add an initialSubscriptions parameter when retrieving the flexible sync configuration from a user, which allows to specify a subscription update block, to bootstrap a set of flexible sync subscriptions when the Realm is first opened. There is an additional optional parameter flag rerunOnOpen, which allows to run this initial subscriptions on every app startup.
        let config = user.flexibleSyncConfiguration(initialSubscriptions: { subs in
            subs.append(QuerySubscription<SwiftPerson>(name: "people_10") {
                $0.age > 10
            })
        }, rerunOnOpen: true)
        let realm = try Realm(configuration: config)
    
    • ๐Ÿ”€ The sync client error handler will report an error, with detailed info about which object caused it, when writing an object to a flexible sync Realm outside of any query subscription. (#5528)
    • โž• Adding an object to a flexible sync Realm for a type that is not within a query subscription will now throw an exception. (#5488).

    ๐Ÿ›  Fixed

    • ๐Ÿ”€ Flexible Sync query subscriptions will correctly complete when data is synced to the local Realm. (#5553, since v12.0.0)

    ๐Ÿ’ฅ Breaking Changes

    • โšก๏ธ Rename SyncSubscriptionSet.write to SyncSubscriptionSet.update to avoid confusion with Realm.write.
    • โšก๏ธ Rename SyncSubscription.update to SyncSubscription.updateQuery to avoid confusion with SyncSubscriptionSet.update.
    • โšก๏ธ Rename RLMSyncSubscriptionSet.write to RLMSyncSubscriptionSet.update to align it with swift API.

    Compatibility

    • Realm Studio: 11.0.0 or later.
    • ๐Ÿš€ APIs are backwards compatible with all previous releases in the 10.x.y series.
    • ๐Ÿš€ Carthage release for Swift is built with Xcode 13.4.
    • CocoaPods: 1.10 or later.
    • Xcode: 13.1-13.4.

    Internal

    • โฌ†๏ธ Upgraded realm-core from 12.0.0 to 12.1.0.