| ## 3.0.3 | |
| * Require Dart 3.4 | |
| * Move to `dart-lang/tools` monorepo. | |
| ## 3.0.2 | |
| * Switch to using `package:lints`. | |
| * Address a few analysis hint violations. | |
| * Populate the pubspec `repository` field. | |
| ## 3.0.1 | |
| * Fix a bug where a `null` result to a request caused an exception. | |
| ## 3.0.0 | |
| * Migrate to null safety. | |
| * Accept responses even if the server converts the ID to a String. | |
| ## 2.2.2 | |
| * Fix `Peer.close()` throwing `Bad state: Future already completed`. | |
| ## 2.2.1 | |
| * Fix `Peer` requests not terminating when the underlying channel is closed. | |
| ## 2.2.0 | |
| * Added `strictProtocolChecks` named parameter to `Server` and `Peer` | |
| constructors. Setting this parameter to false will result in the server not | |
| rejecting requests missing the `jsonrpc` parameter. | |
| ## 2.1.1 | |
| * Fixed issue where throwing `RpcException.methodNotFound` in an asynchronous | |
| fallback handler would not result in the next fallback being executed. | |
| * Updated minimum SDK to Dart `2.2.0`. | |
| ## 2.1.0 | |
| * `Server` and related classes can now take an `onUnhandledError` callback to | |
| notify callers of unhandled exceptions. | |
| ## 2.0.10 | |
| * Allow `stream_channel` version 2.x | |
| ## 2.0.8 | |
| * Updated SDK version to 2.0.0-dev.17.0 | |
| ## 2.0.7 | |
| * When a `Client` is closed before a request completes, the error sent to that | |
| request's `Future` now includes the request method to aid in debugging. | |
| ## 2.0.6 | |
| * Internal changes only. | |
| ## 2.0.5 | |
| * Internal changes only. | |
| ## 2.0.4 | |
| * `Client.sendRequest()` now throws a `StateError` if the client is closed while | |
| the request is in-flight. This avoids dangling `Future`s that will never be | |
| completed. | |
| * Both `Client.sendRequest()` and `Client.sendNotification()` now throw | |
| `StateError`s if they're called after the client is closed. | |
| ## 2.0.3 | |
| * Fix new strong-mode warnings. | |
| ## 2.0.2 | |
| * Fix all strong-mode warnings. | |
| ## 2.0.1 | |
| * Fix a race condition in which a `StateError` could be top-leveled if | |
| `Peer.close()` was called before the underlying channel closed. | |
| ## 2.0.0 | |
| * **Breaking change:** all constructors now take a `StreamChannel` rather than a | |
| `Stream`/`StreamSink` pair. | |
| * `Client.sendRequest()` and `Client.sendNotification()` no longer throw | |
| `StateError`s after the connection has been closed but before `Client.close()` | |
| has been called. | |
| * The various `close()` methods may now be called before their corresponding | |
| `listen()` methods. | |
| * The various `close()` methods now wait on the result of closing the underlying | |
| `StreamSink`. Be aware that [in some circumstances][issue 19095] | |
| `StreamController`s' `Sink.close()` futures may never complete. | |
| [issue 19095]: https://github.com/dart-lang/sdk/issues/19095 | |
| ## 1.2.0 | |
| * Add `Client.isClosed` and `Server.isClosed`, which make it possible to | |
| synchronously determine whether the connection is open. In particular, this | |
| makes it possible to reliably tell whether it's safe to call | |
| `Client.sendRequest`. | |
| * Fix a race condition in `Server` where a `StateError` could be thrown if the | |
| connection was closed in the middle of handling a request. | |
| * Improve stack traces for error responses. | |
| ## 1.1.1 | |
| * Update the README to match the current API. | |
| ## 1.1.0 | |
| * Add a `done` getter to `Client`, `Server`, and `Peer`. | |
| ## 1.0.0 | |
| * Add a `Client` class for communicating with external JSON-RPC 2.0 servers. | |
| * Add a `Peer` class that's both a `Client` and a `Server`. | |
| ## 0.1.0 | |
| * Remove `Server.handleRequest()` and `Server.parseRequest()`. Instead, `new | |
| Server()` takes a `Stream` and a `StreamSink` and uses those behind-the-scenes | |
| for its communication. | |
| * Add `Server.listen()`, which causes the server to begin listening to the | |
| underlying request stream. | |
| * Add `Server.close()`, which closes the underlying request stream and response | |
| sink. | |
| ## 0.0.2+3 | |
| * Widen the version constraint for `stack_trace`. | |
| ## 0.0.2+2 | |
| * Fix error response to include data from `RpcException` when not a map. |