rxdart 0.20.0
rxdart: ^0.20.0 copied to clipboard
RxDart is an implementation of the popular reactiveX api for asynchronous programming, leveraging the native Dart Streams api.
0.20.0 #
- Breaking Change: bufferCount had buggy behavior when using
startBufferEvery(wasskippreviously) If you were relying on bufferCount withskipgreater than 1 before, then you may have noticed erroneous behavior. - Breaking Change:
repeatis 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. mapTois a new operator, which works just likemap, 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
- adds combineLatestList / zipList which allows you to take in an Iterable<Stream
- 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
0.19.0 #
- Breaking Change: Subjects
onCancelfunction now returnsvoidinstead ofFutureto properly comply with theStreamControllersignature. - Bugfix: FlatMap operator properly calls onDone for all cases
- Connectable Observable: An observable that can be listened to multiple times, and does not begin emitting values until the
connectmethod is called - ValueObservable: A new interface that allows you to get the latest value emitted by an Observable.
- Implemented by BehaviorSubject
- Convert normal observables into ValueObservables via
publishValueorshareValue
- ReplayObservable: A new interface that allows you to get the values emitted by an Observable.
- Implemented by ReplaySubject
- Convert normal observables into ReplayObservables via
publishReplayorshareReplay
0.18.1 #
- Add
retryWhenoperator. Thanks to Razvan Lung (@long1eu)! This can be used for custom retry logic.
0.18.0 #
- Breaking Change: remove
retypemethod, deprecated as part of Dart 2. - Add
flatMapIterable
0.17.0 #
- Breaking Change:
streamproperty on Observable is now private.- Avoids API confusion
- Simplifies Subject implementation
- Require folks who are overriding the
streamproperty to use asuperconstructor instead
- Adds proper onPause and onResume handling for
amb/race,combineLatest,concat,concat_eager,mergeandzip - Add
switchLatestoperator - Add errors and stacktraces to RetryError class
- Add
onErrorResumeandonErrorRetryWithoperators. These allow folks to return a specific stream or value depending on the error that occurred.
0.16.7 #
- Fix new buffer and window implementation for Flutter + Dart 2
- Subject now implements the Observable interface
0.16.6 #
- Rework for
bufferandwindow, allow to schedule using a sampler - added
buffer - added
bufferFuture - added
bufferTest - added
bufferTime - added
bufferWhen - added
window - added
windowFuture - added
windowTest - added
windowTime - added
windowWhen - added
onCountsampler forbufferandwindow - added
onFuturesampler forbufferandwindow - added
onTestsampler forbufferandwindow - added
onTimesampler forbufferandwindow - added
onStreamsampler forbufferandwindow
0.16.5 #
- Renames
ambtorace - Renames
flatMapLatesttoswitchMap - Renames
bufferWithCounttobufferCount - Renames
windowWithCounttowindowCount
0.16.4 #
- Adds
bufferTimetransformer. - Adds
windowTimetransformer.
0.16.3 #
- Adds
delaytransformer.
0.16.2 #
- Fix added events to
sinkare not processed correctly bySubjects.
0.16.1 #
- Fix
dematerializemethod for Dart 2.
0.16.0+2 #
- Add
valuetoBehaviorSubject. Allows you to get the latest value emitted by the subject if it exists. - Add
valuestoReplayrSubject. Allows you to get the values stored by the subject if any exists.
0.16.0+1 #
- Update Changelog
0.16.0 #
- breaks backwards compatibility, this release only works with Dart SDK >=2.0.0.
- Removed old
castin favour of the now native Stream cast method. - Override
retypeto return anObservable.
0.15.1 #
- Add
exhaustMapmap to inner observable, ignore other values until that observable completes. - Improved code to be dartdevc compatible.
- Add upper SDK version limit in pubspec
0.15.0 #
- Change
debounceto emit the last item of the source stream as soon as the source stream completes. - Ensure
debouncedoes not keep open any addition async timers after it has been cancelled.
0.14.0+1 #
- Change
DoStreamTransformerto return aFutureon cancel for api compatibility.
0.14.0 #
- Add
PublishSubject(thanks to @pauldemarco) - Fix bug with
doOnXoperators where callbacks were fired too often
0.13.1 #
- 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
0.13.0 #
- Remove
calloperator /StreamTransformerentirely - 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
0.12.0 #
- Added doOn* operators in place of
call. - Added
DoStreamTransformeras a replacement forCallStreamTransformer - Deprecated
callandCallStreamTransformer. Please use the appropriatedoOnXoperator / transformer. - Added
distinctUnique. Emits items if they've never been emitted before. Same as to Rx#distinct.
0.11.0 #
- !!!Breaking Api Change!!!
- Observable.groupBy has been removed in order to be compatible with the next version of the
Streamclass in Dart 1.24.0, which includes this method
- Observable.groupBy has been removed in order to be compatible with the next version of the
0.10.2 #
- BugFix: The new Subject implementation no longer causes infinite loops when used with ng2 async pipes.
0.10.1 #
- Documentation fixes
0.10.0 #
- Api Changes
- Observable
- Remove all deprecated methods, including:
observablefactory -- replaced by the constructornew Observable()combineLatest-- replaced by Strong-Mode versionscombineLatest2-combineLatest9zip-- replaced by Strong-Mode versionszip2-zip9
- Support
asObservableconversion 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
castoperator - Remove
ConcatMapStreamTransformer-- functionality is already supported byasyncExpand. Keep theconcatMapmethod as an alias.
- Remove all deprecated methods, including:
- 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
- Observable
- 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.
0.9.0 #
- Api Changes:
- Convert all StreamTransformer factories to proper classes
- Ensure these classes can be re-used multiple times
- Retry has moved from an operator to a constructor. This is to ensure the stream can be properly re-constructed every time in the correct way.
- Streams now properly enforce the single-subscription contract
- Convert all StreamTransformer factories to proper classes
- Include example Flutter app. To run it, please follow the instructions in the README.
0.8.3+1 #
- rename examples map to example
0.8.3 #
- added concatWith, zipWith, mergeWith, skipUntil
- cleanup of the examples folder
- cleanup of examples code
- added fibonacci example
- added search GitHub example
0.8.2+1 #
- moved repo into ReactiveX
- update readme badges accordingly
0.8.2 #
- added materialize/dematerialize
- added range (factory)
- added timer (factory)
- added timestamp
- added concatMap
0.8.1 #
- added never constructor
- added error constructor
- moved code coverage to codecov.io
0.8.0 #
- BREAKING: tap is replaced by call(onData)
- added call, which can take any combination of the following event methods: onCancel, onData, onDone, onError, onListen, onPause, onResume
0.7.1+1 #
- improved the README file
0.7.1 #
- added ignoreElements
- added onErrorResumeNext
- added onErrorReturn
- added switchIfEmpty
- added empty factory constructor
0.7.0 #
- BREAKING: rename combineXXXLatest and zipXXX to a numbered equivalent, for example: combineThreeLatest becomes combineLatest3
- internal refactoring, expose streams/stream transformers as a separate library
0.6.3+4 #
- changed ofType to use TypeToken
0.6.3+3 #
- added ofType
0.6.3+2 #
- added defaultIfEmpty
0.6.3+1 #
- changed concat, old concat is now concatEager, new concat behaves as expected
0.6.1 #
- Added concat
0.6.0 #
- BREAKING: startWith now takes just one parameter instead of an Iterable. To add multiple starting events, please use startWithMany.
- Added BehaviourSubject and ReplaySubject. These implement StreamController.
- BehaviourSubject will notify the last added event upon listening.
- ReplaySubject will notify all past events upon listening.
- DEPRECATED: zip and combineLatest, use their strong-type-friendly alternatives instead (available as static methods on the Observable class, i.e. Observable.combineThreeLatest, Observable.zipFour, ...)
0.5.1 #
- Added documentation (thanks to dustinlessard-wf)
- Fix tests breaking due to deprecation of expectAsync
- Fix tests to satisfy strong mode requirements
0.5.0 #
- As of this version, rxdart depends on SDK v1.21.0, to support the newly added generic method type syntax



