@sentry/server-utils
11.9.0 · 23 Oct 2026MIT20.1M / weekRepositoryHomepagenpmAtom feed
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.0marks 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
skipOpenTelemetrySetupwithenableOpenTelemetrySetup - breaking
Replace the deprecated
http.targetspan attribute - breaking
Require Node
>=20.19.0as minimum supported version - breaking
Use
handlerspan 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
skipOpenTelemetrySetupwithenableOpenTelemetrySetup - breaking
Replace the deprecated
http.targetspan attribute - breaking
Require Node
>=20.19.0as minimum supported version - breaking
Use
handlerspan op for terminal request handlers - breaking
Use
middlewarespan op for web-server middleware - breaking
frameworks: Use
functionop for framework functions - breaking
node/cloudflare: Remove deprecated
honoIntegration - breaking
v11: Drop TypeScript 3.8 support
AI integrations
- breaking
langchain: Emit gen_ai.pipeline.name instead of langchain.chain.name
- breaking
anthropic: Move Anthropic AI integration to
@sentry/server-utils - breaking
google-genai: Move Google GenAI integration to
@sentry/server-utils - breaking
langchain: Move LangChain and LangGraph integrations to
@sentry/server-utils - breaking
langgraph: Drop gen_ai.create_agent spans
- breaking
openai: Move OpenAI AI integration to
@sentry/server-utils - breaking
vercel-ai: Move Vercel AI integration to
@sentry/server-utils - breaking
workers-ai: Move Workers AI integration to
@sentry/server-utils
@sentry/angular
- breaking
angular,ember,sveltekit: Use
routerspan op for frontend routers - breaking
angular: Use
ui.mountandfunctionspan 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
sourceMapsUploadOptionsbuild 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.xfrom the Lambda layer runtimes - breaking
aws-serverless: Remove deprecated
disableAwsContextPropagationoption - breaking
aws-serverless: Emit
faas.invocation_idandcloud.resource_id - breaking
aws-serverless: Remove unused
startTraceoption andtryPatchHandler - breaking
aws-serverless: Use
function.awsspan op for Lambda invocations - breaking
aws: Use
queueSpan 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 newuserTimingSpansIntegration - breaking
browser: Extract interaction spans into new
interactionsIntegration - breaking
browser: Record console breadcrumbs via consoleIntegration
- breaking
browser: Rename
bfcacheIntegrationtobfcacheMetricsIntegration - breaking
browser: Report
browser.navigation.typeexactly as web-vitals does - breaking
browser: Report web vitals for bfcache restores by default
- breaking
browser: Send session status
unhandledinstead ofcrashedfor unhandled errors - breaking
browser: Switch default browser session lifecycle mode to
page - breaking
browser: Use
browser.paintspan 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
trackFetchStreamPerformanceflag - breaking
browser: Drop Safari 14 support - remove
navigationStartfallback andpagehidelisteners - breaking
browser: Remove
beforeSpanEndcallback in favor ofbeforeIdleSpanEndhook
@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
webpack5entry 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
functionspan op for cron, email and workflow steps - breaking
cloudflare: Remove deprecated
instrumentD1WithSentryexport - breaking
cloudflare: Remove instrumentPrototypeMethods option
- breaking
cloudflare: Remove wrapRequestHandler from main entrypoint
- breaking
cloudflare: Use shared
SentryTracerProviderfor OpenTelemetry interop
@sentry/core
- breaking
core: Remove
spanfromScopeData - breaking
core: Align request data collection with v11 defaults
- breaking
core: Default
attachStacktraceto true - breaking
core: Enable data collection by default
- breaking
core: Enable span streaming by default
- breaking
core: Flip
genAIdefaults to collect it by default - breaking
core: Gate incoming HTTP body capture on
dataCollection.httpBodies - breaking
core: Make
beforeSendSpancompatible with streamed spans by default - breaking
core: Make
tracePropagationTargetsmatching case-insensitive - breaking
core: Remove
enableMetricsoption - breaking
core: Remove
enableTruncationflag and all AI integrations truncation logic - breaking
core: Remove
endTimestampfromSentrySpanArguments - breaking
core: Remove
kindfor spans, move tosentry.kindattribute - breaking
core: Remove
queryParamsin favor ofurlQueryParams - breaking
core: Remove
scope.clear()method - breaking
core: Remove
sendDefaultPiiin favor ofdataCollection - breaking
core: Remove
sentry.sdk_meta.gen_ai.input.messages.original_lengthattribute - breaking
core: Remove
streamGenAiSpansflag - breaking
core: Remove deprecated
_experiments.enableLogsoption - breaking
core: Remove deprecated
inboundFiltersIntegration - breaking
core: Remove deprecated
instrumentLangGraph - breaking
core: Remove Unstable*PluginOptions build option types
- breaking
core: Return
StreamedSpanJSONfromspanToJSON - breaking
core: Update all spans to use
url.full,url.fragmentandurl.query - breaking
core: Use
rpcspan op for tRPC spans - breaking
server-utils,core: Use
routerspan op for backend router layers - breaking
core: Remove
enableLogsoption - breaking
core: Make
attributesin sampling context required - breaking
core: Align gen_ai cache token attributes with conventions
- breaking
core: Make
attributesrequired onScopeData - breaking
core: Migrate to SENTRY_SEGMENT_NAME_SOURCE
- breaking
core: Move
getComponentNameto browser-utils - breaking
core: Remove
getLocationHrefexport from core - breaking
core: Remove
startIdleSpanfrom server exports - breaking
core: Remove
supportsDOMError,supportsHistory,supportsReportingObserverexports - breaking
core: Remove
supportsNativeFetchexport - breaking
core: Remove deprecated
addAutoIpAddressToUserexport - breaking
core: Remove deprecated
htmlTreeAsStringfrom core - breaking
core: Remove deprecated
patchExpressModule(options)signature - breaking
core: Remove deprecated positional
spanOriginargument frominstrumentFetchRequest - breaking
core: Remove experimental
enableMetrics/beforeSendMetricflags - breaking
core: Remove orphaned deprecated Express patch APIs
- breaking
core: Rename
gen_ai.request.available_toolstogen_ai.tool.definitions - breaking
core: Rename
gen_ai.systemtogen_ai.provider.name - breaking
core: Rename
gen_ai.tool.inputtogen_ai.tool.call.arguments - breaking
core: Rename
gen_ai.tool.outputtogen_ai.tool.call.result - breaking
core: Rename Vercel AI cache/reasoning token attributes
- breaking
core: Replace deprecated
code.*andfs_errorspan attributes - breaking
core: Split browser/server-only exports out of the default entrypoint
- breaking
core: Stop setting deprecated
gen_ai.tool.typespan attribute - breaking
core: Unify
tracePropagationvspropagateTraceoption 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
routerspan op for frontend routers - breaking
ember: Update to v2 addon format
- breaking
ember: Use
functionandui.taskspan ops for route hooks and runloop - breaking
ember: Change
'ui.ember.component.render'toui.render
@sentry/feedback
- breaking
feedback: Always reject sendFeedback with an Error
@sentry/google-cloud-serverless
- breaking
google-cloud-serverless: Use
function.gcpop for GCP functions - breaking
google-cloud-serverless: Use
grpcspan op for GCP gRPC calls - breaking
google-cloud-serverless: Use
http.clientspan 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
functionspan 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
middlewarespan op for Next.js middleware - breaking
nextjs: Migrate import hook to makeOrchestrionLoader
- breaking
nextjs: Move
withSentryConfigto@sentry/nextjs/config
@sentry/nitro
- breaking
nuxt, nitro: Use convention cache ops for storage spans
@sentry/node
- breaking
node: Remove legacy profiling options (
profilesSampleRateandprofilesSampler) - breaking
express: Remove
shouldHandleErrorfromsetupExpressErrorHandler - 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,preloadentry points andpreloadOpenTelemetry - 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.queryanddbspan 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-coreback into@sentry/node - breaking
node: Consolidate httpIntegration options
- breaking
node: Remove
@opentelemetry/instrumentationdependency - breaking
node: Remove deprecated
prismaInstrumentationoption - 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
sourceMapsUploadOptionsmodule option - breaking
nuxt: Remove unstable_sentryBundlerPluginOptions
@sentry/opentelemetry
- breaking
opentelemetry: Remove
setupEventContextTrace - breaking
opentelemetry: Remove unused exports
- breaking
opentelemetry: Drop
.prefetchsuffix 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-binariesbin 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
routerspan 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
otlpIntegrationtoopenTelemetryIntegration - breaking
server-utils: Start Redis spans as
cachespans - breaking
server-utils: Register channel integrations on versions with native channels
- breaking
server-utils: Replace deprecated
ai.*andgen_ai.promptattributes - 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.nameon Koa spans - breaking
server-utils: Use
function.gcpop 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
routerspan op for frontend routers - breaking
sveltekit: Enable orchestrion instrumentation on Cloudflare
- breaking
sveltekit: Remove deprecated
sourceMapsUploadOptionsVite plugin option - breaking
sveltekit: Remove unstable_sentryVitePluginOptions
- breaking
sveltekit: Move
sentrySvelteKitoff the runtime entry to@sentry/sveltekit/vite
@sentry/tanstackstart-react
- breaking
tanstackstart: Remove deprecated
@sentry/tanstackstartutility package - breaking
tanstackstart-react: Migrate import hook to makeOrchestrionLoader
@sentry/types
- breaking
types: Stop publishing
@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
browserrequest timing span namesbrowser: Emit low-cardinality
uispan namesbrowser: Report
browser.navigation.typeon the pageload spanbrowser: 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_localhoston every streamed spannestjs: Emit low cardinality
@OnEventfunction span namenode: Add eveInstrumentation and eveIntegration for eve apps
node: Add Groq and Together AI integrations
react-router: Emit low-cardinality names for
functionspansremix: Upload source maps from the Vite plugin
tanstackstart-react: Emit low-cardinality names for
functionspansvue,nuxt: Record default UI spans without Options API (mixins)
Add
url.fullandurl.pathattributes tohttp.serverspansAlways 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
TraceMethodspan name and preserve descriptionastro: Auto-wire orchestrion build-time instrumentation
aws-serverless: Emit low cardinality
function.awsspan namesbrowser: Add
bfcacheIntegrationbrowser: 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
bunHttpServerIntegrationbun: Capture Bun.serve request bodies with
maxRequestBodySizebun: Instrument outgoing fetch requests
bundler-plugins: Frameworks use
@sentry/bundler-pluginsbundler: 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
functionspan names and preserve span descriptionscloudflare: 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
CollectBehaviorshorthand fordataCollection.httpHeaderscore: Add
afterEnvelopeandflushTraceSpansclient hookscore: Add
filterUrlQueryutilcore: Add
refsfield toScopefor non-serialized referencescore: Add
safeCallbackhelper for isolating user-provided callbackscore: Add build-time options for bundler plugin parity
core: Add low cardinality span name fallbacks
core: Add the
dataCollection.queuesoptioncore: Allow to pass scope to
getActiveSpancore: Always flush streamed span traces after segment end by default
core: Default span status to
okin transaction mode- deprecated
core: Deprecate
beforeSendTransactionandignoreTransactionsand log warnings if used with streaming - deprecated
core: Deprecate
forceTransactionoption inStartSpanOptions 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 namescore: Emit low-cardinality gen_ai inference span names when streaming
core: Emit low-cardinality http.server span names when streaming
core: Expose
sentry.opattribute to samplerscore: Isolate throwing user callbacks instead of capturing them as events
core: Only check for native fetch in browser
core: Record
callback_errorclient reports for throwing user callbackscore: Streamline tracing channel bindings
core: Use
getActiveSpaninstead of_getSpanFromScopefor logs & metricsdeno: Add
maxRequestBodySizeto capture HTTP bodiesdeno: 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.gcpspan nameshono: Support
.query()handlersnestjs: Add
code.function.nameattribute tofunctionspans for description inferencenestjs: Add support for NestJS v12
nextjs: Align build options with BuildTimeOptionsBase
nextjs: Emit low cardinality
functionspan namesnextjs: Emit low cardinality
functionspan names for server componentsnextjs: Record cache spans for
use cachefunctions- 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 conversationsnode: 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
ignoreStatusCodesin http integrations node: Enable dataloader and knex integrations by default
nuxt: Emit low cardinality db span names
nuxt: Enable server-side Sentry during
nuxt devon 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-routerentry with automatic React Router hooksremix: Auto-wire orchestrion build-time instrumentation
remix: Emit low cardinality
functionspan namesserver-runtime-injection: Split runtime orchestrion injection into a dedicated package
server-utils: Add
dbspan op for generic-pool acquire spansserver-utils: Add
otlpIntegrationto connect Sentry to an existing OpenTelemetry setupserver-utils: Add cache span ops for DataLoader
prime,clearandclearAllserver-utils: Add first-party Flue instrumentation
server-utils: Add more channel integration definitions
server-utils: Emit low cardinality
function.gcpspan names for firebase functionsserver-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
setAsyncLocalStorageAsyncContextStrategysolid-start: Add
code.function.nameattribute to solid-startfunctionspanssolidstart: Add SolidStart 2 support
solidstart: Auto-wire orchestrion build-time instrumentation
sveltekit: Auto-wire orchestrion build-time instrumentation
sveltekit: Emit low cardinality
functionspanstanstackstart: Auto-wire orchestrion build-time instrumentation
vue: Add Options API detection guard
wasm: Patch non-streaming load paths
astro: Fall back to
dataCollection.userInfofortrackClientIpbrowser: Default pageload span start time to
timeOriginbrowser: 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.requestinhttpContextIntegrationbrowser: Source FCP from web-vitals
onFCPand rebase FP againstactivationStartbrowser-utils: Fix soft navigation vital correlation race
bun: Respect caller-supplied
runtimeoptionbun: Use namespace imports for
node:httpinbunHttpServerIntegrationbundler-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.queueop on queue consumer spanscore: 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.urlQueryParamstourl.fullandurl.querycore: Apply capture mechanism to originally captured exception
core: Attribute errors to the span they escaped
core: Catch
beforeSendSpancallback throwscore: Do not activate ignored spans in the tracing-channel binding
core: Do not unnecessarily defer offline transport send
core: Filter query params in
url.fullon request data and navigate errorscore: 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
supabaseIntegrationfrom ending spans twicecore: 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
functionember: Add route IDs to pageload and navigation spans
ember: Guard
routerService.recognize()against unrecognizable URLsember: 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
silentto the SDK's own build logsnextjs: 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
tracesSamplerfor edge middleware root spansnextjs: Parameterize
[lng]locale routes and prefer narrower routes over catch-allsnextjs: 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
NodeClientcon…node: Support @google/genai v2 in auto-instrumentation
nuxt: Import from
#imports/serverinaddMiddlewareImports()nuxt: Remove setting
moduleSideEffectsin Nuxt 5 / Nitro 3nuxt: 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 Denoserver-utils: Always sanitize inline literals out of
db.query.textserver-utils: Don't capture caller-handled LangChain errors
server-utils: Don't capture caller-handled LangGraph errors
server-utils: Forward
resolveIdoptions in the orchestrion Rollup pluginserver-utils: Gate
gen_ai.tool.definitionsondataCollection.genAI.inputsserver-utils: Keep qualified table names in
db.query.summaryserver-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.platformtanstackstart-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
includefrom 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!