Realm v10.20.1 Release Notes

Release Date: 2021-12-14 // about 2 months ago
  • ๐Ÿ‘ Xcode 12.4 is now the minimum supported version of Xcode.

    ๐Ÿ›  Fixed

    • โž• Add missing Indexable support for UUID. (Cocoa #7545, since v10.10.0)

    ๐Ÿ’ฅ Breaking Changes

    • โ†ช All async functions now require Xcode 13.2 to work around an App Store/TestFlight bug that results in apps built with 13.0/13.1 which do not use libConcurrency but link a library which does crashing on startup.

    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.2.
    • CocoaPods: 1.10 or later.
    • Xcode: 12.2-13.2.

Previous changes from v10.20.0

  • โœจ Enhancements

    • Conform @ThreadSafe and ThreadSafeReference to Sendable.
    • ๐Ÿ‘ Allow using Swift enums which conform to PersistableEnum as the value type for all Realm collections.
    • AnyRealmCollection now conforms to Encodable.
    • ๐ŸŽ Greatly improve performance of reading AnyRealmValue and enum types from Realm collections.
    • AnyRealmCollection now conforms to Encodable.

    ๐Ÿ›  Fixed

    • @AutoOpen will open the existing local Realm file on any connection error rather than only when the connection specifically times out.
    • Do not allow progress state changes for @AutoOpen and @AsyncOpen after changing state to open(let realm) or error(let error).
    • ๐Ÿ”€ Logging out a sync user failed to remove the local Realm file for partitions with very long partition values that would have exceeded the maximum path length. (Core #4187, since v10.0.0)
    • Don't keep trying to refresh the access token if the client's clock is more than 30 minutes fast. (Core #4941)
    • ๐Ÿ›  Failed auth requests used a fixed long sleep rather than exponential backoff like other sync requests, which could result in very delayed reconnects after a device was offline long enough for the access token to expire (since v10.0.0).

    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.1.
    • CocoaPods: 1.10 or later.
    • Xcode: 12.2-13.1.

    Internal

    • โฌ†๏ธ Upgraded realm-core from 11.6.0 to 11.6.1.