Packages

@sentry/server-utils

11.9.0 · 23 Oct 2026MIT20.1M / weekRepositoryHomepagenpmAtom feed

Your version

11.0.0

major23 Sep 2026Where it was published

11.9.0 is the newest release of 11.x.

In short

220 breaking1 removed1 security4 deprecated144 new1 faster100 fixed476 internal

  • breaking

    Version 11.0.0 marks a major release of the Sentry JavaScript SDKs containing breaking changes.

  • breaking

    Remove support for initialising via --require

  • breaking

    Rename deprecated http.* span attributes

  • breaking

    Rename deprecated net. span attributes

  • breaking

    Replace skipOpenTelemetrySetup with enableOpenTelemetrySetup

  • breaking

    Replace the deprecated http.target span attribute

  • breaking

    Require Node >=20.19.0 as minimum supported version

  • breaking

    Use handler span op for terminal request handlers

Release note

Version 11.0.0 marks a major release of the Sentry JavaScript SDKs containing breaking changes.
The goal of this release is to be better compatible with OpenTelemetry, make our integrations work across Node.js, Cloudflare, Bun and Deno through run-time and build-time instrumentation, and make span streaming and more permissive data collection the default.

How To Upgrade

Please carefully read through the migration guide in the Sentry docs on how to upgrade from version 10 to version 11. Make sure to select your specific platform/framework in the top left corner: docs.sentry.io/platforms/javascript/migration/v…

A comprehensive migration guide outlining all changes can be found within the Sentry JavaScript SDK Repository: github.com/getsentry/sentry-javascript/blob/dev…

Breaking Changes

All SDKs

  • breaking

    Remove support for initialising via --require

  • breaking

    Rename deprecated http.* span attributes

  • breaking

    Rename deprecated net. span attributes

  • breaking

    Replace skipOpenTelemetrySetup with enableOpenTelemetrySetup

  • breaking

    Replace the deprecated http.target span attribute

  • breaking

    Require Node >=20.19.0 as minimum supported version

  • breaking

    Use handler span op for terminal request handlers

  • breaking

    Use middleware span op for web-server middleware

  • breaking

    frameworks: Use function op for framework functions

  • breaking

    node/cloudflare: Remove deprecated honoIntegration

  • breaking

    v11: Drop TypeScript 3.8 support

AI integrations

@sentry/angular

  • breaking

    angular,ember,sveltekit: Use router span op for frontend routers

  • breaking

    angular: Use ui.mount and function span ops for tracing decorators

@sentry/astro

  • breaking

    astro: Drop support for Astro 3

  • breaking

    astro: Enable orchestrion instrumentation on Cloudflare Workers

  • breaking

    astro: Remove deprecated sourceMapsUploadOptions build option

  • breaking

    astro: Remove unstable_sentryVitePluginOptions

  • breaking

    astro: Migrate import hook to makeOrchestrionLoader

  • breaking

    astro: Remove deprecated release/debug conflict workaround from BuildTimeOptionsBase

@sentry/aws-serverless

  • breaking

    aws-serverless: Drop nodejs18.x from the Lambda layer runtimes

  • breaking

    aws-serverless: Remove deprecated disableAwsContextPropagation option

  • breaking

    aws-serverless: Emit faas.invocation_id and cloud.resource_id

  • breaking

    aws-serverless: Remove unused startTrace option and tryPatchHandler

  • breaking

    aws-serverless: Use function.aws span op for Lambda invocations

  • breaking

    aws: Use queue Span OP for AWS SQS & SNS messaging

  • breaking

    aws-serverless: Migrate import hook to makeOrchestrionLoader

