feat!: Require Node >=20.19.0 as minimum supported version#22558
Conversation
Bumps the minimum supported Node.js version to 20.19.0 for v11 and removes now-dead runtime branches that guarded pre-20 Node versions. Ref #22056 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
size-limit report 📦
|
| * - Dropped the `@opentelemetry/instrumentation` base (undici reports via `diagnostics_channel`, | ||
| * so no module patching was needed) — exposed as a plain `instrumentUndici()` function that the | ||
| * integration wires up directly | ||
| * - Dropped the pre-18.19.0 `diagnostics_channel` ref-counting workaround, since the SDK |
There was a problem hiding this comment.
l: don't think this adds anything?
|
I updated the range to |
nicohrubec
left a comment
There was a problem hiding this comment.
we also have checks in our orchestrion integration to see if tracing channels are available, which seems to be only relevant for node 18 afaict? e.g. here
Shouldn't hurt to be safe but we could also think about removing these?
| }); | ||
| }); | ||
|
|
||
| describe('createCallbackList', () => { |
There was a problem hiding this comment.
q: why is this no longer relevant?
There was a problem hiding this comment.
createCallbackList was sync only and the code always chooses async by default given the node version so this is no longer needed.
Lms24
left a comment
There was a problem hiding this comment.
nice!
q: Should this be feat(node)!: ... ?
|
@nicohrubec that comment is kinda misleading because server-utils can also be used by bun, cf and deno where it's not as clear which versions need it. I opted to keep it for now, we can clean that up later if we are confident it doesn't break. |
|
@Lms24 it kinda touches every sdk package which is why it doesn't have a scope |
…e app (#22593) Removes the `react-router-7-framework-spa-node-20-18` e2e app. It existed only to test on Node 20.18, which is now below the `>=20.19.0` minimum supported version (#22558). It is otherwise a duplicate of `react-router-7-framework-spa`, so it is removed rather than kept on an unsupported Node version. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
What
Raise the minimum supported Node.js version to
20.19.0for v11.engines.nodeto>=20.19.0across all packages and dev-packages.diagnostics_channelrefcount fallbacks, and the redis!dc.tracingChannelfallback.ci-unit-tests.tsand refresh stale Node-18 references (issue template, workflow comment, docs, pino/spotlight docstrings).Why
v11 targets Node
20.19.0so the SDK can rely onrequire(esm)and stabletracingChannelwithout polyfills or legacy code paths. CI matrices, the migration guide, and the volta pin were already moved to Node 20; this aligns the publishedenginesfields and removes the dead code the old floor required.Kept the
>=22.12gates and the cross-runtime!dc.tracingChannelguards in@sentry/server-utils, which are still reachable on Deno/Bun/Cloudflare. The react-router server-OTel path and itsnode-20-18e2e apps are left to #22290, which removes them.Ref #22056