Skip to content

Releases: ReactiveX/RxSwift

6.0.0 RC1

06 Oct 18:44
Compare
Choose a tag to compare
6.0.0 RC1 Pre-release
Pre-release

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.

Catalyst.1

26 Mar 05:17
Compare
Choose a tag to compare

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.1 / Swift 5.2.2

Catalyst

03 Mar 21:19
Compare
Choose a tag to compare

This release removes UIWebView Reactive Extensions due to Apple's hard deprecation, starting April 2020 which also allows RxSwift to be used in Catalyst apps. #2062

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

Note:

The pre-built Carthage binary was built using Xcode 11.3.1 / Swift 5.1.3

ShaiTheBravest

30 Apr 13:31
Compare
Choose a tag to compare
  • Reverts Carthage integration from using static to dynamic libraries. #1960

NOTE: This release is only relevant to Carthage users (#1960), there are no code changes between RxSwift 5.0.0 and 5.0.1.

ShaiTheBrave

29 Apr 19:40
Compare
Choose a tag to compare

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.

[4,5]

01 Apr 20:06
Compare
Choose a tag to compare
  • Compatibility with Xcode 10.2.
  • Adds missing UISearchBar.setDelegate().

Atomic.2

10 Mar 22:47
Compare
Choose a tag to compare

4.4.2

  • Adds UIView.rx.backgroundColor Binder. #1888

Anomalies

  • Fix multiple disposes on ScheduledDisposables. #1892
  • Fix DelegateProxy main thread validation. #1882
  • Bring back the first operator to ObservableType. #1886

Atomic.1

09 Feb 16:59
a2348ce
Compare
Choose a tag to compare
  • Adds takeUntil(_ behavior:predicate:).

Anomalies

  • Fixes problems with RxAtomic and thread sanitizer. #1853
  • Fixes problem with passing 0 count to Observable.range. #1870
  • Fixes Swift 5.0 warnings. #1859
  • Fixes problem with RxCocoa and DISABLE_SWIZZLING flag. #1805
  • Internal cleanups:
    • Unused code deletions.
    • Adds SwiftLint.
    • Removes legacy Swift 3.0 conditional compilation flags.

Atomic

02 Nov 08:11
e8aa1d8
Compare
Choose a tag to compare

This relase introduces new framework RxAtomic that enables using C11 atomic primities in RxSwift as a replacement for deprecated OSAtomic* functions.
Carthage users will probably need to include this framework manually.

  • Updates deprecated OSAtomic* primitives to use C11 atomic primitives.
  • Adds Event, SingleEvent, MaybeEvent and Recorded conditional conformance to Equatable where their Element is equatable on RXTest for clients that are using Swift >= 4.1.
  • Adds string to NSTextView.
  • Consolidates per platform frameworks to multi-platform frameworks.
  • Xcode 10.1 compatible.

Anomalies

  • Fixes problem with canceling events scheduled on serial scheduler through observeOn operator. #1778
  • Fixes problem with UISearchBar.text property not triggering update when cancel button is tapped. #1714
  • Updates watchos minimum target to 3.0. #1752

RotWeiß.1

21 Sep 07:09
0df62b4
Compare
Choose a tag to compare

Anomalies

  • Fixes issues with CocoaPods and Swift 4.2 version.