@sentry/svelte
Advanced tools
Changelog
9.10.0
feat: Add support for logs
beforeSendLog
(#15814)All JavaScript SDKs other than @sentry/cloudflare
and @sentry/deno
now support sending logs via dedicated methods as part of Sentry's upcoming logging product.
Logging is gated by an experimental option, _experiments.enableLogs
.
Sentry.init({
dsn: 'PUBLIC_DSN',
// `enableLogs` must be set to true to use the logging features
_experiments: { enableLogs: true },
});
const { trace, debug, info, warn, error, fatal, fmt } = Sentry.logger;
trace('Starting database connection', { database: 'users' });
debug('Cache miss for user', { userId: 123 });
error('Failed to process payment', { orderId: 'order_123', amount: 99.99 });
fatal('Database connection pool exhausted', { database: 'users', activeConnections: 100 });
// Structured logging via the `fmt` helper function. When you use `fmt`, the string template and parameters are sent separately so they can be queried independently in Sentry.
info(fmt(`Updated profile for user ${userId}`));
warn(fmt(`Rate limit approaching for endpoint ${endpoint}. Requests: ${requests}, Limit: ${limit}`));
With server-side SDKs like @sentry/node
, @sentry/bun
or server-side of @sentry/nextjs
or @sentry/sveltekit
, you can do structured logging without needing the fmt
helper function.
const { info, warn } = Sentry.logger;
info('User %s logged in successfully', [123]);
warn('Failed to load user %s data', [123], { errorCode: 404 });
To filter logs, or update them before they are sent to Sentry, you can use the _experiments.beforeSendLog
option.
feat(browser): Add diagnoseSdkConnectivity()
function to programmatically detect possible connectivity issues (#15821)
The diagnoseSdkConnectivity()
function can be used to programmatically detect possible connectivity issues with the Sentry SDK.
const result = await Sentry.diagnoseSdkConnectivity();
The result will be an object with the following properties:
"no-client-active"
: There was no active client when the function was called. This possibly means that the SDK was not initialized yet."sentry-unreachable"
: The Sentry SaaS servers were not reachable. This likely means that there is an ad blocker active on the page or that there are other connection issues.undefined
: The SDK is working as expected.SDK Tracing Performance Improvements for Node SDKs
dropUndefinedKeys
(#15796)dropUndefinedKeys
for spanToJSON
calls (#15792)SentryError
for PromiseBuffer control flow (#15822)dropUndefinedKeys
in SpanExporter (#15794)SentryError
for event processing control flow (#15823)dropUndefinedKeys
in Node SDK init (#15797)We've been hard at work making performance improvements to the Sentry Node SDKs (@sentry/node
, @sentry/aws-serverless
, @sentry/nestjs
, etc.). We've seen that upgrading from 9.7.0
to 9.10.0
leads to 30-40% improvement in request latency for HTTP web-server applications that use tracing with high sample rates. Non web-server applications and non-tracing applications will see smaller improvements.
Changelog
9.9.0
feat(nextjs): Support instrumentation-client.ts
(#15705)
Next.js recently added a feature to support client-side (browser) instrumentation via the experimental.clientInstrumentationHook
flag and the instrumentation-client.ts
file.
To be forwards compatible, the Sentry Next.js SDK will now pick up instrumentation-client.ts
files even on older Next.js versions and add them to your client bundles.
It is suggested that you either rename your sentry.client.config.ts
file to instrumentation-client.ts
, or if you already happen to have a instrumentation-client.ts
file move the contents of sentry.client.config.ts
to instrumentation-client.ts
.
feat(browser): Add previous_trace
span links (#15569)
The @sentry/browser
SDK and SDKs based on @sentry/browser
now emits a link from the first root span of a newly started trace to the root span of a previously started trace. You can control this feature via an option in browserTracingIntegration()
:
Sentry.init({
dsn: 'your-dsn-here'
integrations: [
Sentry.browserTracingIntegration({
// Available settings:
// - 'in-memory' (default): Stores previous trace information in memory
// - 'session-storage': Stores previous trace information in the browser's `sessionStorage`
// - 'off': Disable storing and sending previous trace information
linkPreviousTrace: 'in-memory',
}),
],
});
feat(browser): Add logger.X
methods to browser SDK (#15763)
For Sentry's upcoming logging product, the SDK now supports sending logs via dedicated methods.
Sentry.init({
dsn: 'your-dsn-here',
_experiments: {
enableLogs: true, // This is required to use the logging features
},
});
Sentry.logger.info('This is a trace message', { userId: 123 });
// See PR for better documentation
Please note that the logs product is still in early access. See the link above for more information.
parseStringToURL
method (#15768)dropUndefinedKeys
(#15760)shouldHandleError
(#15771)addNonEnumerableProperty
(#15766)dropUndefinedKeys()
(#15757)dropUndefinedKeys()
(#15781)Changelog
9.8.0
res.end
before passing to Proxy (#15776)eventFilters
integration (#15752)Changelog
9.7.0
captureLog
method (#15717)sentryHandleError
(#15726)fatal
level for unhandled rejections in strict
mode (#15720)Changelog
9.6.1
Changelog
9.6.0
feat(tanstackstart): Add @sentry/tanstackstart-react
package and make @sentry/tanstackstart
package a utility package (#15629)
Since TanStack Start is supposed to be a generic framework that supports libraries like React and Solid, the @sentry/tanstackstart
SDK package was renamed to @sentry/tanstackstart-react
to reflect that the SDK is specifically intended to be used for React TanStack Start applications.
Note that the TanStack Start SDK is still in alpha status and may be subject to breaking changes in non-major package updates.
fill
only patches functions (#15632)pageExtensions
when looking for instrumentation file (#15701)options
(#15610)Work in this release was contributed by @angelikatyborska and @nwalters512. Thank you for your contributions!
Changelog
9.5.0
We found some issues with the new feedback screenshot annotation where screenshots are not being generated properly. Due to this issue, we are reverting the feature.
4.34.9
(#15589)@sentry/remix/cloudflare
(#15599)Work in this release was contributed by @msurdi-a8c, @namoscato, and @rileyg98. Thank you for your contributions!