Changelog History
Page 1
-
v6.5.0 Changes
๐ฆ You can now use
await
onObservable
-conforming objects (as well asDriver
,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 towithUnretained
. 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 withAnyObject
s #2285 - Fix xcframework support for
RxCocoa
(Drag in new RxCocoaRuntime.xcframework alongsideRxCocoa
) - Freeze
MaybeEvent
andCompletableEvent
#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
- ๐ Deprecate withUnretained for
-
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 towithUnretained
. 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 withAnyObject
s #2285 - Fix xcframework support for
RxCocoa
(Drag in new RxCocoaRuntime.xcframework alongsideRxCocoa
) - Freeze
MaybeEvent
andCompletableEvent
#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
- ๐ Deprecate withUnretained for
-
v6.0.0-rc.2 Changes
November 21, 2020RxSwift 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 appropriateURLSession.rx.shouldLogRequest
configurable closure. - README, CI, and additional house cleaning.
-
v6.0.0-rc.1 Changes
October 06, 2020RxSwift 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) getBinder
s for all properties for free using@dynamicMemberLookup
. - ๐ New
Infallible
object which is identical toObservable
with the guarantee of never failing. - โ Add variadic
drive()
andemit()
to multiple observers and relays. - ๐ New
decode(type:decoder:)
operator forObsrvableType
s ofData
. SingleEvent
is now simplyResult<Element, Swift.Error>
and methods changed accordingly (e.g.subscribe(onSuccess:onFailure:)
).- โ Add
ReplayRelay
. - โ Add
distinctUntilChanged(at keyPath:)
. - โ Add
UIApplication
Reactive extensions . - Rename
catchError(_:)
tocatch(_:)
. - Rename
catchErrorJustReturn(_:)
tocatchAndReturn(_:)
. - ๐ Rename
elementAt(_:)
toelement(at:)
. - ๐ Rename
retryWhen(_:)
toretry(when:)
. - Rename
takeUntil(_:)
totake(until:)
andtakeUntil(behavior:_:)
totake(until:behavior:)
. - Rename
takeWhile(_:)
totake(while:)
andtakeWhile(behavior:_:)
totake(while:behavior:)
. - ๐ Rename
take(_:)
duration overload totake(for:)
(e.g.take(for: .seconds(3))
). - ๐ Rename
skipWhile(_:)
toskip(while:)
. - ๐ Rename
takeUntil(_:)
totake(until:)
. - ๐ Rename
observeOn
andsubscribeOn
toobserve(on:)
andsubscribe(on:)
. ignoreElements()
now returnsObservable<Never>
.- ๐ Make
SharedSequence
conform toObservableConvertibleType
. - โ Add
onDisposed
toMaybe
,Completable
andSingle
. - โก๏ธ Unify and optimize swizzling extensions into a single one.
- โ Add
DisposeBag
function builder to allow easy comma-less initialization of aDisposeBag
. - Advance support of
xcframework
s by enablingBUILD_LIBRARY_FOR_DISTRIBUTION
and cleaning up. - Many, many, many quality of life bugs and fixes.
- ๐ All
-
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
- ๐ Make
-
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, 2019RxSwift 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 ofDispatchTimeInterval
. For example -throttle(1.2)
would change tothrottle(.milliseconds(1200))
, whilethrottle(3)
would change tothrottle(.seconds(3))
. #1472 - ๐
Variable
is now entirely deprecated. #1922 do
now provides additional "after" closures. For example,do(onNext:)
anddo(afterNext:)
. #1898- ๐
bind(to:)
now supports multiple observers (e.g.bind(to: observer1, observer2)
). #1702 - ๐ Changes the return type of
ObservableType.toArray
toSingle
. #1923 - โ Adds
compactMap
. #1925 - ๐ Deprecate
Completable.merge
in favor ofCompletable.zip
. #1929 #1931 - RxSwift can be built as a Static Library using Carthage 0.33 and up. #1940
Anomalies
SubjectType.SubjectObserverType
has been renamed toSubjectType.Observer
. #1950- The
S
associated type has been renamed toSubject
where applicable. #1950 - The
S
generic constraint onSharedSequence
has been renamed toSharingStrategy
. #1951 - The
E
associated type onObservableConvertibleType
andObserverType
have been renamed toElement
. #1945 - The
C
andS
associated types have been renamed toCollection
andSequence
accordingly. #1949 - ๐ Renamed
ElementType
associatedtype toElement
. #1945 - ๐ Renamed
TraitType
associatedtype toTrait
. #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 ofcombineLatest
&zip
.
-
v4.5.0 Changes
April 01, 2019- Compatibility with Xcode 10.2.
- โ Adds missing
UISearchBar.setDelegate()
.