@sentry/core
Advanced tools
Changelog
7.106.1
createReduxEnhancer
on server (#11010)Changelog
7.106.0
tunnelRoute
option (#10958)setTransactionName
global
(#10925)AttachmentType
and use for envelope attachment_type
property (#10946)Work in this release contributed by @jessezhang91 and @bfontaine. Thank you for your contributions!
Changelog
8.0.0-alpha.2
This alpha release fixes a build problem that prevented 8.0.0-alpha.1 from being properly released.
@sentry/opentelemetry-node
package (#10906)The @sentry/opentelemetry-node
package has been removed. Instead, you can either use @sentry/node
with built-in
OpenTelemetry support, or use @sentry/opentelemetry
to manually connect Sentry with OpenTelemetry.
startSpan
options (#10825)skipOpenTelemetrySetup
(#10907)inspector
(#10910)Work in this release contributed by @harish-talview & @bfontaine. Thank you for your contributions!
Changelog
8.0.0-alpha.1
This is the first Alpha release of the v8 cycle, which includes a variety of breaking changes.
Read the in-depth migration guide to find out how to address any breaking changes in your code.
- feat(node): Make @sentry/node
powered by OpenTelemetry (#10762)
The biggest change is the switch to use OpenTelemetry under the hood in @sentry/node
. This brings with it a variety of
changes:
autoDiscoverNodePerformanceMonitoringIntegrations()
anymore.Sentry.init()
before you import any other packages. Otherwise, the packages cannot be
instrumented:const Sentry = require('@sentry/node');
Sentry.init({
dsn: '...',
// ... other config here
});
// now require other things below this!
const http = require('http');
const express = require('express');
// ....
startTransaction
and span.startChild()
are no longer supported. This is due to the underlying change to
OpenTelemetry powered performance instrumentation. See
docs on the new performance APIs for details.Related changes:
defaultStackParser
& getSentryRelease
(#10722)errorHandler
(#10728)forceTransaction
in OTEL (#10807)isInitialized
(#10607)errorHandler
to expressErrorHandler
(#10746)- feat: Remove @sentry/integrations
package (#10799)
This package is no longer published. You can instead import these pluggable integrations directly from your SDK package
(e.g. @sentry/browser
or @sentry/react
).
- feat: Remove @sentry/hub
package (#10783)
This package is no longer published. You can instead import directly from your SDK package (e.g. @sentry/react
or
@sentry/node
).
- feat(v8): Remove @sentry/tracing (#10625)
This package is no longer published. You can instead import directly from your SDK package (e.g. @sentry/react
or
@sentry/node
).
- feat: Set required node version to >=14.8.0 for all packages (#10834)
The minimum required node version is now 14.8+. If you need support for older node versions, you can stay on the v7 branch.
- Removed class-based integrations
We have removed most of the deprecated class-based integrations. Instead, you can use the functional styles:
import * as Sentry from '@sentry/browser';
// v7
Sentry.init({
integrations: [new Sentry.BrowserTracing()],
});
// v8
Sentry.init({
integrations: [new Sentry.browserTracingIntegration()],
});
BrowserTracing
(#10653)- feat(v8/browser): Remove XHR transport (#10703)
We have removed the XHR transport, and are instead using the fetch-based transport now by default. This means that if you are using Sentry in a browser environment without fetch, you'll need to either provide a fetch polyfill, or provide a custom transport to Sentry.
- feat(sveltekit): Update @sentry/vite-plugin
to 2.x and adjust options API (#10813)
We have updated @sentry/sveltekit
to use the latest version of @sentry/vite-plugin
, which lead to changes in
configuration options.
withActiveSpan
is exported everywhere (#10878)null
to withActiveSpan
(#10717)hub
from global, hub.run
& hub utilities (#10718)getIsolationScope
and getGlobalScope
(#10658)setXXX
methods set on isolation scope (#10678)addBreadcrumb
write to the isolation scope instead of current scope (#10586)addEventProcessor
to add to isolation scope (#10606)Sentry.addBreadcrumb
to skip hub (#10601)TextEncoder
and TextDecoder
(#10701)captureConsoleIntegration
(#10744)BaseClient
(#10789)exports
field to package.json
(#10569)captureContext
function (#10735)webpack://
prefix more broadly from source map sources
field (#10642)worker_threads
and fix node v14 types (#10791)null
and undefined
(#10821)?
for anonymous function name (#10732)on
and emit
required on client (#10603)Span
class to SentrySpan
(#10687)captureXXX
methods (#10688)number
as span traceFlag
(#10855)status
field from Span (#10856)@remix-run/router
a dependency. (#10479)beforeAddBreadcrumb
hook instead of scope listener (#10600)We have also removed or updated a variety of deprecated APIs.
extractTraceparentData
export (#10559)span.isSuccess
method (#10699)traceHeaders
method (#10776)_eventFromIncompleteOnError
usage (#10553)browserApiErrorsIntegration
(#10755)Span
interface (#10854)setupOnce
optional in integrations (#10729)makeMain
usage (#10713)scope.applyToEvent()
method (#10842)lastEventId
(#10585)reuseExisting
option for ACS (#10645)tracingOrigins
options (#10614)showReportDialog
APIs (#10609)Changelog
7.105.0
withActiveSpan
is exported everywhere (#10877)You can use the withActiveSpan
method to ensure a certain span is the active span in a given callback. This can be
used to create a span as a child of a specific span with the startSpan
API methods:
const parentSpan = Sentry.startInactiveSpan({ name: 'parent' });
if (parentSpan) {
withActiveSpan(parentSpan, () => {
// This will be a direct child of parentSpan
const childSpan = Sentry.startInactiveSpan({ name: 'child' });
});
}
Changelog
7.104.0
This release adds support for the INP web vital. This is currently only supported for Saas Sentry, and product support
is released with the upcoming 24.3.0
release of self-hosted.
To opt-in to this feature, you can use the enableInp
option in the browserTracingIntegration
:
Sentry.init({
integrations: [
Sentry.browserTracingIntegration({
enableInp: true,
});
]
})
nodeProfilingIntegration
(#10864)errorHandler
for replayCanvas integration (#10796)Changelog
7.103.0
forceTransaction
to startSpan()
APIs (#10819)You can now pass forceTransaction: true
to startSpan()
, startSpanManual()
and startInactiveSpan()
. This allows
you to start a span that you want to be a transaction, if possible. Under the hood, the SDK will connect this span to
the running active span (if there is one), but still send the new span as a transaction to the Sentry backend, if
possible, ensuring it shows up as a transaction throughout the system.
Please note that setting this to true
does not guarantee that this will be sent as a transaction, but that the SDK
will try to do so. You can enable this flag if this span is important to you and you want to ensure that you can see it
in the Sentry UI.
Changelog
7.102.1
window.location
(#10659)@remix-run/router
a dependency (v7) (#10779)Changelog
7.102.0
captureContext
function (#10737)Changelog
7.101.1
In version 7.101.0 the @sentry/hub
package was missing due to a publishing issue. This release contains the package
again.
webpack://
prefix more broadly from source map sources
field (#10641)