Skip to content

Releases: connectrpc/connect-es

v2.0.0

19 Nov 16:18
36af3f2
Compare
Choose a tag to compare

What's Changed

  • We're upgrading to Protobuf-ES version 2. It's the largest change in this release.
  • Connect-ES no longer needs its own code generator plugin.
  • We're adding support for Next.js 15, Fastify 5, and Express 5.
  • We're dropping support for old versions of Node.js and TypeScript. You'll need at least Node.js 18.14.1 and TypeScript 4.9.6.

The upgrade of the Protobuf runtime brings support for Editions and new APIs for Protobuf messages with support for custom options. Messages are now plain TypeScript types, which greatly improves compatibility with the ecosystem. For example, messages can be passed from a server-side component in Next.js to a client-side component without losing any data or types. To learn more about the enhancements, see the release blog post for Protobuf-ES v2.

Tip

If you are already using Connect, see our migration guide to upgrade to version 2.

Full Changelog

Full Changelog: v1.6.1...v2.0.0

v2.0.0-rc.3

05 Nov 16:35
0095bdb
Compare
Choose a tag to compare
v2.0.0-rc.3 Pre-release
Pre-release

What's Changed

This is a release candidate for version 2. See here for an introduction.

  • Update makeAnyClient signature to carry type information to narrow down method kinds by @timostamm in #1292
  • Support Express v5 in @connectrpc/connect-fastify by @timostamm in #1297
  • Support Fastify v5 in @connectrpc/connect-fastify by @timostamm in #1296

Full Changelog: v2.0.0-rc.2...v2.0.0-rc.3

v2.0.0-rc.2

31 Oct 14:53
0323619
Compare
Choose a tag to compare
v2.0.0-rc.2 Pre-release
Pre-release

What's Changed

This is a release candidate for version 2. See here for an introduction.

To give this version a try, run npx @connectrpc/connect-migrate@rc.

New Contributors

Full Changelog: v2.0.0-rc.1...v2.0.0-rc.2

v2.0.0-rc.1

18 Oct 12:59
075f0e1
Compare
Choose a tag to compare
v2.0.0-rc.1 Pre-release
Pre-release

What's Changed

This is a release candidate for version 2. See here for an introduction.

To give this version a try, run npx @connectrpc/connect-migrate@rc.

  • Fix transform for createPromiseClient -> createClient in connect-migrate by @paul-sachs in #1268
  • Require HTTP/2 for the gRPC transport by @timostamm in #1279
  • Ensure that a signal exists for a completed RPC by @timostamm in #1282

Full Changelog: v2.0.0-beta.2...v2.0.0-rc.1

v1.6.1

11 Oct 15:08
f154e67
Compare
Choose a tag to compare

What's Changed

  • Fix transform for createPromiseClient -> createClient in connect-migrate by @timostamm in #1269

Full Changelog: v1.6.0...v1.6.1

v2.0.0-beta.2

10 Oct 16:19
0f284e4
Compare
Choose a tag to compare
v2.0.0-beta.2 Pre-release
Pre-release

What's Changed

This is a beta release for version 2. See here for an introduction.

To give this version a try, run npx @connectrpc/connect-migrate@beta.

  • Fix gRPC-Web trailers-only response handling for server-streaming RPCs by @timostamm in #1261
  • Add Connect-Query v2.0.0-beta.1 to connect-migrate by @timostamm in #1264

Full Changelog: v2.0.0-beta.1...v2.0.0-beta.2

v1.6.0

10 Oct 10:21
eb21c01
Compare
Choose a tag to compare

What's Changed

Promises are more widely adopted than ever before. We're renaming the function createPromiseClient to the more succinct createClient. For backwards compatibility, we keep the existing signature and mark it as deprecated.

After updating to this release, you can run npx @connectrpc/connect-migrate to automatically refactor your code to import and use createClient instead of createPromiseClient.

  • Deprecate createPromiseClient in favor of createClient by @srikrsna-buf in #1235
  • Add a transform for createPromiseClient -> createClient by @srikrsna-buf in #1236
  • Fix gRPC-Web trailers-only response handling for server-streaming RPCs by @timostamm in #1261

Full Changelog: v1.5.0...v1.6.0

v2.0.0-beta.1

20 Sep 15:14
413d0e7
Compare
Choose a tag to compare
v2.0.0-beta.1 Pre-release
Pre-release

What's changed

This is a beta release for version 2. See here for an introduction.

To give this version a try, run npx @connectrpc/connect-migrate@beta. Note that connect-query has not been updated yet.

New Contributors

Full Changelog: v2.0.0-alpha.1...v2.0.0-beta.1

v1.5.0

11 Sep 13:24
6575fc1
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.4.0...v1.5.0

v2.0.0-alpha.1

01 Jul 14:48
4378268
Compare
Choose a tag to compare
v2.0.0-alpha.1 Pre-release
Pre-release

What's new in version 2

To support protobuf editions, @bufbuild/protobuf had to make breaking changes, more on this here. Upgrading to v2 of @bufbuild/protobuf will be breaking change for connect users.

The most notable change is that v2 doesn't require a separate plugin anymore! we only need protoc-gen-es. For most users this will be a simple change of just removing the connect plugin and changing the import path to point to the protobuf generated types:

import { createPromiseClient } from "@connectrpc/connect";
import { createConnectTransport } from "@connectrpc/connect-node";
// Before this was import { ElizaService } from "./gen/eliza_connect.js"
import { ElizaService } from "./gen/eliza_pb.js";

// Alternatively, use createGrpcTransport or createGrpcWebTransport here
// to use one of the other supported protocols.
const transport = createConnectTransport({
  httpVersion: "2",
  baseUrl: "https://localhost:8443",
  nodeOptions: { rejectUnauthorized },
});

const client = createPromiseClient(ElizaService, transport);
const res = await client.say({ sentence });

Please note that this is an alpha release, and APIs might still change. We're also missing documentation yet. But if you want to try it out, we welcome your feedback!

This release is published with the alpha tag. To upgrade, you can run:

npm remove @connectrpc/protoc-gen-connect-es
npm install @connectrpc/connect@alpha @connectrpc/connect-node@alpha @bufbuild/protobuf@latest @bufbuild/protoc-gen-es@latest