Releases: getsentry/sentry-javascript
8.0.0-beta.2
Important Changes
- feat(browser): Update
propagationContext
onspanEnd
to keep trace consistent
To ensure consistency throughout a route's duration, we update the scope's propagation context when the initial page
load or navigation span ends. This keeps span-specific attributes like the sampled decision and dynamic sampling context
on the scope, even after the transaction has ended.
- fix(browser): Don't assume window.document is available (#11602)
We won't assume window.dodument
is available in the browser SDKs anymore. This should prevent errors in environments
where window.document
is not available (such as web workers).
Other changes
- feat(core): Add
server.address
to browserhttp.client
spans (#11634) - feat(opentelemetry): Update OTEL packages & relax some version ranges (#11580)
- feat(deps): bump @opentelemetry/instrumentation-hapi from 0.34.0 to 0.36.0 (#11496)
- feat(deps): bump @opentelemetry/instrumentation-koa from 0.37.0 to 0.39.0 (#11495)
- feat(deps): bump @opentelemetry/instrumentation-pg from 0.38.0 to 0.40.0 (#11494)
- feat(nextjs): Skip OTEL root spans emitted by Next.js (#11623)
- feat(node): Collect Local Variables via a worker (#11586)
- fix(nextjs): Escape Next.js' OpenTelemetry instrumentation (#11625)
- fix(feedback): Fix timeout on feedback submission (#11619)
- fix(node): Allow use of
NodeClient
without callinginit
(#11585) - fix(node): Ensure DSC is correctly set in envelope headers (#11628)
Bundle size 📦
Path | Size |
---|---|
@sentry/browser | 21.67 KB |
@sentry/browser (incl. Tracing) | 31.46 KB |
@sentry/browser (incl. Tracing, Replay) | 66.79 KB |
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 60.19 KB |
@sentry/browser (incl. Tracing, Replay with Canvas) | 70.62 KB |
@sentry/browser (incl. Tracing, Replay, Feedback) | 80.5 KB |
@sentry/browser (incl. Feedback) | 35.25 KB |
@sentry/browser (incl. Feedback, Feedback Modal) | 35.25 KB |
@sentry/browser (incl. Feedback, Feedback Modal, Feedback Screenshot) | 37.28 KB |
@sentry/browser (incl. sendFeedback) | 26.46 KB |
@sentry/react | 24.35 KB |
@sentry/react (incl. Tracing) | 34.37 KB |
@sentry/vue | 25.2 KB |
@sentry/vue (incl. Tracing) | 33.18 KB |
@sentry/svelte | 21.79 KB |
CDN Bundle | 24.03 KB |
CDN Bundle (incl. Tracing) | 32.76 KB |
CDN Bundle (incl. Tracing, Replay) | 66.4 KB |
CDN Bundle (incl. Tracing, Replay, Feedback) | 82.6 KB |
CDN Bundle - uncompressed | 70.86 KB |
CDN Bundle (incl. Tracing) - uncompressed | 97.59 KB |
CDN Bundle (incl. Tracing, Replay) - uncompressed | 207.25 KB |
@sentry/nextjs (client) | 33.7 KB |
@sentry/sveltekit (client) | 31.96 KB |
@sentry/node | 153.46 KB |
8.0.0-beta.1
This is the first beta release of Sentry JavaScript SDK v8. With this release, there are no more planned breaking
changes for the v8 cycle.
Read the in-depth migration guide to find out how to address any breaking changes in your code. All
deprecations from the v7 cycle, with the exception of getCurrentHub()
, have been removed and can no longer be used in v8.
Version Support
The Sentry JavaScript SDK v8 now supports Node.js 14.8.0 or higher. This applies to @sentry/node
and all of our
node-based server-side sdks (@sentry/nextjs
, @sentry/remix
, etc.).
The browser SDKs now require
ES2018+
compatible browsers. New minimum browser versions:
- Chrome 63
- Edge 79
- Safari/iOS Safari 12
- Firefox 58
- Opera 50
- Samsung Internet 8.2
For more details, please see the version support section in migration guide.
Package removal
The following packages will no longer be published
Initializing Server-side SDKs (Node, Bun, Next.js, SvelteKit, Astro, Remix):
Initializing the SDKs on the server-side has been simplified. See more details in our migration docs about
initializing the SDK in v8.
Performance Monitoring Changes
The API around performance monitoring and tracing has been vastly improved, and we've added support for more
integrations out of the box.
Important Changes since v8.0.0-alpha.9
- feat(browser): Create spans as children of root span by default (#10986)
Because execution context isolation in browser environments does not work reliably, we deciced to keep a flat span
hierarchy by default in v8.
- feat(core): Deprecate
addTracingExtensions
(#11579)
Instead of calling Sentry.addTracingExtensions()
if you want to use performance in a browser SDK without using
browserTracingIntegration()
, you should now call Sentry.registerSpanErrorInstrumentation()
.
- feat(core): Implement
suppressTracing
(#11468)
You can use the new suppressTracing
API to ensure a given callback will not generate any spans:
return Sentry.suppressTracing(() => {
// Ensure this fetch call does not generate a span
return fetch('/my-url');
});
- feat: Rename ESM loader hooks to
import
andloader
(#11498)
We renamed the loader hooks for better clarity:
# For Node.js <= 18.18.2
node --loader=@sentry/node/loader app.js
# For Node.js >= 18.19.0
node --import=@sentry/node/import app.js
- feat(node): Do not exit process by default when other
onUncaughtException
handlers are registered in
onUncaughtExceptionIntegration
(#11532)
In v8, we will no longer exit the node process by default if other uncaught exception handlers have been registered by
the user.
- Better handling of transaction name for errors
We improved the way we keep the transaction name for error events, even when spans are not sampled or performance is
disabled.
- feat(fastify): Update scope
transactionName
when handling request (#11447) - feat(hapi): Update scope
transactionName
when handling request (#11448) - feat(koa): Update scope
transactionName
when creating router span (#11476) - feat(sveltekit): Update scope transactionName when handling server-side request (#11511)
- feat(nestjs): Update scope transaction name with parameterized route (#11510)
Removal/Refactoring of deprecated functionality
- feat(core): Remove
getCurrentHub
fromAsyncContextStrategy
(#11581) - feat(core): Remove
getGlobalHub
export (#11565) - feat(core): Remove
Hub
class export (#11560) - feat(core): Remove most Hub class exports (#11536)
- feat(nextjs): Remove webpack 4 support (#11605)
- feat(vercel-edge): Stop using hub (#11539)
Other Changes
- feat: Hoist
getCurrentHub
shim to core asgetCurrentHubShim
(#11537) - feat(core): Add default behaviour for
rewriteFramesIntegration
in browser (#11535) - feat(core): Ensure replay envelopes are sent in order when offline (#11413)
- feat(core): Extract errors from props in unkown inputs (#11526)
- feat(core): Update metric normalization (#11518)
- feat(feedback): Customize feedback placeholder text color (#11417)
- feat(feedback): Maintain v7 compat in the @sentry-internal/feedback package (#11461)
- feat(next): Handle existing root spans for isolation scope (#11479)
- feat(node): Ensure tracing without performance (TWP) works (#11564)
- feat(opentelemetry): Export
getRequestSpanData
(#11508) - feat(opentelemetry): Remove otel.attributes in context (#11604)
- feat(ratelimit): Add metrics rate limit (#11538)
- feat(remix): Skip span creation for
OPTIONS
andHEAD
requests. (#11149) - feat(replay): Merge packages together & ensure bundles are built (#11552)
- feat(tracing): Adds span envelope and datacategory (#11534)
- fix(browser): Ensure pageload trace remains active after pageload span finished (#11600)
- fix(browser): Ensure tracing without performance (TWP) works (#11561)
- fix(nextjs): Fix
tunnelRoute
matching logic for hybrid cloud (#11576) - fix(nextjs): Remove Http integration from Next.js (#11304)
- fix(node): Ensure isolation scope is correctly cloned for non-recording spans (#11503)
- fix(node): Make fastify types more broad (#11544)
- fix(node): Send ANR events without scope if event loop blocked indefinitely (#11578)
- fix(tracing): Fixes latest route name and source not updating correctly (#11533)
- ref(browser): Move browserTracing into browser pkg (#11484)
- ref(feedback): Configure font size (#11437)
- ref(feedback): Refactor Feedback types into @sentry/types and reduce the exported surface area (#11355)
Bundle size 📦
Path | Size |
---|---|
@sentry/browser | 22.16 KB |
@sentry/browser (incl. Tracing) | 31.74 KB |
@sentry/browser (incl. Tracing, Replay) | 67.05 KB |
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 60.47 KB |
@sentry/browser (incl. Tracing, Replay with Canvas) | 70.88 KB |
@sentry/browser (incl. Tracing, Replay, Feedback) | 80.78 KB |
@sentry/browser (incl. Feedback) | 35.71 KB |
@sentry/browser (incl. Feedback, Feedback Modal) | 35.71 KB |
@sentry/browser (incl. Feedback, Feedback Modal, Feedback Screenshot) | 37.74 KB |
@sentry/browser (incl. sendFeedback) | 26.95 KB |
@sentry/react | 24.84 KB |
@sentry/react (incl. Tracing) | 34.64 KB |
@sentry/vue | 25.72 KB |
@sentry/vue (incl. Tracing) | 33.45 KB |
@sentry/svelte | 22.28 KB |
CDN Bundle | 24.47 KB |
CDN Bundle (incl. Tracing) | 32.97 KB |
CDN Bundle (incl. Tracing, Replay) | 66.59 KB |
CDN Bundle (incl. Tracing, Replay, Feedback) | 82.8 KB |
CDN Bundle - uncompressed | 72.9 KB |
CDN Bundle (incl. Tracing) - uncompressed | 98.89 KB |
CDN Bundle (incl. Tracing, Replay) - uncompressed | 208.55 KB |
@sentry/nextjs (client) | 34.01 KB |
@sentry/sveltekit (client) | 32.25 KB |
@sentry/node | 120.17 KB |
7.110.1
- fix(nextjs): Fix
tunnelRoute
matching logic for hybrid cloud (#11577)
Bundle size 📦
Path | Size |
---|---|
@sentry/browser (incl. Tracing, Replay, Feedback) - Webpack (gzipped) | 80.58 KB |
@sentry/browser (incl. Tracing, Replay) - Webpack (gzipped) | 71.55 KB |
@sentry/browser (incl. Tracing, Replay with Canvas) - Webpack (gzipped) | 75.57 KB |
@sentry/browser (incl. Tracing, Replay) - Webpack with treeshaking flags (gzipped) | 65.18 KB |
@sentry/browser (incl. Tracing) - Webpack (gzipped) | 35.49 KB |
@sentry/browser (incl. browserTracingIntegration) - Webpack (gzipped) | 35.37 KB |
@sentry/browser (incl. Feedback) - Webpack (gzipped) | 31.57 KB |
@sentry/browser (incl. sendFeedback) - Webpack (gzipped) | 31.58 KB |
@sentry/browser - Webpack (gzipped) | 22.78 KB |
@sentry/browser (incl. Tracing, Replay, Feedback) - ES6 CDN Bundle (gzipped) | 78.76 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped) | 70.12 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (gzipped) | 35.9 KB |
@sentry/browser - ES6 CDN Bundle (gzipped) | 25.27 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed) | 220.72 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (minified & uncompressed) | 108.53 KB |
@sentry/browser - ES6 CDN Bundle (minified & uncompressed) | 75.79 KB |
@sentry/browser (incl. Tracing) - ES5 CDN Bundle (gzipped) | 39.17 KB |
@sentry/react (incl. Tracing, Replay) - Webpack (gzipped) | 72.03 KB |
@sentry/react - Webpack (gzipped) | 22.81 KB |
@sentry/nextjs Client (incl. Tracing, Replay) - Webpack (gzipped) | 89.87 KB |
@sentry/nextjs Client - Webpack (gzipped) | 54.01 KB |
@sentry-internal/feedback - Webpack (gzipped) | 17.32 KB |
7.110.0
Important Changes
- feat(tracing): Add interactions sample rate to browser tracing integrations (#11382)
You can now use a interactionsSampleRate
to control the sample rate of INP spans. interactionsSampleRate
is applied
on top of the global tracesSampleRate
. Therefore if interactionsSampleRate
is 0.5
and tracesSampleRate
is 0.1
,
then the actual sample rate for interactions is 0.05
.
Sentry.init({
tracesSampleRate: 0.1,
integrations: [
Sentry.browserTracingIntegration({
interactionsSampleRate: 0.5,
}),
],
});
- Deprecations
This release deprecates the Hub
class, as well as the addRequestDataToTransaction
method. The trpcMiddleware
method is no longer on the Handlers
export, but instead is a standalone export.
Please see the detailed Migration docs on how to migrate to the new APIs.
- feat: Deprecate and relocate
trpcMiddleware
(#11389) - feat(core): Deprecate
Hub
class (#11528) - feat(types): Deprecate
Hub
interface (#11530) - ref: Deprecate
addRequestDataToTransaction
(#11368)
Other Changes
- feat(core): Update metric normalization (#11519)
- feat(feedback): Customize feedback placeholder text color (#11521)
- feat(remix): Skip span creation for
OPTIONS
andHEAD
request. (#11485) - feat(utils): Add metric buckets rate limit (#11506)
- fix(core): unref timer to not block node exit (#11483)
- fix(metrics): Map
statsd
tometric_bucket
(#11505) - fix(spans): Allow zero exclusive time for INP spans (#11408)
- ref(feedback): Configure feedback fonts (#11520)
Bundle size 📦
Path | Size |
---|---|
@sentry/browser (incl. Tracing, Replay, Feedback) - Webpack (gzipped) | 80.58 KB |
@sentry/browser (incl. Tracing, Replay) - Webpack (gzipped) | 71.55 KB |
@sentry/browser (incl. Tracing, Replay with Canvas) - Webpack (gzipped) | 75.57 KB |
@sentry/browser (incl. Tracing, Replay) - Webpack with treeshaking flags (gzipped) | 65.18 KB |
@sentry/browser (incl. Tracing) - Webpack (gzipped) | 35.49 KB |
@sentry/browser (incl. browserTracingIntegration) - Webpack (gzipped) | 35.37 KB |
@sentry/browser (incl. Feedback) - Webpack (gzipped) | 31.57 KB |
@sentry/browser (incl. sendFeedback) - Webpack (gzipped) | 31.58 KB |
@sentry/browser - Webpack (gzipped) | 22.78 KB |
@sentry/browser (incl. Tracing, Replay, Feedback) - ES6 CDN Bundle (gzipped) | 78.76 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped) | 70.12 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (gzipped) | 35.9 KB |
@sentry/browser - ES6 CDN Bundle (gzipped) | 25.27 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed) | 220.72 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (minified & uncompressed) | 108.53 KB |
@sentry/browser - ES6 CDN Bundle (minified & uncompressed) | 75.79 KB |
@sentry/browser (incl. Tracing) - ES5 CDN Bundle (gzipped) | 39.17 KB |
@sentry/react (incl. Tracing, Replay) - Webpack (gzipped) | 72.03 KB |
@sentry/react - Webpack (gzipped) | 22.81 KB |
@sentry/nextjs Client (incl. Tracing, Replay) - Webpack (gzipped) | 89.87 KB |
@sentry/nextjs Client - Webpack (gzipped) | 54.01 KB |
@sentry-internal/feedback - Webpack (gzipped) | 17.32 KB |
8.0.0-alpha.9
This 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.js
Please 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):
beforeSend
andbeforeSendTransaction
breaking 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
node
package (#11322) - ref(tracing): Remove
span.startChild()
(#11376) - ref(v8): Remove
addRequestDataToTransaction
util (#11369) - ref(v8): Remove
args
onHandlerDataXhr
(#11373) - ref(v8): Remove
getGlobalObject
utility method (#11372) - ref(v8): Remove
metadata
on transaction (#11397) - ref(v8): Remove
pushScope
,popScope
,isOlderThan
,shouldSendDefaultPii
from hub (#11404) - ref(v8): Remove
shouldCreateSpanForRequest
from vercel edge options (#11371) - ref(v8): Remove deprecated
_reportAllChanges
option (#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
trpcMiddleware
back 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
getFeedback
utility to get typed feedback instance (#11331) - feat(otel): Do not sample
options
andhead
requests (#11467) - feat(remix): Update scope
transactionName
when resolving route (#11420) - feat(replay): Bump
rrweb
to 2.12.0 (#11314) - feat(replay): Use data sentry element as fallback for the component name (#11383)
- feat(sveltekit): Update scope
transactionName
when 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
transactionName
when 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 |
7.109.0
This release deprecates some exports from the @sentry/replay
package. These exports have been moved to the browser SDK
(or related framework SDKs like @sentry/react
).
- feat(feedback): Make "required" text for input elements configurable (#11287)
- feat(node): Add scope to ANR events (#11267)
- feat(replay): Bump
rrweb
to 2.12.0 (#11317) - fix(node): Local variables skipped after Promise (#11248)
- fix(node): Skip capturing Hapi Boom error responses (#11324)
- fix(web-vitals): Check for undefined navigation entry (#11312)
- ref(replay): Deprecate
@sentry/replay
exports (#11242)
Work in this release contributed by @soerface. Thank you for your contribution!
Bundle size 📦
Path | Size |
---|---|
@sentry/browser (incl. Tracing, Replay, Feedback) - Webpack (gzipped) | 80.48 KB |
@sentry/browser (incl. Tracing, Replay) - Webpack (gzipped) | 71.47 KB |
@sentry/browser (incl. Tracing, Replay with Canvas) - Webpack (gzipped) | 75.49 KB |
@sentry/browser (incl. Tracing, Replay) - Webpack with treeshaking flags (gzipped) | 65.11 KB |
@sentry/browser (incl. Tracing) - Webpack (gzipped) | 35.41 KB |
@sentry/browser (incl. browserTracingIntegration) - Webpack (gzipped) | 35.29 KB |
@sentry/browser (incl. Feedback) - Webpack (gzipped) | 31.52 KB |
@sentry/browser (incl. sendFeedback) - Webpack (gzipped) | 31.53 KB |
@sentry/browser - Webpack (gzipped) | 22.74 KB |
@sentry/browser (incl. Tracing, Replay, Feedback) - ES6 CDN Bundle (gzipped) | 78.59 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped) | 69.97 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (gzipped) | 35.77 KB |
@sentry/browser - ES6 CDN Bundle (gzipped) | 25.17 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed) | 220.31 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (minified & uncompressed) | 108.12 KB |
@sentry/browser - ES6 CDN Bundle (minified & uncompressed) | 75.48 KB |
@sentry/browser (incl. Tracing) - ES5 CDN Bundle (gzipped) | 39 KB |
@sentry/react (incl. Tracing, Replay) - Webpack (gzipped) | 71.97 KB |
@sentry/react - Webpack (gzipped) | 22.77 KB |
@sentry/nextjs Client (incl. Tracing, Replay) - Webpack (gzipped) | 89.81 KB |
@sentry/nextjs Client - Webpack (gzipped) | 53.95 KB |
@sentry-internal/feedback - Webpack (gzipped) | 17.3 KB |
8.0.0-alpha.7
This is the seventh 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(nextjs): Use OpenTelemetry for performance monitoring and tracing (#11016)
We now use OpenTelemetry under the hood to power performance monitoring and tracing in the Next.js SDK.
- feat(v8/gatsby): Update SDK initialization for gatsby (#11292)
In v8, you cannot initialize the SDK anymore via Gatsby plugin options. Instead, you have to configure the SDK in a
sentry.config.js
file.
We also removed the automatic initialization of browserTracingIntegration
. You now have to add this integration
yourself.
Removal/Refactoring of deprecated functionality
- feat(v8): Remove addGlobalEventProcessor (#11255)
- feat(v8): Remove deprecated span id fields (#11180)
- feat(v8): Remove makeMain export (#11278)
- feat(v8/core): Remove deprecated span.sampled (#11274)
- feat(v8/core): Remove getActiveTransaction (#11280)
- feat(v8/core): Remove spanMetadata field (#11271)
- feat(v8/ember): Remove deprecated StartTransactionFunction (#11270)
- feat(v8/replay): Remove deprecated replay options (#11268)
- feat(v8/svelte): Remove deprecated componentTrackingPreprocessor export (#11277)
- ref: Remove more usages of getCurrentHub in the codebase (#11281)
- ref(core): Remove
scope.setSpan()
andscope.getSpan()
methods (#11051) - ref(profiling-node): Remove usage of getCurrentHub (#11275)
- ref(v8): change integration.setupOnce signature (#11238)
- ref: remove node-experimental references (#11290)
Other Changes
- feat(feedback): Make "required" text for input elements configurable (#11152) (#11153)
- feat(feedback): Update user feedback screenshot and cropping to align with designs (#11227)
- feat(nextjs): Remove
runtime
andvercel
tags (#11291) - feat(node): Add scope to ANR events (#11256)
- feat(node): Do not include
prismaIntegration
by default (#11265) - feat(node): Ensure
tracePropagationTargets
are respected (#11285) - feat(node): Simplify
SentrySpanProcessor
(#11273) - feat(profiling): Use OTEL powered node package (#11239)
- feat(utils): Allow text encoder/decoder polyfill from global SENTRY (#11283)
- fix(nextjs): Show misconfiguration warning (no
instrumentation.ts
) (#11266) - fix(node): Add logs when node-fetch cannot be instrumented (#11289)
- fix(node): Skip capturing Hapi Boom error responses. (#11151)
- fix(node): Use
suppressTracing
to avoid capturing otel spans (#11288) - fix(opentelemetry): Do not stomp span status when
startSpan
callback throws (#11170)
Bundle size 📦
Path | Size |
---|---|
@sentry/browser (incl. Tracing, Replay, Feedback) | 80.54 KB |
@sentry/browser (incl. Tracing, Replay) | 71.88 KB |
@sentry/browser (incl. Tracing, Replay with Canvas) | 75.68 KB |
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 65.44 KB |
@sentry/browser (incl. Tracing) | 36.71 KB |
@sentry/browser (incl. browserTracingIntegration) | 36.71 KB |
@sentry/browser (incl. feedbackIntegration) | 31.38 KB |
@sentry/browser (incl. feedbackModalIntegration) | 31.5 KB |
@sentry/browser (incl. feedbackScreenshotIntegration) | 31.51 KB |
@sentry/browser (incl. sendFeedback) | 27.45 KB |
@sentry/browser | 22.61 KB |
CDN Bundle (incl. Tracing, Replay, Feedback) | 74.98 KB |
CDN Bundle (incl. Tracing, Replay) | 69.8 KB |
CDN Bundle (incl. Tracing) | 36.35 KB |
CDN Bundle | 23.97 KB |
CDN Bundle (incl. Tracing, Replay) - uncompressed | 219.11 KB |
CDN Bundle (incl. Tracing) - uncompressed | 109.67 KB |
CDN Bundle - uncompressed | 70.94 KB |
@sentry/react (incl. Tracing, Replay) | 71.86 KB |
@sentry/react | 22.63 KB |
8.0.0-alpha.5
This is the fifth 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(nextjs): Remove
client.(server|client).config.ts
functionality in favor ofinstrumentation.ts
(#11059)- feat(nextjs): Bump minimum required Next.js version to
13.2.0
(#11097)
- feat(nextjs): Bump minimum required Next.js version to
With version 8 of the SDK we will no longer support the use of sentry.server.config.ts
and sentry.edge.config.ts
files. Instead, please initialize the Sentry Next.js SDK for the serverside in a
Next.js instrumentation hook.
sentry.client.config.ts|js
is still supported and encouraged for initializing the clientside SDK. Please see the
Migration Guide for more details.
In addition, the Next.js SDK now requires a minimum Next.js version of 13.2.0
.
- feat(v8/angular): Merge angular and angular-ivy packages and start Angular support at v14 (#11091)
The @sentry/angular-ivy
package has been removed. The @sentry/angular
package now supports Ivy by default and
requires at least Angular 14. See the Migration Guide for more
details.
Removal/Refactoring of deprecated functionality
- feat(aws-serverless): Remove deprecated
rethrowAfterCapture
option (#11126) - feat(node): Remove deprecated/duplicate/unused definitions (#11120)
- feat(v8): Remove deprecated integration methods on client (#11134)
- feat(v8/browser): Remove class export for linked errors (#11129)
- feat(v8/browser): Remove deprecated wrap export (#11127)
- feat(v8/core): Remove deprecated client.setupIntegrations method (#11179)
- feat(v8/core): Remove deprecated integration classes (#11132)
- feat(v8/ember): Remove InitSentryForEmber export (#11202)
- feat(v8/nextjs): Remove usage of class integrations (#11182)
- feat(v8/replay): Delete deprecated types (#11177)
- feat(v8/utils): Remove deprecated util functions (#11143)
- ref(node): Remove class based export for local variable integration (#11128)
Other Changes
- feat(browser): Make fetch the default transport for offline (#11209)
- feat(core): Filter out noisy GoogleTag error by default (#11208)
- feat(deps): Bump @sentry/cli from 2.30.0 to 2.30.2 (#11168)
- feat(nextjs): Prefix webpack plugin log messages with runtime (#11173)
- feat(node-profiling): Output ESM and remove Sentry deps from output (#11135)
- feat(node): Allow Anr worker to be stopped and restarted (#11214)
- feat(node): Support
tunnel
option for ANR (#11163) - feat(opentelemetry): Do not capture exceptions for timed events (#11221)
- feat(serverless): Add Node.js 20 to compatible runtimes (#11103)
- feat(sveltekit): Switch to Otel-based
@sentry/node
package (#11075) - fix(attachments): Add missing
view_hierarchy
attachment type (#11197) - fix(build): Ensure tree shaking works properly for ESM output (#11122)
- fix(feedback): Only allow screenshots in secure contexts (#11188)
- fix(feedback): Reduce force layout in screenshots (#11181)
- fix(feedback): Smoother cropping experience and better UI (#11165)
- fix(feedback): Fix screenshot black bars in Safari (#11233)
- fix(metrics): use correct statsd data category (#11184)
- fix(metrics): use web-vitals ttfb calculation (#11185)
- fix(node): Export
initOpenTelemetry
(#11158) - fix(node): Clear ANR timer on stop (#11229)
- fix(node): Time zone handling for
cron
(#11225) - fix(node): Use unique variable for ANR context transfer (#11161)
- fix(opentelemetry): Do not stomp span error status (#11169)
- fix(types): Fix incorrect
sampled
type onTransaction
(#11115)
Bundle size 📦
Path | Size |
---|---|
@sentry/browser (incl. Tracing, Replay, Feedback) | 80.9 KB |
@sentry/browser (incl. Tracing, Replay) | 72.24 KB |
@sentry/browser (incl. Tracing, Replay with Canvas) | 76.04 KB |
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 65.81 KB |
@sentry/browser (incl. Tracing) | 36.83 KB |
@sentry/browser (incl. browserTracingIntegration) | 36.83 KB |
@sentry/browser (incl. feedbackIntegration) | 31.35 KB |
@sentry/browser (incl. feedbackModalIntegration) | 31.47 KB |
@sentry/browser (incl. feedbackScreenshotIntegration) | 31.48 KB |
@sentry/browser (incl. sendFeedback) | 27.43 KB |
@sentry/browser | 22.6 KB |
CDN Bundle (incl. Tracing, Replay, Feedback) | 75.21 KB |
CDN Bundle (incl. Tracing, Replay) | 70.05 KB |
CDN Bundle (incl. Tracing) | 36.41 KB |
CDN Bundle | 23.97 KB |
CDN Bundle (incl. Tracing, Replay) - uncompressed | 220.04 KB |
CDN Bundle (incl. Tracing) - uncompressed | 109.98 KB |
CDN Bundle - uncompressed | 71 KB |
@sentry/react (incl. Tracing, Replay) | 72.22 KB |
@sentry/react | 22.63 KB |
7.108.0
This release fixes issues with Time to First Byte (TTFB) calculation in the SDK that was introduced with 7.95.0
. It
also fixes some bugs with Interaction to First Paint (INP) instrumentation. This may impact your Sentry Performance
Score calculation.
- feat(serverless): Add Node.js 20 to compatible runtimes (#11104)
- feat(core): Backport
ResizeObserver
andgoogletag
default filters (#11210) - feat(webvitals): Adds event entry names for INP handler. Also guard against empty metric value
- fix(metrics): use correct statsd data category (#11187)
- fix(node): Record local variables with falsy values (v7) (#11190)
- fix(node): Use unique variable for ANR context transfer (v7) (#11162)
- fix(node): Time zone handling for
cron
(#11225) - fix(tracing): use web-vitals ttfb calculation (#11231)
- fix(types): Fix incorrect
sampled
type onTransaction
(#11146) - fix(webvitals): Fix mapping not being maintained properly and sometimes not sending INP spans (#11183)
Work in this release contributed by @quisido and @joshkel. Thank you for your contributions!
Bundle size 📦
Path | Size |
---|---|
@sentry/browser (incl. Tracing, Replay, Feedback) - Webpack (gzipped) | 80.45 KB |
@sentry/browser (incl. Tracing, Replay) - Webpack (gzipped) | 71.47 KB |
@sentry/browser (incl. Tracing, Replay with Canvas) - Webpack (gzipped) | 75.47 KB |
@sentry/browser (incl. Tracing, Replay) - Webpack with treeshaking flags (gzipped) | 65.1 KB |
@sentry/browser (incl. Tracing) - Webpack (gzipped) | 35.4 KB |
@sentry/browser (incl. browserTracingIntegration) - Webpack (gzipped) | 35.29 KB |
@sentry/browser (incl. Feedback) - Webpack (gzipped) | 31.49 KB |
@sentry/browser (incl. sendFeedback) - Webpack (gzipped) | 31.5 KB |
@sentry/browser - Webpack (gzipped) | 22.74 KB |
@sentry/browser (incl. Tracing, Replay, Feedback) - ES6 CDN Bundle (gzipped) | 78.55 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped) | 69.97 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (gzipped) | 35.77 KB |
@sentry/browser - ES6 CDN Bundle (gzipped) | 25.17 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed) | 220.29 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (minified & uncompressed) | 108.1 KB |
@sentry/browser - ES6 CDN Bundle (minified & uncompressed) | 75.48 KB |
@sentry/browser (incl. Tracing) - ES5 CDN Bundle (gzipped) | 38.99 KB |
@sentry/react (incl. Tracing, Replay) - Webpack (gzipped) | 71.96 KB |
@sentry/react - Webpack (gzipped) | 22.77 KB |
@sentry/nextjs Client (incl. Tracing, Replay) - Webpack (gzipped) | 89.81 KB |
@sentry/nextjs Client - Webpack (gzipped) | 53.95 KB |
@sentry-internal/feedback - Webpack (gzipped) | 17.28 KB |
7.107.0
This release fixes issues with INP instrumentation with the Next.js SDK and adds support for the enableInp
option in
the deprecated BrowserTracing
integration for backwards compatibility.
- feat(performance): Port INP span instrumentation to old browser tracing (#11085)
- fix(ember): Ensure browser tracing is correctly lazy loaded (#11027)
- fix(node): Do not assert in vendored proxy code (v7 backport) (#11009)
- fix(react): Set
handled
value in ErrorBoundary depending on fallback [v7] (#11037)
Bundle size 📦
Path | Size |
---|---|
@sentry/browser (incl. Tracing, Replay, Feedback) - Webpack (gzipped) | 79.95 KB |
@sentry/browser (incl. Tracing, Replay) - Webpack (gzipped) | 71.06 KB |
@sentry/browser (incl. Tracing, Replay with Canvas) - Webpack (gzipped) | 75.04 KB |
@sentry/browser (incl. Tracing, Replay) - Webpack with treeshaking flags (gzipped) | 64.7 KB |
@sentry/browser (incl. Tracing) - Webpack (gzipped) | 35.02 KB |
@sentry/browser (incl. browserTracingIntegration) - Webpack (gzipped) | 34.9 KB |
@sentry/browser (incl. Feedback) - Webpack (gzipped) | 31.44 KB |
@sentry/browser (incl. sendFeedback) - Webpack (gzipped) | 31.45 KB |
@sentry/browser - Webpack (gzipped) | 22.68 KB |
@sentry/browser (incl. Tracing, Replay, Feedback) - ES6 CDN Bundle (gzipped) | 78.18 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped) | 69.57 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (gzipped) | 35.34 KB |
@sentry/browser - ES6 CDN Bundle (gzipped) | 25.11 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed) | 219.07 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (minified & uncompressed) | 106.88 KB |
@sentry/browser - ES6 CDN Bundle (minified & uncompressed) | 75.38 KB |
@sentry/browser (incl. Tracing) - ES5 CDN Bundle (gzipped) | 38.62 KB |
@sentry/react (incl. Tracing, Replay) - Webpack (gzipped) | 71.53 KB |
@sentry/react - Webpack (gzipped) | 22.71 KB |
@sentry/nextjs Client (incl. Tracing, Replay) - Webpack (gzipped) | 89.35 KB |
@sentry/nextjs Client - Webpack (gzipped) | 53.51 KB |
@sentry-internal/feedback - Webpack (gzipped) | 17.28 KB |