Skip to content

Upgrading rxdart 0.20 to 0.21

Breaking0.20.0 → 0.21.0Breaking3New1Fixed1Other1

BreakingUpgrade verdict

2 breaking changes.

  • Three APIs were removed. Replace bufferWithCount with bufferCount and windowWithCount with windowCount; tween is gone entirely.
  • You now create a seeded BehaviorSubject with a dedicated constructor, which also lets you start it with a null value.
2 items need code or config changes
Breaking2
Removes bufferWithCount, windowWithCount and tween; use bufferCount and windowCount instead.
bufferWithCountwindowWithCounttweenbufferCountwindowCount
BehaviorSubject now has a separate factory constructor seeded() that allows seeding the Subject with a null value.
BehaviorSubjectBehaviorSubject.seeded()

Generated by DepDelta from published Dart source. Not mixed with prose notes.

  • removed: class BufferWithCountStreamTransformer<T> extends StreamTransformerBase<T, List<T>>
  • removed: class TweenStream extends Stream<double>
  • removed: class WindowWithCountStreamTransformer<T> extends StreamTransformerBase<T, Stream<T>>
  • removed: ctor BufferWithCountStreamTransformer(this.count, [this.skip])
  • removed: ctor TweenStream(double startValue, double changeInTime, Duration duration, int intervalMs, Ease ease)
  • removed: ctor WindowWithCountStreamTransformer(this.count, [this.skip])
  • removed: enum Ease
  • removed: field BufferWithCountStreamTransformer.count: final int
  • removed: field BufferWithCountStreamTransformer.skip: final int
  • removed: field TweenStream.controller: final StreamController<double>
  • removed: field WindowWithCountStreamTransformer.count: final int
  • removed: field WindowWithCountStreamTransformer.skip: final int
  • removed: get easeIn: Sampler
  • removed: get easeInOut: Sampler
  • removed: get easeOut: Sampler
  • removed: get linear: Sampler
  • removed: member Ease.IN
  • removed: member Ease.IN_OUT
  • removed: member Ease.LINEAR
  • removed: member Ease.OUT
  • removed: method BufferWithCountStreamTransformer.bind(Stream<T> stream): Stream<List<T>>
  • removed: method TweenStream.listen(void onData(double event), {Function onError, void onDone(), bool cancelOnError}): StreamSubscription<double>
  • removed: method WindowWithCountStreamTransformer.bind(Stream<T> stream): Stream<Stream<T>>
  • removed: static method BufferWithCountStreamTransformer.assertCountAndSkip(int count, [int skip]): void
  • removed: static method Observable.tween( double startValue, double changeInTime, Duration duration, {int intervalMs = …, Ease ease = …}): Observable<double>
  • removed: static method TweenStream.sampleFromValues<T>(Sampler sampler, double startValue, double changeInTime, int durationMs, int intervalMs): Stream<double>
  • removed: static method WindowWithCountStreamTransformer.assertCountAndSkip(int count, [int skip]): void
  • removed: typedef double Sampler( double startValue, double changeInTime, int currentTimeMs, int durationMs)
  • changed: ctor BehaviorSubject({ T seedValue, void onListen(), void onCancel(), bool sync = …, }) → ctor BehaviorSubject({ void onListen(), void onCancel(), bool sync = …, })
  • changed: ctor PublishSubject({void onListen(), void onCancel(), bool sync = …}) → ctor PublishSubject( {void onListen(), void onCancel(), bool sync = …})
  • changed: ctor ValueConnectableObservable(Stream<T> source, {T seedValue}) → ctor ValueConnectableObservable(Stream<T> source)
  • changed: method Observable.publishValue({T seedValue}): ValueConnectableObservable<T> → method Observable.publishValue(): ValueConnectableObservable<T>
  • changed: method Observable.shareValue({T seedValue}): ValueObservable<T> → method Observable.shareValue(): ValueObservable<T>
  • added: class GroupByObservable<T, S> extends Observable<T>
  • added: class GroupByStreamTransformer<T, S> extends StreamTransformerBase<T, GroupByObservable<T, S>>
  • added: ctor BehaviorSubject.seeded( T seedValue, { void onListen(), void onCancel(), bool sync = …, })
  • added: ctor GroupByObservable(this.key, Stream<T> stream)
  • added: ctor GroupByStreamTransformer(this.grouper)
  • added: ctor ValueConnectableObservable.seeded( Stream<T> source, T seedValue, )
  • added: field GroupByObservable.key: final S
  • added: get BehaviorSubject.hasValue: bool
  • added: get ValueConnectableObservable.hasValue: bool
  • added: get ValueObservable.hasValue: bool
  • added: method BehaviorSubject.onAddError(Object error, [StackTrace stackTrace]): void
  • added: method GroupByStreamTransformer.Function(T): S
  • added: method GroupByStreamTransformer.bind(Stream<T> stream): Stream<GroupByObservable<T, S>>
  • added: method Observable.groupBy<S>(S grouper(T value)): Observable<GroupByObservable<T, S>>
  • added: method Observable.publishValueSeeded(T seedValue): ValueConnectableObservable<T>
  • added: method Observable.shareValueSeeded(T seedValue): ValueObservable<T>
  • added: method Subject.onAddError(Object error, [StackTrace stackTrace]): void
  • removed: class TweenStream extends Stream<double>
  • removed: ctor TweenStream(double startValue, double changeInTime, Duration duration, int intervalMs, Ease ease)
  • removed: enum Ease
  • removed: field TweenStream.controller: final StreamController<double>
  • removed: get easeIn: Sampler
  • removed: get easeInOut: Sampler
  • removed: get easeOut: Sampler
  • removed: get linear: Sampler
  • removed: member Ease.IN
  • removed: member Ease.IN_OUT
  • removed: member Ease.LINEAR
  • removed: member Ease.OUT
  • removed: method TweenStream.listen(void onData(double event), {Function onError, void onDone(), bool cancelOnError}): StreamSubscription<double>
  • removed: static method TweenStream.sampleFromValues<T>(Sampler sampler, double startValue, double changeInTime, int durationMs, int intervalMs): Stream<double>
  • removed: typedef double Sampler( double startValue, double changeInTime, int currentTimeMs, int durationMs)
  • changed: ctor BehaviorSubject({ T seedValue, void onListen(), void onCancel(), bool sync = …, }) → ctor BehaviorSubject({ void onListen(), void onCancel(), bool sync = …, })
  • changed: ctor PublishSubject({void onListen(), void onCancel(), bool sync = …}) → ctor PublishSubject( {void onListen(), void onCancel(), bool sync = …})
  • added: ctor BehaviorSubject.seeded( T seedValue, { void onListen(), void onCancel(), bool sync = …, })
  • added: get BehaviorSubject.hasValue: bool
  • added: method BehaviorSubject.onAddError(Object error, [StackTrace stackTrace]): void
  • added: method Subject.onAddError(Object error, [StackTrace stackTrace]): void
  • removed: class BufferWithCountStreamTransformer<T> extends StreamTransformerBase<T, List<T>>
  • removed: class WindowWithCountStreamTransformer<T> extends StreamTransformerBase<T, Stream<T>>
  • removed: ctor BufferWithCountStreamTransformer(this.count, [this.skip])
  • removed: ctor WindowWithCountStreamTransformer(this.count, [this.skip])
  • removed: field BufferWithCountStreamTransformer.count: final int
  • removed: field BufferWithCountStreamTransformer.skip: final int
  • removed: field WindowWithCountStreamTransformer.count: final int
  • removed: field WindowWithCountStreamTransformer.skip: final int
  • removed: method BufferWithCountStreamTransformer.bind(Stream<T> stream): Stream<List<T>>
  • removed: method WindowWithCountStreamTransformer.bind(Stream<T> stream): Stream<Stream<T>>
  • removed: static method BufferWithCountStreamTransformer.assertCountAndSkip(int count, [int skip]): void
  • removed: static method WindowWithCountStreamTransformer.assertCountAndSkip(int count, [int skip]): void
  • added: class GroupByObservable<T, S> extends Observable<T>
  • added: class GroupByStreamTransformer<T, S> extends StreamTransformerBase<T, GroupByObservable<T, S>>
  • added: ctor GroupByObservable(this.key, Stream<T> stream)
  • added: ctor GroupByStreamTransformer(this.grouper)
  • added: field GroupByObservable.key: final S
  • added: method GroupByStreamTransformer.Function(T): S
  • added: method GroupByStreamTransformer.bind(Stream<T> stream): Stream<GroupByObservable<T, S>>