8.0.0-alpha.9
Pre-releaseThis is the eighth alpha release of Sentry JavaScript SDK v8, 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.
Important Changes
- feat: Add @sentry-internal/browser-utils (#11381)
A big part of the browser-runtime specific exports of the internal @sentry/utils package were moved into a new package
@sentry-internal/browser-utils. If you imported any API from @sentry/utils (which is generally not recommended but
necessary for some workarounds), please check that your import statements still point to existing exports after
upgrading.
- feat: Add loader file to node-based SDKs to support ESM monkeypatching (#11338)
When using ESM, it is necessary to use a "loader" to be able to instrument certain third-party packages and Node.js API.
The server-side SDKs now ship with a set of ESM loader hooks, that should be used when using ESM. Use them as follows:
# For Node.js <= 18.18.2
node --experimental-loader=@sentry/node/hook your-app.js
# For Node.js >= 18.19.0
node --import=@sentry/node/register your-app.jsPlease note that due to an upstream bug, these loader hooks will currently crash or simply not work. We are planning to
fix this in upcoming versions of the SDK - definitely before a stable version 8 release.
The Sentry SDK now exports integrations and error middlewares for Koa (koaIntegration(), setupKoaErrorHandler()) and
NestJS (setupNestErrorHandler()) that can be used to instrument your Koa and NestJS applications with error
monitoring.
Removal/Refactoring of deprecated functionality
- feat(core): Remove hub check in isSentryRequestUrl (#11407)
- feat(opentelemetry): Remove top level startActiveSpan (#11380)
- feat(types):
beforeSendandbeforeSendTransactionbreaking changes (#11354) - feat(v8): Remove all class based integrations (#11345)
- feat(v8/core): Remove span.attributes top level field (#11378)
- ref: Remove convertIntegrationFnToClass (#11343)
- ref(node): Remove the old
nodepackage (#11322) - ref(tracing): Remove
span.startChild()(#11376) - ref(v8): Remove
addRequestDataToTransactionutil (#11369) - ref(v8): Remove
argsonHandlerDataXhr(#11373) - ref(v8): Remove
getGlobalObjectutility method (#11372) - ref(v8): Remove
metadataon transaction (#11397) - ref(v8): Remove
pushScope,popScope,isOlderThan,shouldSendDefaultPiifrom hub (#11404) - ref(v8): Remove
shouldCreateSpanForRequestfrom vercel edge options (#11371) - ref(v8): Remove deprecated
_reportAllChangesoption (#11393) - ref(v8): Remove deprecated
scope.getTransaction()(#11365) - ref(v8): Remove deprecated methods on scope (#11366)
- ref(v8): Remove deprecated span & transaction properties (#11400)
- ref(v8): Remove Transaction concept (#11422)
Other Changes
- feat: Add
trpcMiddlewareback to serverside SDKs (#11374) - feat: Implement timed events & remove
transaction.measurements(#11398) - feat(browser): Bump web-vitals to 3.5.2 (#11391)
- feat(feedback): Add
getFeedbackutility to get typed feedback instance (#11331) - feat(otel): Do not sample
optionsandheadrequests (#11467) - feat(remix): Update scope
transactionNamewhen resolving route (#11420) - feat(replay): Bump
rrwebto 2.12.0 (#11314) - feat(replay): Use data sentry element as fallback for the component name (#11383)
- feat(sveltekit): Update scope
transactionNamewhen pageload route name is updated (#11406) - feat(tracing-internal): Reset propagation context on navigation (#11401)
- feat(types): Add View Hierarchy types (#11409)
- feat(utils): Use
globalThis(#11351) - feat(vue): Update scope's
transactionNamewhen resolving a route (#11423) - fix(core): unref timer to not block node exit (#11430)
- fix(node): Fix baggage propagation (#11363)
- fix(web-vitals): Check for undefined navigation entry (#11311)
- ref: Set preserveModules to true for browser packages (#11452)
- ref(core): Remove duplicate logic in scope.update (#11384)
- ref(feedback): Add font family style to actor (#11432)
- ref(feedback): Add font family to buttons (#11414)
- ref(gcp-serverless): Remove setting
.__sentry_transaction(#11346) - ref(nextjs): Replace multiplexer with conditional exports (#11442)
Bundle size 📦
| Path | Size |
|---|---|
| @sentry/browser (incl. Tracing, Replay, Feedback) | 75.65 KB |
| @sentry/browser (incl. Tracing, Replay) | 66.86 KB |
| @sentry/browser (incl. Tracing, Replay with Canvas) | 70.73 KB |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 60.44 KB |
| @sentry/browser (incl. Tracing) | 31.75 KB |
| @sentry/browser (incl. browserTracingIntegration) | 31.75 KB |
| @sentry/browser (incl. feedbackIntegration) | 30.88 KB |
| @sentry/browser (incl. feedbackModalIntegration) | 30.9 KB |
| @sentry/browser (incl. feedbackScreenshotIntegration) | 30.9 KB |
| @sentry/browser (incl. sendFeedback) | 26.89 KB |
| @sentry/browser | 22.1 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) | 71.27 KB |
| CDN Bundle (incl. Tracing, Replay) | 66.03 KB |
| CDN Bundle (incl. Tracing) | 32.33 KB |
| CDN Bundle | 23.76 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed | 205.79 KB |
| CDN Bundle (incl. Tracing) - uncompressed | 96.4 KB |
| CDN Bundle - uncompressed | 70.17 KB |
| @sentry/react (incl. Tracing, Replay) | 66.99 KB |
| @sentry/react | 22.12 KB |