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()
.