## 2.1.4 * Fix `StreamChannelMixin` so that it can be used as a mixin again. ## 2.1.3 * Require Dart 3.3 * Move to `dart-lang/tools` monorepo. ## 2.1.2 * Require Dart 2.19 * Add an example. * Fix a race condition in `IsolateChannel.connectReceive()` where the channel could hang forever if its sink was closed before the connection was established. ## 2.1.1 * Require Dart 2.14 * Populate the pubspec `repository` field. * Handle multichannel messages where the ID element is a `double` at runtime instead of an `int`. When reading an array with `dart2wasm` numbers within the array are parsed as `double`. ## 2.1.0 * Stable release for null safety. ## 2.0.0 **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`. * Remove `JsonDocumentTransformer` class. The `jsonDocument` top level is still available. * Remove `StreamChannelTransformer.typed`. Use `.cast` on the transformed channel instead. * Change `Future` returns to `Future`. ## 1.7.0 * Make `IsolateChannel` available through `package:stream_channel/isolate_channel.dart`. This will be the required import in the next release. * Require `2.0.0` or newer SDK. * Internal style changes. ## 1.6.8 * Set max SDK version to `<3.0.0`, and adjust other dependencies. ## 1.6.7+1 * Fix Dart 2 runtime types in `IsolateChannel`. ## 1.6.7 * Update SDK version to 2.0.0-dev.17.0. * Add a type argument to `MultiChannel`. ## 1.6.6 * Fix a Dart 2 issue with inner stream transformation in `GuaranteeChannel`. * Fix a Dart 2 issue with `StreamChannelTransformer.fromCodec()`. ## 1.6.5 * Fix an issue with `JsonDocumentTransformer.bind` where it created an internal stream channel which didn't get a properly inferred type for its `sink`. ## 1.6.4 * Fix a race condition in `MultiChannel` where messages from a remote virtual channel could get dropped if the corresponding local channel wasn't registered quickly enough. ## 1.6.3 * Use `pumpEventQueue()` from test. ## 1.6.2 * Declare support for `async` 2.0.0. ## 1.6.1 * Fix the type of `StreamChannel.transform()`. This previously inverted the generic parameters, so it only really worked with transformers where both generic types were identical. ## 1.6.0 * `Disconnector.disconnect()` now returns a future that completes when all the inner `StreamSink.close()` futures have completed. ## 1.5.0 * 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 ## 1.4.0 * Add `StreamChannel.cast()`, which soundly coerces the generic type of a channel. * Add `StreamChannelTransformer.typed()`, which soundly coerces the generic type of a transformer. ## 1.3.2 * Fix all strong-mode errors and warnings. ## 1.3.1 * Make `IsolateChannel` slightly more efficient. * Make `MultiChannel` follow the stream channel rules. ## 1.3.0 * Add `Disconnector`, a transformer that allows the caller to disconnect the transformed channel. ## 1.2.0 * 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. ## 1.1.1 * Fix the type annotation for `StreamChannel.transform()`'s parameter. ## 1.1.0 * 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. ## 1.0.1 * Fix `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. ## 1.0.0 * Initial version