@sentry-internal/replay
Advanced tools
Changelog
8.12.0
This release introduces breaking changes to the @sentry/solid
package (which is currently out in alpha).
We've made it easier to get started with the solid router integration by removing the need to pass use* hooks
explicitly to solidRouterBrowserTracingIntegration
. Import solidRouterBrowserTracingIntegration
from
@sentry/solid/solidrouter
and add it to Sentry.init
import * as Sentry from '@sentry/solid';
import { solidRouterBrowserTracingIntegration, withSentryRouterRouting } from '@sentry/solid/solidrouter';
import { Router } from '@solidjs/router';
Sentry.init({
dsn: '__PUBLIC_DSN__',
integrations: [solidRouterBrowserTracingIntegration()],
tracesSampleRate: 1.0, // Capture 100% of the transactions
});
const SentryRouter = withSentryRouterRouting(Router);
Sentry.init()
now returns a client directly, so you don't need to explicitly call getClient()
anymore:
const client = Sentry.init();
deleteSourcemapsAfterUpload
option (#12457)This adds an easy way to delete sourcemaps immediately after uploading them:
module.exports = withSentryConfig(nextConfig, {
sourcemaps: {
deleteSourcemapsAfterUpload: true,
},
});
maxSpanWaitDuration
(#12610)Adds configuration option for the max. duration in seconds that the SDK will wait for parent spans to be finished before discarding a span. The SDK will automatically clean up spans that have no finished parent after this duration. This is necessary to prevent memory leaks in case of parent spans that are never finished or otherwise dropped/missing. However, if you have very long-running spans in your application, a shorter duration might cause spans to be discarded too early. In this case, you can increase this duration to a value that fits your expected data.
window.Sentry
(#12580)isRemixV2
as optional in exposed types. (#12614)Work in this release was contributed by @n4bb12. Thank you for your contribution!
Changelog
8.11.0
parentSpan
option to startSpan*
APIs (#12567)We've made it easier to create a span as a child of a specific span via the startSpan* APIs. This should allow you to explicitly manage the parent-child relationship of your spans better.
Sentry.startSpan({ name: 'root' }, parent => {
const span = Sentry.startInactiveSpan({ name: 'xxx', parentSpan: parent });
Sentry.startSpan({ name: 'xxx', parentSpan: parent }, () => {});
Sentry.startSpanManual({ name: 'xxx', parentSpan: parent }, () => {});
});
@sentry/node
exports from framework SDKs. (#12589)Changelog
8.10.0
opentelemetry-instrumentation-remix
. (#12110)You can now simplify your remix instrumentation by opting-in like this:
const Sentry = require('@sentry/remix');
Sentry.init({
dsn: YOUR_DSN
// opt-in to new auto instrumentation
autoInstrumentRemix: true,
});
With this setup, you do not need to add e.g. wrapExpressCreateRequestHandler
anymore. Additionally, the quality of the
captured data improves. The old way to use @sentry/remix
continues to work, but it is encouraged to use the new setup.
thirdPartyErrorFilterIntegration
from @sentry/browser
(#12512)tags
field to any feedback config param (#12197)getDynamicSamplingContextFromSpan
(#12522)captureRemixServerException
from client SDK (#12497)Work in this release was contributed by @AndreyKovanov and @kiliman. Thank you for your contributions!
Changelog
8.9.2
Changelog
8.9.1
feat(solid): Add Solid SDK
This release adds a dedicated SDK for Solid JS in alpha state with instrumentation for
Solid Router and a custom ErrorBoundary
. See the
package README for how to use
the SDK.
op
to Otel-generated lambda function root span (#12430)awslambda-auto
(#12392)Work in this release was contributed by @soch4n. Thank you for your contribution!
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!