Skip to content

docs(javascript): Add v10 to v11 migration guide - #19217

Merged
andreiborza merged 58 commits into
masterfrom
ab/js-v11-migration-guide
Sep 8, 2026
Merged

docs(javascript): Add v10 to v11 migration guide#19217
andreiborza merged 58 commits into
masterfrom
ab/js-v11-migration-guide

Conversation

@andreiborza

Copy link
Copy Markdown
Member

DESCRIBE YOUR PR

Fills in the one-page v10 to v11 migration guide for the JavaScript SDKs, which was a placeholder before. The content follows the SDK's MIGRATION.md.

  • Long tables (span names, span ops, attribute renames) and optional details are in expandable sections
  • Framework and runtime specific changes are filtered per guide, so each platform page only shows what applies to it

This is the bottom of a stack. #19076 (interactive guide) goes on top of it and adds the link to the interactive version.

IS YOUR CHANGE URGENT?

Help us prioritize incoming PRs by letting us know when the change needs to go live.
Select exactly one option. For deadlines, replace YYYY-MM-DD with the due date. You can update this information later by editing the PR description.

  • Urgent deadline (GA date, etc.): YYYY-MM-DD
  • Other deadline: YYYY-MM-DD
  • No deadline: Not urgent, can wait up to 1 week+

SLA

  • Teamwork makes the dream work, so please add a reviewer to your PRs.
  • Please give the docs team up to 1 week to review your PR unless you've supplied a deadline.

Thanks in advance for your help!

PRE-MERGE CHECKLIST

Make sure you've checked the following before merging your changes:

  • Checked Vercel preview for correctness, including links
  • PR was reviewed and approved by any necessary SMEs (subject matter experts)
  • PR was reviewed and approved by a member of the Sentry docs team

Fill in the one-page migration guide for the JavaScript SDK v11, which was
a placeholder before. The content follows the SDK's MIGRATION.md.

Long tables and optional details are in expandable sections, and framework
and runtime specific changes are filtered per guide, so each platform page
only shows what applies to it.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Sep 1, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
sentry-docs Ready Ready Preview Sep 8, 2026 11:54am UTC
1 Skipped Deployment
Project Deployment Actions Updated
develop-docs Ignored Ignored Preview Sep 8, 2026 11:54am UTC

Request Review

Comment thread docs/platforms/javascript/common/migration/v10-to-v11/index.mdx
Comment on lines +562 to +568
```js
// Before
Sentry.init({ skipOpenTelemetrySetup: true });

// After
Sentry.init({ enableOpenTelemetrySetup: false });
```

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: The migration example for skipOpenTelemetrySetup is misleading. It suggests a simple rename to enableOpenTelemetrySetup, which breaks custom OpenTelemetry setups due to a change in semantics.
Severity: HIGH

Suggested Fix

Remove the simple rename example or clarify it. The guide should explicitly state that users with custom OTel setups must follow the more detailed instructions involving openTelemetryIntegration() and point them to that section. The simple example is only valid for a different, less common use case.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent. Verify if this is a real issue. If it is, propose a fix; if not, explain why it's
not valid.

Location: docs/platforms/javascript/common/migration/v10-to-v11/index.mdx#L562-L568

Potential issue: The migration guide incorrectly suggests that `Sentry.init({
skipOpenTelemetrySetup: true })` in v10 is equivalent to `Sentry.init({
enableOpenTelemetrySetup: false })` in v11. This is misleading because the v10 option
was used to disable Sentry's OTel setup to allow for a custom one. Following the guide's
simple rename will cause a user's custom OpenTelemetry setup to break silently, as it
will no longer be wired up. The correct migration for this use case involves using the
`openTelemetryIntegration()` as described in a different section of the document.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMHO the example is weird because it infers you should set this to false to replace the previous skipOpenTelemetrySetup which is not what you need to do. I think this example can probably be omitted, a single example does not explain anything here 😅

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed in 8092ef2

Comment thread docs/platforms/javascript/common/migration/v10-to-v11/index.mdx
Comment thread docs/platforms/javascript/common/migration/v10-to-v11/index.mdx Outdated
| React | 17 |
| Astro | 4 |
| React Router (framework mode) | 7.15 |
| Remix (`@remix-run/node`) | 2 |

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We already dropped remix v1 in a prev major, this line can be removed

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated in c0697b7


## Next.js Changes

The build-time configuration moved and dropped its long-deprecated options.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

long-deprecated seems off

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated in d6ef11e


### Removed Build Options

The long-deprecated top-level options of `withSentryConfig` were removed. Most of them moved under `webpack` in v10:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here, would get rid of long-deprecated

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated in d6ef11e


### Other Next.js Changes

- Tracing was removed from the generated Pages Router API handler, Edge API handler, and Middleware wrapper templates. Route handlers and middleware are still instrumented automatically, so no action is required for most setups.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can omit this line here

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated in 0b75522


The minimum required TypeScript version is **5.0.4**. The SDK no longer ships down-leveled types. Older TypeScript versions _may_ continue to work, but no guarantees apply.