@sentry/browser

  • breaking

    browser: Remove legacy profiling option profilesSampleRate

  • breaking

    browser: Do not include metrics in base CDN bundle

  • breaking

    browser: Drop browser support for AI integrations

  • breaking

    browser: Extract performance.{mark,measure} spans into new userTimingSpansIntegration

  • breaking

    browser: Extract interaction spans into new interactionsIntegration

  • breaking

    browser: Record console breadcrumbs via consoleIntegration

  • breaking

    browser: Rename bfcacheIntegration to bfcacheMetricsIntegration

  • breaking

    browser: Report browser.navigation.type exactly as web-vitals does

  • breaking

    browser: Report web vitals for bfcache restores by default

  • breaking

    browser: Send session status unhandled instead of crashed for unhandled errors

  • breaking

    browser: Switch default browser session lifecycle mode to page

  • breaking

    browser: Use browser.paint span op for paint entries

  • breaking

    browser: Stop tagging DOMException.code on events

  • breaking

    browser: Use snake_case consistently for ops

  • breaking

    browser: Remove the web vital report event attribute

  • breaking

    browser: Remove deprecated trackFetchStreamPerformance flag

  • breaking

    browser: Drop Safari 14 support - remove navigationStart fallback and pagehide listeners

  • breaking

    browser: Remove beforeSpanEnd callback in favor of beforeIdleSpanEnd hook

@sentry/bundler-plugins

  • breaking

    bundler-plugins: Migrate from @sentry/cli to the sentry CLI SDK

  • breaking

    bundler-plugins: Require webpack 5.1 and remove the webpack5 entry point

@sentry/cloudflare

  • breaking

    cf/vercel-edge: Align request data collection with v11 defaults

  • breaking

    cloudflare: Auto-instrument the Worker by default in the Vite plugin

  • breaking

    cloudflare: Enable build-time instrumentation by default in Vite plugin

  • breaking

    cloudflare: Make the nodejs_compat entrypoint the default

  • breaking

    cloudflare: Match rpcTracePropagationBindings case-insensitively

  • breaking

    cloudflare: Replace enableRpcTracePropagation with rpcTracePropagationBindings

  • breaking

    cloudflare: Skip rate limit spans

  • breaking

    cloudflare: Use function span op for cron, email and workflow steps

  • breaking

    cloudflare: Remove deprecated instrumentD1WithSentry export

  • breaking

    cloudflare: Remove instrumentPrototypeMethods option

  • breaking

    cloudflare: Remove wrapRequestHandler from main entrypoint

  • breaking

    cloudflare: Use shared SentryTracerProvider for OpenTelemetry interop

@sentry/core

  • breaking

    core: Remove span from ScopeData

  • breaking

    core: Align request data collection with v11 defaults

  • breaking

    core: Default attachStacktrace to true

  • breaking

    core: Enable data collection by default

  • breaking

    core: Enable span streaming by default

  • breaking

    core: Flip genAI defaults to collect it by default

  • breaking

    core: Gate incoming HTTP body capture on dataCollection.httpBodies

  • breaking

    core: Make beforeSendSpan compatible with streamed spans by default

  • breaking

    core: Make tracePropagationTargets matching case-insensitive

  • breaking

    core: Remove enableMetrics option

  • breaking

    core: Remove enableTruncation flag and all AI integrations truncation logic

  • breaking

    core: Remove endTimestamp from SentrySpanArguments

  • breaking

    core: Remove kind for spans, move to sentry.kind attribute

  • breaking

    core: Remove queryParams in favor of urlQueryParams

  • breaking

    core: Remove scope.clear() method

  • breaking

    core: Remove sendDefaultPii in favor of dataCollection

  • breaking

    core: Remove sentry.sdk_meta.gen_ai.input.messages.original_length attribute

  • breaking

    core: Remove streamGenAiSpans flag

  • breaking

    core: Remove deprecated _experiments.enableLogs option

  • breaking

    core: Remove deprecated inboundFiltersIntegration

  • breaking

    core: Remove deprecated instrumentLangGraph

  • breaking

    core: Remove Unstable*PluginOptions build option types

  • breaking

    core: Return StreamedSpanJSON from spanToJSON

  • breaking

    core: Update all spans to use url.full, url.fragment and url.query

  • breaking

    core: Use rpc span op for tRPC spans

  • breaking

    server-utils,core: Use router span op for backend router layers

  • breaking

    core: Remove enableLogs option

  • breaking

    core: Make attributes in sampling context required

  • breaking

    core: Align gen_ai cache token attributes with conventions

  • breaking

    core: Make attributes required on ScopeData

  • breaking

    core: Migrate to SENTRY_SEGMENT_NAME_SOURCE

  • breaking

    core: Move getComponentName to browser-utils

  • breaking

    core: Remove getLocationHref export from core

  • breaking

    core: Remove startIdleSpan from server exports

  • breaking

    core: Remove supportsDOMError, supportsHistory, supportsReportingObserver exports

  • breaking

    core: Remove supportsNativeFetch export

  • breaking

    core: Remove deprecated addAutoIpAddressToUser export

  • breaking

    core: Remove deprecated htmlTreeAsString from core

  • breaking

    core: Remove deprecated patchExpressModule(options) signature

  • breaking

    core: Remove deprecated positional spanOrigin argument from instrumentFetchRequest

  • breaking

    core: Remove experimental enableMetrics / beforeSendMetric flags

  • breaking

    core: Remove orphaned deprecated Express patch APIs

  • breaking

    core: Rename gen_ai.request.available_tools to gen_ai.tool.definitions

  • breaking

    core: Rename gen_ai.system to gen_ai.provider.name

  • breaking

    core: Rename gen_ai.tool.input to gen_ai.tool.call.arguments

  • breaking

    core: Rename gen_ai.tool.output to gen_ai.tool.call.result

  • breaking

    core: Rename Vercel AI cache/reasoning token attributes

  • breaking

    core: Replace deprecated code.* and fs_error span attributes

  • breaking

    core: Split browser/server-only exports out of the default entrypoint

  • breaking

    core: Stop setting deprecated gen_ai.tool.type span attribute

  • breaking

    core: Unify tracePropagation vs propagateTrace option names

