All Versions
58
Latest Version
Avg Release Cycle
75 days
Latest Release
-

Changelog History
Page 1

  • v6.5.0 Changes

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

    do {
      for value in try await 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

  • v6.2.0 Changes

    💥 Breaking

    • 🗄 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.

    Other changes

    • ➕ Add new subscribe(with:onNext:onError:onCompleted:onDisposed:) alternatives to withUnretained. This exists for all traits and types: Observable, Driver, Signal, Infallible, Completable, Single, Maybe #2290
    • 👍 Reactive now supports structs and value-types again, with the dynamic look-up specifically dealing with AnyObjects #2285
    • Fix xcframework support for RxCocoa (Drag in new RxCocoaRuntime.xcframework alongside RxCocoa)
    • Freeze MaybeEvent and CompletableEvent #2271 #2272
    • Fix missing RxCocoaRuntime.h header in RxCocoa podspec #2281
    • ✅ Remove invalid libswiftXCTest.dylib linking to support Xcode 12.5
    • 🖨 Print URLRequest body httpBody, regardless of HTTP Method #2288
  • v6.1.0 Changes

    💥 Breaking

    • 🗄 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.

    Other changes

    • ➕ Add new subscribe(with:onNext:onError:onCompleted:onDisposed:) alternatives to withUnretained. This exists for all traits and types: Observable, Driver, Signal, Infallible, Completable, Single, Maybe #2290
    • 👍 Reactive now supports structs and value-types again, with the dynamic look-up specifically dealing with AnyObjects #2285
    • Fix xcframework support for RxCocoa (Drag in new RxCocoaRuntime.xcframework alongside RxCocoa)
    • Freeze MaybeEvent and CompletableEvent #2271 #2272
    • Fix missing RxCocoaRuntime.h header in RxCocoa podspec #2281
    • ✅ Remove invalid libswiftXCTest.dylib linking to support Xcode 12.5
    • 🖨 Print URLRequest body httpBody, regardless of HTTP Method #2288
  • v6.0.0-rc.2 Changes

    November 21, 2020

    RxSwift 6.0.0 RC2

    🚀 This is the second and (probably) final Release Candidate of RxSwift 6.
    🚀 The official 6.0.0 should be released in the upcoming weeks and should be mostly identical to this.

    Note : RxSwift 6 supports Xcode 12 and Swift 5.3 and has a minimum deployment target of iOS 9.

    Everything in RC1, plus:

    • 👌 Support for XCFrameworks, with binaries now bundled with each release.
    • ⚡️ Updated tests for new Infallible trait.
    • 🛠 Fix an issue building for watchOS.
    • 🔧 Move URLSession logging settings to a more appropriate URLSession.rx.shouldLogRequest configurable closure.
    • README, CI, and additional house cleaning.
  • v6.0.0-rc.1 Changes

    October 06, 2020

    RxSwift 6.0.0 RC1

    🚀 This is the first Release Candidate of RxSwift 6.

    Note : RxSwift 6 supports Xcode 12 and Swift 5.3 and has a minimum deployment target of iOS 9.

    • 🆓 All ReactiveCompatible objects (.rx namespace) get Binders for all properties for free using @dynamicMemberLookup.
    • 🆕 New Infallible object which is identical to Observable with the guarantee of never failing.
    • ➕ Add variadic drive() and emit() to multiple observers and relays.
    • 🆕 New decode(type:decoder:) operator for ObsrvableTypes of Data.
    • SingleEvent is now simply Result<Element, Swift.Error> and methods changed accordingly (e.g. subscribe(onSuccess:onFailure:)).
    • ➕ Add ReplayRelay.
    • ➕ Add distinctUntilChanged(at keyPath:).
    • ➕ Add UIApplication Reactive extensions .
    • Rename catchError(_:) to catch(_:).
    • Rename catchErrorJustReturn(_:) to catchAndReturn(_:).
    • 📇 Rename elementAt(_:) to element(at:).
    • 📇 Rename retryWhen(_:) to retry(when:).
    • Rename takeUntil(_:) to take(until:) and takeUntil(behavior:_:) to take(until:behavior:).
    • Rename takeWhile(_:) to take(while:) and takeWhile(behavior:_:) to take(while:behavior:).
    • 📇 Rename take(_:) duration overload to take(for:) (e.g. take(for: .seconds(3))).
    • 📇 Rename skipWhile(_:) to skip(while:).
    • 📇 Rename takeUntil(_:) to take(until:).
    • 📇 Rename observeOn and subscribeOn to observe(on:) and subscribe(on:).
    • ignoreElements() now returns Observable<Never>.
    • 👉 Make SharedSequence conform to ObservableConvertibleType.
    • ➕ Add onDisposed to Maybe, Completable and Single.
    • ⚡️ Unify and optimize swizzling extensions into a single one.
    • ➕ Add DisposeBag function builder to allow easy comma-less initialization of a DisposeBag.
    • Advance support of xcframeworks by enabling BUILD_LIBRARY_FOR_DISTRIBUTION and cleaning up.
    • Many, many, many quality of life bugs and fixes.
  • v5.1.1 Changes

    March 26, 2020

    ⚡️ This update is mandatory if you want to use RxSwift in Xcode 11.4 / Swift 5.2 on macOS.

    • 👉 Make NSTextView not weak for Swift 5.2 and up. #2125
    • ➕ Add WKWebView navigation delegate reactive extensions. #2144

    Note:

    • The pre-built Carthage binary was built using Xcode 11.4 / Swift 5.2
    • 👍 We no longer guarantee support for Xcode 10.x. Maintaining these is counter-intuitive as they're over a year old and are ridden with bugs.

    Other improvements and additions can be found in the project's CHANGELOG.md

    Note:

    The pre-built Carthage binary was built using Xcode 11.4 / Swift 5.2

  • v5.1.0 Changes

    March 03, 2020
    • ✂ Remove UIWebView Reactive Extensions due to Apple's hard deprecation, starting April 2020. #2062
    • 👌 Support Mac Catalyst. #2062
    • 🛠 Fix FoundationNetworking imports for Linux.
    • ➕ Add compactMap to SharedSequence, Single and Maybe. #1978
    • ➕ Add UITextField.isSecureTextEntry binder. #1968
    • ✂ Remove "custom" Result in favor of Foundation.Result. #2006
    • 🛠 Fix compilation error in SharedSequence.createUnsafe. #2014
  • v5.0.1 Changes

    April 30, 2019
    • ⏪ Reverts Carthage integration from using static to dynamic libraries. #1960
  • v5.0.0 Changes

    April 29, 2019

    RxSwift 5 is a mostly source-compatible release targeting the Swift 5 compiler.

    🐧 Xcode 10.2 is the minimum supported version (or Swift 5 on Linux).

    🚀 If you're using Xcode 10.1 and below, please use RxSwift 4.5.

    • 🚚 Relays have been moved to a separate framework - RxRelay, and can be used without RxCocoa. #1924
    • 🗄 TimeInterval has been deprecated in favor of DispatchTimeInterval. For example - throttle(1.2) would change to throttle(.milliseconds(1200)), while throttle(3) would change to throttle(.seconds(3)). #1472
    • 🗄 Variable is now entirely deprecated. #1922
    • do now provides additional "after" closures. For example, do(onNext:) and do(afterNext:). #1898
    • 👍 bind(to:) now supports multiple observers (e.g. bind(to: observer1, observer2)). #1702
    • 🔄 Changes the return type of ObservableType.toArray to Single. #1923
    • ➕ Adds compactMap. #1925
    • 🔀 Deprecate Completable.merge in favor of Completable.zip. #1929 #1931
    • RxSwift can be built as a Static Library using Carthage 0.33 and up. #1940

    Anomalies

    • SubjectType.SubjectObserverType has been renamed to SubjectType.Observer. #1950
    • The S associated type has been renamed to Subject where applicable. #1950
    • The S generic constraint on SharedSequence has been renamed to SharingStrategy. #1951
    • The E associated type on ObservableConvertibleType and ObserverType have been renamed to Element. #1945
    • The C and S associated types have been renamed to Collection and Sequence accordingly. #1949
    • 📇 Renamed ElementType associatedtype to Element. #1945
    • 📇 Renamed TraitType associatedtype to Trait. #1945
    • 🐧 Make RxMutableBox supported on Linux in Swift 5. #1917
    • 🛠 Fix incorrect assignment to Thread.threadDictionary on Linux. #1912
    • combineLatest of an empty array now completes immediately. #1879
    • ➕ Add resultsSelector missing closure labels for some overloads of combineLatest & zip.
  • v4.5.0 Changes

    April 01, 2019
    • Compatibility with Xcode 10.2.
    • ➕ Adds missing UISearchBar.setDelegate().