RxSwift Versions Save

Reactive Programming in Swift

5.1.0

4 years ago

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

5.0.1

5 years ago
  • 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.

5.0.0

5 years ago

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.0

5 years ago
  • Compatibility with Xcode 10.2.
  • Adds missing UISearchBar.setDelegate().

4.4.2

5 years ago

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

4.4.1

5 years ago
  • 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.

4.4.0

5 years ago

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

4.3.1

5 years ago

Anomalies

  • Fixes issues with CocoaPods and Swift 4.2 version.

4.3.0

5 years ago
  • Compatibility with Xcode 10.0
  • Adds new insert extension to collect and add multiple disposables to DisposeBag.
  • Adds scan(into:accumulator:).
  • Adds queuePriority parameter (defaults to .normal) to OperationQueueScheduler.
  • Performance enhancement reduces Bag dispatch inline code size by 12%.
  • Adds customCaptureSubscriptionCallstack hook to allow custom subscription callstacks to be generated.
  • Remove usage of Variable from Playground, Example projects and Tests.
  • Add XCTAssertRecordedElements to XCTest+Rx.

Anomalies

  • Fix build issues on new arm64_32 architecture (watchOS 5).
  • Removes string interpolation warning.

4.2.0

5 years ago
  • Adds Smart Key Path subscripting to create a binder for property of object.
  • Adds UICollectionView extensions:
    • prefetchItems
    • cancelPrefetchingForItems
  • Adds UITableView extensions:
    • prefetchRows
    • cancelPrefetchingForRows
  • Fixes various spelling mistakes and missing parameters.
  • Adds UISegmentedControlExtensions:
    • titleForSegment(at:)
    • imageForSegment(at:)
  • Adds Maybe.ifEmpty(default:) operator.
  • Adds Maybe.ifEmpty(switchTo:) operator.
  • Adds Maybe.catchErrorJustReturn(_:) operator.
  • Add Single.flatMapMaybe(_:) operator.
  • Add Single.flatMapCompletable(_:) operator.
  • Add Single.zip(_:) operator.
  • Add Single.catchErrorJustReturn(_:) operator.
  • Add Single.asMaybe(_:) operator.
  • Add Single.asCompletable(_:) operator.

Anomalies

  • Lower macOS Deployment Target to 10.9
  • Deprecates UISegmentedControl.enabled(forSegmentAt:) in favor of UISegmentedControl.enabledForSegment(at:).