@sentry/deno

  • breaking

    deno: Align remaining denoHttpIntegration options with httpIntegration

  • breaking

    deno: Record console breadcrumbs via consoleIntegration

  • breaking

    deno: Rename orchestrion integrations to match other SDKs

  • breaking

    deno: Enable sessions for HTTP requests and align option names

  • breaking

    deno: Require deno >=2.8.3

@sentry/ember

  • breaking

    angular,ember,sveltekit: Use router span op for frontend routers

  • breaking

    ember: Update to v2 addon format

  • breaking

    ember: Use function and ui.task span ops for route hooks and runloop

  • breaking

    ember: Change 'ui.ember.component.render' to ui.render

@sentry/feedback

  • breaking

    feedback: Always reject sendFeedback with an Error

@sentry/google-cloud-serverless

  • breaking

    google-cloud-serverless: Use function.gcp op for GCP functions

  • breaking

    google-cloud-serverless: Use grpc span op for GCP gRPC calls

  • breaking

    google-cloud-serverless: Use http.client span op for GCP HTTP requests

  • breaking

    google-cloud-serverless: Migrate import hook to makeOrchestrionLoader

@sentry/nestjs

  • breaking

    nestjs: Remove import-in-the-middle instrumentation

  • breaking

    nestjs: Use function span op for setup & lifecycle handlers

@sentry/nextjs

  • breaking

    nextjs: Auto-wire orchestrion build-time instrumentation

  • breaking

    nextjs: Drop vercel- prefix from default environment and deploys

  • breaking

    nextjs: Drop support for Next.js 13

  • breaking

    nextjs: Remove deprecated build-time config options

  • breaking

    nextjs: Remove middleware bypass for tunnel route requests

  • breaking

    nextjs: Remove unstable_sentryWebpackPluginOptions

  • breaking

    nextjs: Use middleware span op for Next.js middleware

  • breaking

    nextjs: Migrate import hook to makeOrchestrionLoader

  • breaking

    nextjs: Move withSentryConfig to @sentry/nextjs/config

@sentry/nitro

  • breaking

    nuxt, nitro: Use convention cache ops for storage spans

@sentry/node

  • breaking

    node: Remove legacy profiling options (profilesSampleRate and profilesSampler)

  • breaking

    express: Remove shouldHandleError from setupExpressErrorHandler

  • breaking

    node: Always report the encoded body size on HTTP spans

  • breaking

    node: Default most SDKs to a no-tracer-provider setup

  • breaking

    node: Drop support for Fastify <3.21.0

  • breaking

    node: Make channel-based instrumentation the default

  • breaking

    node: Make dataloader and knex integrations channel-only

  • breaking

    node: Remove init, preload entry points and preloadOpenTelemetry

  • breaking

    node: Remove connect integration

  • breaking

    node: Remove import-in-the-middle ESM loader and deprecated instrumentation base

  • breaking

    node: Split childProcess integration into childProcess and worker integrations

  • breaking

    node: Stop inferring name for spans

  • breaking

    node: Use db.query and db span ops for Redis

  • breaking

    node: Rejection warning in strict mode

  • breaking

    Ref!(node): Remove Fastify error handler setter

  • breaking

    express: Export a single ExpressIntegrationOptions type

  • breaking

    node: Merge @sentry/node-core back into @sentry/node

  • breaking

    node: Consolidate httpIntegration options

  • breaking

    node: Remove @opentelemetry/instrumentation dependency

  • breaking

    node: Remove deprecated prismaInstrumentation option

  • breaking

    node: Remove deprecated fastify exports, deprecate setupFastifyErrorHandler

  • breaking

    node: Remove legacy incoming HTTP span hooks and default keepAlive to true

