Skip to content

RxRealm v6.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 22 Oct 03:13
· 1 commit to main since this release
805a7a6

Breaking changes

  • Requires RealmSwift 20.0.6 or newer (Realm 20.x). RealmSwift 20.0.2 does not build with Xcode 27; 20.0.6 does (#222, #220, #223).
  • Minimum deployment targets raised to match RealmSwift 20: iOS 15, macOS 12, tvOS 15, watchOS 9.
  • Removed the public Obs typealias. Use RxSwift.Observable instead.
  • Carthage is no longer supported. Use Swift Package Manager.

Fixed

  • Observable.collection(from:), array(from:), changeset(from:) and arrayWithChangeset(from:) with synchronousStart: true (the default) no longer lose a write that another thread commits between subscribing and Realm's first notification. Realm folds such a write into its initial notification, which these observables used to drop as a duplicate of the synchronous value. Now the initial notification is emitted when it's at a newer Realm version than the synchronous value. In that case changeset(from:) emits it with a nil changeset (#74).

Added

  • Observable.from(object:emitInitialValue:properties:on:) and Observable.propertyChanges(object:on:) accept a dispatch queue to deliver notifications on (#219).
  • SPM exposes both a static RxRealm product and a dynamic RxRealm-Dynamic product (#214).

Changed

  • The CocoaPods dependency is now RealmSwift only (it pulls in Realm), with RxSwift/RxCocoa ~> 6.9.
  • New CI: SwiftLint, swift test on macOS, xcodebuild test on iOS and tvOS, a watchOS build and pod lib lint. Releases are created from vX.Y.Z tags on main (see RELEASING.md).
  • Tests trigger background writes only after subscribing, which removes a race that could hang the suite, and every blocking wait now times out after 10 seconds.
  • Documentation is hosted on the Swift Package Index.