Skip to content

Releases: ReactiveX/rxdart

Refactors backpressure

03 May 12:37
Compare
Choose a tag to compare

This version includes refactoring for the backpressure operators:

  • Breaking Change: debounce is now split into debounce and debounceTime.
  • Breaking Change: sample is now split into sample and sampleTime.
  • Breaking Change: throttle is now split into throttle and throttleTime.

Fixes and new Features

20 Feb 14:31
Compare
Choose a tag to compare
  • Breaking Change: BehaviorSubject now has a separate factory constructor seeded()
    This allows you to seed this Subject with a null value.
  • Breaking Change: BehaviorSubject will now emit an Error, if the last event was also an Error.
    Before, when an Error occurred before a listen, the subscriber would not be notified of that Error.
    To refactor, simply change all occurences of BehaviorSubject(seedValue: value) to BehaviorSubject.seeded(value)
  • Added the groupBy operator
  • Bugix: doOnCancel: will now await the cancel result, if it is a Future.
  • Removed: bufferWithCount, windowWithCount, tween
    Please use bufferCount and windowCount, tween is removed, because it never was an official Rx spec.
  • Updated Flutter example to work with the latest Flutter stable.

fixes and new features

12 Dec 21:04
Compare
Choose a tag to compare
  • Breaking Change: bufferCount had buggy behavior when using startBufferEvery (was skip previously)
    If you were relying on bufferCount with skip greater than 1 before, then you may have noticed
    erroneous behavior.
    • Breaking Change: repeat is no longer an operator which simply repeats the last emitted event n-times,
      instead this is now an Observable factory method which takes a StreamFactory and a count parameter.
      This will cause each repeat cycle to create a fresh Observable sequence.
    • mapTo is a new operator, which works just like map, but instead of taking a mapper Function, it takes
      a single value where each event is mapped to.
    • Bugfix: switchIfEmpty now correctly calls onDone
    • combineLatest and zip can now take any amount of Streams:
      • combineLatest2-9 & zip2-9 functionality unchanged, but now use a new path for construction.
      • adds combineLatest and zipLatest which allows you to pass through an Iterable<Stream> and a combiner that takes a List when any source emits a change.
      • adds combineLatestList / zipList which allows you to take in an Iterable<Stream> and emit a Observable<List> with the values. Just a convenience factory if all you want is the list!
      • Constructors are provided by the Stream implementation directly
    • Bugfix: Subjects that are transformed will now correctly return a new Observable where isBroadcast is true (was false before)
    • Remove deprecated operators which were replaced long ago: bufferWithCount, windowWithCount, amb, flatMapLatest

Async Bugfixes

30 Jun 19:27
Compare
Choose a tag to compare
  • Fix error with FlatMapLatest where it was not properly cancelled in some scenarios
  • Remove additional async methods on Stream handlers unless they're shown to solve a problem

Proper error handling, remove `call`

25 Jun 19:45
Compare
Choose a tag to compare
  • Remove call operator / StreamTransformer entirely. Please use do / DoStreamTransformer.
  • Important bug fix: Errors thrown within any Stream or Operator will now be properly sent to the StreamSubscription.
  • Improve overall handling of errors throughout the library to ensure they're handled correctly

doOnX and distinctUnique

02 Jun 23:34
Compare
Choose a tag to compare
  • Added doOn* operators in place of call.
  • Added DoStreamTransformer as a replacement for CallStreamTransformer
  • Deprecated call and CallStreamTransformer. Please use the appropriate doOnX operator / transformer.
  • Added distinctUnique. Emits items if they've never been emitted before. Same as to Rx#distinct.

Remove GroupBy

25 May 17:05
Compare
Choose a tag to compare

Breaking Api Change

  • Observable.groupBy has been removed in order to be compatible with the next version of the Stream class in Dart 1.24.0, which includes this method

Small documentation fixes

22 Mar 23:55
Compare
Choose a tag to compare
  • Remove ConcatMap link
  • Change BehaviorSubject link

Closing in on 1.0-beta

21 Mar 20:04
Compare
Choose a tag to compare
  • Api Changes
    • Observable
      • Remove all deprecated methods, including:
        • observable factory -- replaced by the constructor new Observable()
        • combineLatest -- replaced by Strong-Mode versions combineLatest2 - combineLatest9
        • zip -- replaced by Strong-Mode versions zip2 - zip9
      • Support asObservable conversion from Future-returning methods. e.g. new Observable.fromIterable([1, 2]).first.asObservable()
      • Max and Min now return a Future of the Max or Min value, rather than a stream of increasing or decreasing values.
      • Add cast operator
      • Remove ConcatMapStreamTransformer -- functionality is already supported by asyncExpand. Keep the concatMap method as an alias.
    • Subjects
      • BehaviourSubject has been renamed to BehaviorSubject
      • The subjects have been rewritten and include far more testing
      • In keeping with the Rx idea of Subjects, they are broadcast-only
  • Documentation -- extensive documentation has been added to the library with explanations and examples for each Future, Stream & Transformer.
    • Docs detailing the differences between RxDart and raw Observables.