@sentry/nuxt

  • breaking

    nuxt, nitro: Use convention cache ops for storage spans

  • breaking

    nuxt: Auto-wire orchestrion build-time instrumentation

  • breaking

    nuxt: Bundle server config into Nitro build

  • breaking

    nuxt: Enable orchestrion instrumentation on Cloudflare

  • breaking

    nuxt: Remove deprecated sourceMapsUploadOptions module option

  • breaking

    nuxt: Remove unstable_sentryBundlerPluginOptions

@sentry/opentelemetry

  • breaking

    opentelemetry: Remove setupEventContextTrace

  • breaking

    opentelemetry: Remove unused exports

  • breaking

    opentelemetry: Drop .prefetch suffix from inferred HTTP span ops

  • breaking

    opentelemetry: Infer op from faas.trigger

  • breaking

    opentelemetry: Remove SentrySpanProcessor & SentrySampler

  • breaking

    opentelemetry: Simplify propagation and remove custom OTel tracing utils

  • breaking

    opentelemetry: Drop OTel resource and contexts.otel.resource

  • breaking

    opentelemetry: Remove OpenTelemetrySpanContext

  • breaking

    opentelemetry: Streamline OTEL context managment into setOpenTelemetryContextAsyncContextStrategy()

@sentry/profiling-node

  • breaking

    profiling-node: Remove prune-profiler-binaries bin script

@sentry/react

  • breaking

    react: Drop support for React 16

  • breaking

    vue,svelte,react: Use ui.* ops for component lifecycles

  • breaking

    react: Remove redundant url.path.params.<key> attribute

@sentry/react-router

  • breaking

    react-router: Raise minimum supported React Router (framework mode) version to >= 7.15

  • breaking

    react-router: Remove deprecated server wrappers

  • breaking

    react-router: Remove server OTel instrumentation

  • breaking

    react-router: Remove unstable_sentryVitePluginOptions

  • breaking

    react-router: Move Vite plugin exports to subpath @sentry/react-router/vite

  • breaking

    react-router: Remove deprecated Vite build options and back-compat shims

@sentry/remix

  • breaking

    remix: Do not double gate action form data capture

  • breaking

    remix: Move the Vite plugin to @sentry/remix/vite

  • breaking

    remix: Remove import-in-the-middle instrumentation

  • breaking

    remix: Drop Remix v1 route-convention handling

  • breaking

    remix: Align action form-data span attribute with conventions

  • breaking

    remix: Migrate import hook to makeOrchestrionLoader

@sentry/server-utils

  • breaking

    server-utils,core: Use router span op for backend router layers

  • breaking

    server-utils: Align AMQP and Redis span attributes

  • breaking

    server-utils: Clean up gen ai ops

  • breaking

    server-utils: Emit queue.* span ops for messaging spans

  • breaking

    server-utils: Emit low cardinality postgres db span names

  • breaking

    server-utils: Rename otlpIntegration to openTelemetryIntegration

  • breaking

    server-utils: Start Redis spans as cache spans

  • breaking

    server-utils: Register channel integrations on versions with native channels

  • breaking

    server-utils: Replace deprecated ai.* and gen_ai.prompt attributes

  • breaking

    server-utils: Replace deprecated db.* span attributes

  • breaking

    server-utils: Replace deprecated net.* span attributes on db and messaging spans

  • breaking

    server-utils: Stop setting koa.name on Koa spans

  • breaking

    server-utils: Use function.gcp op for firebase function spans

@sentry/solidstart

  • breaking

    solidstart: Align v1 build options with BuildTimeOptionsBase

  • breaking

    solidstart: Remove unstable_sentryVitePluginOptions

