Skip to content

The art of state

Pre-release
Pre-release
Compare
Choose a tag to compare
@kzaher kzaher released this 16 Nov 10:30
· 2946 commits to main since this release

This is a beta version of RxSwift 2.0.

Updated

  • 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.
  • Adds flatMapLatest (also added to Driver unit).
  • Adds flatMapFirst operator (also added to Driver unit).
  • Adds retryWhen operator.
  • Adds window operator.
  • Adds single operator.
  • Adds single (blocking version) operator.
  • Adds rx_primaryAction on UIButton for tvOS.
  • Transforms error types in RxSwift/RxCocoa projects from NSErrors to Swift enum types.
    • RxError
    • RxCocoaError
    • RxCocoaURLError
    • ...
  • NSURLSession extensions now return Observable<(NSData!, NSHTTPURLResponse)> instead of Observable<(NSData!, NSURLResponse!)>.
  • Optimizes consecutive map operators. For example map(validate1).map(validate2).map(parse) is now internally optimized to one map operator.
  • Adds overloads for just, sequenceOf, toObservable that accept scheduler.
  • Deprecates asObservable extension of SequenceType in favor of toObservable.
  • Adds toObservable extension to Array.
  • Improves table view animated data source example.
  • Polishing of RxDataSourceStarterKit
    • differentiateForSectionedView operator
    • rx_itemsAnimatedWithDataSource extension
  • Makes blocking operators run current thread's runloop while blocking and thus disabling deadlocks.

Fixed

  • Fixes example with Variable in playgrounds so it less confusing regarding memory management.
  • Fixes UIImageView extensions to use UIImage? instead of UIImage!.
  • Fixes improper usage of CustomStringConvertible and replaces it with CustomDebugStringConvertible.

Check out Migration guide to RxSwift 2.0