@sentry/react
Advanced tools
Changelog
8.9.0
This release failed to publish correctly, please use 8.9.1
instead.
Changelog
8.8.0
This upgrades the OpenTelemetry dependencies to the latest versions and makes OTEL use import-in-the-middle
v1.8.0
.
This should fix numerous issues with using OTEL instrumentation with ESM.
High level issues fixed with OTEL + ESM:
tsx
or similar libraries.date-fns
.openai
.ENOENT: no such file or directory
bugs that libraries like discord.js
surface.If you are still encountering issues with OpenTelemetry instrumentation and ESM, please let us know.
2.18.0
(#12381)thirdPartyErrorFilterIntegration
(#12267)mget
command in caching functionality (#12380)clientTraceMetadata
option (#12323)sentry
property on Next.js config object (#12366)Work in this release contributed by @dohooo, @mohd-akram, and @ykzts. Thank you for your contributions!
Changelog
8.7.0
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,
});
sourceMappingURL
comment on client when nextConfig.productionBrowserSourceMaps: true
is
set (#12278)Changelog
8.6.0
feat(metrics): Add timings
method to metrics (#12226)
This introduces a new method, metrics.timing()
, which can be used in two ways:
second
as unit:Sentry.metrics.timing('myMetric', 100);
const returnValue = Sentry.metrics.timing('myMetric', measureThisFunction);
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!
Changelog
8.5.0
This release adds support for React 19 in the @sentry/react
SDK package.
@sentry/node/preload
hook (#12213)This release adds a new way to initialize @sentry/node
, which allows you to use the SDK with performance
instrumentation even if you cannot call Sentry.init()
at the very start of your app.
First, run the SDK like this:
node --require @sentry/node/preload ./app.js
Now, you can initialize and import the rest of the SDK later or asynchronously:
const express = require('express');
const Sentry = require('@sentry/node');
const dsn = await getSentryDsn();
Sentry.init({ dsn });
For more details, head over to the PR Description of the new feature. Our docs will be updated soon with a new guide.
startNewTrace
API (#12138)captureFeedback()
(#12216)SerializedSession
in session envelope items (#11979)waitUntil
to defer freezing of Vercel Lambdas (#12133)Module._resolveFilename
in Lambda layer bundle (#12232)ImportInTheMiddle
(#12233)@prisma/instrumentation
to use default import (#12185)inspector
asynchronously (#12231)Changelog
8.4.0
If you are using Next.js version 14.3.0-canary.64
or above, the Sentry Next.js SDK will now trace clientside pageloads
with React Server Components. This means, that client-side errors like
Error: An error occurred in the Server Components render.
, which previously didn't give you much information on how
that error was caused, can now be traced back to a specific error in a server component.
This release guarantees support for Angular 18 with @sentry/angular
.
Changelog
8.3.0
This release improves data quality of spans emitted by Express, Fastify, Connect, Koa, Nest.js and Hapi.
feat(node): Ensure connect spans have better data (#12130)
feat(node): Ensure express spans have better data (#12107)
feat(node): Ensure fastify spans have better data (#12106)
feat(node): Ensure hapi spans have better data (#12140)
feat(node): Ensure koa spans have better data (#12108)
feat(node): Ensure Nest.js spans have better data (#12139)
feat(deps): Bump @opentelemetry/instrumentation-express from 0.38.0 to 0.39.0 (#12079)
feat(node): No-code init via --import=@sentry/node/init
(#11999)
When using Sentry in ESM mode, you can now use Sentry without manually calling init like this:
SENTRY_DSN=https://examplePublicKey@o0.ingest.sentry.io/0 node --import=@sentry/node/init app.mjs
When using CommonJS, you can do:
SENTRY_DSN=https://examplePublicKey@o0.ingest.sentry.io/0 node --require=@sentry/node/init app.js
browserProfilingIntegration
is published to CDN (#12158)node:
prefix for node built-ins (#11895)setTimeout
to avoid e.g. angular change detection (#11924)undefined
values in props (#12131)@prisma/instrumentation
from 5.13.0 to 5.14.0 (#12081)Work in this release contributed by @pboling. Thank you for your contribution!
Changelog
8.2.1