@sentry/svelte

  • breaking

    vue,svelte,react: Use ui.* ops for component lifecycles

@sentry/sveltekit

  • breaking

    angular,ember,sveltekit: Use router span op for frontend routers

  • breaking

    sveltekit: Enable orchestrion instrumentation on Cloudflare

  • breaking

    sveltekit: Remove deprecated sourceMapsUploadOptions Vite plugin option

  • breaking

    sveltekit: Remove unstable_sentryVitePluginOptions

  • breaking

    sveltekit: Move sentrySvelteKit off the runtime entry to @sentry/sveltekit/vite

@sentry/tanstackstart-react

  • breaking

    tanstackstart: Remove deprecated @sentry/tanstackstart utility package

  • breaking

    tanstackstart-react: Migrate import hook to makeOrchestrionLoader

@sentry/types

@sentry/vercel-edge

  • breaking

    cf/vercel-edge: Align request data collection with v11 defaults

@sentry/vue

  • breaking

    vue,svelte,react: Use ui.* ops for component lifecycles

Other Changes

  • browser: Emit low cardinality browser request timing span names

  • browser: Emit low-cardinality ui span names

  • browser: Report browser.navigation.type on the pageload span

  • browser: Report the INP target and interaction type as attributes

  • cloudflare: Auto-register Flue instrumentation in bundled workers

  • core: Consolidate fetch integrations

  • core: Send sentry.is_localhost on every streamed span

  • nestjs: Emit low cardinality @OnEvent function span name

  • node: Add eveInstrumentation and eveIntegration for eve apps

  • node: Add Groq and Together AI integrations

  • react-router: Emit low-cardinality names for function spans

  • remix: Upload source maps from the Vite plugin

  • tanstackstart-react: Emit low-cardinality names for function spans

  • vue,nuxt: Record default UI spans without Options API (mixins)

  • Add url.full and url.path attributes to http.server spans

  • Always stream INP and remove standalone v1 spans

  • Emit low-cardinality http.client span names for fetch and XHR

  • Emit low-cardinality http.client span names for node:http and undici

  • Emit low-cardinality http.server span names in framework SDKs

  • Emit low-cardinality pageload span names when streaming spans

  • Emit low-cardinality span names for messaging spans (amqplib, kafka, ...)

  • angular: Emit low cardinality TraceMethod span name and preserve description

  • astro: Auto-wire orchestrion build-time instrumentation

  • aws-serverless: Emit low cardinality function.aws span names

  • browser: Add bfcacheIntegration

  • browser: Add shim for metrics

  • browser: Emit low cardinality navigation span names

  • browser: Emit low cardinality resource span names

  • browser: Report web vitals for bfcache restores

  • browser: Report web vitals for soft navigations

  • browser: Run static beforeSendSpan for INP spans

  • browser: Start a navigation span for bfcache restores

  • bun: Add bunHttpServerIntegration

  • bun: Capture Bun.serve request bodies with maxRequestBodySize

  • bun: Instrument outgoing fetch requests

  • bundler-plugins: Frameworks use @sentry/bundler-plugins

  • bundler: Add Node bundler plugins

  • cloudflare: Add cacheClient to reuse the client across invocations

  • cloudflare: Add span ops for rate limit and Durable Object WebSocket spans

  • cloudflare: Bootstrap Mastra observability in bundled workers

  • cloudflare: Derive rpcTracePropagationBindings from the wrangler config

  • cloudflare: Emit low cardinality function span names and preserve span descriptions

  • cloudflare: Emit low cardinality D1 db span names

  • cloudflare: Instrument module-scope orchestrion channels on workerd

  • cloudflare: Make vercelAIIntegration the default

  • cloudflare: Prepare for nodejs_compat entrypoint

  • core: Accept CollectBehavior shorthand for dataCollection.httpHeaders

  • core: Add afterEnvelope and flushTraceSpans client hooks

  • core: Add filterUrlQuery util

  • core: Add refs field to Scope for non-serialized references

  • core: Add safeCallback helper for isolating user-provided callbacks

  • core: Add build-time options for bundler plugin parity

  • core: Add low cardinality span name fallbacks

  • core: Add the dataCollection.queues option

  • core: Allow to pass scope to getActiveSpan

  • core: Always flush streamed span traces after segment end by default

  • core: Default span status to ok in transaction mode

  • deprecated

    core: Deprecate beforeSendTransaction and ignoreTransactions and log warnings if used with streaming

  • deprecated

    core: Deprecate forceTransaction option in StartSpanOptions

  • core: Emit low cardinality mcp notification span names

  • core: Emit low cardinality mcp.server span names

  • core: Emit low cardinality request handler span names

  • core: Emit low cardinality router span names

  • core: Emit low cardinality supabase db span names

  • core: Emit low-cardinality cache.* span names

  • core: Emit low-cardinality gen_ai inference span names when streaming

  • core: Emit low-cardinality http.server span names when streaming

  • core: Expose sentry.op attribute to samplers

  • core: Isolate throwing user callbacks instead of capturing them as events

  • core: Only check for native fetch in browser

  • core: Record callback_error client reports for throwing user callbacks

  • core: Streamline tracing channel bindings

  • core: Use getActiveSpan instead of _getSpanFromScope for logs & metrics

  • deno: Add maxRequestBodySize to capture HTTP bodies

  • deno: Add anthropic integration

  • deno: Add aws integration

  • deno: Add conversationIdIntegration to default integrations

  • deno: Add express integration

  • deno: Add genericPool integration

  • deno: Add google-genai integration

  • deno: Add graphql integration

  • deno: Add hapi integration

  • deno: Add kafkajs integration

  • deno: Add langchain integration

  • deno: Add langgraph integration

  • deno: Add lruMemoizer integration

  • deno: Add mysql2 integration

  • deno: Add postgresjs integration

  • deno: Add tedious integration

  • deno: Add vercelai integration

  • deno: Instrument outgoing fetch requests

  • effect: Derive span ops for Effect tracer spans

  • ember: Give component definition lookups their own span op

  • google-cloud-serverless: Emit low cardinality function.gcp span names

  • hono: Support .query() handlers

  • nestjs: Add code.function.name attribute to function spans for description inference

  • nestjs: Add support for NestJS v12

  • nextjs: Align build options with BuildTimeOptionsBase

  • nextjs: Emit low cardinality function span names

  • nextjs: Emit low cardinality function span names for server components

  • nextjs: Record cache spans for use cache functions

  • removed

    nextjs: Remove tracing from pages router API routes

  • nextjs: Unify reactComponentAnnotation across webpack and Turbopack

  • node: Add eveConversationHook() to link eve sessions as Sentry conversations

  • node: Add getInstrumentedModuleNames()

  • node: Add build-time instrumentation opt-out to bundler plugins

  • node: Add build-time opt-out for runtime channel injection

  • node: Add first-party Mastra integration

  • node: Add Mistral AI integration

  • node: Always set up express, fastify, koa, hapi integrations

  • node: Auto-register Hapi error handler on server start

  • node: Auto-register Koa error handler on app start

  • node: Capture Express errors automatically via expressIntegration

  • deprecated

    node: Deprecate ignoreStatusCodes in http integrations

  • node: Enable dataloader and knex integrations by default

  • nuxt: Emit low cardinality db span names

  • nuxt: Enable server-side Sentry during nuxt dev on Nitro v3 (Nuxt 5)

  • react-router: Auto-wire orchestrion build-time instrumentation

  • react-router: Capture server build in dev mode for middleware names

  • react: Add @sentry/react/react-router entry with automatic React Router hooks

  • remix: Auto-wire orchestrion build-time instrumentation

  • remix: Emit low cardinality function span names

  • server-runtime-injection: Split runtime orchestrion injection into a dedicated package

  • server-utils: Add db span op for generic-pool acquire spans

  • server-utils: Add otlpIntegration to connect Sentry to an existing OpenTelemetry setup

  • server-utils: Add cache span ops for DataLoader prime, clear and clearAll

  • server-utils: Add first-party Flue instrumentation

  • server-utils: Add more channel integration definitions

  • server-utils: Emit low cardinality function.gcp span names for firebase functions

  • server-utils: Emit low cardinality graphql span names

  • server-utils: Emit low cardinality knex, tedious and prisma db span names

  • server-utils: Emit low cardinality mongodb span names

  • server-utils: Emit low cardinality mongoose db span names

  • server-utils: Emit low cardinality mysql db span names

  • server-utils: Emit low cardinality redis span names

  • server-utils: Emit low-cardinality gen_ai agent span names when streaming

  • server-utils: Implement setAsyncLocalStorageAsyncContextStrategy

  • solid-start: Add code.function.name attribute to solid-start function spans

  • solidstart: Add SolidStart 2 support

  • solidstart: Auto-wire orchestrion build-time instrumentation

  • sveltekit: Auto-wire orchestrion build-time instrumentation

  • sveltekit: Emit low cardinality function spans

  • tanstackstart: Auto-wire orchestrion build-time instrumentation

  • vue: Add Options API detection guard

  • wasm: Patch non-streaming load paths

  • astro: Fall back to dataCollection.userInfo for trackClientIp

  • browser: Default pageload span start time to timeOrigin

  • browser: End the active idle span on pagehide

  • browser: Forward uncaught worker errors with their stack

  • browser: Keep the best element name captured for an interaction

  • browser: Respect dataCollection.httpHeaders.request in httpContextIntegration

  • browser: Source FCP from web-vitals onFCP and rebase FP against activationStart

  • browser-utils: Fix soft navigation vital correlation race

  • bun: Respect caller-supplied runtime option

  • bun: Use namespace imports for node:http in bunHttpServerIntegration

  • bundler-plugins: Do not warn on known sourcemap-less chunks

  • bundler-plugins: Preserve directive prologues during bundle injection

  • cloudflare: Bind pass-through Queue producer methods to the binding

  • cloudflare: Remove conflicting faas.queue op on queue consumer spans

  • core: Apply the sensitive denylist to cookie headers and configured fetch headers

  • core: Avoid retrying failing MCP handlers

  • core: Correct MCP error and request attribution

  • core: Instrument MCP transports before start

  • core: Stop sending client reports for breadcrumbs

  • core: Apply dataCollection.urlQueryParams to url.full and url.query

  • core: Apply capture mechanism to originally captured exception

  • core: Attribute errors to the span they escaped

  • core: Catch beforeSendSpan callback throws

  • core: Do not activate ignored spans in the tracing-channel binding

  • core: Do not unnecessarily defer offline transport send

  • core: Filter query params in url.full on request data and navigate errors

  • core: Normalize http header attribute keys according to OTel spec

  • core: Propagate sample_rand when continuing a trace without incoming baggage

  • core: Read external propagation context from the carrier

  • core: Set http cookie header attributes as string arrays

  • core: Set http header span attributes as string arrays

  • core: Stop supabaseIntegration from ending spans twice

  • core: Track quote state when sanitizing SQL literals

  • deno: Don't throw in Deno.serve wrapper when no client is bound

  • deno: Gate tracing integrations on hasSpansEnabled

  • deno: Propagate stream cancellation

  • effect: Remove span op fallback to function

  • ember: Add route IDs to pageload and navigation spans

  • ember: Guard routerService.recognize() against unrecognizable URLs

  • ember: Stop retaining component render payloads in beforeEntries

  • feedback: Stop long error messages from resizing the feedback dialog

  • google-genai: Map messages to the gen_ai conventions

  • nextjs: Apply silent to the SDK's own build logs

  • nextjs: Correct in_app for Turbopack dev server stack frames

  • nextjs: Don't report Next.js prerender control flow errors

  • nextjs: Keep router.back/forward navigation type under span streaming

  • nextjs: Make request data available to tracesSampler for edge middleware root spans

  • nextjs: Parameterize [lng] locale routes and prefer narrower routes over catch-alls

  • nextjs: Prevent sourceMappingURL stripping from truncating minified chunks

  • nextjs: Print unsupported Turbopack warning once

  • nextjs: Stop baking absolute paths into server chunks

  • nextjs: Treat static route span names as low-cardinality names

  • node: Build-time instrument the ESM build of graphql

  • node: Move Async context strategy setup to NodeClient.init()

  • node: Register diagnostics-channel injection in NodeClient con…

  • node: Support @google/genai v2 in auto-instrumentation

  • nuxt: Import from #imports/server in addMiddlewareImports()

  • nuxt: Remove setting moduleSideEffects in Nuxt 5 / Nitro 3

  • nuxt: Stop flushing the client on every HTTP response

  • nuxt: Stop importing h3 in the Nitro error hook

  • react-router: Key server middleware counter by root span, not OTel context

  • react: Don't rename a navigation span with another location's route

  • remix: Prefer narrower routes over splats when both match

  • remix: Strip trailing underscore from route segments

  • remix: Treat static route span names as low-cardinality names

  • replay: Attach replay ID from when the feedback widget opened

  • server-runtime-injection: Keep require() of JSON working on Deno

  • server-utils: Always sanitize inline literals out of db.query.text

  • server-utils: Don't capture caller-handled LangChain errors

  • server-utils: Don't capture caller-handled LangGraph errors

  • server-utils: Forward resolveId options in the orchestrion Rollup plugin

  • server-utils: Gate gen_ai.tool.definitions on dataCollection.genAI.inputs

  • server-utils: Keep qualified table names in db.query.summary

  • server-utils: Pass the SQL dialect when summarizing Prisma queries

  • server-utils: Read AI SDK cache token counts in Vercel AI channel subscriber

  • server-utils: Restore request config attributes on google-genai chat spans

  • server-utils: Sanitize PostgreSQL dollar-quoted strings in `db.q…

  • server-utils: Sanitize SQL Server bracketed identifiers

  • server-utils: Stop reporting caller-handled errors from the OpenAI, Anthropic & Google GenAI instrumentations

  • server-utils: Stop the orchestrion Vite plugin from adding an empty ssr environment

  • server-utils: Surface deferred span-end errors on the channel payload

  • sveltekit: Register the OpenTelemetry tracer provider on Cloudflare

  • sveltekit: Resolve the Cloudflare execution context without event.platform

  • tanstackstart-react: Reject non-POST requests to the managed tunnel route

  • wasm: Forward compile options and patch frames of all exception values

  • Remove by accident exported convention

  • bundler-plugins: Use fast component annotation for all Rollup and Vite versions

  • deprecated

    core: Deprecate include from RequestData

Internal Changes

  • breaking

    deps: Bump eslint-plugin-simple-import-sort from 12.1.1 to 14.0.0

  • server-utils: Capture errors thrown in Mastra

  • server-utils: Ensure Mastra tool/model spans are correctly nested

  • skills: Add backport-pr skill

  • bundler-plugin-tests: Normalize prerelease versions in telemetry snapshots

  • cloudflare: Reject unknown keys in options callbacks

  • cloudflare: Restore env type inference for options callbacks

  • cloudflare: Use correct types for Vite plugin

  • nextjs: Add orchestrion bundling regression tests and import.meta.url shim

  • node: Bootstrap Mastra observability under ESM

  • node: Detect + warn when the orchestrion runtime hook is bundled

  • node: Distinguish isolated transform failures from bundling in the runtime warning

  • node: Skip registration-only instrumentations in the runtime loader

  • security

    nuxt: Dev dependency security fixes - bump nuxt to 3.21.11

  • orchestrion: Stop force-bundling instrumented deps in dev servers

  • server-runtime-injection: Resolve the orchestrion ESM hook by path so build tracers follow it

  • server-utils,nuxt: Update SQL helper imports after move from core

  • server-utils: Ensure all orchestrion instrumentation lazy registers

  • server-utils: Stop orchestrion rollup plugin from crashing under Rolldown

  • breaking

    Remove .orchestrion. from span origins

  • breaking

    ai: Drop core's duplicate AI base copy

  • breaking

    cloudflare: Remove wrapRequestHandlerWithInit as export

Work in this release was contributed by @AG0708, @AI-DEV-BOT, @aklkv, @Andarist, @atharv-sys32, @birkskyum, @chiliec, @davidmurdoch, @Dextheking1, @eddie333016, @hafzism, @halillusion, @ihsraham, @JealousGx, @JosephDoUrden, @Jxxunnn, @kamilogorek, @lux-in-tenebris-lucet, @matthewbjones, @mcbbugu, @mkly, @mohd-akram, @msnelling, @nehaprasad-dev, @oesnuj, @psang39, @psh4607, @RealBhupesh, @rytkhs, @suhailopensource, @thijsw, @trinitiwowka, @Tyagiquamar, @wittachai-as, @yashschandra, and @zkasuran. Thank you for your contributions!