JsonDocumentTransformer.bindwhere it created an internal stream channel which didn't get a properly inferred type for its
MultiChannelwhere messages from a remote virtual channel could get dropped if the corresponding local channel wasn't registered quickly enough.
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.
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.
StreamChannelTransformers 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
StreamChannel.cast(), which soundly coerces the generic type of a channel.
StreamChannelTransformer.typed(), which soundly coerces the generic type of a transformer.
IsolateChannel slightly more efficient.
MultiChannel follow the stream channel rules.
Disconnector, a transformer that allows the caller to disconnect the transformed channel.
new StreamChannel.withGuarantees(), which creates a channel with extra wrapping to ensure that it obeys the stream channel guarantees.
StreamChannelController, which can be used to create custom
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.