Skip to content

chore(deps): update JavaScript SDK to v11.12.0 - #6773

Draft
github-actions[bot] wants to merge 1 commit into
mainfrom
deps/scripts/update-javascript.sh
Draft

github-actions[bot] wants to merge 1 commit into
mainfrom
deps/scripts/update-javascript.sh

Conversation

@github-actions

@github-actions github-actions Bot commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

Bumps scripts/update-javascript.sh from 10.78.0 to 11.12.0.

Auto-generated by a dependency updater.

Changelog

11.12.0

Important Changes

  • feat(bundler-plugins): Enable hidden source maps and remove them after upload (#25637, #25645, #25646, #25647, #25648)

    The Sentry Rollup, Vite, webpack and esbuild plugins now turn on hidden source maps when your bundler has no source maps enabled and the plugin can upload them. They upload the maps to Sentry and remove them from the build output. You no longer need to set sourcemap: 'hidden' or filesToDeleteAfterUpload globs:

    sentryVitePlugin({ org, project, authToken });

    The new sourcemaps.deleteSourcemapsAfterUpload option controls the removal:

    • Unset: the plugin removes only the source maps it turned on itself. Source maps you enabled yourself stay in the build output, as before.
    • true: the plugin also removes source maps you enabled yourself, and switches visible source maps to hidden. Set this if you already use sourcemap: 'hidden' and want to drop your filesToDeleteAfterUpload globs.
    • false: the plugin never removes source maps.

    Builds in development mode or without an auth token, org and project do not change.

  • feat(cloudflare): Propagate tracing context through Queue messages (#25306)

    Cloudflare Queue consumers can now link to the traces of the producers that sent the messages. Set queueTracePropagationBindings to the producer bindings that should add trace data to plain-object message bodies. Consumers remove this data before your handler runs, and the queue.process span links to every producer in the batch.

    export default Sentry.withSentry(
      env => ({
        dsn: env.SENTRY_DSN,
        queueTracePropagationBindings: ['BILLING_QUEUE', /^JOBS_/],
      }),
      handler,
    );
  • feat(core): Answer managed tunnel requests in the runtime (#25997, #25998, #25999, #26000, #26001)

    serveTunnelIntegration() now answers tunnel requests before they reach your app, in Node.js, Bun, Deno, Cloudflare Workers and AWS Lambda. You no longer need a framework integration or a route handler, so any server setup works with only the integration:

    Sentry.init({ dsn, integrations: [Sentry.serveTunnelIntegration()] });

    To answer tunnel requests from your own code, set serveTunnelIntegration({ intercept: false }) and call handleTunnelRequestIfMatched.

Other Changes

  • feat(server-utils): Always warn on Bun when no channel injection is detected (#25857)
  • feat(server-utils): Group the tool spans of an Anthropic session runner under one invoke_agent span (#25995)
  • feat(tanstackstart-react): Deprecate tunnelRoute (#26225)
  • fix(aws-serverless): Fork isolation scope per invocation (#26191)
  • fix(aws-serverless): Omit default port from url.full on function.aws spans (#26227)
  • fix(browser): Keep the current origin for // paths in url.full (#26165)
  • fix(cloudflare): Capture NonRetryableError before the final workflow step attempt (#26161)
  • fix(cloudflare): Initialize the SDK before constructing a Durable Object (#26218)
  • fix(cloudflare): Keep framework-managed methods when a Durable Object constructor throws (#25851)
  • fix(core): Avoid stack overflow in FunctionToString on cyclic Proxy prototype chains (#26162)
  • fix(core): Preserve parentheses in anonymous Node stack paths (#26216)
  • fix(core): stop normalize() from throwing on symbol and null-prototype errors (#25967)
  • fix(core): Use the final segment span name for streamed spans that end before a rename (#26178)
  • fix(deps): Bump the sentry CLI to ^0.49.0 (#26200)
  • fix(esbuild): Avoid import-is-undefined warning for entries without a default export (#26132)
  • fix(hono): Name routes without c.req.matchedRoutes (#25454)
  • fix(nextjs,sveltekit): Hide git revision console on Windows (#26223)
  • fix(node): Patch the mutable fs object in fsIntegration under native ESM (#26086)
  • fix(node): Read syncBuiltinESMExports off the module namespace so Deno can load sentry/node (#26155)
  • fix(server-utils): Count Bedrock prompt-cache tokens as input tokens (#26147)
  • fix(server-utils): Create an invoke_agent span for LangGraph stream() (#25749)
  • fix(server-utils): End Bedrock stream spans with an error status on failure (#26131)
  • fix(server-utils): Keep Bedrock InvokeModel spans for byte, non-JSON, or model-less bodies (#26124)
  • fix(server-utils): Mark AI streaming spans as errored when the stream fails midway (#26023)
  • fix(server-utils): Read Bedrock Claude stream output tokens from message_delta (#26170)
  • fix(server-utils): Read Bedrock Mistral and Cohere stream token counts from invocation metrics (#26176)
  • fix(server-utils): Record Anthropic system instructions from text blocks (#26182)
  • fix(server-utils): Record Bedrock finish reasons as a JSON string (#26184)
  • fix(server-utils): Record LangGraph finish reasons as a JSON string (#26185)
  • fix(server-utils): Record Vercel AI system instructions from message objects (#26181)
  • fix(sveltekit): Read navigation untracked in the Kit 3 fetch wrapper (#26136)
Internal Changes
  • chore(deps): Bump modelcontextprotocol/server and client to 2.4.0 (#26116)
  • chore(deps): Bump sentry/conventions to 0.31.0 (#26160)
  • chore(deps): Bump sentry/conventions to 0.32.0 (#26222)
  • chore(deps): Bump body-parser to fix CVE-2026-111181 (#26164)
  • chore(deps): Bump dependencies to fix in-range security alerts (#26221)
  • chore(deps): Bump nanoid to fix CVE-2026-73086 (#26173)
  • chore(deps): Bump nx from 22.7.10 to 24.0.3 (#26110)
  • chore(deps): Bump path-to-regexp to fix CVE-2026-4867 (#26174)
  • chore(deps): Bump rrweb to 2.46.0 (#26241)
  • chore(deps): Bump vite to 6.4.5 and 7.3.7 (#26113)
  • chore(deps): Remove unused dependencies from workspace packages (#26230)
  • chore(deps-dev): Bump vite from 8.3.5 to 8.3.6 (#26243)
  • chore: use native node:fs for removal scripts (#26219)
  • docs: Point Sentry Conventions links to conventions.sentry.dev (#26156)
  • feat(deps): Bump ws from 8.18.0 to 8.22.2 (#26242)
  • fix(ci): refresh lockfile deprecation metadata (#26183)
  • perf(ci): (more) sharding of browser and runtime integration tests (#26163)
  • perf(ci): cache WebKit system package downloads (#26198)
  • perf(ci): combine circular dependency checks across entrypoints (#26195)
  • perf(ci): decouple ordinary E2E tests from the AWS Lambda layer build (#26167)
  • perf(ci): isolate SQL Server tests and use ARM integration runners (#26148)
  • perf(ci): minimize Playwright system dependency installation (#26159)
  • perf(ci): use ARM runners for builds and selected tests (#26106)
  • perf(ci): Use pnpm pack for tarballs (#26024)
  • ref(core): Set up log and metric flushing on first capture (#26146)
  • ref(server-utils): Add shared isBun, isDeno and isCloudflareWorkers helpers (#26111)
  • test(aws-serverless): Add Bedrock streaming integration scenario (#26190)
  • test(browser): Trigger third-party errors after initialization (#26206)
  • test(browser): Use navigation-aware back actions in bfcache tests (#26208)
  • test(bundler-plugins): Add integration tests for sourcemaps.assets and sourcemaps.ignore (#25916)
  • test(bundler-plugins): Increase timeout for webpack release-injection test (#26172)
  • test(cloudflare): Poll Workflow send aborts in the run context (#26207)
  • test(cloudflare): tolerate span timestamp rounding (#26196)
  • test(e2e): Fix cloudflare-pi-durable builds (#26235)
  • test(e2e): Pin elysia to v1 in the elysia-node test app (#26215)
  • test(e2e): Remove unused dependencies from E2E test apps (#26231)
  • test(hono): Fix flaky middleware error status test (#26213)
  • test(hono): relax middleware span timing assertions (#26199)
  • test(node): collect TypeSafe spans across streamed envelopes (#26151)
  • test(nuxt): Keep Nitro 2 WebSocket handlers resolvable with the managed tunnel (#26082)
  • test(react): Synchronize lazy-route navigation cancellation (#26210)
  • test(replay): Collect request spans across recording segments (#26209)

Work in this release was contributed by lazerg, rjmcgee53192, adityankale190895, arthurfiorette, chan-mai, nuntz, and 43081j. Thank you for your contributions!

11.11.0

  • ref(cloudflare): Use the shared request handler wrapper (#25588)

    Cloudflare Workers now use the same request handler wrapper as Deno.serve and Bun.serve. Changes for Cloudflare users:

    • Request spans now set client.address from the CF-Connecting-IP header (or another forwarding header), as on the other runtimes. This follows dataCollection.userInfo, which is true by default. To leave it out, set dataCollection: { userInfo: false }.
    • Request spans now have the response header attributes, and events have the response context with the status code.
    • When the source of a streamed response fails, the SDK now captures the error and marks the span as failed. With captureErrors: false, it does not capture it.
    • Request spans now list every Set-Cookie header of a response, as on Deno and Bun.
    • Without AsyncLocalStorage (for example on Shopify Oxygen), events now also get the request URL and method.
  • feat(nestjs): Add an option to monitor every Cron method (#25471)

    Set monitorCronJobs: true on nestIntegration() to send check-ins for every Cron() method, without adding SentryCron to each one. It's off by default. Each monitored job creates a monitor in Sentry, and monitors are billed. Use excludeCronJobs to skip jobs by slug. Methods that also have SentryCron check in once, with the slug and options passed to SentryCron.

  • feat(node): Add cronJobIntegration to monitor cron jobs (#25477)

    Add Sentry.cronJobIntegration() to integrations to send check-ins for every named CronJob of the cron package (4.3+), with the job name as the monitor slug. It's off by default. Each monitored job creates a monitor in Sentry, and monitors are billed. Use excludeJobs to skip jobs by name. Sentry.cron.instrumentCron is deprecated; use cronJobIntegration instead.

  • fix(server-utils): Instrument anthropic-ai/sdk 1.x and turn off its own OTel spans (#25750)

    The Anthropic integration now instruments anthropic-ai/sdk 1.x. Since 0.134 the SDK also records its own OpenTelemetry spans, such as anthropic.messages.create, which duplicated Sentry's gen_ai spans. Once Sentry instruments the SDK, it sets ANTHROPIC_OPEN_TELEMETRY=false to turn those spans off. To keep them, set ANTHROPIC_OPEN_TELEMETRY=true or pass the openTelemetry option to the Anthropic client.

  • feat(nextjs): Mark pageloads of cached pages (#25318)

    When Next.js serves a page from its cache, for example an ISR page or a cacheComponents shell, the pageload now has the page.server_rendering.type attribute. It is static if the whole page came from the cache, and partially_static if parts of it rendered for this request. Then the pageload stays connected to this request, as before. If the request that rendered the cached page was sampled, the pageload also links to it. So in Sentry, a cached page no longer looks like missing server instrumentation.

Other Changes

  • feat(astro): Add sentry/astro/integration entry for the Astro integration (#25726)
  • feat(bundler-plugins): Add sourcemaps.deleteSourcemapsAfterUpload and staged uploads (#25637)
  • feat(nestjs): Derive SentryCron monitor config from Cron (#25013)
  • feat(nextjs): Add applicationKeyExcludeDependencies option (#25818)
  • feat(node): Add awsLambdaWebIntegration for Lambda Web Functions (#25355)
  • feat(node): Add BullMQ integration (#21777)
  • feat(node): Add nodeCronIntegration to monitor node-cron tasks (#25473)
  • feat(node): Add nodeScheduleIntegration to monitor node-schedule jobs (#25474)
  • feat(node): Support postgres v4 through its native tracing channels (#26076)
  • feat(server-utils): Extract getSqlSpanName for SQL span names (#25929)
  • feat(server-utils): Move to new getSqlQueryAttributes helper for consistency (#25927)
  • feat(server-utils): Record AI SDK v7 runtime and tool context on Vercel AI spans (#25774)
  • feat(server-utils): Set db.operation.name on SQL spans (#25850)
  • feat(server-utils): Support mistralai/mistralai v3 (#25827)
  • feat(solidstart): Export withSentry from sentry/solidstart/vite (#25725)
  • fix(astro): Initialize the server SDK on the first endpoint request (#25731)
  • fix(browser): Attribute long animation frame spans to the longest script (#25990)
  • fix(bundler-plugins): Inject debug IDs into every esbuild rebuild (#26099)
  • fix(bundler-plugins): upload literal artifact paths (#25356)
  • fix(cloudflare): Run build-time instrumentation in vite dev (#25777)
  • fix(core): Call native toString without page-replaceable lookups in FunctionToString (#25921)
  • fix(core): Enforce linked error limits for aggregate and suppressed errors (#25873)
  • fix(core): Only create Supabase db spans when there is a parent span (#25807)
  • fix(core): preserve span links through beforeSendSpan (#25566)
  • fix(core): Respect header collection for session user agents (#25871)
  • fix(deps): Bump glob to 14 and drop the direct dependency from react-router (#26014)
  • fix(nextjs): Don't abort Cache Components renders on Cloudflare Workers when requests overlap (#25315)
  • fix(nextjs): Drop tunnel requests under the Next.request proxy root span (#26096)
  • fix(nextjs): Fork isolation scope for Next.request proxy root spans (#26084)
  • fix(nextjs): Strip source map comments before trailing debug IDs (#25881)
  • fix(nitro): Capture errors thrown in tasks (#26089)
  • fix(nuxt): Keep storage instrumentation plugin synchronous (#25949)
  • fix(replay): Skip buffered replays for captureMessage stacks from the attachStacktrace default (#25846)
  • fix(server-utils): Fix orchestrion source maps of instrumented modules (#25772)
  • fix(server-utils): Read the pi-durable session id in every phase outside a run (#25838)
  • fix(server-utils): Require a parent span for Firestore operations (#25855)
  • fix(server-utils): Require a parent span for Tedious queries (#25822)
  • fix(server-utils): Use onlyIfParent for Firestore spans (#25877)
  • fix(server-utils): Use onlyIfParent for Tedious spans (#25876)
  • fix(solidstart): Serve the managed tunnel under Vite's base on SolidStart 2 (#25848)
  • fix(sveltekit): Resolve Handle and ResolveOptions types on SvelteKit 3 (#26085)
  • fix(wasm): Skip length prefix in 16-byte build IDs (#24857)
  • ref(core): Deprecate the released handleTunnelRequest form and reword the serveTunnelIntegration docs (#25844)
Internal Changes
  • chore(ci): Ignore Dependabot bumps for deps that are also peer deps (#26015)
  • chore(ci): Remove nightly sentry-lighthouse upload workflow (#25966)
  • chore(dependabot): Group related dependency updates (#26059)
  • chore(dependabot): Ignore major react-router updates (#25892)
  • chore(dependabot): Preserve SDK compatibility baselines (#26013)
  • chore(dependabot): Remove obsolete update rules (#26007)
  • chore(deps): Align AWS SDK clients to 3.1161.0 (#26032)
  • chore(deps): Bump actions/core and actions/github in internal GH actions (#26109)
  • chore(deps): Bump nuxt/devtools from 3.4.1 to 3.4.4 (#26097)
  • chore(deps): Bump sentry/conventions to 0.30.0 (#25837)
  • chore(deps): Bump undici from 6.24.1 to 6.29.1 (#26108)
  • chore(deps): Bump webpack from 5.104.1 to 5.112.2 (#25910)
  • chore(deps): Enable pnpm autoDedupe (#25961)
  • chore(deps): Group AWS SDK Dependabot updates (#26030)
  • chore(deps-dev): Bump babel/parser from 7.29.9 to 8.0.10 (#26043)
  • chore(deps-dev): Bump babel/plugin-transform-typescript from 7.29.7 to 8.0.6 (#26012)
  • chore(deps-dev): Bump hono/node-server from 2.1.3 to 2.1.5 (#26054)
  • chore(deps-dev): Bump rollup/plugin-terser from 0.4.4 to 1.0.2 (#25890)
  • chore(deps-dev): Bump testing-library/user-event from 14.5.2 to 14.6.8 (#26071)
  • chore(deps-dev): Bump fake-indexeddb from 6.2.5 to 6.2.7 (#26034)
  • chore(deps-dev): Bump markdown-table from 3.0.3 to 3.0.4 (#26074)
  • chore(deps-dev): Bump node-schedule and types/node-schedule (#26058)
  • chore(deps-dev): Bump redux from 4.0.5 to 5.0.1 (#25959)
  • chore(deps-dev): Bump the nestjs group with 2 updates (#26060)
  • chore(deps-dev): Bump the react-router group across 1 directory with 3 updates (#25955)
  • chore(deps-dev): Bump tsx from 4.23.0 to 4.23.15 (#25958)
  • chore(deps-dev): Bump wrangler from 4.61.0 to 4.156.0 (#26009)
  • chore(dev-packages): Move dependencies to devDependencies (#26046)
  • chore(node-integration-tests): Remove unused dependencies (#25942)
  • chore: Add Bugbot guidance for cold imports in tests (#25976)
  • chore: Add external contributor to CHANGELOG.md (#25862)
  • chore: Add external contributor to CHANGELOG.md (#25870)
  • chore: Add external contributor to CHANGELOG.md (#25872)
  • chore: Add external contributor to CHANGELOG.md (#26017)
  • chore: Add external contributor to CHANGELOG.md (#26062)
  • chore: Batch npm dependency updates daily (#26072)
  • chore: Exclude integration and bundler tests from Dependabot updates (#26075)
  • chore: Ignore major Prisma dependency updates (#26063)
  • chore: Prune unused regexp dependencies from lockfile (#25948)
  • chore: Refresh Smithy deprecation metadata in lockfile (#25971)
  • chore: Remove unused eslint-plugin-regexp dependencies (#25944)
  • chore: Remove unused test and build dependencies (#25945)
  • ci(canary): Build the canary test matrix from canaryVariants (#25866)
  • ci(deps): Bump anthropics/claude-code-action from 1.0.236 to 1.0.264 (#25952)
  • ci(deps): Bump anthropics/claude-code-action from 1.0.264 to 1.0.266 (#26008)
  • ci(deps): Bump getsentry/craft from 2.31.2 to 3.4.0 (#25987)
  • ci(deps): Bump getsentry/craft from 3.4.0 to 3.5.0 (#26011)
  • ci(deps): Bump getsentry/github-workflows/validate-pr from 36c729264d2edc29ebae61950c50e1e9f043ad7e to 01bcb7fe69bb48bacd83e675840e3dc95b33c730 (#25954)
  • ci(deps): Group langchain dependabot updates and skip majors (#26041)
  • ci(deps): Ignore langchain in dependabot (#26056)
  • ci(node): Add optional Node 27 alpha tests (#25984)
  • ci: Drop dead matrix reference in Deno unit tests job (#25852)
  • ci: Include v10 in base-branch metadata (#25977)
  • ci: run CI on GitHub-hosted runners again (#26057)
  • ci: Split the E2E test matrix into two jobs (#25913)
  • docs(changelog): Add monitorCronJobs to Unreleased (#25996)
  • docs(changelog): Restore order of unreleased section in changelog (#26006)
  • feat(deps): Bump aws-sdk/client-lambda from 3.1068.0 to 3.1161.0 (#26026)
  • feat(deps): Bump embroider/addon-shim from 1.10.3 to 1.11.0 (#26048)
  • feat(deps): Bump flue/runtime from 2.0.3 to 2.3.0 (#26044)
  • feat(deps): Bump hapi/content from 6.0.2 to 6.0.3 (#26021)
  • feat(deps): Bump hono/node-server from 2.0.10 to 2.1.3 (#26053)
  • feat(deps): Bump sveltejs/acorn-typescript from 1.0.9 to 1.0.13 (#26050)
  • feat(deps): Bump types/aws-lambda from 8.10.161 to 8.10.164 (#26066)
  • feat(deps): Bump axios from 1.20.0 to 1.21.0 (#26033)
  • feat(deps): Bump dataloader from 2.2.2 to 2.2.3 (#25891)
  • feat(deps): Bump lodash.omit from 4.5.0 to 4.18.0 (#26055)
  • feat(deps): Bump node-forge from 1.4.0 to 1.4.2 (#26020)
  • feat(deps): Bump pg and types/pg (#26042)
  • feat(deps): Bump proxy from 2.1.1 to 4.1.0 (#26029)
  • feat(deps): Bump valibot from 1.4.2 to 1.5.0 (#25957)
  • feat(deps): Bump vite from 8.3.1 to 8.3.5 (#26045)
  • feat(deps): Bump yargs from 16.2.0 to 18.2.0 (#26031)
  • fix(build): Handle CRLF line endings in pnpm-workspace.yaml check (#26083)
  • fix(deps): Bump seroval to 1.6.12 and 1.7.7 (#26047)
  • fix(deps): Bump tar from 7.5.11 to 7.5.22 (#26025)
  • perf(ci): Increase tarball packing concurrency (#25979)
  • perf(ci): Speed up Next.js E2E tests by sharding into dev/prod (#25960)
  • perf(ci): Split Next.js application-key tests by environment (#26040)
  • ref(astro): Use convention constants for attribute keys (#25894)
  • ref(browser): Use convention constants for attribute keys (#25895)
  • ref(browser-utils): Use convention constants for attribute keys (#25896)
  • ref(bun): Use convention constants for attribute keys (#25897)
  • ref(cloudflare): Simplify shared SDK initialization (#25864)
  • ref(cloudflare): Use convention constants for attribute keys (#25898)
  • ref(core): Use convention constants for attribute keys (#25899)
  • ref(deno): Use convention constants for attribute keys (#25900)
  • ref(google-cloud-serverless): Use convention constants for attribute keys (#25901)
  • ref(nextjs): Use convention constants for attribute keys (#25902)
  • ref(node): Use convention constants for attribute keys (#25903)
  • ref(nuxt): Use convention constants for attribute keys (#25904)
  • ref(profiling-node): Use convention constants for attribute keys (#25905)
  • ref(react-router): Use convention constants for attribute keys (#25906)
  • ref(replay-internal): Use convention constants for attribute keys (#25907)
  • ref(server-utils): Clarify PostgreSQL instrumentation filenames (#25939)
  • ref(server-utils): Remove requiresParentSpan in favor of onlyIfParent (#25926)
  • ref(server-utils): Share the postgres.js query settlement logic (#26094)
  • ref(server-utils): Use convention constants for attribute keys (#25908)
  • ref(sveltekit): Use convention constants for attribute keys (#25909)
  • ref: Pass optional span attributes directly instead of conditional spreads (#25878)
  • test(aws-serverless): Move Lambda extension setup outside test timeout (#25975)
  • test(browser): Stabilize long animation frame tests (#25974)
  • test(bundler-plugins): Stabilize missing-parser test setup (#25972)
  • test(bundler-tests): Guard server runtime entries against build-time tooling (#25724)
  • test(e2e): Check node-openai-decisions through the event proxy (#25840)
  • test(e2e): Import Type from typebox in node-pi-durable (#26018)
  • test(e2e): Move canary variants into canaryVariants (#25865)
  • test(e2e): Move OpenAI and Anthropic send-to-sentry cases into gen-ai-libraries (#25841)
  • test(e2e): Point together-ai 1.x at OpenRouter's base URL in gen-ai-libraries (#25947)
  • test(e2e): Remove node-flue-send-to-sentry (#25839)
  • test(e2e): Rename nuxt-5 middleware files to avoid Nitro's dotted suffixes (#25923)
  • test(effect): Assert error severities without event ordering (#25973)
  • test(node-integration-tests): Install Flue and pi-durable as package dependencies (#25933)
  • test(node-integration-tests): Install Prisma suite dependencies as package dependencies (#25943)
  • test(node-integration-tests): Install single-version suite dependencies as package dependencies (#25936)
  • test(nuxt): cover the client plugin's pages-router instrumentation (#25348)
  • test(nuxt): Make the nuxt-5 (tunnel-dev) e2e variant optional (#26004)
  • test(nuxt): Use Nuxt's own Nitro and add db0 in nuxt-5 E2E app (#26095)

Work in this release was contributed by lazerg, chiliec, 61465, jpdefo, and AyeshaWaseemAhmad. Thank you for your contributions!

11.10.0

Important Changes

  • feat: Add a managed tunnel that the SDK derives from the DSN (#25199, #25200, #25783)

    Set tunnel: true in your browser Sentry.init call to send events through your own server. This helps when ad blockers block requests to Sentry. The browser derives the tunnel path from the DSN, so older and newer builds of your client and server always agree on the path.

    To serve the tunnel, add serveTunnelIntegration() to your server SDK. Astro, Nuxt, Nitro, React Router, Remix 3, SolidStart, SvelteKit and TanStack Start then answer tunnel requests automatically:

    // browser
    Sentry.init({ dsn, tunnel: true });
    
    // server
    Sentry.init({ dsn, integrations: [Sentry.serveTunnelIntegration()] });

    If the browser uses a different DSN than the server, set serveTunnelIntegration({ allowedDsns: [browserDsn] }). For other setups, the server SDKs export handleTunnelRequestIfMatched, handleTunnelRequest, isTunnelRequest and getTunnelPath:

    app.use((req, res, next) => Sentry.handleTunnelRequestIfMatched(req, res) ?? next());

    The request option of handleTunnelRequest is deprecated and will be removed in v12.

  • feat: Make span origins spec compliant (#25602)

    Some span origins changed their names to follow the trace origin spec:

    • auto.amqplib.* is now auto.queue.amqplib.*, and auto.kafkajs.* is now auto.queue.kafkajs.*.
    • auto.vercelai.channel is now auto.ai.vercelai.
    • auto.firebase.firestore is now auto.db.firebase.firestore, and auto.firebase.functions is now auto.function.firebase.
    • auto.aws.aws_sdk is now auto.{rpc,db,queue,ai}.aws_sdk, with the category from the span op.
    • auto.aws_lambda is now auto.function.aws_serverless.
    • auto.mcp.notification is now auto.function.mcp_server.notification.
    • auto.db.cloudflare.durable_object.sql is now auto.db.cloudflare.durable_object_sql.
    • auto.http.browser.{lcp,cls,inp} is now auto.ui.browser.{lcp,cls,inp}.

    If you have ignoreSpans rules, queries or alerts on the old origins, change them to use the new origins.

  • feat(bun): Add incoming request options and request sessions to bunServerIntegration (#25580)

    bunServerIntegration now accepts the same options as denoServeIntegration: ignoreRequestBody, ignoreIncomingRequests, ignoreStaticAssets, spans, onSpanCreated, onSpanEnd, sessions and sessionFlushingDelayMS. The callbacks receive the web Request.

    Bun.serve now records a request session for each incoming request. Sessions are sent only when a release is set. To turn them off, set bunServerIntegration({ sessions: false }).

    ignoreStaticAssets defaults to true, so Bun.serve no longer creates spans for GET requests to common static assets such as favicon.ico, robots.txt or *.js files. To keep these spans, set bunServerIntegration({ ignoreStaticAssets: false }). Bun.serve spans also follow the client's tracing configuration by default, so the integration does not start spans when tracing is disabled. Errors thrown for OPTIONS and HEAD requests are now captured.

  • feat(bun): Inject debug IDs and upload source maps in sentryBunPlugin (#25670)

    sentryBunPlugin from sentry/bun/plugin now accepts the same options as sentryEsbuildPlugin (org, project, authToken, release, sourcemaps, ...). When Bun.build writes source maps to outdir, the plugin injects the debug ID that Bun writes into each bundle, injects the release, and uploads the source maps at the end of the build. You no longer need to run sentry sourcemap inject and sentry sourcemap upload after the build.

    Like the other bundler plugins, sentryBunPlugin now sends build telemetry and injects the release it detects (for example, from git). To turn off telemetry, set telemetry: false.

  • feat(cloudflare): Add incoming request span options to httpServerIntegration (#25582)

    Cloudflare's httpServerIntegration now accepts ignoreIncomingRequests, ignoreStaticAssets, spans, onSpanCreated and onSpanEnd, with the same meaning as in the Node, Deno and Bun integrations. The callbacks receive the web Request.

    ignoreStaticAssets defaults to true, so workers no longer create spans for GET requests to common static assets such as favicon.ico, robots.txt or *.js files. To keep these spans, set httpServerIntegration({ ignoreStaticAssets: false }). Request spans also follow the client's tracing configuration by default, so the SDK does not start them when tracing is disabled. If ignoreRequestBody throws, the request no longer fails, and the SDK skips the body.

  • feat(cloudflare): Let users configure the channel integrations (#25584)

    When the sentry/cloudflare/vite plugin bundles an instrumented package (for example pg or openai), the SDK adds the matching integration with its default options. sentry/cloudflare now exports these integrations, so you can set their options, for example in instrument.server.ts:

    export default Sentry.defineCloudflareOptions(env => ({
      dsn: env.SENTRY_DSN,
      integrations: [Sentry.openAIIntegration({ recordInputs: false, recordOutputs: false })],
    }));

    These integrations need the vite plugin. Without it, they record nothing, and with debug: true the SDK logs a warning.

  • feat(node): Add onSpanEnd to httpIntegration (#25581)

    httpIntegration and httpServerSpansIntegration now accept onSpanEnd, a hook that runs when the response for an incoming request finishes, before its span ends. Use it to change the span based on the response. Deno and Bun already have this option.

  • feat(node, bun, deno, cloudflare): Align portable exports across server SDKs (#25583)

    Node, Bun, Deno and Cloudflare now export the same helpers from sentry/core and sentry/server-utils where they work on that runtime:

    • Node and Bun now export moduleMetadataIntegration, instrumentPostgresJsSql, instrumentCreateReactAgent, awsIntegration and the FlueOptions type. awsIntegration was already in their default integrations.
    • Deno and Cloudflare now export parameterize and instrumentStateGraphCompile.
    • Bun and Cloudflare now export the Log and LogSeverityLevel types.
    • Deno now exports fastifyIntegration, which was already in its default integrations.
  • feat(nuxt): Start the server SDK on the Nuxt Vite server (experimental) (#25524)

    Sentry now supports Node.js production builds using Nuxt 4.6's experimental Vite server (server: { builder: 'vite' }). Your sentry.server.config loads automatically, enabling request tracing and automatic database spans for supported libraries.

    Development mode, Cloudflare, automatic capture of server rendering errors, and connecting server and browser traces via HTML meta tags are not yet supported. This experimental support may change in minor releases.

  • ref(deno, bun): Use a shared request handler wrapper for Deno.serve and Bun.serve (#25586, #25587)

    Deno.serve and Bun.serve now use the same request handler wrapper, which Cloudflare will also use. On both runtimes, errors in OPTIONS and HEAD requests now carry the request data, and the SDK keeps every Set-Cookie header of a response instead of only the last one.

    For Deno users:

    • When the source of a streamed response fails, the SDK now captures the error and marks the span as failed.
    • The SDK no longer reads a streamed response ahead of the client.

    Bun.serve spans now follow the Sentry conventions for http.server spans, as on Node, Deno and Cloudflare:

    • url.template is now http.route. Routes without parameters also get http.route and the route source.
    • url.domain is now server.address.
    • A request to / gets the route source and the name GET /.
    • Spans also get user_agent.original and http.request.body.size.

Other Changes

  • chore(deps): Bump rrweb to 2.45.0 (#25794)
  • feat: Export the Node bundler plugins from SDKs that wrap sentry/node (#25536)
  • feat(cloudflare): instrument Workers KV bindings (#25488)
  • feat(nextjs): Warn when Next.js production builds miss the instrumentation file (#25603)
  • feat(react-router): Support renderToReadableStream in createSentryHandleRequest (#25254)
  • feat(server-utils): Emit execute_tool spans for Anthropic's beta.sessions.events.toolRunner() (#25554)
  • feat(server-utils): Record Workers AI Clairic calls as gen_ai.extract spans (#25624)
  • feat(server-utils): Instrument together-ai 1.x (#25823)
  • fix(browser): Preserve empty stacks in continuous profiles (#25764)
  • fix(browser): resolve request URLs against location.href in tracing (#25784)
  • fix(build): Make CJS re-exports visible to Node ESM imports (#25599)
  • fix(bun): Add systemErrorIntegration to default integrations (#25681)
  • fix(cloudflare): Bind a default re-export with var in the Vite transform (#25663)
  • fix(cloudflare): Do not add back channel integrations the user removed (#25585)
  • fix(cloudflare): Skip comments when locating the default keyword in the Vite transform (#25741)
  • fix(core): allow project arrays in framework build options (#25534)
  • fix(core): Drop sampled-out errors before they take a promise buffer slot (#25751)
  • fix(core): End node:http client spans when the response is destroyed (#25503)
  • fix(core): Preserve AI proxy property references (#22474)
  • fix(core): Resolve relative URLs when enhancing fetch error messages (#25555)
  • fix(feedback): Wait for frames without the form before capturing the screenshot (#25658)
  • fix(hono): Make the Hono middleware types compile on Hono 5 (#25452)
  • fix(node): Flush buffered streamed spans on process exit (#25539)
  • fix(node): Read module versions from the isolated layouts of pnpm and Bun (#25526)
  • fix(node): Set the eve conversation id on model.started for eve 0.84+ (#25809)
  • fix(node): Skip spans for outgoing requests to Sentry via undici fetch and node:http (#25441)
  • fix(node): Use the request method for Hapi routes with multiple methods (#25527)
  • fix(nuxt,nitro): Accept Nitro 3 betas without narrowing peer support (#25815)
  • fix(opentelemetry): Convert OpenTelemetry performance.now() timestamps (#25790)
  • fix(react): Avoid double slashes in manifest route names (#25770)
  • fix(react): Parameterize React Router transactions with encoded params (#25639)
  • fix(remix): Drop Remix 3 release candidates from the peer range (#25808)
  • fix(replay): Apply attribute masking to breadcrumb messages (#25180)
  • fix(server-utils): Cap the runs the LangChain callback handler keeps open (#25595)
  • fix(server-utils): Keep OpenAI streamed tool calls that have no index (#25622)
  • fix(server-utils): Keep OpenRouter evaluation confidence and legend on Vercel AI spans (#25644)
  • fix(server-utils): Nest Flue runs on Node under the request that dispatched them (#25549)
  • fix(server-utils): Record AI SDK tool spans for tools run outside its tool loop (#25820)
  • fix(server-utils): Use cumulative input and cache token counts from streamed message_delta (#25623)
  • fix(server-utils): Use the stored pi-durable session id as conversation id (#25792)
  • fix(tanstackstart-react): Unminify server errors in Nitro builds (#25360)
Internal Changes
  • chore: Add catch-all rule for shared packages in CODEOWNERS (#25789)
  • chore: Pin pnpm 10 in Volta and remove .npmrc (#25641)
  • chore: Replace Volta with pnpm-managed node versions (#25689)
  • chore: Update PR template and prompt agent to use it (#25763)
  • chore: Use the isolated pnpm node_modules layout (#25368)
  • chore(ci): remove browser flaky-test detector workflow (#25712)
  • chore(ci): remove PR review reminders (#25711)

⚠️ Changelog content truncated by 593848 characters because it was over the limit (60000) and wouldn't fit into PR description.

@github-actions github-actions Bot added the dependencies Pull requests that update a dependency file label Sep 23, 2026
@github-actions

github-actions Bot commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor Author

Semver Impact of This PR

⚪ None (no version bump detected)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


  • chore(deps): update JavaScript SDK to v11.12.0 by github-actions in #6773
  • fix(ios): Register replay mask classes when sample rates are 0 by alwx in #7008
  • feat(ios): Forward experimental enableWatchdogTerminationsV2 to sentry-cocoa by alwx in #7012
  • docs: Update Warden skills mentioned in the review skill by antonis and claude in #7004
  • ci: Skip CI for warden.toml-only changes by antonis and claude in #7005
  • build(deps): Bump joi to 17.13.9 to resolve ReDoS advisory by antonis and claude in #7003
  • chore(deps): bump getsentry/craft from 3.9.0 to 3.11.1 by dependabot in #7001
  • chore(deps): bump getsentry/craft/.github/workflows/changelog-preview.yml from 3.9.0 to 3.11.1 by dependabot in #6999
  • chore(deps): bump actions/setup-java from 6.1.0 to 6.2.0 by dependabot in #7002
  • chore(deps): bump ruby/setup-ruby from 1.336.0 to 1.338.0 by dependabot in #7000
  • chore(deps): bump the codeql-action group with 3 updates by dependabot in #6998
  • chore(warden): Remove find-bugs, already covered by code-review by dcramer with sentry-junior in #6997
  • chore(deps): update Sentry Android Gradle Plugin to v6.26.0 by github-actions in #6995
  • chore(warden): Enable incremental review by Jeffreyhung with sentry-junior in #6994
  • chore(deps): update Android SDK to v8.63.0 by github-actions in #6990

🤖 This preview updates automatically when you update the PR.

@antonis antonis left a comment

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.

Marking as blocked since we will bump with our next major

@antonis
antonis marked this pull request as draft September 23, 2026 14:00
@github-actions

github-actions Bot commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor Author
Fails
🚫 Pull request is not ready for merge, please add the "ready-to-merge" label to the pull request

Generated by 🚫 dangerJS against 044fa6c

@antonis

antonis commented Sep 23, 2026

Copy link
Copy Markdown
Contributor

Tested out the changes with #6730

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 3 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit adfb87a. Configure here.

Comment thread packages/core/package.json Outdated
"@sentry/core": "11.0.0",
"@sentry/expo-upload-sourcemaps": "workspace:*",
"@sentry/react": "10.75.2"
"@sentry/react": "11.0.0"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

PII collected by default after v11

High Severity

Flagged because the review rules require PII to stay gated behind sendDefaultPii and require changelog review on JS dependency bumps. v11 replaces sendDefaultPii with dataCollection and collects user info, cookies, HTTP bodies, and similar data by default. This SDK still documents and implements sendDefaultPii (default off) and omits dataCollection from ReactNativeOptions, so JS-core collection turns on while apps cannot disable it through the public options type.

Fix in Cursor Fix in Web

Triggered by project rule: PR Review Guidelines for Cursor Bot

Reviewed by Cursor Bugbot for commit adfb87a. Configure here.

Comment thread packages/core/package.json Outdated
"@sentry/core": "11.0.0",
"@sentry/expo-upload-sourcemaps": "workspace:*",
"@sentry/react": "10.75.2"
"@sentry/react": "11.0.0"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Unmigrated v11 breaking JS APIs

High Severity

Flagged because the review rules require JS dependency bumps to be checked for breaking API and default-integration changes. This PR only retargets @sentry/core, @sentry/browser, and @sentry/react to 11.0.0. Default integrations still call removed inboundFiltersIntegration, the public entry still re-exports removed instrumentLangGraph and AI helpers that moved off @sentry/core, and tracing still imports startIdleSpan from the default @sentry/core entry. No code, types, or changelog migration accompanies the major bump.

Fix in Cursor Fix in Web

Triggered by project rule: PR Review Guidelines for Cursor Bot

Reviewed by Cursor Bugbot for commit adfb87a. Configure here.

Comment thread packages/core/package.json Outdated
"@sentry/core": "11.0.0",
"@sentry/expo-upload-sourcemaps": "workspace:*",
"@sentry/react": "10.75.2"
"@sentry/react": "11.0.0"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Span streaming default breaks tracing

High Severity

Flagged because the review rules call out silent default and telemetry-shape changes on dependency updates. v11 enables span streaming by default and deprecates transaction-mode hooks such as beforeSendTransaction and forceTransaction. This SDK's navigation, app-start, and idle-span pipeline still assumes root spans are buffered as transactions and discarded via transaction event processors. Streaming would emit child spans before those filters run and change the telemetry apps currently receive.

Fix in Cursor Fix in Web

Triggered by project rule: PR Review Guidelines for Cursor Bot

Reviewed by Cursor Bugbot for commit adfb87a. Configure here.

@bruno-garcia
bruno-garcia force-pushed the deps/scripts/update-javascript.sh branch 5 times, most recently from 5b99eba to a7da763 Compare September 24, 2026 10:57
Comment thread samples/expo/package.json Resolved
@bruno-garcia
bruno-garcia force-pushed the deps/scripts/update-javascript.sh branch 5 times, most recently from a5d19b4 to 5949ab3 Compare September 28, 2026 08:08
@github-actions github-actions Bot changed the title chore(deps): update JavaScript SDK to v11.0.0 chore(deps): update JavaScript SDK to v11.1.0 Sep 29, 2026
@bruno-garcia
bruno-garcia force-pushed the deps/scripts/update-javascript.sh branch 3 times, most recently from 9caf113 to c8c3cc3 Compare September 29, 2026 06:54
Comment thread samples/react-native-macos/package.json Resolved
@bruno-garcia
bruno-garcia force-pushed the deps/scripts/update-javascript.sh branch 3 times, most recently from c2a203e to c6bdd9e Compare September 30, 2026 07:33
@bruno-garcia
bruno-garcia force-pushed the deps/scripts/update-javascript.sh branch 6 times, most recently from 8949646 to b314359 Compare October 8, 2026 03:12
@github-actions github-actions Bot changed the title chore(deps): update JavaScript SDK to v11.4.0 chore(deps): update JavaScript SDK to v11.5.0 Oct 8, 2026
@bruno-garcia
bruno-garcia force-pushed the deps/scripts/update-javascript.sh branch 3 times, most recently from e91ca5a to 4de25fc Compare October 8, 2026 09:29
Comment thread packages/core/package.json Resolved
@bruno-garcia
bruno-garcia force-pushed the deps/scripts/update-javascript.sh branch 4 times, most recently from 849c853 to 255295a Compare October 9, 2026 03:13
@github-actions github-actions Bot changed the title chore(deps): update JavaScript SDK to v11.5.0 chore(deps): update JavaScript SDK to v11.6.0 Oct 9, 2026
@bruno-garcia
bruno-garcia force-pushed the deps/scripts/update-javascript.sh branch 5 times, most recently from 14e4413 to 605c605 Compare October 12, 2026 07:40
@bruno-garcia
bruno-garcia force-pushed the deps/scripts/update-javascript.sh branch from 605c605 to 7ac8dcd Compare October 12, 2026 08:58
Comment thread packages/core/package.json Resolved
@mahnunchik

Copy link
Copy Markdown

Any news?

@mahnunchik

Copy link
Copy Markdown

@sentry/react-native 8.31.0 still installs two Sentry CLIs: @sentry/cli@3.8.0 directly and @sentry/cli@2.58.6 through @sentry/bundler-plugins@10.76.2. Updating to bundler-plugins 11.x would remove the old one. Is there a date for this?

@antonis

antonis commented Oct 19, 2026

Copy link
Copy Markdown
Contributor

@sentry/react-native 8.31.0 still installs two Sentry CLIs: @sentry/cli@3.8.0 directly and @sentry/cli@2.58.6 through @sentry/bundler-plugins@10.76.2. Updating to bundler-plugins 11.x would remove the old one. Is there a date for this?

Thanks for flagging this @mahnunchik 🙇 We have planned this for our next major v9 since the major JS SDK bump also includes breaking changes. This is planned for early 2027 since the React Native SDKs has many dependencies (including https://github.com/getsentry/sentry-cocoa and https://github.com/getsentry/sentry-java) and needs to align all in the next major.

Until then the two CLIs are installed side by side and don't conflict. It only costs some extra install size. Sorry for the inconvenience.

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

Labels

Blocked dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants