@sentry/tracing
7.120.4 · 29 Jul 2025MIT1.8M / weekRepositoryHomepagenpmAtom feed
266 stable releases, newest first, by release line. Notes are quoted as the maintainers published them.
7.48.0
14 Apr 2023node: Add
AsyncLocalStorageimplementation ofAsyncContextStrategysveltekit: Remove
withSentryViteConfigsveltekit: Add Sentry Vite Plugin to upload source maps
Important Changes
node: Add
AsyncLocalStorageimplementation ofAsyncContextStrategyfeat(core): Extend
AsyncContextStrategyto allow reuse of existing contextfeat(core): Make
runWithAsyncContextpublic APIfeat(core): Add async context abstraction
feat(node): Adds
domainimplementation ofAsyncContextStrategyfeat(node): Auto-select best
AsyncContextStrategyfor Node.js versionfeat(node): Migrate to domains used through
AsyncContextStrategy
This release switches the SDK to use
AsyncLocalStorageas the async context isolation mechanism in the SDK for Node 14+. For Node 10 - 13, we continue to use the Nodedomainstandard library, sinceAsyncLocalStorageis not supported there. Preliminary testing showed a 30% improvement in latency and rps when making the switch from domains toAsyncLocalStorageon Node 16.If you want to manually add async context isolation to your application, you can use the new
runWithAsyncContextAPI.import * as Sentry from '@sentry/node'; const requestHandler = (ctx, next) => { return new Promise((resolve) => { Sentry.runWithAsyncContext(async () => { const hub = Sentry.getCurrentHub(); hub.configureScope(scope => scope.addEventProcessor(event => Sentry.addRequestDataToEvent(event, ctx.request, { include: { user: false, }, }) ) ); await next(); resolve(); }); }); };If you're manually using domains to isolate Sentry data, we strongly recommend switching to this API!
In addition to exporting
runWithAsyncContextpublicly, the SDK also uses it internally where we previously used domains.sveltekit: Remove
withSentryViteConfigfeat(sveltekit): Remove SDK initialization via dedicated files
This release removes our
withSentryViteConfigwrapper we previously instructed you to add to yourvite.config.jsfile. It is replaced Vite plugins which you simply add to your Vite config, just like thesveltekit()Vite plugins. We believe this is a more transparent and Vite/SvelteKit-native way of applying build time modifications. Here's how to use the plugins:// vite.config.js import { sveltekit } from '@sveltejs/kit/vite'; import { sentrySvelteKit } from '@sentry/sveltekit'; export default { plugins: [sentrySvelteKit(), sveltekit()], // ... rest of your Vite config };Take a look at the
READMEfor updated instructions!Furthermore, with this transition, we removed the possibility to intialize the SDK in dedicated
sentry.(client|server).config.jsfiles. Please use SvelteKit's hooks files to initialize the SDK.Please note that these are breaking changes! We're sorry for the inconvenience but the SvelteKit SDK is still in alpha stage and we want to establish a clean and SvelteKit-friendly API before making the SDK stable. You have been warned ;)
sveltekit: Add Sentry Vite Plugin to upload source maps
This release adds automatic upload of source maps to the SvelteKit SDK. No need to configure anything other than adding our Vite plugins to your SDK. The example above shows you how to do this.
Please make sure to follow the
READMEto specify your Sentry auth token, as well as org and project slugs.- feat(replay): Capture request & response headers (#7816)
Replay now captures the
content-length,content-type, andacceptheaders from requests and responses automatically.Additional Features and Fixes
browser: Export request instrumentation options
core: Add async context abstraction
core: Add DSC to all outgoing envelopes
core: Cache processed stacks for debug IDs
node: Add checkin envelope types
replay: Add
getReplayId()methodbrowser: Adjust
BrowserTransportOptionsto support offline transport optionsbrowser: DOMException SecurityError stacktrace parsing bug
core: Log warning when tracing extensions are missing
core: Only call
applyDebugMetadatafor error eventsintegrations: Ensure httpclient integration works with Request
node:
reuseExistingdoes not need to call bind on domainnode: Fix domain scope inheritance
node: Make
trpcMiddlewarefactory synchronousserverless: Account when transaction undefined
utils: Make xhr instrumentation independent of parallel running SDK versions
Bundle size
Path Size @sentry/browser - ES5 CDN Bundle (gzipped + minified) 21.04 KB @sentry/browser - ES5 CDN Bundle (minified) 65.66 KB @sentry/browser - ES6 CDN Bundle (gzipped + minified) 19.59 KB @sentry/browser - ES6 CDN Bundle (minified) 58.12 KB @sentry/browser - Webpack (gzipped + minified) 21.19 KB @sentry/browser - Webpack (minified) 69.07 KB @sentry/react - Webpack (gzipped + minified) 21.21 KB @sentry/nextjs Client - Webpack (gzipped + minified) 49.06 KB @sentry/browser + @sentry/tracing - ES5 CDN Bundle (gzipped + minified) 28.61 KB @sentry/browser + @sentry/tracing - ES6 CDN Bundle (gzipped + minified) 26.85 KB @sentry/replay ES6 CDN Bundle (gzipped + minified) 45.35 KB @sentry/replay - Webpack (gzipped + minified) 39.28 KB @sentry/browser + @sentry/tracing + @sentry/replay - ES6 CDN Bundle (gzipped + minified) 64.28 KB @sentry/browser + @sentry/replay - ES6 CDN Bundle (gzipped + minified) 57.26 KB 7.47.0
5 Apr 2023- deprecated
feat(tracing): Deprecate
@sentry/tracingexports feat(browser): Add captureUserFeedback
sveltekit: Add partial instrumentation for client-side
fetch
Important Changes
feat(browser): Add captureUserFeedback
This release adds a new API,
Sentry.captureUserFeedback, to browser-side SDKs that allows you to send user feedback to Sentry without loading and opening Sentry's user feedback dialog. This allows you to obtain user feedback however and whenever you want to and simply send it to Sentry using the SDK.For instance, you can collect feedback, whenever convenient as shown in this example:
const eventId = Sentry.captureMessage('User Feedback'); const user = Sentry.getCurrentHub().getScope().getUser(); const userFeedback = { event_id: eventId; email: user.email name: user.username comments: 'I really like your App, thanks!' } Sentry.captureUserFeedback(userFeedback);Note that feedback needs to be coupled to an event but as in the example above, you can just use
Sentry.captureMessageto generate one.You could also collect feedback in a custom way if an error happens and use the SDK to send it along:
Sentry.init({ dsn: '__DSN__', beforeSend: event => { const userFeedback = collectYourUserFeedback(); const feedback = { ...userFeedback, event_id: event.event_id. } Sentry.captureUserFeedback(feedback); return event; } })- deprecated
feat(tracing): Deprecate
@sentry/tracingexports
With this release, we officially deprecate all exports from the
@sentry/tracingpackage, in favour of using them directly from the main SDK package. The@sentry/tracingpackage will be removed in a future major release.Please take a look at the Migration docs for more details.
Additional Features and Fixes
sveltekit: Add partial instrumentation for client-side
fetchangular: Handle routes with empty path
angular: Only open report dialog if error was sent
core: Determine debug ID paths from the top of the stack
ember: Ensure only one client is created & Replay works
integrations: Ensure HttpClient integration works with Axios
loader: Ensure JS loader works with tracing & add tests
nextjs: Restore tree shaking capabilities
node: Disable
LocalVariablesintegration on Node < v18node: Redact URL authority only in breadcrumbs and spans
react: Only show report dialog if event was sent to Sentry
remix: Remove unnecessary dependencies
replay: Ensure circular references are handled
sveltekit: Don't capture thrown
Redirects as exceptionssveltekit: Log error to console by default in
handleErrorWithSentrytracing: Make sure idle transaction does not override other transactions
Work in this release contributed by @de-don and @TrySound. Thank you for your contributions!
Bundle size
Path Size @sentry/browser - ES5 CDN Bundle (gzipped + minified) 20.89 KB @sentry/browser - ES5 CDN Bundle (minified) 65.29 KB @sentry/browser - ES6 CDN Bundle (gzipped + minified) 19.44 KB @sentry/browser - ES6 CDN Bundle (minified) 57.75 KB @sentry/browser - Webpack (gzipped + minified) 21.06 KB @sentry/browser - Webpack (minified) 68.73 KB @sentry/react - Webpack (gzipped + minified) 21.09 KB @sentry/nextjs Client - Webpack (gzipped + minified) 48.87 KB @sentry/browser + @sentry/tracing - ES5 CDN Bundle (gzipped + minified) 28.45 KB @sentry/browser + @sentry/tracing - ES6 CDN Bundle (gzipped + minified) 26.68 KB @sentry/replay ES6 CDN Bundle (gzipped + minified) 44.88 KB @sentry/replay - Webpack (gzipped + minified) 38.87 KB @sentry/browser + @sentry/tracing + @sentry/replay - ES6 CDN Bundle (gzipped + minified) 63.77 KB @sentry/browser + @sentry/replay - ES6 CDN Bundle (gzipped + minified) 56.8 KB 7.46.0
30 Mar 2023feat(sveltekit): Add Performance Monitoring for SvelteKit
feat(core): Add
ignoreTransactionsoptionfeat(node): Undici integration
Important Changes
feat(sveltekit): Add Performance Monitoring for SvelteKit
feat(sveltekit): Add meta tag for backend -> frontend
fix(sveltekit): Explicitly export Node SDK exports
fix(sveltekit): Handle nested server calls in
sentryHandleref(sveltekit): Split up universal and server load wrappers
This release adds support for Performance Monitoring in our SvelteKit SDK for the client/server. We've also changed how you should initialize your SDK. Please read our updated SvelteKit README instructions for more details.
feat(core): Add
ignoreTransactionsoption
You can now easily filter out certain transactions from being sent to Sentry based on their name.
Sentry.init({ ignoreTransactions: ['/api/healthcheck', '/ping'], })feat(node): Undici integration
feat(nextjs): Add Undici integration automatically
feat(sveltekit): Add Undici integration by default
We've added an integration that automatically instruments Undici and Node server side fetch. This supports Undici
v4.7.0or higher and requires Nodev16.7.0or higher. After adding the integration outgoing requests made by Undici will have associated spans and breadcrumbs in Sentry.Sentry.init({ integrations: [new Sentry.Integrations.Undici()], })In our Next.js and SvelteKit SDKs, this integration is automatically added.
feat(node): Add Sentry tRPC middleware
We've added a new middleware for trpc that automatically adds TRPC information to Sentry transactions. This middleware is meant to be used in combination with a Sentry server integration (Next.js, Express, etc).
import { initTRPC } from '@trpc/server'; import * as Sentry from '@sentry/node'; const t = initTRPC.context().create(); const sentryMiddleware = t.middleware( Sentry.Handlers.trpcMiddleware({ attachRpcInput: true, }), ); const sentrifiedProcedure = t.procedure.use(sentryMiddleware);feat(tracing): Remove requirement for
@sentry/tracingpackage
With
7.46.0you no longer require the@sentry/tracingpackage to use tracing and performance monitoring with the Sentry JavaScript SDKs. The@sentry/tracingpackage will be removed in a future major release, but can still be used with no changes.Please see the Migration docs for more details.
fix(node): Convert debugging code to callbacks to fix memory leak in
LocalVariablesintegration
This fixes a memory leak in the opt-in
LocalVariablesintegration, which adds local variables to the stacktraces sent to Sentry. The minimum recommended version to use theLocalVariablesis now7.46.0.Additional Features and Fixes
node: Auto discovery only returns integrations where dependency loads
node: Sanitize URLs in Span descriptions and breadcrumbs (PII)
replay: Add
responseStatus,decodedBodySizeto perf entriesreplay: Add experiment to capture request/response bodies
replay: Capture replay mutation breadcrumbs & add experiment
tracing: Ensure
pageloadtransaction starts at timeOrigincore: Remove
abs_pathfrom stack trace (reverting #7167)nextjs: Add loading component type to server component wrapping
nextjs: Don't report
NEXT_NOT_FOUNDandNEXT_REDIRECTerrorsnextjs: Rewrite
abs_pathframesnextjs: Show errors and warnings only once during build
nextjs: Use Next.js internal AsyncStorage
nextjs: Gracefully handle undefined
beforeFilesin rewrites
Work in this release contributed by @aldenquimby and @bertho-zero. Thank you for your contributions!
Bundle size
Path Size @sentry/browser - ES5 CDN Bundle (gzipped + minified) 20.62 KB @sentry/browser - ES5 CDN Bundle (minified) 64.4 KB @sentry/browser - ES6 CDN Bundle (gzipped + minified) 19.15 KB @sentry/browser - ES6 CDN Bundle (minified) 56.78 KB @sentry/browser - Webpack (gzipped + minified) 21.53 KB @sentry/browser - Webpack (minified) 72 KB @sentry/react - Webpack (gzipped + minified) 21.55 KB @sentry/nextjs Client - Webpack (gzipped + minified) 52.05 KB @sentry/browser + @sentry/tracing - ES5 CDN Bundle (gzipped + minified) 28.21 KB @sentry/browser + @sentry/tracing - ES6 CDN Bundle (gzipped + minified) 26.41 KB @sentry/replay ES6 CDN Bundle (gzipped + minified) 44.74 KB @sentry/replay - Webpack (gzipped + minified) 38.86 KB @sentry/browser + @sentry/tracing + @sentry/replay - ES6 CDN Bundle (gzipped + minified) 63.46 KB @sentry/browser + @sentry/replay - ES6 CDN Bundle (gzipped + minified) 56.49 KB 7.45.0
24 Mar 2023core: Add trace function
hub: Make scope always defined on the hub
replay: Add
replay_idto transaction DSC
core: Add trace function
hub: Make scope always defined on the hub
replay: Add
replay_idto transaction DSCreplay: Capture fetch body size for replay events
sveltekit: Add performance monitoring for client load
sveltekit: Add performance monitoring for server load
sveltekit: Add performance monitoring to Sveltekit server handle
sveltekit: Add SvelteKit routing instrumentation
browser: Ensure keepalive flag is correctly set for parallel requests
core: Ensure
ignoreErrorsonly applies to error eventsnode: Consider tracing error handler for process exit
otel: Make sure we use correct hub on finish
react: Handle case where error.cause already defined
Bundle size
Path Size @sentry/browser - ES5 CDN Bundle (gzipped + minified) 20.57 KB @sentry/browser - ES5 CDN Bundle (minified) 64.2 KB @sentry/browser - ES6 CDN Bundle (gzipped + minified) 19.13 KB @sentry/browser - ES6 CDN Bundle (minified) 56.58 KB @sentry/browser - Webpack (gzipped + minified) 21.59 KB @sentry/browser - Webpack (minified) 71.66 KB @sentry/react - Webpack (gzipped + minified) 21.61 KB @sentry/nextjs Client - Webpack (gzipped + minified) 51.88 KB @sentry/browser + @sentry/tracing - ES5 CDN Bundle (gzipped + minified) 27.93 KB @sentry/browser + @sentry/tracing - ES6 CDN Bundle (gzipped + minified) 26.1 KB @sentry/replay ES6 CDN Bundle (gzipped + minified) 44.33 KB @sentry/replay - Webpack (gzipped + minified) 38.39 KB @sentry/browser + @sentry/tracing + @sentry/replay - ES6 CDN Bundle (gzipped + minified) 62.54 KB @sentry/browser + @sentry/replay - ES6 CDN Bundle (gzipped + minified) 56.06 KB 7.44.2
21 Mar 2023Reading the note…
7.44.1
20 Mar 2023Reading the note…
7.44.0
20 Mar 2023replay: Add
request_body_size&response_body_sizeto fetch/xhrreplay: Add additional properties for UI clicks
replay: Reduce time limit before pausing a recording
This release introduces the first alpha version of
@sentry/sveltekit, our newest JavaScript SDK for Sveltekit. Check out the README for usage instructions and what to expect from this alpha release.replay: Add
request_body_size&response_body_sizeto fetch/xhrreplay: Add additional properties for UI clicks
replay: Reduce time limit before pausing a recording
replay: Upgrade
rrwebandrrweb-playerreplay: Use new afterSend hook to improve error linking
serverless: Publish lambda layer for Node 16/18
sveltekit: Add wrapper for client load function
sveltekit: Add wrapper for server load function
sveltekit: Add server-side
handleErrorwrappersveltekit: Introduce client-side
handleErrorwrappersveltekit: Add SvelteKit client and server
initfunctionssveltekit: Inject
Sentry.initcalls into server and client bundlestracing: Expose
BrowserTracingin non-tracing bundlescore: Permanent idle timeout cancel finishes the transaction with the last finished child
integrations: Handle lower-case prefix windows paths in
RewriteFramesnext: Guard against missing serverSideProps
nextjs: Fix broken server component wrapping because of interrupted promise chain
nextjs: Fix runtime error for static pages
profiling: Catch sendProfile rejection
replay: Never capture file input changes
serverless: Explicitly export node package exports
vue: Do not depend on
window.locationfor SSR environments
Replay
rrwebchanges:@sentry-internal/rrwebwas updated from 1.105.0 to 1.106.0:Ensure password inputs are always masked
Ensure text masking for updated attributes works
Ensure unmaskTextSelector is used for masked attributes
Mask <option> values for selects & radio/checkbox value
Work in this release contributed by @woochanleee and @baked-dev. Thank you for your contribution!
7.43.0
13 Mar 2023nextjs: Run source map upload in Vercel develop and preview environments
types: Add
profilesSampleroption to node client typecore: Avoid using
Array.findIndex()as it is ES5 incompatible
nextjs: Run source map upload in Vercel develop and preview environments
types: Add
profilesSampleroption to node client typecore: Avoid using
Array.findIndex()as it is ES5 incompatiblenextjs: Add better error messages for missing params during next build
nextjs: Don't crash build when auth token is missing
node: Revert to dynamic
requirecall to fix monkey patching
7.42.0
9 Mar 2023Reading the note…
7.41.0
6 Mar 2023Reading the note…
7.40.0
1 Mar 2023Reading the note…
7.39.0
27 Feb 2023Reading the note…
7.38.0
17 Feb 2023Reading the note…
7.37.2
13 Feb 2023Reading the note…
7.37.1
10 Feb 2023Reading the note…
7.37.0
9 Feb 2023Reading the note…
7.36.0
2 Feb 2023Reading the note…
7.35.0
1 Feb 2023Reading the note…
7.34.0
26 Jan 2023Reading the note…
7.33.0
24 Jan 2023Reading the note…
7.32.1
23 Jan 2023Reading the note…
7.32.0
23 Jan 2023Reading the note…
7.31.1
17 Jan 2023Reading the note…
7.31.0
16 Jan 2023Reading the note…
7.30.0
10 Jan 2023Reading the note…
7.29.0
4 Jan 2023Reading the note…
7.28.1
22 Dec 2022Reading the note…
7.28.0
20 Dec 2022Reading the note…
7.27.0
16 Dec 2022Reading the note…
7.26.0
13 Dec 2022Reading the note…
7.25.0
12 Dec 2022Reading the note…
7.24.2
7 Dec 2022Reading the note…
7.24.1
7 Dec 2022Reading the note…
7.24.0
7 Dec 2022Reading the note…
7.23.0
1 Dec 2022Reading the note…
7.22.0
29 Nov 2022Reading the note…
7.21.1
23 Nov 2022Reading the note…
7.21.0
22 Nov 2022Reading the note…
7.20.1
21 Nov 2022Reading the note…
7.20.0
17 Nov 2022Reading the note…
7.19.0
10 Nov 2022Reading the note…
7.18.0
8 Nov 2022Reading the note…
7.17.4
3 Nov 2022Reading the note…
7.17.3
31 Oct 2022Reading the note…
7.17.2
28 Oct 2022Reading the note…
7.17.1
27 Oct 2022Reading the note…
7.17.0
27 Oct 2022Reading the note…
7.16.0
19 Oct 2022Reading the note…
7.15.0
10 Oct 2022Reading the note…
7.14.2
6 Oct 2022Reading the note…