RxSwift v6.0.0-rc.1 Release Notes

Release Date: 2020-10-06 // 18 days ago
  • 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.

Previous changes from v5.1.1

  • โšก๏ธ 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