Changelog History
Page 4
-
v3.3.1 Changes
Anomalies
- 🛠 Fixes misspelled
Completeable
toCompletable
. #1134
- 🛠 Fixes misspelled
-
v3.3.0 Changes
- ➕ Adds
Single
,Maybe
,Completable
traits inspired by RxJava (operators):create
deferred
just
error
never
delaySubscription
delay
do
filter
map
flatMap
observeOn
subscribeOn
catchError
retry
retryWhen
zip
- ➕ Adds
asSingle()
operator onObservableType
. - ➕ Adds
asMaybe()
operator onObservableType
. - ➕ Adds
asCompletable()
operator onObservableType
. - ➕ Adds variadic
combineLatest
andzip
overloads without result selector (defaults to tuple). - ➕ Adds array
combineLatest
andzip
overloads with result selector (defaults to array of elements) - ➕ Adds optimized synchronous
merge
operator to observable sequence (variadic, array, collection). #579 - ➕ Adds optimized synchronous
merge
operator to shared sequence (variadic, array, collection). - ➕ Adds
AsyncSubject
implementation. - ➕ Adds
XCTAssertEqual
overloads toRxTest
. - ➕ Adds
countDownDuration
toUIDatePicker
. - ➕ Adds
attributedTitle(for:)
toUIButton
. - ➕ Adds
onSubscribed
todo
operator. - ➕ Adds
isUserInteractionEnabled
toUIView
.
Anomalies
- 👌 Improves DelegateProxy
responds(to:)
selector logic to only respond to used selectors. #1081, #1087 - 🗄 Deprecates
from()
in favor offrom(optional:)
to avoid issues with implicit conversions to optional. - 🛠 Fixes thread sanitizer reporting issues with
merge
operator. #1063 - ↪ Calls
collectionViewLayout.invalidateLayout()
afterreloadData()
as a workaround for iOS 10 bug. - ⚡️ Changes
UICollectionView.rx.didUpdateFocusInContextWithAnimationCoordinator
context parameter type toUICollectionViewFocusUpdateContext
- ➕ Adds
-
v3.2.0 Changes
- ➕ Adds
groupBy
operator - ➕ Adds
ifEmpty(switchTo:)
operator - ➕ Adds [
ifEmpty(default:)
]((http://reactivex.io/documentation/operators/defaultifempty.html)) operator - ➕ Adds
Disposable
extensiondisposed(by:)
equivalent toaddDisposableTo
that is meant to replace it in future 4.0 version. - 🐧 Consolidates atomic operations on Linux and Darwin platform.
- ➕ Adds DEBUG mode concurrent asserts for
Variable
andObservable.create
. - ➕ Adds DEBUG mode concurrent asserts for
Sink
. - 🐎 Small performance optimizations for subjects.
- Adaptations for Xcode 8.3 beta.
- ➕ Adds
numberOfPages
toUIPageControl
. - ➕ Adds additional resources cleanup unit tests for cases where operators are used without
DisposeBag
s. - Chroes:
- Adds
final
keyword wherever applicable. - Remove unnecessary
import Foundation
statements. - Examples cleanup.
- Adds
Anomalies
- 👌 Improves behavior of
shareReplayWhileConnected
by making sure that events emitted after disconnect are ignored even in case of fast reconnect. - 🛠 Fixes a couple of operators that were not cleaning up resources on terminal events when used without
DisposeBag
s. - 🛠 Fixes delegate proxy interaction with subclassing of
UISearchController
. - 🛠 Fixes delegate proxy interaction with subclassing of
NSTextStorage
. - 🛠 Fixes delegate proxy interaction with subclassing of
UIWebView
. - 🛠 Fixes delegate proxy interaction with subclassing of
UIPickerView
.
- ➕ Adds
-
v3.1.0 Changes
- ➕ Adds
changed
property toControlProperty
that returnsControlEvent
of user generated changes.textField.text.changed.map { "User changed text to \($0)" }
- ➕ Adds optional overloads for
from
operator.let num: Int? = 3; let sequence = Observable.from(num)
- 👌 Improves
UIBindingObserver
by tolerating binding from non main dispatch queue. In case binding is attempted from non main dispatch queue it will be automagically dispathed async to main queue. - 👉 Makes control property naming consistent for
UIDatePicker
,UISearchBar
,UISegmentedControl
,UISwitch
,UITextField
,UITextView
(value
property + value alias name). - ➕ Adds missing extension to
UIScrollView
.didScroll
didZoom
didEndDecelerating
didEndDragging
didScrollToTop
- 📇 Renames
refreshing
toisRefreshing
. - ➕ adds
UIWebView
extensions:didStartLoad
didFinishLoad
didFailLoad
- ➕ Adds
UITabBarController
extensionswillBeginCustomizing
willEndCustomizing
didEndCustomizing
didSelect
- ➕ Adds
UIBarButtonItem
extensionstitle
- 🐎 Performance optimizations
- 👌 Improves data source behavior by clearing data source proxy when forwarding delegate is
nil
.
Anomalies
- 🛠 Fixes anomaly caused by
UITableView
invalid state caching of previous data source even after the change. Binding of reactive data source now triggerslayoutIfNeeded
that invalidates that internal cached state. - 🛠 Fixes issue with race in
AnyRecursiveScheduler
. #995
- ➕ Adds
-
v3.0.1 Changes
Anomalies
- 🛠 Fixes RxCocoa problems on macOS (
TextInput
now usesNSTextInputClient
) - Hides accidentally exposed
BagKey
structure. - 👉 Makes
notification
extensionname
parameter optional.
- 🛠 Fixes RxCocoa problems on macOS (
-
v3.0.0 Changes
- 🛠 Prefixes boolean properties with
is
and makesString?
properties consistent.rx.hidden
->rx.isHidden
rx.enabled
->rx.isEnabled
... also ...- since
rx.text
has now typeString?
to be consistent with UIKit, in caseString
is needed there isrx.text.orEmpty
that hasString
type.
- 📇 Renames
title(controlState:)
onUIButton
totitle(for:)
. - All data structures are now internal (
Bag
,Queue
,PriorityQueue
...) - 👌 Improves performance of
Bag
. - 💅 Polishes RxCocoa
URLSession
extensionsJSON
->json
- return type is
Any
instead ofAnyObject
- replaces response tuple parameters, now it's
(HTTPResponse, Data)
- removes name hiding for
request
parameter
- 🐧 Migrates
Driver
andNSNotification
tests toLinux
. - ✂ Removes RxTest from OSX + SPM integration until usable XCTest support on OSX.
- 📇 Renames
ObserverType.map
toOberverType.mapObserver
because of possible ambigutites with subjects. - 👌 Improves dispatch queue detection logic and replaces concept of threads in favor of dispatch queues (solves a lot of problems on Linux environment).
- Replaces
SectionedViewDataSourceType.model(_:)
withSectionedViewDataSourceType.model(at:)
- 🍎 Renames
OSX
tomacOS
across the project.
Anomalies
- 🛠 Fixes wrong casing in
#import "include/_RXObjCRuntime.h"
(was creating issues for people with case sensitive file system). #949 - 🛠 Fixes issues with locking strategy for subjects. #936
- 🛠 Fixes code example in comments of RxTableViewExtensions that didn't compile. #947
- ➕ Adds
.swift-version
to help package managers to detect Swift 3 version.
- 🛠 Prefixes boolean properties with
-
v3.0.0-rc.1 Changes
- 📦 Renames
RxTests
library toRxTest
because of problems with Swift Package Manager. - ➕ Adds Swift Package Manager support
- ➕ Adds Linux support
- Replaces
AnyObserver
withUIBindingObserver
in public interface. - 📇 Renames
resourceCount
toResources.total
. - 👉 Makes
rx.text
type consistent with UIKitString?
type.
textField.rx.text // <- now has type `ControlProperty<String?>` textField.rx.text.orEmpty // <- now has type `ControlProperty<String>`
- ➕ Adds optional overloads for
bindTo
anddrive
. Now the following works:
let text: Observable<String> = Observable.just("") // Previously `map { $0 }` was needed because of mismatch betweeen sequence `String` type and `String?` type // on binding `rx.text` observer. text.bindTo(label.rx.text) .disposed(by: disposeBag) ... let text = Driver.just("") text.drive(label.rx.text) .disposed(by: disposeBag)
- ➕ Adds trim output parameter to
debug
operator. #930 - 📇 Renames
NSDate
toDate
everywhere. - ⏱ Renames scheduler init param
globalConcurrentQueueQOS
toqos
and removes custom enum wrapper. - ➕ Adds setter to
rx
property to enable mutation of base object.
- 📦 Renames
-
v3.0.0-beta.2 Changes
Subscription disposables now only create strong references to sinks until being disposed or sequence terminates. #573
Introduces
SharedSequence
and makesDriver
just a specialization ofSharedSequence
. That meansDriver
is now just one specificSharedSequence
and it is now possible to easily create new concepts that have another compile time guarantees in a couple of lines of code. E.g. choosing a background scheduler on which elements are delivered, or choosingshare
as a sharing strategy instead ofshareReplayLatestWhileConnected
.🚚 Moves
Reactive
struct andReactiveCompatible
fromRxCocoa
toRxSwift
to enable third party consumers to removeRxCocoa
dependency.➕ Add
rx.
extensions on Types.🚚 Moves
UIImagePickerViewController
andCLLocationManager
out ofRxCocoa
toRxExample
project because of App Store submissions issues on iOS 10.➕ Adds
sentMessage
got its equivalent sequencemethodInvoked
that produces elements after method is invoked (vs before method is invoked).🗄 Deprecates
observe
method onDelegateProxy
in favor ofsentMessage
.➕ Adds simetric
methodInvoked
method onDelegateProxy
that enables observing after method is invoked.🚚 Moves all delegate extensions from using
sentMessage
to usingmethodInvoked
(that fixes some problem with editing data sources)🛠 Fixes problem with
RxTableViewDataSourceProxy
source enabling editing of table view cells (swipe on delete) even if there weren't any observers orforwardToDelegate
wasn't implementingUITableViewDataSource.tableView(_:commit:forRowAt:)
. #907👉 Makes
DelegateProxy
open. #884🚚 Deprecates extensions that were polluting Swift collection namespaces and moves them to static functions on
Observable
Observable.combineLatest
Observable.zip
Observable.concat
Observable.catchError
(sequence version)Observable.amb
🚚 Deprecates extensions that were polluting Swift collection namespaces and moves them to static functions on
Driver
Driver.combineLatest
Driver.zip
Driver.concat
Driver.catchError
(sequence version)Driver.amb
⚡️ Update Getting Started document, section on creating an observable that performs work to Swift 3.0.
✂ Removes stale installation instructions.
-
v3.0.0-beta.1 Changes
- Adapts to new Swift 3.0 syntax.
- ✅ Corrects
throttle
operator behavior to be more consistent with other platforms. Addslatest
flag that controls should latest element be emitted after dueTime. - ➕ Adds
delay
operator. - ➕ Adds
UISearchBar
extensions:bookmarkButtonClicked
resultsListButtonClicked
textDidBeginEditing
textDidEndEditing
- 🚚 Moves
CLLocationManager
andUIImagePickerViewController
extensions from RxCocoa to RxExample project. #874
* ➕ Adds matrix CI builds.
-
v2.6.0 Changes
🔋 Features
- ➕ Adds Swift 2.3 compatibility.
- ➕ Adds
UIViewController.rx_title
extension. - ➕ Adds
UIScrollView.rx_scrollEnabled
extension. - Resolve static analysis issues relating to non-use of an assigned value, and potential null dereferences in RxCocoa's Objective-C classes.
- 🔄 Changes
forwardDelegate
property type onDelegateProxy
fromassign
toweak
. - Simplifies UITable/CollectionView data source generic parameters.
- ➕ Adds simple usage examples to UITable/CollectionView data source extensions.
- 📚 Documents UITable/CollectionView data source extensions memory management and adds unit tests to cover that documentation.
- ➕ Adds
.jazzy.yml
- ➕ Adds
UITabBar
extensions and delegate proxy wrapper- rx_didSelectItem
- rx_willBeginCustomizing
- rx_didBeginCustomizing
- rx_willEndCustomizing
- rx_didEndCustomizing
- ➕ Adds
UIPickerView
delegate proxy and extensions:- rx_itemSelected
- ➕ Adds
UIAlertAction.rx_enabled
extension. - ➕ Adds
UIButton.rx_title(controlState: UIControlState = .Normal)
extension. - ➕ Adds
UIPageControl.rx_currentPage
extension. - ➕ Adds
hasObservers
property to*Subject
.
Anomalies
- 🛠 Fixes problem with UITable/CollectionView releasing of data sources when result subscription disposable wasn't retained.
- 🛠 Fixes all Xcode analyzer warnings