RxSwift breaking changes

swift

7 curated breaking changes across major versions of RxSwift. Use this as a migration checklist before bumping dependencies.

7
changes
Breaking changes by transition
  • 6.10.1 \u2192 6.10.2breaking

    CocoaPods support has been officially deprecated. This follows Cocoapods' [read-only trunk notice](https://blog.cocoapods.org/CocoaPods-Specs-Repo/). Please migrate to Swift Package Manager or Carthage.

  • 6.10.1 \u2192 6.10.2breaking

    `AsyncSequence.asObservable()` now uses `Task.detached` instead of `Task`, aligning with how other Rx/Async bridging works. This removes a subtle foot-gun where iteration could unexpectedly inherit the calling task's actor context, potentially causing deadlocks or unexpected serialization. You can now also optionally provide a `TaskPriority`: ```swift stream.asObservable(priority: .userInitiated) .observe(on: MainScheduler.instance) .subscribe(onNext: { ... }) ``` -------------------------------

  • 6.10.0 \u2192 6.10.1breaking

    CocoaPods support has been officially deprecated. This follows Cocoapods' [read-only trunk notice](https://blog.cocoapods.org/CocoaPods-Specs-Repo/). Please migrate to Swift Package Manager or Carthage.

  • 6.10.0 \u2192 6.10.1breaking

    `AsyncSequence.asObservable()` now uses `Task.detached` instead of `Task`, aligning with how other Rx/Async bridging works. This removes a subtle foot-gun where iteration could unexpectedly inherit the calling task's actor context, potentially causing deadlocks or unexpected serialization. You can now also optionally provide a `TaskPriority`: ```swift stream.asObservable(priority: .userInitiated) .observe(on: MainScheduler.instance) .subscribe(onNext: { ... }) ``` -------------------------------

  • 6.9.1 \u2192 6.10.0breaking

    CocoaPods support has been officially deprecated. This follows Cocoapods' [read-only trunk notice](https://blog.cocoapods.org/CocoaPods-Specs-Repo/). Please migrate to Swift Package Manager or Carthage.

  • 6.9.1 \u2192 6.10.0breaking

    `AsyncSequence.asObservable()` now uses `Task.detached` instead of `Task`, aligning with how other Rx/Async bridging works. This removes a subtle foot-gun where iteration could unexpectedly inherit the calling task's actor context, potentially causing deadlocks or unexpected serialization. You can now also optionally provide a `TaskPriority`: ```swift stream.asObservable(priority: .userInitiated) .observe(on: MainScheduler.instance) .subscribe(onNext: { ... }) ``` -------------------------------

  • 6.0.0 \u2192 6.1.0breaking

    **Deprecate withUnretained for `Driver`** > **Note**: It is extremely rare to ship a breaking change in a patch release, but this is a relatively fresh feature with unusual circumstances. For the full story, see #2290.

API access

Get this data programmatically \u2014 free, no authentication.

curl https://depscope.dev/api/breaking/swift/RxSwift
RxSwift breaking changes — Swift migration guide | DepScope