Repository navigation
Releases
v2.3.0
What's Changed
- Remove "stay tuned for Connect for Node" from error message by @haines in #1798
- Reject unary calls when the http/2 stream closes with NO_ERROR before the response by @jackyzha0 in #1747
- Add connectTimeoutMs option to bound connection establishment by @jackyzha0 in #1748
- Update connect-express example to clarify local import by @lourd in #1801
- Fix cleanup for canceled streaming requests by @Armster15 in #1800
- Destroy HTTP/2 streams when a call fails by @ajeetdsouza in #1826
- Fix keepalive ping on destroyed HTTP/2 sessions by @unsady in #1797
- Handle unread request body after early response by @ajeetdsouza in #1837
- Keep listening for errors on HTTP/2 sessions until they close by @ajeetdsouza in #1845
- Stop gotoReady() spinning on closed or settled states by @princejain756 in #1849
- Update conformance to v1.0.5 by @ajeetdsouza in #1838
- Release 2.3.0 by @ajeetdsouza in #1851
New Contributors
- @lourd made their first contribution in #1801
- @Armster15 made their first contribution in #1800
- @unsady made their first contribution in #1797
- @princejain756 made their first contribution in #1849
Full Changelog: v2.2.0...v2.3.0
v2.2.0
What's Changed
Important
This release adds a security-related feature for servers: the request gate is a function that runs after the request headers are available. Throwing a ConnectError in the gate rejects a request before messages are read, decompressed, or parsed. Use this option to reject unauthenticated requests instead of interceptors. See the documentation for details.
We also recommend that you configure a message size limit for your server, see the readMaxBytes option.
- Disallow propagation of protocol headers by @ajeetdsouza in #1717
- Fix Http2SessionManager.verify() never settling when the connection closes during verification by @jackyzha0 in #1746
- Drop support for Node.js 20 by @ajeetdsouza in #1777
- Add requestGate handler option by @timostamm in #1781
- Stop delivering stream messages after cancellation by @ajeetdsouza in #1792
- Enable gRPC in Cloudflare conformance tests by @mar-cf in #1774
New Contributors
- @jackyzha0 made their first contribution in #1746
- @mar-cf made their first contribution in #1774
Full Changelog: v2.1.2...v2.2.0
v2.1.2
What's Changed
- Fix typo in README by @paulmandel-robust in #1649
- Support Next.js v16 and drop v13 and v14 by @emcfarlane in #1666
- Add GitHub publish workflow with trusted publishing by @ajeetdsouza in #1698
- Map AbortController cancellation to Code.Canceled by @ajeetdsouza in #1693
- Update unary-get query parameter order to match spec by @oliversun9 in #1702
- Release 2.1.2 by @ajeetdsouza in #1718
New Contributors
- @paulmandel-robust made their first contribution in #1649
- @emcfarlane made their first contribution in #1665
- @ajeetdsouza made their first contribution in #1691
- @oliversun9 made their first contribution in #1702
Full Changelog: v2.1.1...v2.1.2
v2.1.1
What's Changed
- Do not hold on to HTTP/2 connections after receiving GOAWAY without open streams by @timostamm in #1566
- Add Protovalidate (@connectrpc/validate) to README by @jrinehart-buf in #1595
- Fix memory leak in Http2SessionManager's verify step by @ttyniwa in #1616
New Contributors
- @jrinehart-buf made their first contribution in #1595
- @ttyniwa made their first contribution in #1616
Full Changelog: v2.1.0...v2.1.1
v1.7.0
What's Changed
- Backport user-provided User-Agent header to v1 by @vovaspace in #1578
New Contributors
- @vovaspace made their first contribution in #1578
Full Changelog: v1.6.1...v1.7.0
v2.1.0
What's Changed
Important
TypeScript 5.9 includes breaking changes to lib.d.ts, forcing us to change return types for some functions from Uint8Array to Uint8Array<ArrayBuffer>. This is unlikely to affect you, but if it does, see #1560 for details.
- Update to TypeScript 5.9 and change return types from
Uint8ArraytoUint8Array<ArrayBuffer>by @timostamm in #1560 - Drop support for Node.js 18 by @timostamm in #1559
Full Changelog: v2.0.4...v2.1.0
v2.0.4
What's Changed
- Fix memory leak in Node.js universal HTTP client by @timostamm in #1547
Full Changelog: v2.0.3...v2.0.4
v2.0.3
What's Changed
- Support Node.js http.ClientRequestArgs["headers"] array by @timostamm in #1510
- Special case TimeoutError in ConnectError.from by @timostamm in #1526
- Add proto syntax highlighting to snippet in README by @stefanvanburen in #1529
- Optimize envelope decoding by @timostamm in #1530
New Contributors
- @stefanvanburen made their first contribution in #1529
Full Changelog: v2.0.2...v2.0.3
v2.0.2
What's Changed
- Ensure any error metadata is appended to target grpc response by @smaye81 in #1407
- Fix server interceptor not seeing the request message in server streaming rpcs by @srikrsna-buf in #1429
Full Changelog: v2.0.1...v2.0.2
v2.0.1
What's Changed
The only noteworthy changes in this release are enhancements made to the @connectrpc/connect-migrate package.
The migration tool now handles additional scenarios for migrating your code to Connect v2:
Transforms new to create:
- import { Foo } from "./foo_pb.js";
+ import { FooSchema } from "./foo_pb.js";
+ import { create } from "@bufbuild/protobuf";
- const foo = new Foo();
+ const foo = create(FooSchema);Transforms isMessage to use the schema:
import { isMessage } from "@bufbuild/protobuf";
- import { Foo } from "./foo_pb.js";
+ import { FooSchema } from "./foo_pb.js";
- isMessage(1, Foo);
+ isMessage(1, FooSchema);Transforms the static fromBinary, fromJson, and fromJsonString method calls:
- import { Foo } from "./foo_pb.js";
+ import { FooSchema } from "./foo_pb.js";
+ import { fromJson } from "@bufbuild/protobuf";
- Foo.fromJson(x, y);
+ fromJson(FooSchema, x, y);In addition, if the message is a well-known type, the import path is updated accordingly.
For details on Connect v2, see the v2 release notes as well as the full migration guide.
- Transform class references in connect-migrate by @timostamm and @smaye81 in #1342
New Contributors
- @HermanBilous made their first contribution in #1340
Full Changelog: v2.0.0...v2.0.1