Skip to content

v10.34.0

Compare
Choose a tag to compare
@realm-ci realm-ci released this 14 Jan 00:21
· 398 commits to master since this release
d63923f

Swift 5.5 is no longer supported. Swift 5.6 (Xcode 13.3) is now the minimum supported version.

The prebuilt binary for Carthage is now build with Xcode 14.2.

Enhancements

  • Improve performance of creating Projection objects and of change notifications on projections (PR #8050).
  • Allow initialising any sync configuration with cancelAsyncOpenOnNonFatalErrors.
  • Improve performance of Combine value publishers which do not use the object/collection changesets a little.
  • All public types have been audited for sendability and are now marked as Sendable when applicable. A few types which were incidentally not thread-safe but make sense to use from multiple threads are now thread-safe.
  • Add support for building Realm with strict concurrency checking enabled.

Fixed

  • Fix bad memory access exception that can occur when watching change streams. PR #8039.
  • Object change notifications on projections only included the first projected property for each source property (PR #8050, since v10.21.0).
  • @AutoOpen failed to open flexible sync Realms while offline (#7986, since v10.27.0).
  • Fix "Publishing changes from within view updates is not allowed" warnings when using @ObservedResults or @ObservedSectionedResults (#7908).
  • Fix "Publishing changes from within view updates is not allowed" warnings when using @AutoOpen or @AsyncOpen. (#7908).
  • Defer Realm.asyncOpen execution on @AsyncOpen and @AutoOpen property wrappers until all the environment values are set. This will guarantee the configuration and partition value are set set before opening the realm. (#7931, since v10.12.0).
  • @ObservedResults.remove() could delete the wrong object if a write on a background thread which changed the index of the object being removed occurred at a very specific time (since v10.6.0).

Compatibility

  • Realm Studio: 11.0.0 - 12.0.0. 13.0.0 is currently incompatible.
  • APIs are backwards compatible with all previous releases in the 10.x.y series.
  • Carthage release for Swift is built with Xcode 14.2.
  • CocoaPods: 1.10 or later.
  • Xcode: 13.3-14.2.