Skip to content

Upgrade Fastify and migrate RPC dependencies to Connect 2 - #1263

Draft
Elizabeth Craig (ecraig12345) wants to merge 1 commit into
copilot/require-node-24from
copilot/update-fastify-stack
Draft

Elizabeth Craig (ecraig12345) wants to merge 1 commit into
copilot/require-node-24from
copilot/update-fastify-stack

Conversation

@ecraig12345

@ecraig12345 Elizabeth Craig (ecraig12345) commented Nov 7, 2026 •

Copy link
Copy Markdown
Member

Stack

Stacked on #1262; merge that PR first, then retarget this PR to main. Uses #997 as a migration reference, without reverting the newer Node requirements or CI versions.

Summary

  • Upgrade Fastify 4.29.1 → 5.12.7, coordinated Connect packages 1.7.0 → 2.3.0, and Protobuf runtime/generator 1.x → 2.16.0. Raise the Buf CLI range to ^1.75.0 and remove the obsolete Connect code generator.
  • Regenerate Protobuf service descriptors, migrate createPromiseClient/PromiseClient to createClient/Client, and remove the obsolete httpVersion option (gRPC always uses HTTP/2).
  • Adapt CLI task result typing to Protobuf 2's message initializer union without casts, update Node typings to the latest eligible 24.x (^24.19.2), and use native os.availableParallelism().
  • Remove the obsolete Node 16 toad-cache resolution. Preserve unrelated dependency pins and all parent PR Node runtime/CI settings.
  • Use Buf's STANDARD rules with narrowly scoped exceptions for existing proto paths/field names, preserving the wire schema. Update generated API reports and migration notes, and add Beachball entries.
  • Add direct HTTP/2 integration coverage for ping, task payloads and output, present/absent optional fields, and Connect error propagation.

Release quarantine

These are the newest releases eligible under the unchanged eight-day quarantine as of 2026-11-07:

Dependency Selected Newer release still quarantined Eligible at (UTC)
Fastify 5.12.7 5.12.8 2026-11-10 10:46:39.236
Protobuf runtime 2.16.0 2.17.0 2026-11-13 08:39:21.506
Protobuf generator 2.16.0 2.17.0 2026-11-13 08:39:24.936

Connect 2.3.0, Buf 1.75.0, and Node 24 typings 24.19.2 are the latest releases in their selected lines and are quarantine-eligible. No age-gate bypasses or runtime patches are used.

Validation

  • Full yarn ci --concurrency 2 passed under Node.js 24.22.1, including server end-to-end coverage.
  • Four focused RPC integration cases passed; Buf schema lint and reproducible code generation passed.
  • Immutable install, dependency checks, Syncpack, repository formatting, and stack-specific Beachball checks passed.
  • No compatible duplicate RPC dependency trees remain. The generator's exact upstream TypeScript 5.4.5 dependency is kept separate from the repo's TypeScript 6, replacing its previous TypeScript 4.5.2 tree.

Update Fastify, Connect, Protobuf and Node 24 typings to the latest quarantine-eligible releases. Regenerate service descriptors, adapt client and server types, and cover HTTP/2 task execution and errors.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@ecraig12345 Elizabeth Craig (ecraig12345) added the lage-v3 Work items for lage v3 and related major bumps of backfill label Nov 7, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lage-v3 Work items for lage v3 and related major bumps of backfill

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant