All notable changes to this project will be documented in this file.
- Improves KVO mechanism.
- Type of observed object is now first argument
view.rx_observe(CGRect.self, "frame")
- Support for observing ObjC bridged enums and
RawRepresentable
protocol - Support for easier extending of KVO using
KVORepresentable
protocol - Deprecates KVO extensions that don't accept type as first argument in favor of ones that do.
- Type of observed object is now first argument
- Adds
flatMapLatest
(also added toDriver
unit). - Adds
flatMapFirst
operator (also added toDriver
unit). - Adds
retryWhen
operator. - Adds
window
operator. - Adds
single
operator. - Adds
single
(blocking version) operator. - Adds
rx_primaryAction
onUIButton
fortvOS
. - Transforms error types in
RxSwift
/RxCocoa
projects fromNSError
s to Swift enum types.RxError
RxCocoaError
RxCocoaURLError
- ...
NSURLSession
extensions now returnObservable<(NSData!, NSHTTPURLResponse)>
instead ofObservable<(NSData!, NSURLResponse!)>
.- Optimizes consecutive map operators. For example
map(validate1).map(validate2).map(parse)
is now internally optimized to onemap
operator. - Adds overloads for
just
,sequenceOf
,toObservable
that accept scheduler. - Deprecates
asObservable
extension ofSequenceType
in favor oftoObservable
. - Adds
toObservable
extension toArray
. - Improves table view animated data source example.
- Polishing of
RxDataSourceStarterKit
differentiateForSectionedView
operatorrx_itemsAnimatedWithDataSource
extension
- Makes blocking operators run current thread's runloop while blocking and thus disabling deadlocks.
- Fixes example with
Variable
in playgrounds so it less confusing regarding memory management. - Fixes
UIImageView
extensions to useUIImage?
instead ofUIImage!
. - Fixes improper usage of
CustomStringConvertible
and replaces it withCustomDebugStringConvertible
.
- Optimizations. System now performs significantly fewer allocations and is several times faster then 2.0.0-beta.1
- Makes
AnonymousObservable
private in favor ofcreate
method. - Adds
toArray
operator (non blocking version). - Adds
withLatestFrom
operator, and also extendsDriver
with that operation. - Adds
elementAt
operator (non blocking version). - Adds
takeLast
operator. - Improves
RxExample
app. Adds retries example when network becomes available again. - Adds composite extensions to
Bag
(on
,disposeAllIn
). - Renames mistyped extension on
ObserverType
fromonComplete
toonCompleted
.
- Fixes minimal platform version in OSX version of library to 10.9
- Adds
Driver
unit. This unit uses Swift compiler to prove certain properties about observable sequences. Specifically- that fallback error handling is put in place
- results are observed on main thread
- work is performed only when there is a need (at least one subscriber)
- computation results are shared between different observers (replay latest element)
- Renames
ObserverOf
toAnyObserver
. - Adds new interface
ObservableConvertibleType
. - Adds
BlockingObservable
toRxBlocking
and makes it more consistent withRxJava
. - Renames
func subscribe(next:error:completed:disposed:)
tofunc subscribe(onNext:onError:onCompleted:onDisposed:)
- Adds concat convenience method
public func concat<O : ObservableConvertibleType where O.E == E>(second: O) -> RxSwift.Observable<Self.E>
- Adds
skipUntil
operator. - Adds
takeWhile
operator. - Renames
takeWhile
indexed version totakeWhileWithIndex
- Adds
skipWhile
operator. - Adds
skipWhileWithIndex
operator. - Adds
using
operator. - Renames
func doOn(next:error:completed:)
tofunc doOn(onNext:onError:onCompleted:)
. - Makes
RecursiveImmediateSchedulerOf
private. - Makes
RecursiveSchedulerOf
private. - Adds
ConcurrentMainScheduler
. - Adds overflow error so now in case of overflow, operators will return
RxErrorCode.Overflow
. - Adds
rx_modelAtIndexPath
toUITableView
andUICollectionView
. - Adds
var rx_didUpdateFocusInContextWithAnimationCoordinator: ControlEvent<(context:animationCoordinator:)>
toUITableView
andUICollectionView
- Makes
resultSelector
argument incombineLatest
explicitfunc combineLatest<O1, O2, R>(source1: O1, _ source2: O2, resultSelector: (O1.E, O2.E) throws -> R) -> RxSwift.Observable<R>
. - Makes
resultSelector
argument inzip
explicitfunc combineLatest<O1, O2, R>(source1: O1, _ source2: O2, resultSelector: (O1.E, O2.E) throws -> R) -> RxSwift.Observable<R>
. - Adds activity indicator example in
RxExample
app. - Adds two way binding example in
RxExample
app. - many other small features
- Problem with xcodebuild 7.0.1 treating tvOS shared schemes as osx schemes.
- Adds
tvOS
support - Adds
watchOS
support - Adds auto loading example to example app
- Restores old
Variable
behavior. Variable doesn't send anything on dealloc. - Adds performance tests target.
- Adds more detailed resource tracing during unit tests (important for further optimizations).
- Adds
UIStepper
extensions. - Adds
UIBarButtonItem
enabled property wrapper. - Adds response data to userInfo of error for
rx_response
extensions ofNSURLSession
. - Adds
onNext
,onError
andonCompleted
convenience methods toObserverType
.
- Fixes problem on some systems with unregistering
CurrentThreadScheduler
from current thread. - Fixes retry parameter naming (
maxAttemptCount
). - Fixes a lot of unit test warnings.
- Removes embedding of Swift library with built frameworks.
- Renames
ImmediateScheduler
protocol toImmediateSchedulerType
- Renames
Scheduler
protocol toSchedulerType
- Adds
CurrentThreadScheduler
- Adds
generate
operator - Cleanup of dead observer code.
- Removes
SpinLock
s in disposables in favor of more performantOSAtomicCompareAndSwap32
. - Adds
buffer
operator (version with time and count). - Adds
range
operator. - Adds
repeat
operator.
- Renames
ScopedDispose
toScopedDisposable
- Deprecates
observeSingleOn
in favor ofobserveOn
- Adds inline documentation
- Renames
from
toasObservable
extension method onSequenceType
- Renames
catchErrorResumeNext
in favor ofcatchErrorJustReturn
- Deprecates
catchErrorToResult
, the preferred way is to use Swiftdo/try/catch
mechanism. - Deprecates
RxResult
, the preferred way is to use Swiftdo/try/catch
mechanism. - Deprecates
sendNext
onVariable
in favor of just usingvalue
setter. - Renames
rx_searchText
torx_text
onUISearchBar+Rx
. - Changes parameter type for
rx_imageAnimated
to be transitionType (kCATransitionFade, kCATransitionMoveIn, ...).
- Problem in RxExample with missing
observeOn
for images.
- Removes deprecated APIs
- Adds
ObservableType
- Moved from using
>-
operator to protocol extensions - Change from
disposeBag.addDisposable
todisposable.addDisposableTo
- Changes in RxCocoa extensions to enable fluent style
- Rename of
do*
todoOn*
- Deprecates
returnElement
in favor ofjust
- Deprecates
aggregate
in favor ofreduce
- Deprecates
variable
in favor ofshareReplay(1)
(to be consistent with RxJS version) - Method
next
onVariable
in favor ofsendNext
- Adds Calculator example app
- Performance improvements for Queue
- Crash in
rx_didChangeAuthorizationStatus
. #89