npm @sentry/node 9.0.0

20 hours ago

Version 9.0.0 marks a major release of the Sentry JavaScript SDKs containing breaking changes.
The goal of this release is to trim down unused and potentially confusing APIs, prepare the SDKs for future framework versions to build deeper instrumentation, and remove old polyfills to reduce bundle 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: https://docs.sentry.io/platforms/javascript/migration/v8-to-v9/

A comprehensive migration guide outlining all changes for all the frameworks can be found within the Sentry JavaScript SDK Repository: https://github.com/getsentry/sentry-javascript/blob/develop/MIGRATION.md

Breaking Changes

  • doc(deno)!: Make Deno v2 the minimum supported version (#15085)
  • feat!: Bump typescript to ~5.0.0 (#14758)
  • feat!: Drop nitro-utils package (#14998)
  • feat!: Only collect ip addresses with sendDefaultPii: true (#15084)
  • feat!: Remove autoSessionTracking option (#14802)
  • feat!: Remove enableTracing (#15078)
  • feat!: Remove getCurrentHub(), Hub, and getCurrentHubShim() (#15122)
  • feat!: Remove spanId from propagation context (#14733)
  • feat!: Remove deprecated and unused code (#15077)
  • feat!: Remove metrics API from the JS SDK (#14745)
  • feat!: Require Node >=18 as minimum supported version (#14749)
  • feat(astro)!: Respect user-specified source map setting (#14941)
  • feat(browser)!: Remove captureUserFeedback method (#14820)
  • feat(build)!: Drop pre-ES2020 polyfills (#14882)
  • feat(core)!: Add normalizedRequest to samplingContext (#14902)
  • feat(core)!: Always use session from isolation scope (#14860)
  • feat(core)!: Pass root spans to beforeSendSpan and disallow returning null (#14831)
  • feat(core)!: Remove BAGGAGE_HEADER_NAME export (#14785)
  • feat(core)!: Remove TransactionNamingScheme type (#14865)
  • feat(core)!: Remove addOpenTelemetryInstrumentation method (#14792)
  • feat(core)!: Remove arrayify method (#14782)
  • feat(core)!: Remove debugIntegration and sessionTimingIntegration (#14747)
  • feat(core)!: Remove flatten method (#14784)
  • feat(core)!: Remove getDomElement method (#14797)
  • feat(core)!: Remove makeFifoCache method (#14786)
  • feat(core)!: Remove memoBuilder export & WeakSet fallback (#14859)
  • feat(core)!: Remove transactionContext from samplingContext (#14904)
  • feat(core)!: Remove urlEncode method (#14783)
  • feat(core)!: Remove deprecated Request type (#14858)
  • feat(core)!: Remove deprecated request data methods (#14896)
  • feat(core)!: Remove standalone Client interface & deprecate BaseClient (#14800)
  • feat(core)!: Remove validSeverityLevels export (#14765)
  • feat(core)!: Stop accepting event as argument for recordDroppedEvent (#14999)
  • feat(core)!: Stop setting user in requestDataIntegration (#14898)
  • feat(core)!: Type sdkProcessingMetadata more strictly (#14855)
  • feat(core)!: Update hasTracingEnabled to consider empty trace config (#14857)
  • feat(core)!: Update requestDataIntegration handling (#14806)
  • feat(deno)!: Remove deno prepack (#14829)
  • feat(ember)!: Officially drop support for ember <=3.x (#15032)
  • feat(nestjs)!: Move nestIntegration into nest sdk and remove setupNestErrorHandler (#14751)
  • feat(nestjs)!: Remove @WithSentry decorator (#14762)
  • feat(nestjs)!: Remove SentryService (#14759)
  • feat(nextjs)!: Don't rely on Next.js Build ID for release names (#14939)
  • feat(nextjs)!: Remove experimental_captureRequestError (#14607)
  • feat(nextjs)!: Respect user-provided source map generation settings (#14956)
  • feat(node)!: Add support for Prisma v6 and drop v5 support (#15120)
  • feat(node)!: Avoid http spans by default for custom OTEL setups (#14678)
  • feat(node)!: Collect request sessions via HTTP instrumentation (#14658)
  • feat(node)!: Remove processThreadBreadcrumbIntegration (#14666)
  • feat(node)!: Remove fine grained registerEsmLoaderHooks (#15002)
  • feat(opentelemetry)!: Exclusively pass root spans through sampling pipeline (#14951)
  • feat(pinia)!: Include state of all stores in breadcrumb (#15312)
  • feat(react)!: Raise minimum supported TanStack Router version to 1.63.0 (#15030)
  • feat(react)!: Remove deprecated getNumberOfUrlSegments method (#14744)
  • feat(react)!: Remove deprecated react router methods (#14743)
  • feat(react)!: Update ErrorBoundary componentStack type (#14742)
  • feat(remix)!: Drop support for Remix v1 (#14988)
  • feat(remix)!: Remove autoInstrumentRemix option (#15074)
  • feat(solidstart)!: Default to --import setup and add autoInjectServerSentry (#14862)
  • feat(solidstart)!: No longer export sentrySolidStartVite (#15143)
  • feat(solidstart)!: Respect user-provided source map setting (#14979)
  • feat(svelte)!: Disable component update tracking by default (#15265)
  • feat(sveltekit)!: Drop support for SvelteKit @1.x (#15037)
  • feat(sveltekit)!: Remove fetchProxyScriptNonce option (#15123)
  • feat(sveltekit)!: Respect user-provided source map generation settings (#14886)
  • feat(utils)!: Remove @sentry/utils package (#14830)
  • feat(vue)!: Remove configuring Vue tracing options anywhere else other than through the vueIntegration's tracingOptions option (#14856)
  • feat(vue/nuxt)!: No longer create "update" spans for component tracking by default (#14602)
  • fix(node)!: Fix name of vercelAIIntegration to VercelAI (#15298)
  • fix(vue)!: Remove logError from vueIntegration (#14958)
  • ref!: Don't polyfill optional chaining and nullish coalescing (#14603)
  • ref(core)!: Cleanup internal types, including ReportDialogOptions (#14861)
  • ref(core)!: Mark exceptions from captureConsoleIntegration as handled: true by default (#14734)
  • ref(core)!: Move shutdownTimeout option type from core to node (#15217)
  • ref(core)!: Remove Scope type interface in favor of using Scope class (#14721)
  • ref(core)!: Remove backwards compatible SentryCarrier type (#14697)

Other Changes

  • chore(browser): Export ipAddress helpers for use in other SDKs (#15079)
  • deps(node): Bump import-in-the-middle to 1.12.0 (#14796)
  • feat(aws): Rename AWS lambda layer name to SentryNodeServerlessSDKv9 (#14927)
  • feat(aws-serverless): Upgrade OTEL deps (#15091)
  • feat(browser): Set user.ip_address explicitly to {{auto}} (#15008)
  • feat(core): Add inheritOrSampleWith helper to traceSampler (#15277)
  • feat(core): Emit client reports for unsampled root spans on span start (#14936)
  • feat(core): Rename hasTracingEnabled to hasSpansEnabled (#15309)
  • feat(core): Streamline SpanJSON type (#14693)
  • feat(deno): Don't bundle @sentry/deno (#15014)
  • feat(deno): Don't publish to deno.land (#15016)
  • feat(deno): Stop inlining types from core (#14729)
  • feat(deps): Bump @opentelemetry/instrumentation-amqplib from 0.45.0 to 0.46.0 (#14835)
  • feat(deps): Bump @opentelemetry/instrumentation-aws-lambda from 0.49.0 to 0.50.0 (#14833)
  • feat(deps): Bump @opentelemetry/instrumentation-express from 0.46.0 to 0.47.0 (#14834)
  • feat(deps): Bump @opentelemetry/instrumentation-mysql2 from 0.44.0 to 0.45.0 (#14836)
  • feat(deps): Bump @opentelemetry/propagation-utils from 0.30.14 to 0.30.15 (#14832)
  • feat(deps): bump @opentelemetry/context-async-hooks from 1.29.0 to 1.30.0 (#14869)
  • feat(deps): bump @opentelemetry/instrumentation-generic-pool from 0.42.0 to 0.43.0 (#14870)
  • feat(deps): bump @opentelemetry/instrumentation-knex from 0.43.0 to 0.44.0 (#14872)
  • feat(deps): bump @opentelemetry/instrumentation-mongodb from 0.50.0 to 0.51.0 (#14871)
  • feat(deps): bump @opentelemetry/instrumentation-tedious from 0.17.0 to 0.18.0 (#14868)
  • feat(deps): bump @sentry/cli from 2.39.1 to 2.41.1 (#15173)
  • feat(flags): Add Statsig browser integration (#15319)
  • feat(gatsby): Preserve user-provided source map settings (#15006)
  • feat(nestjs): Remove SentryTracingInterceptor, SentryGlobalGraphQLFilter, SentryGlobalGenericFilter (#14761)
  • feat(nextjs): Directly forward sourcemaps.disable to webpack plugin (#15109)
  • feat(node): Add processSessionIntegration (#15081)
  • feat(node): Add missing vercelAIIntegration export (#15318)
  • feat(node): Capture exceptions from worker_threads (#15105)
  • feat(nuxt): Add enabled to disable Sentry module (#15337)
  • feat(nuxt): add silent, errorHandler, release to SourceMapsOptions (#15246)
  • feat(profiling-node): Use @sentry-internal/node-cpu-profiler (#15208)
  • feat(replay): Update fflate to 0.8.2 (#14867)
  • feat(solidstart): Add autoInjectServerSentry: 'experimental_dynamic-import (#14863)
  • feat(sveltekit): Only inject fetch proxy script for SvelteKit < 2.16.0 (#15126)
  • feat(user feedback): Adds draw tool for UF screenshot annotations (#15062)
  • feat(user feedback): Adds toolbar for cropping and annotating (#15282)
  • feat: Avoid class fields all-together (#14887)
  • feat: Only emit __esModule properties in CJS modules when there is a default export (#15018)
  • feat: Pass parentSampleRate to tracesSampler (#15024)
  • feat: Propagate and use a sampling random (#14989)
  • fix(browser): Remove browserPerformanceTimeOrigin side-effects (#14025)
  • fix(core): Ensure debugIds are applied to all exceptions in an event (#14881)
  • fix(core): Fork scope if custom scope is passed to startSpanManual (#14901)
  • fix(core): Fork scope if custom scope is passed to startSpan (#14900)
  • fix(core): Only fall back to sendDefaultPii for IP collection in requestDataIntegration (#15125)
  • fix(nextjs): Flush with waitUntil in captureRequestError (#15146)
  • fix(nextjs): Use batched devserver symbolication endpoint (#15335)
  • fix(node): Don't leak __span property into breadcrumbs (#14798)
  • fix(node): Fix sample rand propagation for negative sampling decisions (#15045)
  • fix(node): Missing release from ANR sessions (#15138)
  • fix(node): Set the correct fallback URL fields for outgoing https requests if they are not defined (#15316)
  • fix(nuxt): Detect Azure Function runtime for flushing with timeout (#15288)
  • fix(react): From location can be undefined in Tanstack Router Instrumentation (#15235)
  • fix(react): Import default for hoistNonReactStatics (#15238)
  • fix(react): Support lazy-loaded routes and components. (#15039)
  • fix(solidstart): Do not copy release-injection map file (#15302)
  • ref(browser): Improve active span handling for browserTracingIntegration (#14959)
  • ref(browser): Improve setting of propagation scope for navigation spans (#15108)
  • ref(browser): Skip browser extension warning in non-debug builds (#15310)
  • ref(browser): Update supportsHistory check & history usage (#14696)
  • ref(core): Ensure non-recording root spans have frozen DSC (#14964)
  • ref(core): Log debug message when capturing error events (#14701)
  • ref(core): Move log message about invalid sample rate (#15215)
  • ref(node): Streamline check for adding performance integrations (#15021)
  • ref(react): Adapt tanstack router type (#15241)
  • ref(svelte): Remove SvelteKit detection (#15313)
  • ref(sveltekit): Clean up sub-request check (#15251)

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!

Bundle size 📦

Path Size
@sentry/browser 22.9 KB
@sentry/browser - with treeshaking flags 22.69 KB
@sentry/browser (incl. Tracing) 35.77 KB
@sentry/browser (incl. Tracing, Replay) 72.58 KB
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags 66.05 KB
@sentry/browser (incl. Tracing, Replay with Canvas) 76.83 KB
@sentry/browser (incl. Tracing, Replay, Feedback) 89.56 KB
@sentry/browser (incl. Feedback) 39.84 KB
@sentry/browser (incl. sendFeedback) 27.53 KB
@sentry/browser (incl. FeedbackAsync) 32.31 KB
@sentry/react 24.73 KB
@sentry/react (incl. Tracing) 37.66 KB
@sentry/vue 27.09 KB
@sentry/vue (incl. Tracing) 37.47 KB
@sentry/svelte 22.94 KB
CDN Bundle 24.13 KB
CDN Bundle (incl. Tracing) 35.84 KB
CDN Bundle (incl. Tracing, Replay) 70.48 KB
CDN Bundle (incl. Tracing, Replay, Feedback) 75.62 KB
CDN Bundle - uncompressed 70.59 KB
CDN Bundle (incl. Tracing) - uncompressed 106.46 KB
CDN Bundle (incl. Tracing, Replay) - uncompressed 217.32 KB
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 229.89 KB
@sentry/nextjs (client) 38.63 KB
@sentry/sveltekit (client) 36.2 KB
@sentry/node 156.33 KB
@sentry/node - without tracing 97.31 KB
@sentry/aws-serverless 106.82 KB

Don't miss a new node release

NewReleases is sending notifications on new releases.