Releases: ReactiveX/RxSwift
Releases · ReactiveX/RxSwift
2.6.1
Graham
Aenea
- 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.
Baneby
- 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)
.addDisposableTo(disposeBag)
...
let text = Driver.just("")
text.drive(label.rx.text)
.addDisposableTo(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.
Elena
- 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.
Oz
Features
- 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.
Black-Scholes
Requirements
- Xcode 8.0 beta 6 (8S201h)
- Swift 3.0
Features
- Modernizes API to be more consistent with Swift 3.0 API Design Guidelines
- Replaces
rx_*
prefix withrx.*
extensions. (Inspired by.lazy
collections API). We've tried annotate deprecated APIs with@available(*, deprecated, renamed: "new method")
but trivial replacements aren't annotated.rx_text
->rx.text
rx_tap
->rx.tap
rx_date
->rx.date
- ...
- Deprecates
subscribeNext
,subscribeError
,subscribeCompleted
in favor ofsubscribe(onNext:onError:onCompleted:onDisposed)
(The downsides of old extensions were inconsistencies with Swift API guidelines. They also weren't expressing that calling them actually performes additional subscriptions and thus potentially additional work beside just registering observers). - Deprecates
doOnNext
,doOnCompleted
,doOnError
in favor ofdo(onNext:onCompleted:onError:onSubscribe:onDisposed:)
- Adds
onSubscribe
andonDisposed
todo
operator. - Adds namespace for immutable disposables called
Disposables
- Deprecates
AnonymousDisposable
in favor ofDisposables.create(with:)
- Deprecates
NopDisposable
in favor ofDisposables.create()
- Deprecates
BinaryDisposable
in favor ofDisposables.create(_:_:)
- Deprecates
- Deprecates
toObservable
in favor ofObservable.from()
. - Replaces old javascript automation tests with Swift UI Tests.
- ...
Anomalies
- There is a problem using
UISwitch
extensions because it seems that a bug exists in UIKit that causes allUISwitch
instances to leak. #842
Dracarys
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
Malmö
Features
- Exposes
installForwardDelegate
. - Adds
proxyForObject
as protocol extension and deprecates global function version. - Improves
installForwardDelegate
assert messaging. - Improves gesture recognizer extensions to use typed gesture recognizers in
rx_event
. - Adds
RxTextInput
protocol to enable creating reactive extensions forUITextInput/NSTextInput
. - Adds
rx_willDisplayCell
andrx_didEndDisplayingCell
extensions toUITableView
. - Improves playgrounds.
Anomalies
- Fixes in documentation.
- Turns off Bitcode for
RxTests
CocoaPods integration. - Fixes
UITextField.rx_text
andUITextView.rx_text
integrations to be more robust when used with two way binding. - Fixes two way binding example code so it now properly handles IME used in Asian cultures and adds explanations how to properly perform two way bindings. #649
- Removes
distinctUntilChanged
from control extensions. #626
Wb / m²
Features
- adds
Driver.drive
withVariable
parameter. - exposes
RxSearchBarDelegateProxy
- adds
rx_cancelButtonClicked
toUISearchBar
. - adds
rx_searchButtonClicked
toUISearchBar
. - adds
UISearchController
extensions:rx_didDismiss
rx_didPresent
rx_present
rx_willDismiss
rx_willPresent
Anomalies
- Fixes anomaly with
multicast
disposing subscription. - Small grammar fixes in code.
- Fixes in documentation.