8.7.0
Important Changes
-
feat(react): Add TanStack Router integration (#12095)
This release adds instrumentation for TanStack router with a new
tanstackRouterBrowserTracingIntegration
in the
@sentry/react
SDK:import * as Sentry from '@sentry/react'; import { createRouter } from '@tanstack/react-router'; const router = createRouter({ // Your router options... }); Sentry.init({ dsn: '___PUBLIC_DSN___', integrations: [Sentry.tanstackRouterBrowserTracingIntegration(router)], tracesSampleRate: 1.0, });
Other Changes
- fix(nextjs): Do not hide
sourceMappingURL
comment on client whennextConfig.productionBrowserSourceMaps: true
is
set (#12278)
8.6.0
8.6.0
did not release fully, so this 8.7.0
also includes changes from that release.
Important Changes
-
feat(metrics): Add
timings
method to metrics (#12226)This introduces a new method,
metrics.timing()
, which can be used in two ways:- With a numeric value, to simplify creating a distribution metric. This will default to
second
as unit:
Sentry.metrics.timing('myMetric', 100);
- With a callback, which will wrap the duration of the callback. This can accept a sync or async callback. It will
create an inactive span around the callback and at the end emit a metric with the duration of the span in seconds:
const returnValue = Sentry.metrics.timing('myMetric', measureThisFunction);
- With a numeric value, to simplify creating a distribution metric. This will default to
-
feat(react): Add
Sentry.reactErrorHandler
(#12147)This PR introduces
Sentry.reactErrorHandler
, which you can use in React 19 as follows:import * as Sentry from '@sentry/react'; import { hydrateRoot } from 'react-dom/client'; ReactDOM.hydrateRoot( document.getElementById('root'), <React.StrictMode> <App /> </React.StrictMode>, { onUncaughtError: Sentry.reactErrorHandler(), onCaughtError: Sentry.reactErrorHandler((error, errorInfo) => { // optional callback if users want custom config. }), }, );
For more details, take a look at the PR. Our
documentation will be updated soon!
Other Changes
- feat(sveltekit): Add request data to server-side events (#12254)
- fix(core): Pass in cron monitor config correctly (#12248)
- fix(nextjs): Don't capture suspense errors in server components (#12261)
- fix(tracing): Ensure sent spans are limited to 1000 (#12252)
- ref(core): Use versioned carrier on global object (#12206)
Bundle size 📦
Path | Size |
---|---|
@sentry/browser | 21.74 KB |
@sentry/browser (incl. Tracing) | 32.73 KB |
@sentry/browser (incl. Tracing, Replay) | 68.3 KB |
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 61.62 KB |
@sentry/browser (incl. Tracing, Replay with Canvas) | 72.36 KB |
@sentry/browser (incl. Tracing, Replay, Feedback) | 84.44 KB |
@sentry/browser (incl. Tracing, Replay, Feedback, metrics) | 86.29 KB |
@sentry/browser (incl. metrics) | 25.91 KB |
@sentry/browser (incl. Feedback) | 37.86 KB |
@sentry/browser (incl. sendFeedback) | 26.32 KB |
@sentry/browser (incl. FeedbackAsync) | 30.83 KB |
@sentry/react | 24.51 KB |
@sentry/react (incl. Tracing) | 35.78 KB |
@sentry/vue | 25.72 KB |
@sentry/vue (incl. Tracing) | 34.57 KB |
@sentry/svelte | 21.87 KB |
CDN Bundle | 23.11 KB |
CDN Bundle (incl. Tracing) | 34.46 KB |
CDN Bundle (incl. Tracing, Replay) | 68.39 KB |
CDN Bundle (incl. Tracing, Replay, Feedback) | 73.53 KB |
CDN Bundle - uncompressed | 68 KB |
CDN Bundle (incl. Tracing) - uncompressed | 102.1 KB |
CDN Bundle (incl. Tracing, Replay) - uncompressed | 212 KB |
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 224.37 KB |
@sentry/nextjs (client) | 35.12 KB |
@sentry/sveltekit (client) | 33.36 KB |
@sentry/node | 115.24 KB |
@sentry/aws-serverless | 103.73 KB |