Upgrading async 1 to 2
Breaking1.13.3 → 2.13.1Platform1Fixed2Other2
Fetching 32 releases from GitHub…3 / 32
BreakingUpgrade verdict
A platform requirement change.
In plain terms
- This version needs Dart SDK 3.4 or newer.
Must act 1 item needs code or config changes
Dart SDK requirement changed in 2.12.0: >=1.22.0 <2.0.0 → ^3.4.0.
Adds meta ^1.3.0.
Moves collection ^1.5.0 → ^1.15.0. Your build may pick other versions.
What you must change
Platform1
Requires Dart 3.4.
API changes
Generated by DepDelta from published Dart source. Not mixed with prose notes.
- removed:
class CaptureStreamTransformer<T> implements StreamTransformer<T, Result<T>> - removed:
class ReleaseStreamTransformer<T> implements StreamTransformer<Result<T>, T> - removed:
ctor CaptureStreamTransformer() - removed:
ctor ReleaseStreamTransformer() - removed:
get CancelableCompleter.operation: CancelableOperation<T> - removed:
method CaptureStreamTransformer.bind(Stream<T> source): Stream<Result<T>> - removed:
method ReleaseStreamTransformer.bind(Stream<Result<T>> source): Stream<T> - changed:
class ErrorResult<T> implements Result<T> → class ErrorResult implements Result<Never> - changed:
class SingleSubscriptionTransformer<S, T> implements StreamTransformer<S, T> → class SingleSubscriptionTransformer<S, T> extends StreamTransformerBase<S, T> - changed:
class StreamQueue<T>: abstract → class StreamQueue<T> - changed:
ctor AsyncCache(this._duration) → ctor AsyncCache(Duration duration) - changed:
ctor CancelableCompleter({FutureOr onCancel()}) → ctor CancelableCompleter({FutureOr Function()? onCancel}) - changed:
ctor CancelableOperation.fromFuture(Future<T> inner, {FutureOr onCancel()}) → ctor CancelableOperation.fromFuture( Future<T> result, { FutureOr Function()? onCancel, }) - changed:
ctor DelegatingStream(Stream<T> stream) → ctor DelegatingStream(super.stream) - changed:
ctor ErrorResult(this.error, this.stackTrace) → ctor ErrorResult(this.error, [StackTrace? stackTrace]) - changed:
ctor LazyStream(FutureOr<Stream<T>> callback()) → ctor LazyStream(FutureOr<Stream<T>> Function() callback) - changed:
ctor NullStreamSink({Future done}) → ctor NullStreamSink({Future? done}) - changed:
ctor NullStreamSink.error(error, [StackTrace stackTrace]) → ctor NullStreamSink.error(Object error, [StackTrace? stackTrace]) - changed:
ctor Result(T computation()) → ctor Result(T Function() computation) - changed:
ctor Result.error(Object error, [StackTrace stackTrace]) → ctor Result.error(Object error, [StackTrace? stackTrace]) - changed:
ctor StreamSinkTransformer.fromHandlers( {void handleData(S data, EventSink<T> sink), void handleError(Object error, StackTrace stackTrace, EventSink<T> sink), void handleDone(EventSink<T> sink)}) → ctor StreamSinkTransformer.fromHandlers({ void Function(S, EventSink<T>)? handleData, void Function(Object, StackTrace, EventSink<T>)? handleError, void Function(EventSink<T>)? handleDone, }) - changed:
ctor StreamSinkTransformer.fromStreamTransformer( StreamTransformer<S, T> transformer) → ctor StreamSinkTransformer.fromStreamTransformer( StreamTransformer<S, T> transformer, ) - changed:
field ErrorResult.error: final → field ErrorResult.error: final Object - changed:
field StreamGroup.StreamSubscription<T>>(): final → field StreamGroup.StreamSubscription<T>?>: final - changed:
function collectBytesCancelable( Stream<List<int>> source): CancelableOperation<Uint8List> → function collectBytesCancelable( Stream<List<int>> source, ): CancelableOperation<Uint8List> - changed:
function subscriptionTransformer<T>( {Future handleCancel(StreamSubscription<T> inner), void handlePause(StreamSubscription<T> inner), void handleResume(StreamSubscription<T> inner)}): StreamTransformer<T, T> → function subscriptionTransformer<T>({ Future Function(StreamSubscription<T>)? handleCancel, void Function(StreamSubscription<T>)? handlePause, void Function(StreamSubscription<T>)? handleResume, }): StreamTransformer<T, T> - changed:
function typedStreamTransformer<S, T>( StreamTransformer transformer): StreamTransformer<S, T> → function typedStreamTransformer<S, T>( StreamTransformer transformer, ): StreamTransformer<S, T> - changed:
get ErrorResult.asError: ErrorResult<T> → get ErrorResult.asError: ErrorResult - changed:
get ErrorResult.asFuture: Future<T> → get ErrorResult.asFuture: Future<Never> - changed:
get ErrorResult.asValue: ValueResult<T> → get ErrorResult.asValue: ValueResult<Never>? - changed:
get Result.asError: ErrorResult<T> → get Result.asError: ErrorResult? - changed:
get Result.asValue: ValueResult<T> → get Result.asValue: ValueResult<T>? - changed:
get ResultFuture.result: Result<T> → get ResultFuture.result: Result<T>? - changed:
get ValueResult.asError: ErrorResult<T> → get ValueResult.asError: ErrorResult? - changed:
method AsyncCache.fetch(Future<T> callback()): Future<T> → method AsyncCache.fetch(Future<T> Function() callback): Future<T> - changed:
method AsyncCache.fetchStream(Stream<T> callback()): Stream<T> → method AsyncCache.fetchStream(Stream<T> Function() callback): Stream<T> - changed:
method AsyncMemoizer.runOnce(FutureOr<T> computation()): Future<T> → method AsyncMemoizer.runOnce(FutureOr<T> Function() computation): Future<T> - changed:
method CancelableCompleter.complete([value]): void → method CancelableCompleter.complete([FutureOr<T>? value]): void - changed:
method CancelableCompleter.completeError(Object error, [StackTrace stackTrace]): void → method CancelableCompleter.completeError(Object error, [StackTrace? stackTrace]): void - changed:
method CancelableOperation.valueOrCancellation([T cancellationValue]): Future → method CancelableOperation.valueOrCancellation([T? cancellationValue]): Future<T?> - changed:
method DelegatingEventSink.addError(error, [StackTrace stackTrace]): void → method DelegatingEventSink.addError(Object error, [StackTrace? stackTrace]): void - changed:
method DelegatingFuture.catchError(Function onError, {bool test(Object error)}): Future<T> → method DelegatingFuture.catchError(Function onError, {bool Function(Object error)? test}): Future<T> - changed:
method DelegatingFuture.then<S>(FutureOr<S> onValue(T value), {Function onError}): Future<S> → method DelegatingFuture.then<S>(FutureOr<S> Function(T) onValue, {Function? onError}): Future<S> - changed:
method DelegatingFuture.timeout(Duration timeLimit, {onTimeout()}): Future<T> → method DelegatingFuture.timeout(Duration timeLimit, {FutureOr<T> Function()? onTimeout}): Future<T> - changed:
method DelegatingFuture.whenComplete(action()): Future<T> → method DelegatingFuture.whenComplete(FutureOr Function() action): Future<T> - changed:
method DelegatingStreamSink.addError(error, [StackTrace stackTrace]): void → method DelegatingStreamSink.addError(Object error, [StackTrace? stackTrace]): void - changed:
method DelegatingStreamSubscription.asFuture<E>([E futureValue]): Future<E> → method DelegatingStreamSubscription.asFuture<E>([E? futureValue]): Future<E> - changed:
method DelegatingStreamSubscription.onData(void handleData(T data)): void → method DelegatingStreamSubscription.onData(void Function(T)? handleData): void - changed:
method DelegatingStreamSubscription.onDone(void handleDone()): void → method DelegatingStreamSubscription.onDone(void Function()? handleDone): void - changed:
method DelegatingStreamSubscription.onError(Function handleError): void → method DelegatingStreamSubscription.onError(Function? handleError): void - changed:
method DelegatingStreamSubscription.pause([Future resumeFuture]): void → method DelegatingStreamSubscription.pause([Future? resumeFuture]): void - changed:
method LazyStream.listen(void onData(T event), {Function onError, void onDone(), bool cancelOnError}): StreamSubscription<T> → method LazyStream.listen( void Function(T)? onData, { Function? onError, void Function()? onDone, bool? cancelOnError, }): StreamSubscription<T> - changed:
method NullStreamSink.addError(error, [StackTrace stackTrace]): void → method NullStreamSink.addError(Object error, [StackTrace? stackTrace]): void - changed:
method StreamCompleter.setError(error, [StackTrace stackTrace]): void → method StreamCompleter.setError(Object error, [StackTrace? stackTrace]): void - changed:
method StreamGroup.add(Stream<T> stream): Future → method StreamGroup.add(Stream<T> stream): Future<void>? - changed:
method StreamGroup.close(): Future → method StreamGroup.close(): Future<void> - changed:
method StreamGroup.remove(Stream<T> stream): Future → method StreamGroup.remove(Stream<T> stream): Future<void>? - changed:
method StreamQueue.cancel({bool immediate = …}): Future → method StreamQueue.cancel({bool immediate = …}): Future? - changed:
method StreamQueue.cancelable<S>( Future<S> callback(StreamQueue<T> queue)): CancelableOperation<S> → method StreamQueue.cancelable<S>( Future<S> Function(StreamQueue<T>) callback, ): CancelableOperation<S> - changed:
method StreamQueue.withTransaction(Future<bool> callback(StreamQueue<T> queue)): Future<bool> → method StreamQueue.withTransaction( Future<bool> Function(StreamQueue<T>) callback, ): Future<bool> - changed:
method StreamSinkCompleter.setError(error, [StackTrace stackTrace]): void → method StreamSinkCompleter.setError(Object error, [StackTrace? stackTrace]): void - changed:
method StreamZip.listen(void onData(List<T> data), {Function onError, void onDone(), bool cancelOnError}): StreamSubscription<List<T>> → method StreamZip.listen( void Function(List<T>)? onData, { Function? onError, void Function()? onDone, bool? cancelOnError, }): StreamSubscription<List<T>> - changed:
method SubscriptionStream.listen(void onData(T event), {Function onError, void onDone(), bool cancelOnError}): StreamSubscription<T> → method SubscriptionStream.listen( void Function(T)? onData, { Function? onError, void Function()? onDone, bool? cancelOnError, }): StreamSubscription<T> - changed:
static field Result.captureSinkTransformer: const StreamSinkTransformer<Object, Result> → static field Result.captureSinkTransformer: const StreamSinkTransformer<Object, Result<Object>> - changed:
static field Result.captureStreamTransformer: const StreamTransformer<Object, Result> → static field Result.captureStreamTransformer: const StreamTransformer<Object, Result<Object>> - changed:
static field Result.releaseSinkTransformer: const StreamSinkTransformer<Object, Result> → static field Result.releaseSinkTransformer: const StreamSinkTransformer<Result<Object>, Object> - changed:
static field Result.releaseStreamTransformer: const StreamTransformer<Object, Result> → static field Result.releaseStreamTransformer: const StreamTransformer<Result<Object>, Object> - changed:
static method StreamSinkTransformer.typed<S, T>( StreamSinkTransformer transformer): StreamSinkTransformer<S, T> → static method StreamSinkTransformer.typed<S, T>( StreamSinkTransformer transformer, ): StreamSinkTransformer<S, T> - changed:
static method StreamSplitter.splitFrom<T>(Stream<T> stream, [int count]): List<Stream<T>> → static method StreamSplitter.splitFrom<T>(Stream<T> stream, [int? count]): List<Stream<T>> - added:
class ChunkedStreamReader<T> - added:
class EventSinkBase<T>: abstract implements EventSink<T> - added:
class IOSinkBase: abstract extends StreamSinkBase<List<int>> - added:
class StreamCloser<T> extends StreamTransformerBase<T, T> - added:
class StreamSinkBase<T>: abstract extends EventSinkBase<T> implements StreamSink<T> - added:
ctor CancelableOperation.fromValue(T value) - added:
ctor ChunkedStreamReader(Stream<List<T>> stream) - added:
ctor IOSinkBase([this.encoding = …]) - added:
extension ChunkedStreamReaderByteStreamExt on ChunkedStreamReader<int> - added:
extension StreamExtensions<T> on Stream<T> - added:
extension StreamSinkExtensions<T> on StreamSink<T> - added:
field CancelableCompleter.operation: late final - added:
field IOSinkBase.encoding: Encoding - added:
field StreamCloser.() - added:
get CancelableOperation.isCanceled: bool - added:
get CancelableOperation.isCompleted: bool - added:
get ErrorResult.hashCode: int - added:
get FutureGroup.isClosed: bool - added:
get RestartableTimer.tick: int - added:
get StreamCloser.isClosed: bool - added:
get StreamExtensions.firstOrNull: Future<T?> - added:
get StreamGroup.isClosed: bool - added:
get StreamGroup.isIdle: bool - added:
get StreamGroup.onIdle: Stream<void> - added:
get StreamSinkBase.done: Future<void> - added:
get ValueResult.hashCode: int - added:
method CancelableCompleter.Function(): FutureOr<void> - added:
method CancelableCompleter.completeOperation( CancelableOperation<T> result, { bool propagateCancel = …, }): void - added:
method CancelableOperation.then<R>( FutureOr<R> Function(T) onValue, { FutureOr<R> Function(Object, StackTrace)? onError, FutureOr<R> Function()? onCancel, bool propagateCancel = …, }): CancelableOperation<R> - added:
method CancelableOperation.thenOperation<R>( FutureOr<void> Function(T, CancelableCompleter<R>) onValue, { FutureOr<void> Function(Object, StackTrace, CancelableCompleter<R>)? onError, FutureOr<void> Function(CancelableCompleter<R>)? onCancel, bool propagateCancel = …, }): CancelableOperation<R> - added:
method ChunkedStreamReader.cancel(): Future<void> - added:
method ChunkedStreamReader.readChunk(int size): Future<List<T>> - added:
method ChunkedStreamReader.readStream(int size): Stream<List<T>> - added:
method ChunkedStreamReaderByteStreamExt.readBytes(int size): Future<Uint8List> - added:
method ErrorResult.operator ==(Object other): bool - added:
method EventSinkBase.add(T data): void - added:
method EventSinkBase.addError(Object error, [StackTrace? stackTrace]): void - added:
method EventSinkBase.close(): Future<void> - added:
method EventSinkBase.onAdd(T data): void - added:
method EventSinkBase.onClose(): FutureOr<void> - added:
method EventSinkBase.onError(Object error, [StackTrace? stackTrace]): void - added:
method IOSinkBase.flush(): Future<void> - added:
method IOSinkBase.onFlush(): Future<void> - added:
method IOSinkBase.write(Object? object): void - added:
method IOSinkBase.writeAll(Iterable<Object?> objects, [String separator = …]): void - added:
method IOSinkBase.writeCharCode(int charCode): void - added:
method IOSinkBase.writeln([Object? object = …]): void - added:
method LazyStream.Function(): FutureOr<Stream<T>> - added:
method StreamCloser.bind(Stream<T> stream): Stream<T> - added:
method StreamCloser.close(): Future<void> - added:
method StreamExtensions.listenAndBuffer(): Stream<T> - added:
method StreamExtensions.slices(int length): Stream<List<T>> - added:
method StreamSinkBase.addStream(Stream<T> stream): Future<void> - added:
method StreamSinkBase.close(): Future<void> - added:
method StreamSinkExtensions.rejectErrors(): StreamSink<T> - added:
method StreamSinkExtensions.transform<S>(StreamSinkTransformer<S, T> transformer): StreamSink<S> - added:
method ValueResult.operator ==(Object other): bool - added:
static field Result.): const StreamSinkTransformer<Object, Result<Object>> - added:
static field Result.): const StreamSinkTransformer<Result<Object>, Object> - added:
static method CancelableOperation.fromSubscription( StreamSubscription<void> subscription, ): CancelableOperation<void> - added:
static method CancelableOperation.race<T>( Iterable<CancelableOperation<T>> operations, ): CancelableOperation<T> - added:
static method Result.captureAll<T>(Iterable<FutureOr<T>> elements): Future<List<Result<T>>> - added:
static method Result.captureSink<T>(EventSink<Result<T>> sink): EventSink<T> - added:
static method Result.flattenAll<T>(Iterable<Result<T>> results): Result<List<T>> - added:
static method Result.releaseSink<T>(EventSink<T> sink): EventSink<Result<T>> - added:
static method StreamGroup.mergeBroadcast<T>(Iterable<Stream<T>> streams): Stream<T>
- removed:
class CaptureStreamTransformer<T> implements StreamTransformer<T, Result<T>> - removed:
class ErrorResult<T> implements Result<T> - removed:
class ReleaseStreamTransformer<T> implements StreamTransformer<Result<T>, T> - removed:
class Result<T>: abstract - removed:
class ValueResult<T> implements Result<T> - removed:
ctor CaptureStreamTransformer() - removed:
ctor ErrorResult(this.error, this.stackTrace) - removed:
ctor ReleaseStreamTransformer() - removed:
ctor Result(T computation()) - removed:
ctor Result.error(Object error, [StackTrace stackTrace]) - removed:
ctor Result.value(T value) - removed:
ctor ValueResult(this.value) - removed:
field ErrorResult.error: final - removed:
field ErrorResult.stackTrace: final StackTrace - removed:
field ValueResult.value: final T - removed:
get ErrorResult.asError: ErrorResult<T> - removed:
get ErrorResult.asFuture: Future<T> - removed:
get ErrorResult.asValue: ValueResult<T> - removed:
get ErrorResult.isError: bool - removed:
get ErrorResult.isValue: bool - removed:
get Result.asError: ErrorResult<T> - removed:
get Result.asFuture: Future<T> - removed:
get Result.asValue: ValueResult<T> - removed:
get Result.isError: bool - removed:
get Result.isValue: bool - removed:
get ValueResult.asError: ErrorResult<T> - removed:
get ValueResult.asFuture: Future<T> - removed:
get ValueResult.asValue: ValueResult<T> - removed:
get ValueResult.isError: bool - removed:
get ValueResult.isValue: bool - removed:
method CaptureStreamTransformer.bind(Stream<T> source): Stream<Result<T>> - removed:
method ErrorResult.addTo(EventSink sink): void - removed:
method ErrorResult.complete(Completer completer): void - removed:
method ErrorResult.handle(Function errorHandler): void - removed:
method ReleaseStreamTransformer.bind(Stream<Result<T>> source): Stream<T> - removed:
method Result.addTo(EventSink<T> sink): void - removed:
method Result.complete(Completer<T> completer): void - removed:
method ValueResult.addTo(EventSink<T> sink): void - removed:
method ValueResult.complete(Completer<T> completer): void - removed:
static field Result.captureSinkTransformer: const StreamSinkTransformer<Object, Result> - removed:
static field Result.captureStreamTransformer: const StreamTransformer<Object, Result> - removed:
static field Result.releaseSinkTransformer: const StreamSinkTransformer<Object, Result> - removed:
static field Result.releaseStreamTransformer: const StreamTransformer<Object, Result> - removed:
static method Result.capture<T>(Future<T> future): Future<Result<T>> - removed:
static method Result.captureStream<T>(Stream<T> source): Stream<Result<T>> - removed:
static method Result.flatten<T>(Result<Result<T>> result): Result<T> - removed:
static method Result.release<T>(Future<Result<T>> future): Future<T> - removed:
static method Result.releaseStream<T>(Stream<Result<T>> source): Stream<T>
- removed:
class StreamZip<T> extends Stream<List<T>> - removed:
ctor StreamZip(Iterable<Stream<T>> streams) - removed:
method StreamZip.listen(void onData(List<T> data), {Function onError, void onDone(), bool cancelOnError}): StreamSubscription<List<T>>