Packages

@sentry/node

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

Your version

9.0.0

major10 Feb 2025Where it was published

9.47.2 is the newest release of 9.x.

In short

76 breaking28 new16 fixed26 internal

  • breaking

    Version 9.0.0 marks a release of the Sentry JavaScript SDKs that contains breaking changes.

  • breaking

    Bump typescript to ~5.0.0

  • breaking

    Drop nitro-utils package

  • breaking

    Only collect ip addresses with sendDefaultPii: true

  • breaking

    Remove autoSessionTracking option

  • breaking

    Remove enableTracing

  • breaking

    Remove getCurrentHub(), Hub, and getCurrentHubShim()

  • breaking

    Remove spanId from propagation context

Release note

Version 9.0.0 marks a release of the Sentry JavaScript SDKs that contains breaking changes.
The goal of this release is to trim down on unused and potentially confusing APIs, prepare the SDKs for future framework versions to build deeper instrumentation, and remove old polyfills to reduce the packages' size.

How To Upgrade

Please carefully read through the migration guide in the Sentry docs on how to upgrade from version 8 to version 9.
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 for all the frameworks can be found within the Sentry JavaScript SDK Repository: github.com/getsentry/sentry-javascript/blob/dev…

Breaking Changes

  • breaking

    Bump typescript to ~5.0.0

  • breaking

    Drop nitro-utils package

  • breaking

    Only collect ip addresses with sendDefaultPii: true

  • breaking

    Remove autoSessionTracking option

  • breaking

    Remove enableTracing

  • breaking

    Remove getCurrentHub(), Hub, and getCurrentHubShim()

  • breaking

    Remove spanId from propagation context

  • breaking

    Remove deprecated and unused code

  • breaking

    Remove metrics API from the JS SDK

  • breaking

    Require Node >=18 as minimum supported version

  • breaking

    astro: Respect user-specified source map setting

  • breaking

    browser: Remove captureUserFeedback method

  • breaking

    build: Drop pre-ES2020 polyfills

  • breaking

    core: Add normalizedRequest to samplingContext

  • breaking

    core: Always use session from isolation scope

  • breaking

    core: Pass root spans to beforeSendSpan and disallow returning null

  • breaking

    core: Remove BAGGAGE_HEADER_NAME export

  • breaking

    core: Remove TransactionNamingScheme type

  • breaking

    core: Remove addOpenTelemetryInstrumentation method

  • breaking

    core: Remove arrayify method

  • breaking

    core: Remove debugIntegration and sessionTimingIntegration

  • breaking

    core: Remove flatten method

  • breaking

    core: Remove getDomElement method

  • breaking

    core: Remove makeFifoCache method

  • breaking

    core: Remove memoBuilder export & WeakSet fallback

  • breaking

    core: Remove transactionContext from samplingContext

  • breaking

    core: Remove urlEncode method

  • breaking

    core: Remove deprecated Request type

  • breaking

    core: Remove deprecated request data methods

  • breaking

    core: Remove standalone Client interface & deprecate BaseClient

  • breaking

    core: Remove validSeverityLevels export

  • breaking

    core: Stop accepting event as argument for recordDroppedEvent

  • breaking

    core: Stop setting user in requestDataIntegration

  • breaking

    core: Type sdkProcessingMetadata more strictly

  • breaking

    core: Update hasTracingEnabled to consider empty trace config

  • breaking

    core: Update requestDataIntegration handling

  • breaking

    deno: Remove deno prepack

  • breaking

    ember: Officially drop support for ember <=3.x

  • breaking

    nestjs: Move nestIntegration into nest sdk and remove setupNestErrorHandler

  • breaking

    nestjs: Remove @WithSentry decorator

  • breaking

    nestjs: Remove SentryService

  • breaking

    nextjs: Don't rely on Next.js Build ID for release names

  • breaking

    nextjs: Remove experimental_captureRequestError

  • breaking

    nextjs: Respect user-provided source map generation settings

  • breaking

    node: Add support for Prisma v6 and drop v5 support

  • breaking

    node: Avoid http spans by default for custom OTEL setups

  • breaking

    node: Collect request sessions via HTTP instrumentation

  • breaking

    node: Remove processThreadBreadcrumbIntegration

  • breaking

    node: Remove fine grained registerEsmLoaderHooks

  • breaking

    opentelemetry: Exclusively pass root spans through sampling pipeline

  • breaking

    pinia: Include state of all stores in breadcrumb

  • breaking

    react: Raise minimum supported TanStack Router version to 1.63.0

  • breaking

    react: Remove deprecated getNumberOfUrlSegments method

  • breaking

    react: Remove deprecated react router methods

  • breaking

    react: Update ErrorBoundary componentStack type

  • breaking

    remix: Drop support for Remix v1

  • breaking

    remix: Remove autoInstrumentRemix option

  • breaking

    solidstart: Default to --import setup and add autoInjectServerSentry

  • breaking

    solidstart: No longer export sentrySolidStartVite

  • breaking

    solidstart: Respect user-provided source map setting

  • breaking

    svelte: Disable component update tracking by default

  • breaking

    sveltekit: Drop support for SvelteKit @1.x

  • breaking

    sveltekit: Remove fetchProxyScriptNonce option

  • breaking

    sveltekit: Respect user-provided source map generation settings

  • breaking

    utils: Remove @sentry/utils package

  • breaking

    vue: Remove configuring Vue tracing options anywhere else other than through the vueIntegration's tracingOptions option

  • breaking

    vue/nuxt: No longer create "update" spans for component tracking by default

  • breaking

    node: Fix name of vercelAIIntegration to VercelAI

  • breaking

    vue: Remove logError from vueIntegration

  • breaking

    Don't polyfill optional chaining and nullish coalescing

  • breaking

    core: Cleanup internal types, including ReportDialogOptions

  • breaking

    core: Mark exceptions from captureConsoleIntegration as handled: true by default

  • breaking

    core: Move shutdownTimeout option type from core to node

  • breaking

    core: Remove Scope type interface in favor of using Scope class

  • breaking

    core: Remove backwards compatible SentryCarrier type

