github realm/realm-swift v10.54.0

7 hours ago

The minimum supported version of Xcode is now 15.3.

Enhancements

  • Build in Swift 6 language mode when using Xcode 16. Libraries build in Swift
    6 mode can be consumed by apps built in Swift 5 mode, so this should not have
    any immediate effects beyond eliminating some warnings and ensuring that all
    Realm APIs can be used in Swift 6 mode. Some notes about using Realm Swift in
    Swift 6:
    • try await Realm(actor: actor) has been replaced with try await Realm.open() to work around isolated parameters not being implemented for
      initializers (swiftlang/swift#71174). The actor is
      now automatically inferred and should not be manually passed in.
    • @ThreadSafe is not usable as a property wrapper on local variables and
      function arguments in Swift 6 mode. Sendability checking for property
      wrappers never got implemented due to them being quietly deprecated in favor
      of macros. It can still be used as a property wrapper for class properties
      and as a manual wrapper locally, but note that it does not combine well with
      actor-isolated Realms.
    • In Swift 6 mode a few mongo client functions have changed from returning
      [AnyHashable: Any] to Document. These should have been Document all
      along, and the old return type no longer compiles due to not being Sendable.
  • Some SwiftUI components are now explicitly marked as @MainActor. These
    types were implicitly @MainActor in Swift 5, but became nonisolated when
    using Xcode 16 in Swift 5 mode due to the removal of implicit isolation when
    using property wrappers on member variables. This resulted in some new
    sendability warnings in Xcode 16 (or errors in Swift 6 mode).
  • Add Xcode 16 and 16.1 binaries to the release packages.

Fixed

  • Having a query with a number of predicates ORed together may result in a
    crash on some platforms (strict weak ordering check failing on iphone)
    (#8028, since v10.50.0)

Compatibility

  • Realm Studio: 15.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 15.4.0.
  • CocoaPods: 1.10 or later.
  • Xcode: 15.3.0-16.1 beta.

Internal

  • Upgraded realm-core from v14.12.1 to 14.13.0

Don't miss a new realm-swift release

NewReleases is sending notifications on new releases.