PackageTrack
Sign in Get early access

grpc

Dart implementation of gRPC, a high performance, open-source universal RPC framework.

5.1.0 438K downloads/mo #554 most downloaded on pub.dev grpc/grpc-dart

What this package is like to depend on

Last release 8 months ago

09 Dec 2025

Release timing varies

gaps range from 2 weeks to 10 months

Nearly every release is documented

notes for 55 of 55 stable releases

Nothing withdrawn

no release was ever pulled

9 years old

56 releases · first in 2017

4 releases in the last 12 months

see the full history below

Release timeline

56 releases · Jul 2017 to Dec 2025
2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 56
  1. 5.1.0 09 Dec 2025
    Release notes
    • Added protos.dart library.
    • Require protobuf:6.0.0.
    Open source →
    Release notes
    • Added protos.dart library.
    • Require protobuf:6.0.0.
    Open source →
  2. 5.0.0 17 Nov 2025
    Release notes
    • Upgrading protos with new googleapis and protobuf versions.
    Open source →
    Release notes
    • Upgrading protos with new googleapis and protobuf versions.
    Open source →
  3. 4.3.1 31 Oct 2025
    Release notes
    • Downgrade meta dependency to 1.16.0
    Open source →
    Release notes
    • Downgrade meta dependency to 1.16.0
    Open source →
  4. 4.3.0 14 Oct 2025
    Release notes
    • Require package:protobuf version 5.0.0
    Open source →
    Release notes
    • Require package:protobuf 5.0.0
    Open source →
  5. 4.2.0 16 Aug 2025
    Release notes
    • Export a protobuf generated symbol (Any)
    • Simplify hierarchy of ResponseFuture (no longer have a private class in the
      type hierarchy)
    • Require Dart 3.8.
    • Require package:googleapis_auth
    • Require package:http 1.4.0
    • Require package:lints 6.0.0
    • Require package:protobuf 4.1.0
    • Dart format all files for the new 3.8 formatter.
    Open source →
    Release notes
    • Export a protobuf generated symbol (Any)
    • Simplify hierarchy of ResponseFuture (no longer have a private class in the type hierarchy)
    • Require Dart 3.8.
    • Require package:googleapis_auth
    • Require package:http 1.4.0
    • Require package:lints 6.0.0
    • Require package:protobuf 4.1.0
    • Dart format all files for the new 3.8 formatter.
    Open source →
  6. 4.1.0 11 Jun 2025
    Release notes
    • Add a serverInterceptors argument to ConnectionServer. These interceptors are acting
      as middleware, wrapping a ServiceMethod invocation.
    • Make sure that CallOptions.mergeWith is symmetric: given WebCallOptions
      it should return WebCallOptions.
    Open source →
    Release notes
    • Add a serverInterceptors argument to ConnectionServer. These interceptors are acting as middleware, wrapping a ServiceMethod invocation.
    • Make sure that CallOptions.mergeWith is symmetric: given WebCallOptions it should return WebCallOptions.
    Open source →
  7. 4.0.4 01 Apr 2025
    Release notes
    • Allow the latest package:googleapis_auth.
    Open source →
    Release notes
    • Allow the latest package:googleapis_auth.
    Open source →
  8. 4.0.3 31 Mar 2025
    Release notes
    • Widen package:protobuf constraint to allow version 4.0.0.
    Open source →
    Release notes
    • Widen package:protobuf constraint to allow version 4.0.0.
    Open source →
  9. 4.0.2 31 Mar 2025
    Release notes
    • 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:lints version 5.0.0 and Dart SDK version 3.5.0.
    • Upgrade example/grpc-web code.
    • Update xhr transport to migrate off legacy JS/HTML apis.
    • Use package:web to get HttpStatus.
    • Fix package:web deprecations.
    Open source →
    Release notes
    • 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:lints version 5.0.0 and Dart SDK version 3.5.0.
    • Upgrade example/grpc-web code.
    • Update xhr transport to migrate off legacy JS/HTML apis.
    • Use package:web to get HttpStatus.
    • Fix package:web deprecations.
    Open source →
  10. 4.0.1 28 Aug 2024
    Release notes

    Fixes #727

    Open source →
    Release notes
    • Fix header and trailing not completing if the call is terminated. Fixes #727
    Open source →
  11. 4.0.0 17 Jul 2024
    Release notes
    • 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.
    Open source →
  12. 3.2.4 08 Sep 2023
    Release notes
    • Forward internal GrpcError on 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.
    Open source →
  13. 3.2.3 13 Jul 2023
    Release notes
    • Add const constructor to GrpcError fixing #606.
    • Make GrpcError non-final to allow implementations.
    • Only send keepalive pings on open connections.
    • Fix interop tests.
    Open source →
  14. 3.2.2 20 Jun 2023
    Release notes
    • Remove base qualifier on ResponseStream.
    • Add support for clients to send KEEPALIVE pings.
    Open source →
  15. 3.2.1 17 Jun 2023
    Release notes
    • package:http now supports more versions: >=0.13.0 <2.0.0.
    • package:protobuf new supports more versions: >=2.0.0 <4.0.0.
    Open source →
  16. 3.2.0 13 Jun 2023
    Release notes
    • ChannelOptions now exposes connectTimeout, which is used on the socket connect. This is used to specify the maximum allowed time to wait for a connection to be established. If connectTime is longer than the system level timeout duration, a timeout may occur sooner than specified in connectTimeout. On timeout, a SocketException is thrown.
    • Require Dart 2.17 or greater.
    • Fix issue #51, add support for custom error handling.
    • Expose client IP address to server
    • Add a channelShutdownHandler argument to ClientChannel and the subclasses. This callback can be used to react to channel shutdown or termination.
    • Export the Code protobuf enum from the grpc.dart library.
    • Require Dart 3.0.0 or greater.
    Open source →
  17. 3.1.0 27 Oct 2022
    Release notes
    • 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 :authority value for UDS connections to localhost instead of using UDS path. Using path triggers checks in HTTP2 servers which attempt to validate :authority value.
    Open source →
  18. 3.0.2 16 Aug 2021
    Release notes
    • Fix compilation on the Web with DDC.
    Open source →
  19. 3.0.1 10 Aug 2021
    Release notes
    • 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-Type header to be present, as well as grpc-status: 0 header. 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.
    • GrpcError now exposes response trailers via GrpcError.trailers.
    Open source →
  20. 3.0.0 11 Feb 2021
    Release notes
    • Migrate library and tests to null safety.
    • Require Dart 2.12 or greater.
    Open source →
  21. 3.0.0-nullsafety.0 01 Feb 2021 pre-release

    Nothing published for this version

  22. 2.9.0 28 Jan 2021
    Release notes
    • Added support for compression/decompression, which can be configured through ChannelOptions constructor's codecRegistry parameter or adding the grpc-accept-encoding to metadata parameter of CallOptions on the client side and codecRegistry parameter to Server on the server side. Outgoing rpc can be compressed using the compression parameter on the CallOptions.
    • 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.

    Open source →
  23. 2.8.0 12 Nov 2020
    Release notes
    • Added support for client interceptors, which can be configured through Client constructor's interceptors parameter. Interceptors will be executed by Client.$createStreamingCall and Client.$createUnaryCall. Using interceptors requires regenerating client stubs using version 19.2.0 or newer of protobuf compiler plugin.
    • Client.$createCall is 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.serve and ClientChannel.
    • Fix issue #331 causing an exception in GrpcWebClientChannel.terminate().
    Open source →
  24. 2.7.0 30 Oct 2020
    Release notes
    • Added decoding/parsing of grpc-status-details-bin to pass all response exception details to the GrpcError thrown in Dart, via #349.
    • Dart SDK constraint is bumped to >=2.3.0 <3.0.0 due to language version in the generated protobuf code.
    Open source →
  25. 2.3.0 21 Sep 2020
    Release notes
    • Revert PR #287, which allowed using gRPC-web in native environments but also broke streaming.
    Open source →
  26. 2.2.0 11 Jun 2020
    Release notes
    • Added applicationDefaultCredentialsAuthenticator function for creating an authenticator using Application Default Credentials.
    • Less latency by using the tcpNoDelay option for sockets.
    • Support grpc-web in a non-web setting.
    Open source →
  27. 2.1.3 07 Nov 2019
    Release notes
    • Fix bug in grpc-web when receiving an empty trailer.
    • Fix a state bug in the server.
    Open source →
  28. 2.1.2 09 Sep 2019
    Release notes
    • Fix bug introduced in 2.1.1 where the port would be added to the default authority when making a secure connection.
    Open source →
  29. 2.1.1 23 Aug 2019
    Release notes
    • Fix bug introduced in 2.1.0 where an explicit authority would not be used when making a secure connection.
    Open source →
  30. 2.1.0 20 Aug 2019
    Release notes
    • Do a health check of the http2-connection before making request.
    • Introduce ChannelOptions.connectionLimit the 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 ServerSettings to Server.serve.
    Open source →
  31. 2.0.3 08 Aug 2019
    Release notes
    • GrpcError now implements Exception to indicate it can be reasonably handled.
    Open source →
  32. 2.0.2 08 Aug 2019
    Release notes
    • Fix computation of the audience given to metadata providers to include the scheme.
    Open source →
  33. 2.0.0 17 Jun 2019
    Release notes
    • Add initial support for grpc-web. See example/grpc-web for an example of this working.
    • Breaking: grpc.dart no longer exposes ClientConnection. It was supposed to be an internal abstraction.
    • Breaking: grpc.dart no longer exposes the deprecated ServerHandler. It was supposed to be an internal abstraction.
    • service_api.dart no longer exports Server - it has never been used by the generated code.
    Open source →
  34. 2.0.0+1 25 Jun 2019
    Release notes
    • Fix imports to ensure grpc_web.dart has no accidental transitive dependencies on dart:io.
    Open source →
  35. 1.0.3 03 Jun 2019
    Release notes
    • Allow custom user agent with a userAgent argument for ChannelOptions().
    • Allow specifying authority for ChannelCredentials.insecure().
    • Add userAgent as an optional named argument for clientConnection.createCallHeaders().
    Open source →
  36. 1.0.2 03 Apr 2019
    Release notes
    • Fix bug where the server would crash if the client would break the connection.
    Open source →
  37. 1.0.1 24 Jan 2019
    Release notes
    • Add service_api.dart that only contains the minimal imports needed by the code generated by protoc_plugin.
    Open source →
  38. 1.0.0 17 Dec 2018
    Release notes
    • Graduate package to 1.0.
    Open source →
  39. 1.0.0+1 22 Jan 2019
    Release notes
    • Support package:http2 1.0.0.
    Open source →
  40. 0.6.8 12 Nov 2018
    Release notes
    • Calling terminate() or shutdown() on a channel doesn't throw error if the channel is not yet open.
    Open source →
  41. 0.6.8+1 13 Dec 2018
    Release notes
    • Removes stray files that where published by accident in version 0.6.8.
    Open source →
  42. 0.6.6 24 Oct 2018
    Release notes
    • Support package:http >=0.11.3+17 <0.13.0.
    • Update package:googleapis_auth to ^0.2.5+3.
    Open source →
  43. 0.6.5 18 Sep 2018
    Release notes
    • Interceptors are now async.
    Open source →
  44. 0.6.4 07 Sep 2018
    Release notes
    • Update dependencies to be compatible with Dart 2.
    Open source →
  45. 0.6.1 19 Jul 2018
    Release notes
    • More fixes to update to Dart 2 core library APIs.
    Open source →
  46. 0.6.0 12 Jul 2018
    Release notes
    • Dart SDK upper constraint raised to declare compatibility with Dart 2.0 stable.
    Open source →
  47. 0.6.0+1 13 Jul 2018
    Release notes
    • Updated implementation to use new Dart 2 APIs using dart2_fix.
    Open source →
  48. 0.5.0 10 Jul 2018
    Release notes
    • Breaking change: The package now exclusively supports Dart 2.
    • Fixed tests to pass in Dart 2.
    • Added support for Interceptors (issue #79); thanks to @mogol for contributing!
    Open source →
  49. 0.4.1 05 Apr 2018
    Release notes
    • Fixes for supporting Dart 2.
    Open source →
  50. 0.4.0 19 Mar 2018
    Release notes
    • 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.
    Open source →
  51. 0.3.1 27 Feb 2018
    Release notes
    • Split out TLS credentials to a separate class.
    Open source →
  52. 0.3.0 05 Feb 2018
    Release notes
    • 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.
    Open source →
  53. 0.2.1 18 Jan 2018
    Release notes
    • Updated generated code in examples using latest protoc compiler plugin.
    • Dart 2.0 fixes.
    • Changed license to Apache 2.0.
    Open source →
  54. 0.2.0 15 Dec 2017
    Release notes
    • 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.
    Open source →
  55. 0.1.0 12 Oct 2017
    Release notes

    The API is shaping up, but may still change as more advanced features are implemented.

    Open source →
  56. 0.0.1 05 Jul 2017
    Release notes
    • Initial version.

    This package is in a very early and experimental state. We do not recommend using it for anything but experiments.

    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive