Skip to content

Releases: ReactiveX/RxSwift

Kawazoi.1

27 Jan 07:22
5734ad2

Choose a tag to compare

This release is identical to 6.10.1 Kawazoi aside for fixing the Manifest for Swift 5.9 and also fixes for Swift < 6.2 in the code itself. Content-wise, 6.10.1 and 6.10 are identical.

Breaking Changes

  • CocoaPods support has been officially deprecated. This follows Cocoapods' read-only trunk notice. Please migrate to Swift Package Manager or Carthage.
  • 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:
stream.asObservable(priority: .userInitiated)
    .observe(on: MainScheduler.instance)
    .subscribe(onNext: { ... })

New Features

  • Android/non-Darwin support in Package.swift with CI testing, thanks @marcprux!
  • Swift Concurrency enabled for Linux - all async/await bridging features now work on Linux, thanks @CrownedPhoenix!
  • Xcode 26 & Swift 6.2 compatibility

Bug Fixes

  • Fixed deadlock in share(replay:) with concurrent subscriptions, thanks @isaac-weisberg!
  • Fixed Swift 6.2 weak mutability warning in Binder, thanks @kirillyakimovich!
  • Fix typo in VirtualTimeScheduler, thanks @serhii-bykov!
  • Fix typo: MutlicastType -> MulticastType, thanks @user-lody!
  • Update README.md, thanks @Olexandr88!

Maintenance

  • Removed legacy canImport(_Concurrency) checks
  • Removed CHANGELOG.md in favor of GitHub releases

New Contributors

Full Changelog: 6.9.1...6.10.0

Kawazoi

22 Jan 07:48

Choose a tag to compare

Breaking Changes

  • CocoaPods support has been officially deprecated. This follows Cocoapods' read-only trunk notice. Please migrate to Swift Package Manager or Carthage.
  • 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:
stream.asObservable(priority: .userInitiated)
    .observe(on: MainScheduler.instance)
    .subscribe(onNext: { ... })

New Features

  • Android/non-Darwin support in Package.swift with CI testing, thanks @marcprux!
  • Swift Concurrency enabled for Linux - all async/await bridging features now work on Linux, thanks @CrownedPhoenix!
  • Xcode 26 & Swift 6.2 compatibility

Bug Fixes

  • Fixed deadlock in share(replay:) with concurrent subscriptions, thanks @isaac-weisberg!
  • Fixed Swift 6.2 weak mutability warning in Binder, thanks @kirillyakimovich!
  • Fix typo in VirtualTimeScheduler, thanks @serhii-bykov!
  • Fix typo: MutlicastType -> MulticastType, thanks @user-lody!
  • Update README.md, thanks @Olexandr88!

Maintenance

  • Removed legacy canImport(_Concurrency) checks
  • Removed CHANGELOG.md in favor of GitHub releases

New Contributors

Full Changelog: 6.9.1...6.10.0

TheyreBack

25 Oct 07:00
5004a18

Choose a tag to compare

What's Changed

  • Fix race conditions in PrimitiveSequence+Concurrency by @0xpablo in #2641

New Contributors

Full Changelog: 6.9.0...6.9.1

500 πŸ’”

17 Feb 15:23
5dd1907

Choose a tag to compare

What's Changed

Members of the community made bug fixes, updates, and contributions:

  • Fix missing PrivacyInfo.xcprivacy in Carthage/xcframework by @pallzoltan in #2652
  • Fix possibly stack overflow in merge operators by @geoffmacd in #2616
  • Allow VirtualTimeScheduler to run on any thread (swift-testing enabler) by @danielt1263 in #2610
  • Fix missing CoreFoundation import for NSLock in Linux builds by @clackary in #2643
  • Hardcode light appearance in example app by @VAndrJ in #2612
  • Fix a typo in SwiftConcurrency docs by @chagmn in #2644

BringThemHome πŸŽ—οΈ

07 Oct 07:07
c7c7d2c

Choose a tag to compare

What's Changed

  • We've added an Empty Privacy Manifest to the framework. We are not actually required for a privacy manifest since we don't collect any information, but Apple keeps accidentally tagging the project as problematic, so we've added an empty one :)

  • You can now create a Single from an async piece of work, for example:

func doIncredibleWork() async throws -> AmazingResponse {
    ...
}

let single = Single.create {
    try await doIncredibleWork()
} // Single<AmazingResponse>

Along with our other existing bridging methods - we now cover the full range of use cases for interchangeably working with RxSwift and Swift Concurrency in a code base (AsyncStream -> Observable, Observable -> AsyncStream, Single -> awaitable value, awaitable value -> Single).

Check out the updated documentation for more details.


Members of the community have also made other bug fixes, updates, and contributions:

New Contributors

Full Changelog: 6.7.1...6.8.0

Seder.1 🌾

01 May 15:50
b06a8c8

Choose a tag to compare

RxSwift 6.7.1 🌾

  • Fixed an issue preventing RxSwift to build on visionOS

Seder 🌾

21 Apr 08:46
5949cbd

Choose a tag to compare

RxSwift 6.7.0 🌾

Onyx πŸͺ¨

12 May 12:18
9dcaa4b

Choose a tag to compare

RxSwift 6.6.0 πŸͺ¨

  • New helpful conversions to Infallible
  • Fix an issue with continuation leak for async/await bridge
  • Improve atomicity of BooleanDisposable
  • Crash workaround for Table/CollectionViewDelegateProxy
  • New Infallible helpers for CombineLatest
  • More minor fixes and updates
  • Support catalyst for xcframework distribution

Atlas

14 Jan 19:22

Choose a tag to compare

RxSwift 6.5.0 - Swift Concurrency is here! πŸŽŠπŸ’―

You can now use await on Observable-conforming objects (as well as Driver, Signal, Infallible, Single, Completable) using the following syntax:

do {
  for try await value in observable.values {
      print(value) // Next event
  }
  // Completed here
} catch {
  // Error event
  print("An error occurred:", error.localizedDescription)
}

Check out the full documentation for additional information: https://github.com/ReactiveX/RxSwift/blob/main/Documentation/SwiftConcurrency.md

Ethan.2

08 May 15:21

Choose a tag to compare

Support Xcode 12.5