### Frameworks and Libraries

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we show this section here so generically? What about, instead of this, just showing a line in the respective framework, e.g. in Astro

Raised minimum support of Astro to 4

so you see what actually applies to the current guide?

@andreiborza andreiborza Sep 7, 2026

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, updated in e32dbc5.


<Alert level="warning">

This is a behavior change, not a rename. In v10, an unset `sendDefaultPii` was restrictive. In v11, an unset `dataCollection` collects most categories.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I love this message, but would reword it slightly:

Suggested change
This is a behavior change, not a rename. In v10, an unset `sendDefaultPii` was restrictive. In v11, an unset `dataCollection` collects most categories.
This is a behavior change, not a rename. In v10, an unset `sendDefaultPii` was restrictive. In v11, an unset `dataCollection` collects everything by default.

plus mentioning somewhere the sensitive information like auth tokens are stripped on a best-effort basis ?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated in 42af812

Comment thread docs/platforms/javascript/common/migration/v10-to-v11/index.mdx
Comment thread docs/platforms/javascript/common/migration/v10-to-v11/index.mdx Outdated
Comment thread docs/platforms/javascript/common/migration/v10-to-v11/index.mdx
Comment thread docs/platforms/javascript/common/migration/v10-to-v11/index.mdx

### Node.js

Node.js 18 is no longer supported. The supported versions are **`>=20.19.0`**, **`>=22.12.0`**, and **`>=23.2.0`**.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

m: Tbh that reads a bit odd. With >=20.19.0 we mean "everything in the 20 range", but >=23.2.0 we mean "everything in the 23 range but also later". So being explicit wouldn't harm either

Suggested change
Node.js 18 is no longer supported. The supported versions are **`>=20.19.0`**, **`>=22.12.0`**, and **`>=23.2.0`**.
Node.js 18 is no longer supported. The supported versions are **`>=20.19.0 <22.0.0 || >=22.12.0 <23.0.0 || >=23.2.0`**.

@andreiborza andreiborza Sep 8, 2026

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Technically true but nobody uses these uneven node versions and they go EOL way quicker anyway. I think it's fine as is.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nobody uses these uneven node versions

famous last words

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

trust

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Went with naming the gaps plus the raw range, since Node 21 is supported (the SDK falls back to patching node:http below 22.12): "The minimum is 20.19.0, and Node.js 22 needs 22.12 or higher while Node.js 23 needs 23.2 or higher (>=20.19.0 <22.0.0 || >=22.12.0 <23.0.0 || >=23.2.0)". Updated in fca41d4

Comment thread docs/platforms/javascript/common/migration/v10-to-v11/index.mdx Outdated
Comment thread docs/platforms/javascript/common/migration/v10-to-v11/index.mdx Outdated
Comment thread docs/platforms/javascript/common/migration/v10-to-v11/index.mdx Outdated
Comment thread docs/platforms/javascript/common/migration/v10-to-v11/index.mdx Outdated

### RPC Trace Propagation Is Explicit

The `enableRpcTracePropagation` option was removed, and trace context is no longer appended to every RPC call on `env`. List the bindings you call in `rpcTracePropagationBindings` instead:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

l: Maybe worth to mention that users with our Vite plugin can simply remove enableRpcTracePropagation: true and only allow list external services, or simply link to the option: https://docs.sentry.io/platforms/javascript/guides/cloudflare/tracing/distributed-tracing/#rpc-trace-propagation

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added in cd1a650

andreiborza and others added 4 commits September 8, 2026 09:31
Co-authored-by: Jan Peer Stöcklmair <jan.peer@sentry.io>
Co-authored-by: Jan Peer Stöcklmair <jan.peer@sentry.io>
Co-authored-by: Jan Peer Stöcklmair <jan.peer@sentry.io>
Co-authored-by: Jan Peer Stöcklmair <jan.peer@sentry.io>
Comment thread docs/platforms/javascript/common/migration/v10-to-v11/index.mdx
Comment thread docs/platforms/javascript/common/migration/v10-to-v11/index.mdx
Comment thread docs/platforms/javascript/common/migration/v10-to-v11/index.mdx
andreiborza added a commit to getsentry/sentry-javascript that referenced this pull request Sep 8, 2026
Two fixes to the v11 migration guide, found while writing the docs
version of it (getsentry/sentry-docs#19217):

- **Remix version support:** the guide lists `Remix: dropped
@remix-run/node v1 (minimum is now v2)`, but that happened in v9
(#14988, shipped in 9.0.0). The peer dependency has been `2.x` ever
since, and v11 doesn't change it, so the bullet is removed.
- **Next.js build options:** "long-deprecated" overstates it. Those
options were deprecated in 10.30.0 (#18343) and removed in v11 (#23221),
so the guide now says when it happened.

Docs only, no code change.

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
@andreiborza
andreiborza merged commit e4d245f into master Sep 8, 2026
22 checks passed
@andreiborza
andreiborza deleted the ab/js-v11-migration-guide branch September 8, 2026 12:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Priority: Normal Docs review has no urgent deadline

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants