IsolateChannel.connectReceive()
where the channel could hang forever if its sink was closed before the connection was established.repository
field.double
at runtime instead of an int
. When reading an array with dart2wasm
numbers within the array are parsed as double
.Breaking changes
IsolateChannel
requires a separate import package:stram_channel/isolate_channel.dart
. package:stream_channel/stream_channel.dart
will now not trigger any platform concerns due to importing dart:isolate
.JsonDocumentTransformer
class. The jsonDocument
top level is still available.StreamChannelTransformer.typed
. Use .cast
on the transformed channel instead.Future<dynamic>
returns to Future<void>
.IsolateChannel
available through package:stream_channel/isolate_channel.dart
. This will be the required import in the next release.2.0.0
or newer SDK.<3.0.0
, and adjust other dependencies.IsolateChannel
.MultiChannel
.Fix a Dart 2 issue with inner stream transformation in GuaranteeChannel
.
Fix a Dart 2 issue with StreamChannelTransformer.fromCodec()
.
JsonDocumentTransformer.bind
where it created an internal stream channel which didn't get a properly inferred type for its sink
.MultiChannel
where messages from a remote virtual channel could get dropped if the corresponding local channel wasn't registered quickly enough.pumpEventQueue()
from test.async
2.0.0.StreamChannel.transform()
. This previously inverted the generic parameters, so it only really worked with transformers where both generic types were identical.Disconnector.disconnect()
now returns a future that completes when all the inner StreamSink.close()
futures have completed.Add new StreamChannel.withCloseGuarantee()
to provide the specific guarantee that closing the sink causes the stream to close before it emits any more events. This is the only guarantee that isn't automatically preserved when transforming a channel.
StreamChannelTransformer
s provided by the stream_channel
package now properly provide the guarantee that closing the sink causes the stream to close before it emits any more events
Add StreamChannel.cast()
, which soundly coerces the generic type of a channel.
Add StreamChannelTransformer.typed()
, which soundly coerces the generic type of a transformer.
Make IsolateChannel
slightly more efficient.
Make MultiChannel
follow the stream channel rules.
Disconnector
, a transformer that allows the caller to disconnect the transformed channel.Add new StreamChannel.withGuarantees()
, which creates a channel with extra wrapping to ensure that it obeys the stream channel guarantees.
Add StreamChannelController
, which can be used to create custom StreamChannel
objects.
StreamChannel.transform()
's parameter.Add StreamChannel.transformStream()
, StreamChannel.transformSink()
, StreamChannel.changeStream()
, and StreamChannel.changeSink()
to support changing only the stream or only the sink of a channel.
Be more explicit about JsonDocumentTransformer
's error-handling behavior.
MultiChannel
‘s constructor to take a StreamChannel
. This is technically a breaking change, but since 1.0.0 was only released an hour ago, we’re treating it as a bug fix.