RxSwift v5.0.0 Release Notes

Release Date: 2019-04-29 // over 2 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.