Skip to content

feat!: Require Node >=20.19.0 as minimum supported version#22558

Draft
andreiborza wants to merge 1 commit into
developfrom
ab/js-920-require-node-20
Draft

feat!: Require Node >=20.19.0 as minimum supported version#22558
andreiborza wants to merge 1 commit into
developfrom
ab/js-920-require-node-20

Conversation

@andreiborza

Copy link
Copy Markdown
Member

What

Raise the minimum supported Node.js version to 20.19.0 for v11.

  • Bump engines.node to >=20.19.0 across all packages and dev-packages.
  • Remove now-dead runtime branches that guarded pre-20 Node: the ESM loader-hooks version warning, the ANR 16.17 throw, both node-fetch diagnostics_channel refcount fallbacks, and the redis !dc.tracingChannel fallback.
  • Drop the Node-18 skip logic in ci-unit-tests.ts and refresh stale Node-18 references (issue template, workflow comment, docs, pino/spotlight docstrings).

Why

v11 targets Node 20.19.0 so the SDK can rely on require(esm) and stable tracingChannel without polyfills or legacy code paths. CI matrices, the migration guide, and the volta pin were already moved to Node 20; this aligns the published engines fields and removes the dead code the old floor required.

Kept the >=22.12 gates and the cross-runtime !dc.tracingChannel guards in @sentry/server-utils, which are still reachable on Deno/Bun/Cloudflare. The react-router server-OTel path and its node-20-18 e2e apps are left to #22290, which removes them.

Ref #22056

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>
@linear-code

linear-code Bot commented Jul 23, 2026

Copy link
Copy Markdown

JS-920

@github-actions

Copy link
Copy Markdown
Contributor

size-limit report 📦

Path Size % Change Change
@sentry/browser 27.79 kB - -
@sentry/browser - with treeshaking flags 26.23 kB - -
@sentry/browser (incl. Tracing) 46.31 kB - -
@sentry/browser (incl. Tracing + Span Streaming) 48.06 kB - -
@sentry/browser (incl. Tracing, Profiling) 51.12 kB - -
@sentry/browser (incl. Tracing, Replay) 85.59 kB - -
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags 75.23 kB - -
@sentry/browser (incl. Tracing, Replay with Canvas) 90.29 kB - -
@sentry/browser (incl. Tracing, Replay, Feedback) 102.97 kB - -
@sentry/browser (incl. Feedback) 44.96 kB - -
@sentry/browser (incl. sendFeedback) 32.59 kB - -
@sentry/browser (incl. FeedbackAsync) 37.64 kB - -
@sentry/browser (incl. Metrics) 28.88 kB - -
@sentry/browser (incl. Logs) 29.11 kB - -
@sentry/browser (incl. Metrics & Logs) 29.8 kB - -
@sentry/react 29.59 kB - -
@sentry/react (incl. Tracing) 48.6 kB - -
@sentry/vue 33.22 kB - -
@sentry/vue (incl. Tracing) 48.28 kB - -
@sentry/svelte 27.81 kB - -
CDN Bundle 30.11 kB - -
CDN Bundle (incl. Tracing) 48.14 kB - -
CDN Bundle (incl. Logs, Metrics) 31.69 kB - -
CDN Bundle (incl. Tracing, Logs, Metrics) 49.47 kB - -
CDN Bundle (incl. Replay, Logs, Metrics) 70.95 kB - -
CDN Bundle (incl. Tracing, Replay) 85.72 kB - -
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 87.01 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback) 91.49 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 92.78 kB - -
CDN Bundle - uncompressed 89.77 kB - -
CDN Bundle (incl. Tracing) - uncompressed 144.84 kB - -
CDN Bundle (incl. Logs, Metrics) - uncompressed 94.48 kB - -
CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 148.82 kB - -
CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 219.24 kB - -
CDN Bundle (incl. Tracing, Replay) - uncompressed 264.08 kB - -
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 268.04 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 277.78 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 281.74 kB - -
@sentry/nextjs (client) 51.13 kB - -
@sentry/sveltekit (client) 46.75 kB - -
@sentry/core/server 80.07 kB - -
@sentry/core/browser 51.9 kB - -
@sentry/node 124.3 kB -0.22% -270 B 🔽
@sentry/node (incl. diagnostics channel injection) 149.71 kB -0.18% -255 B 🔽
@sentry/node/import (ESM hook with diagnostics-channel injection) 70.03 kB -0.01% -2 B 🔽
@sentry/node - without tracing 74.4 kB -0.35% -261 B 🔽
@sentry/aws-serverless 83.9 kB -0.28% -231 B 🔽
@sentry/cloudflare (withSentry) - minified 196.61 kB - -
@sentry/cloudflare (withSentry) 483.83 kB - -

View base workflow run

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant