Uh oh!
There was an error while loading. Please reload this page.
feat(v10/nextjs): Add @sentry/nextjs/config entry point - #23766
Merged
Conversation
v11 moved `withSentryConfig` and `SentryBuildOptions` to `@sentry/nextjs/config` (#23628), which breaks every existing `next.config`. Expose the same entry point on v10 so users can move before upgrading, and warn once when `withSentryConfig` is still imported from `@sentry/nextjs`. The main entry routes through a shim rather than re-exporting `./config` directly, so importing from `@sentry/nextjs/config` stays silent. `preserveModules` keeps both paths on one implementation. The `@deprecated` tag lives on the export site in `index.types.ts`, which is what the `types` condition resolves to and therefore the only JSDoc users see. Refs #23628 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Contributor
size-limit report 📦
|
Converts the nextjs-16-trailing-slash config to `.mjs` and points it at the new entry point. Next loads `.mjs` through Node's own ESM loader instead of compiling it, so it is the only config format that exercises `@sentry/nextjs/config` as a plain-Node ESM consumer — where `__dirname` would throw and where `cjs-module-lexer` has to see the named export statically. Only this one app moves. The rest keep importing from `@sentry/nextjs` so the back-compat path and the deprecation shim stay under CI coverage. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
chargome
commented
Aug 31, 2026
MemberAuthor
bugbot run |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit e5ca17a. Configure here.
chargome
marked this pull request as ready for review
August 31, 2026 15:27
chargome
requested review from
JPeer264, andreiborza, logaretm, nicohrubec and s1gr1d
and removed request for
a teamAugust 31, 2026 15:27
chargome
commented
Aug 31, 2026
MemberAuthor
The failing test is unrelated |
andreiborza
approved these changes
Aug 31, 2026
Uh oh!
There was an error while loading. Please reload this page.
46 tasks
This was referenced Sep 5, 2026
brandhaug added a commit
to brandhaug/b2b-saas-starter
that referenced
this pull request
Sep 5, 2026
## Dependency Updates | Package | From | To | Type | | --- | --- | --- | --- | | `@sentry/react` | 10.71.0 | 10.73.0 | minor | ## Release Notes <details> <summary><b>@sentry/react</b> (10.71.0 → 10.73.0) — 2 releases</summary> <details> <summary><b>10.73.0</b></summary> ### Important Changes - **feat(v10/nextjs): Add `@sentry/nextjs/config` entry point ([#23766](getsentry/sentry-javascript#23766 `withSentryConfig` is now available from `@sentry/nextjs/config`, the path it moves to in v11. Importing it from `@sentry/nextjs` still works on v10 but logs a warning once, so you can change your `next.config` file today and upgrade to v11 without touching it again. ```js // next.config.mjs - import { withSentryConfig } from '@sentry/nextjs'; + import { withSentryConfig } from '@sentry/nextjs/config'; ``` ### Other Changes - feat(v10/node): Deprecate `shouldHandleError` on `setupExpressErrorHandler` and `setupFasitfyErrorHandler` ([#23734](getsentry/sentry-javascript#23734)) - fix(v10/cloudflare): Instrument Durable Object handlers installed as read-only properties ([#23769](getsentry/sentry-javascript#23769)) <details> <summary><strong>Internal Changes</strong></summary> - test(v10/nextjs): Drop nextjs-16-cf-workers canary variant ([#23775](getsentry/sentry-javascript#23775)) </details> ## Bundle size 📦 | Path | Size | | -------------------------------------------------------------------------- | ----------------- | | @sentry/browser | 27.1 KB | | @sentry/browser - with treeshaking flags | 25.58 KB | | @sentry/browser (incl. Tracing) | 45.54 KB | | @sentry/browser (incl. Tracing + Span Streaming) | 47.28 KB | | @sentry/browser (incl. Tracing, Profiling) | 50.17 KB | | @sentry/browser (incl. Tracing, Replay) | 83.87 KB | | @sentry/browser (incl. Tracing, Replay) - with treeshaking flags | …[full notes](https://github.com/getsentry/sentry-javascript/releases/tag/10.73.0) </details> <details> <summary><b>10.72.0</b></summary> ### Important Changes - **AI integrations no longer report errors that propagate to the caller ([#23638](getsentry/sentry-javascript#23638), [#23639](getsentry/sentry-javascript#23639), [#23640](getsentry/sentry-javascript#23640 Across all AI integrations (OpenAI, Anthropic, Google GenAI, LangChain, and LangGraph), the SDK no longer sends an event to Sentry for errors that the AI framework propagates to your code. Previously the instrumentation reported these as unhandled (`handled: false`) before your own error handling ran, so an error your code caught still showed up in Sentry as an unhandled crash. The span is still marked as errored and the error still propagates, so reporting is left to your application: if your code does not handle the error, it reaches Sentry's global error handlers and is captured as unhandled, just like any other uncaught error. Errors that a provider surfaces as data on an otherwise successful response (such as Anthropic error-shaped responses or Google GenAI blocked content) are still captured, since your code never sees them propagate. - **feat(v10/cloudflare): Add `rpcTracePropagationBindings` ([#23737](getsentry/sentry-javascript#23737), [#23738](getsentry/sentry-javascript#23738 The new `rpcTracePropagationBindings` option names the `env` bindings that outgoing RPC calls propagate trace context to. Strings match a binding name exactly, regular expressions match by pattern, and the default empty array propagates to nothing. RPC has no headers to carry trace context, so the SDK appends it as a trailing argument that only a Sentry-instrumented receiver removes again. List only the bindings whose receiver you know runs Sentry. Setting the option takes precedence over `enableRpcTracePropagation`, which is now deprecated. When you build with the Sentry Cloudflare Vite plugin, the bindings that resolve to t …[full notes](https://github.com/getsentry/sentry-javascript/releases/tag/10.72.0) </details> </details> --- *This PR was auto-generated by [catalog-update-action](https://github.com/brandhaug/catalog-update-action).*
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Exposes
@sentry/nextjs/configon v10 (additively) and warns once whenwithSentryConfigis still imported from@sentry/nextjs, so users can make the change on their current major and upgrade to v11 without touching their config.src/config/index.tswas already a rollup entrypoint, only the export map was missing. Resolves to CJS under every condition, matching v11.@sentry/nextjs/configstays silent;preserveModuleskeeps both paths on one implementation.next.config.jsfiles are plain JS with no TS server attached.@deprecatedsits on the export site inindex.types.ts— that's what thetypescondition resolves to, and tagging the shim madeno-deprecatedfire on our own re-export.nextjs-16-trailing-slashmoves to a.mjsconfig on the new path — the only format Next loads through Node's own ESM loader. The other apps stay on the old import so the back-compat path keeps CI coverage.Refs #23628