grpc 4.1.0
grpc: ^4.1.0 copied to clipboard
Dart implementation of gRPC, a high performance, open-source universal RPC framework.
4.1.0 #
- Add a
serverInterceptorsargument toConnectionServer. These interceptors are acting as middleware, wrapping aServiceMethodinvocation. - Make sure that
CallOptions.mergeWithis symmetric: givenWebCallOptionsit should returnWebCallOptions.
4.0.4 #
- Allow the latest
package:googleapis_auth.
4.0.3 #
- Widen
package:protobufconstraint to allow version 4.0.0.
4.0.2 #
- Internal optimization to client code.
- Small fixes, such as ports in testing and enabling
timeline_test.dart. - When the keep alive manager runs into a timeout, it will finish the transport instead of closing the connection, as defined in the gRPC spec.
- Upgrade to
package:lintsversion 5.0.0 and Dart SDK version 3.5.0. - Upgrade
example/grpc-webcode. - Update xhr transport to migrate off legacy JS/HTML apis.
- Use
package:webto getHttpStatus. - Fix
package:webdeprecations.
4.0.0 #
- Set compressed flag correctly for grpc-encoding = identity. Fixes #669 (https://github.com/grpc/grpc-dart/pull/693)
- Remove generated status codes.
- Remove dependency on
package:archive. - Move
codec.dart. - Work around hang during Flutter hot restart by adding default case handler in _GrpcWebConversionSink.add.
3.2.4 #
- Forward internal
GrpcErroron when throwing while sending a request. - Add support for proxies, see #33.
- Remove canceled
ServerHandlers from tracking list. - Fix regression on fetching the remote address of a closed socket.
3.2.3 #
- Add const constructor to
GrpcErrorfixing #606. - Make
GrpcErrornon-final to allow implementations. - Only send keepalive pings on open connections.
- Fix interop tests.
3.2.2 #
- Remove
basequalifier onResponseStream. - Add support for clients to send KEEPALIVE pings.
3.2.1 #
package:httpnow supports more versions:>=0.13.0 <2.0.0.package:protobufnew supports more versions:>=2.0.0 <4.0.0.
3.2.0 #
ChannelOptionsnow exposesconnectTimeout, which is used on the socket connect. This is used to specify the maximum allowed time to wait for a connection to be established. IfconnectTimeis longer than the system level timeout duration, a timeout may occur sooner than specified inconnectTimeout. On timeout, aSocketExceptionis thrown.- Require Dart 2.17 or greater.
- Fix issue #51, add support for custom error handling.
- Expose client IP address to server
- Add a
channelShutdownHandlerargument toClientChanneland the subclasses. This callback can be used to react to channel shutdown or termination. - Export the
Codeprotobuf enum from thegrpc.dartlibrary. - Require Dart 3.0.0 or greater.
3.1.0 #
- Expose a stream for connection state changes on ClientChannel to address #428. This allows users to react to state changes in the connection.
- Fix #576: set default
:authorityvalue for UDS connections tolocalhostinstead of using UDS path. Using path triggers checks in HTTP2 servers which attempt to validate:authorityvalue.
3.0.2 #
- Fix compilation on the Web with DDC.
3.0.1 #
- Require
package:googleapis_auth^1.1.0 - Fix issues #421 and
#458. Validate
responses according to gRPC/gRPC-Web protocol specifications: require
200 HTTP status and a supported
Content-Typeheader to be present, as well asgrpc-status: 0header. When handling malformed responses make effort to translate HTTP statuses into gRPC statuses. - Add GrpcOrGrpcWebClientChannel which uses gRPC on all platforms except web, on which it uses gRPC-web.
GrpcErrornow exposes response trailers viaGrpcError.trailers.
3.0.0 #
- Migrate library and tests to null safety.
- Require Dart 2.12 or greater.
2.9.0 #
- Added support for compression/decompression, which can be configured through
ChannelOptionsconstructor'scodecRegistryparameter or adding thegrpc-accept-encodingtometadataparameter ofCallOptionson the client side andcodecRegistryparameter toServeron the server side. Outgoing rpc can be compressed using thecompressionparameter on theCallOptions. - Fix issue #206. Prevent an exception to be thrown when a web connection stream is closed.
- Add XHR raw response to the GrpcError for a better debugging (PR #423).
Note: this is the last release supporting SDK < 2.12. Next release will be nullsafe and thus require SDK >= 2.12.
2.8.0 #
- Added support for client interceptors, which can be configured through
Clientconstructor'sinterceptorsparameter. Interceptors will be executed byClient.$createStreamingCallandClient.$createUnaryCall. Using interceptors requires regenerating client stubs using version 19.2.0 or newer of protobuf compiler plugin. Client.$createCallis deprecated because it does not invoke client interceptors.- Fix issue #380 causing incorrect duplicated headers in gRPC-Web requests.
- Change minimum required Dart SDK to 2.8 to enable access to Unix domain sockets.
- Add support for Unix domain sockets in
Socket.serveandClientChannel. - Fix issue #331 causing
an exception in
GrpcWebClientChannel.terminate().
2.7.0 #
- Added decoding/parsing of
grpc-status-details-binto pass all response exception details to theGrpcErrorthrown in Dart, via #349. - Dart SDK constraint is bumped to
>=2.3.0 <3.0.0due to language version in the generated protobuf code.
2.6.0 #
- Create gRPC servers and clients with [Server|Client]TransportConnection. This allows callers to provide their own transport configuration, such as their own implementation of streams and sinks instead of sockets.
2.5.0 #
- Expose a
validateClientmethod for server credentials so gRPC server users may know when clients are loopback addresses.
2.4.1 #
- Plumb stacktraces through request / response stream error handlers.
- Catch and forward any errors decoding the response.
2.4.0 #
- Add the ability to bypass CORS preflight requests.
2.3.0 #
- Revert PR #287, which allowed using gRPC-web in native environments but also broke streaming.
2.2.0+1 #
- Relax
cryptoversion dependency constraint from^2.1.5to^2.1.4.
2.2.0 #
- Added
applicationDefaultCredentialsAuthenticatorfunction for creating an authenticator using Application Default Credentials. - Less latency by using the
tcpNoDelayoption for sockets. - Support grpc-web in a non-web setting.
2.1.3 #
- Fix bug in grpc-web when receiving an empty trailer.
- Fix a state bug in the server.
2.1.2 #
- Fix bug introduced in 2.1.1 where the port would be added to the default authority when making a secure connection.
2.1.1 #
- Fix bug introduced in 2.1.0 where an explicit
authoritywould not be used when making a secure connection.
2.1.0 #
- Do a health check of the http2-connection before making request.
- Introduce
ChannelOptions.connectionLimitthe longest time a single connection is used for new requests. - Use Tcp.nodelay to improve client call speed.
- Use SecureSocket supportedProtocols to save a round trip when establishing a secure connection.
- Allow passing http2
ServerSettingstoServer.serve.
2.0.3 #
- GrpcError now implements Exception to indicate it can be reasonably handled.
2.0.2 #
- Fix computation of the audience given to metadata providers to include the scheme.
2.0.1 #
- Fix computation of authority. This should fix authorization.
2.0.0+1 #
- Fix imports to ensure
grpc_web.darthas no accidental transitive dependencies on dart:io.
2.0.0 #
- Add initial support for grpc-web.
See
example/grpc-webfor an example of this working. - Breaking:
grpc.dartno longer exposesClientConnection. It was supposed to be an internal abstraction. - Breaking:
grpc.dartno longer exposes the deprecatedServerHandler. It was supposed to be an internal abstraction. service_api.dartno longer exports Server - it has never been used by the generated code.
1.0.3 #
- Allow custom user agent with a
userAgentargument forChannelOptions(). - Allow specifying
authorityforChannelCredentials.insecure(). - Add
userAgentas an optional named argument forclientConnection.createCallHeaders().
1.0.2 #
- Fix bug where the server would crash if the client would break the connection.
1.0.1 #
- Add
service_api.dartthat only contains the minimal imports needed by the code generated by protoc_plugin.
1.0.0+1 #
- Support package:http2 1.0.0.
1.0.0 #
- Graduate package to 1.0.
0.6.8+1 #
- Removes stray files that where published by accident in version 0.6.8.
0.6.8 #
- Calling
terminate()orshutdown()on a channel doesn't throw error if the channel is not yet open.
0.6.7 #
- Support package:test 1.5.
0.6.6 #
- Support
package:http>=0.11.3+17 <0.13.0. - Update
package:googleapis_authto^0.2.5+3.
0.6.5 #
- Interceptors are now async.
0.6.4 #
- Update dependencies to be compatible with Dart 2.
0.6.3 #
- Make fields of
StatusCodeconst rather than final.
0.6.2 #
- Allow for non-ascii header values.
0.6.1 #
- More fixes to update to Dart 2 core library APIs.
0.6.0 #
- Dart SDK upper constraint raised to declare compatibility with Dart 2.0 stable.
0.5.0 #
0.4.1 #
- Fixes for supporting Dart 2.
0.4.0 #
- Moved TLS credentials for server into a separate class.
- Added support for specifying the address for the server, and support for serving on an ephemeral port.
0.3.1 #
- Split out TLS credentials to a separate class.
0.3.0 #
- Added authentication metadata providers, optimized for use with Google Cloud.
- Added service URI to metadata provider API, needed for Json Web Token generation.
- Added authenticated cloud-to-prod interoperability tests.
- Refactored connection logic to throw initial connection errors early.
0.2.1 #
- Updated generated code in examples using latest protoc compiler plugin.
- Dart 2.0 fixes.
- Changed license to Apache 2.0.
0.2.0 #
- Implemented support for per-RPC metadata providers. This can be used for authentication providers which may need to obtain or refresh a token before the RPC is sent.
0.1.0 #
- Core gRPC functionality is implemented and passes gRPC compliance tests.
The API is shaping up, but may still change as more advanced features are implemented.
0.0.1 #
- Initial version.
This package is in a very early and experimental state. We do not recommend using it for anything but experiments.