All Versions
Latest Version
Avg Release Cycle
75 days
Latest Release

Changelog History
Page 4

  • v3.3.1 Changes


    • ๐Ÿ›  Fixes misspelled Completeable to Completable. #1134
  • 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 on ObservableType.
    • โž• Adds asMaybe() operator on ObservableType.
    • โž• Adds asCompletable() operator on ObservableType.
    • โž• Adds variadic combineLatest and zip overloads without result selector (defaults to tuple).
    • โž• Adds array combineLatest and zip 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 to RxTest.
    • โž• Adds countDownDuration to UIDatePicker.
    • โž• Adds attributedTitle(for:) to UIButton.
    • โž• Adds onSubscribed to do operator.
    • โž• Adds isUserInteractionEnabled to UIView.


    • ๐Ÿ‘Œ Improves DelegateProxy responds(to:) selector logic to only respond to used selectors. #1081, #1087
    • ๐Ÿ—„ Deprecates from() in favor of from(optional:) to avoid issues with implicit conversions to optional.
    • ๐Ÿ›  Fixes thread sanitizer reporting issues with merge operator. #1063
    • โ†ช Calls collectionViewLayout.invalidateLayout() after reloadData() as a workaround for iOS 10 bug.
    • โšก๏ธ Changes UICollectionView.rx.didUpdateFocusInContextWithAnimationCoordinator context parameter type to UICollectionViewFocusUpdateContext
  • v3.2.0 Changes

    • โž• Adds groupBy operator
    • โž• Adds ifEmpty(switchTo:) operator
    • โž• Adds [ifEmpty(default:)](( operator
    • โž• Adds Disposable extension disposed(by:) equivalent to addDisposableTo 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 and Observable.create.
    • โž• Adds DEBUG mode concurrent asserts for Sink.
    • ๐ŸŽ Small performance optimizations for subjects.
    • Adaptations for Xcode 8.3 beta.
    • โž• Adds numberOfPages to UIPageControl.
    • โž• Adds additional resources cleanup unit tests for cases where operators are used without DisposeBags.
    • Chroes:
      • Adds final keyword wherever applicable.
      • Remove unnecessary import Foundation statements.
      • Examples cleanup.


    • ๐Ÿ‘Œ 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 DisposeBags.
    • ๐Ÿ›  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.
  • v3.1.0 Changes

    • โž• Adds changed property to ControlProperty that returns ControlEvent of user generated changes.
      • { "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 to isRefreshing.
    • โž• adds UIWebView extensions:
      • didStartLoad
      • didFinishLoad
      • didFailLoad
    • โž• Adds UITabBarController extensions
      • willBeginCustomizing
      • willEndCustomizing
      • didEndCustomizing
      • didSelect
    • โž• Adds UIBarButtonItem extensions
      • title
    • ๐ŸŽ Performance optimizations
    • ๐Ÿ‘Œ Improves data source behavior by clearing data source proxy when forwarding delegate is nil.


    • ๐Ÿ›  Fixes anomaly caused by UITableView invalid state caching of previous data source even after the change. Binding of reactive data source now triggers layoutIfNeeded that invalidates that internal cached state.
    • ๐Ÿ›  Fixes issue with race in AnyRecursiveScheduler. #995
  • v3.0.1 Changes


    • ๐Ÿ›  Fixes RxCocoa problems on macOS (TextInput now uses NSTextInputClient)
    • Hides accidentally exposed BagKey structure.
    • ๐Ÿ‘‰ Makes notification extension name parameter optional.
  • v3.0.0 Changes

    • ๐Ÿ›  Prefixes boolean properties with is and makes String? properties consistent.
      • rx.hidden -> rx.isHidden
      • rx.enabled -> rx.isEnabled ... also ...
      • since rx.text has now type String? to be consistent with UIKit, in case String is needed there is rx.text.orEmpty that has String type.
    • ๐Ÿ“‡ Renames title(controlState:) on UIButton to title(for:).
    • All data structures are now internal (Bag, Queue, PriorityQueue ...)
    • ๐Ÿ‘Œ Improves performance of Bag.
    • ๐Ÿ’… Polishes RxCocoa URLSession extensions
      • JSON -> json
      • return type is Any instead of AnyObject
      • replaces response tuple parameters, now it's (HTTPResponse, Data)
      • removes name hiding for request parameter
    • ๐Ÿง Migrates Driver and NSNotification tests to Linux.
    • โœ‚ Removes RxTest from OSX + SPM integration until usable XCTest support on OSX.
    • ๐Ÿ“‡ Renames to OberverType.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(_:) with SectionedViewDataSourceType.model(at:)
    • ๐ŸŽ Renames OSX to macOS across the project.


    • ๐Ÿ›  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.
  • v3.0.0-rc.1 Changes

    • ๐Ÿ“ฆ Renames RxTests library to RxTest because of problems with Swift Package Manager.
    • โž• Adds Swift Package Manager support
    • โž• Adds Linux support
    • Replaces AnyObserver with UIBindingObserver in public interface.
    • ๐Ÿ“‡ Renames resourceCount to
    • ๐Ÿ‘‰ Makes rx.text type consistent with UIKit String? type.
    textField.rx.text          // <- now has type `ControlProperty<String?>`
    textField.rx.text.orEmpty  // <- now has type `ControlProperty<String>`
    • โž• Adds optional overloads for bindTo and drive. 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.
       .disposed(by: disposeBag)
    let text = Driver.just("")
       .disposed(by: disposeBag)
    • โž• Adds trim output parameter to debug operator. #930
    • ๐Ÿ“‡ Renames NSDate to Date everywhere.
    • โฑ Renames scheduler init param globalConcurrentQueueQOS to qos and removes custom enum wrapper.
    • โž• Adds setter to rx property to enable mutation of base object.
  • 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 makes Driver just a specialization of SharedSequence. That means Driver is now just one specific SharedSequence 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 choosing share as a sharing strategy instead of shareReplayLatestWhileConnected.

    • ๐Ÿšš Moves Reactive struct and ReactiveCompatible from RxCocoa to RxSwift to enable third party consumers to remove RxCocoa dependency.

    • โž• Add rx. extensions on Types.

    • ๐Ÿšš Moves UIImagePickerViewController and CLLocationManager out of RxCocoa to RxExample project because of App Store submissions issues on iOS 10.

    • โž• Adds sentMessage got its equivalent sequence methodInvoked that produces elements after method is invoked (vs before method is invoked).

    • ๐Ÿ—„ Deprecates observe method on DelegateProxy in favor of sentMessage.

    • โž• Adds simetric methodInvoked method on DelegateProxy that enables observing after method is invoked.

    • ๐Ÿšš Moves all delegate extensions from using sentMessage to using methodInvoked (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 or forwardToDelegate wasn't implementing UITableViewDataSource.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.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.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. Adds latest flag that controls should latest element be emitted after dueTime.
    • โž• Adds delay operator.
    • โž• Adds UISearchBar extensions:
      • bookmarkButtonClicked
      • resultsListButtonClicked
      • textDidBeginEditing
      • textDidEndEditing
    • ๐Ÿšš Moves CLLocationManager and UIImagePickerViewController 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 on DelegateProxy from assign to weak.
    • 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.


    • ๐Ÿ›  Fixes problem with UITable/CollectionView releasing of data sources when result subscription disposable wasn't retained.
    • ๐Ÿ›  Fixes all Xcode analyzer warnings