Other Changes

  • aws: Rename AWS lambda layer name to SentryNodeServerlessSDKv9

  • aws-serverless: Upgrade OTEL deps

  • browser: Set user.ip_address explicitly to {{auto}}

  • core: Add inheritOrSampleWith helper to traceSampler

  • core: Emit client reports for unsampled root spans on span start

  • core: Rename hasTracingEnabled to hasSpansEnabled

  • core: Streamline SpanJSON type

  • deno: Don't bundle @sentry/deno

  • deno: Don't publish to deno.land

  • deno: Stop inlining types from core

  • flags: Add Statsig browser integration

  • gatsby: Preserve user-provided source map settings

  • nestjs: Remove SentryTracingInterceptor, SentryGlobalGraphQLFilter, SentryGlobalGenericFilter

  • nextjs: Directly forward sourcemaps.disable to webpack plugin

  • node: Add processSessionIntegration

  • node: Add missing vercelAIIntegration export

  • node: Capture exceptions from worker_threads

  • nuxt: Add enabled to disable Sentry module

  • nuxt: Add silent, errorHandler, release to SourceMapsOptions

  • profiling-node: Use @sentry-internal/node-cpu-profiler

  • solidstart: Add autoInjectServerSentry: 'experimental_dynamic-import

  • sveltekit: Only inject fetch proxy script for SvelteKit < 2.16.0

  • user feedback: Adds draw tool for UF screenshot annotations

  • user feedback: Adds toolbar for cropping and annotating

  • Avoid class fields all-together

  • Only emit __esModule properties in CJS modules when there is a default export

  • Pass parentSampleRate to tracesSampler

  • Propagate and use a sampling random

  • browser: Remove browserPerformanceTimeOrigin side-effects

  • core: Ensure debugIds are applied to all exceptions in an event

  • core: Fork scope if custom scope is passed to startSpanManual

  • core: Fork scope if custom scope is passed to startSpan

  • core: Only fall back to sendDefaultPii for IP collection in requestDataIntegration

  • nextjs: Flush with waitUntil in captureRequestError

  • nextjs: Use batched devserver symbolication endpoint

  • node: Don't leak __span property into breadcrumbs

  • node: Fix sample rand propagation for negative sampling decisions

  • node: Missing release from ANR sessions

  • node: Set the correct fallback URL fields for outgoing https requests if they are not defined

  • nuxt: Detect Azure Function runtime for flushing with timeout

  • react: From location can be undefined in Tanstack Router Instrumentation

  • react: Import default for hoistNonReactStatics

  • react: Support lazy-loaded routes and components.

  • solidstart: Do not copy release-injection map file

Work in this release was contributed by @aloisklink, @arturovt, @aryanvdesh, @benjick, @chris-basebone, @davidturissini, @GrizliK1988, @jahands, @jrandolf, @kunal-511, @maximepvrt, @maxmaxme, @mstrokin, @nathankleyn, @nwalters512, @tannerlinsley, @tjhiggins, and @Zen-cronic. Thank you for your contributions!