Releases: getsentry/sentry-javascript
7.70.0-beta.1
Important Changes
- feat(replay): Upgrade to rrweb2.0
This is fully backwards compatible with previously recorded replays. Only breaking change is that we will not be masking aria-label
by default. This is to better support searching by clicks. Another issue is there is about a 13% bundle size increase, however this comes with improved performance and improved replay fidelity especially in regards to web components.
Bundle size 📦
Path | Size |
---|---|
@sentry/browser (incl. Tracing, Replay) - Webpack (gzipped) | 84.27 KB |
@sentry/browser (incl. Tracing) - Webpack (gzipped) | 31.5 KB |
@sentry/browser - Webpack (gzipped) | 22.09 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped) | 78.69 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (gzipped) | 28.61 KB |
@sentry/browser - ES6 CDN Bundle (gzipped) | 20.67 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed) | 254.08 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (minified & uncompressed) | 86.66 KB |
@sentry/browser - ES6 CDN Bundle (minified & uncompressed) | 61.5 KB |
@sentry/browser (incl. Tracing) - ES5 CDN Bundle (gzipped) | 31.48 KB |
@sentry/react (incl. Tracing, Replay) - Webpack (gzipped) | 84.29 KB |
@sentry/react - Webpack (gzipped) | 22.12 KB |
@sentry/nextjs Client (incl. Tracing, Replay) - Webpack (gzipped) | 102.22 KB |
@sentry/nextjs Client - Webpack (gzipped) | 51.07 KB |
7.70.0-beta.0
Important Changes
- feat(replay): Upgrade to rrweb2.0
This is fully backwards compatible with previously recorded replays. Only breaking change is that we will not be masking aria-label
by default. This is to better support searching by clicks. Another issue is there is about a 13% bundle size increase, however this comes with improved performance and improved replay fidelity especially in regards to web components.
Bundle size 📦
Path | Size |
---|---|
@sentry/browser (incl. Tracing, Replay) - Webpack (gzipped) | 84.09 KB |
@sentry/browser (incl. Tracing) - Webpack (gzipped) | 31.32 KB |
@sentry/browser - Webpack (gzipped) | 21.92 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped) | 78.61 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (gzipped) | 28.52 KB |
@sentry/browser - ES6 CDN Bundle (gzipped) | 20.6 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed) | 253.77 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (minified & uncompressed) | 86.35 KB |
@sentry/browser - ES6 CDN Bundle (minified & uncompressed) | 61.19 KB |
@sentry/browser (incl. Tracing) - ES5 CDN Bundle (gzipped) | 31.4 KB |
@sentry/react (incl. Tracing, Replay) - Webpack (gzipped) | 84.12 KB |
@sentry/react - Webpack (gzipped) | 21.95 KB |
@sentry/nextjs Client (incl. Tracing, Replay) - Webpack (gzipped) | 102.02 KB |
@sentry/nextjs Client - Webpack (gzipped) | 50.89 KB |
7.69.0
Important Changes
- New Performance APIs
This release introduces a new set of top level APIs for the Performance Monitoring SDKs. These aim to simplify creating spans and reduce the boilerplate needed for performance instrumentation. The three new methods introduced are Sentry.startSpan
, Sentry.startInactiveSpan
, and Sentry.startSpanManual
. These methods are available in the browser and node SDKs.
Sentry.startSpan
wraps a callback in a span. The span is automatically finished when the callback returns. This is the recommended way to create spans.
// Start a span that tracks the duration of expensiveFunction
const result = Sentry.startSpan({ name: 'important function' }, () => {
return expensiveFunction();
});
// You can also mutate the span wrapping the callback to set data or status
Sentry.startSpan({ name: 'important function' }, (span) => {
// span is undefined if performance monitoring is turned off or if
// the span was not sampled. This is done to reduce overhead.
span?.setData('version', '1.0.0');
return expensiveFunction();
});
If you don't want the span to finish when the callback returns, use Sentry.startSpanManual
to control when the span is finished. This is useful for event emitters or similar.
// Start a span that tracks the duration of middleware
function middleware(_req, res, next) {
return Sentry.startSpanManual({ name: 'middleware' }, (span, finish) => {
res.once('finish', () => {
span?.setHttpStatus(res.status);
finish();
});
return next();
});
}
Sentry.startSpan
and Sentry.startSpanManual
create a span and make it active for the duration of the callback. Any spans created while this active span is running will be added as a child span to it. If you want to create a span without making it active, use Sentry.startInactiveSpan
. This is useful for creating parallel spans that are not related to each other.
const span1 = Sentry.startInactiveSpan({ name: 'span1' });
someWork();
const span2 = Sentry.startInactiveSpan({ name: 'span2' });
moreWork();
const span3 = Sentry.startInactiveSpan({ name: 'span3' });
evenMoreWork();
span1?.finish();
span2?.finish();
span3?.finish();
Other Changes
- feat(core): Export
BeforeFinishCallback
type (#8999) - build(eslint): Enforce that ts-expect-error is used (#8987)
- feat(integration): Ensure
LinkedErrors
integration runs before all event processors (#8956) - feat(node-experimental): Keep breadcrumbs on transaction (#8967)
- feat(redux): Add 'attachReduxState' option (#8953)
- feat(remix): Accept
org
,project
andurl
as args to upload script (#8985) - fix(utils): Prevent iterating over VueViewModel (#8981)
- fix(utils): uuidv4 fix for cloudflare (#8968)
- fix(core): Always use event message and exception values for
ignoreErrors
(#8986) - fix(nextjs): Add new potential location for Next.js request AsyncLocalStorage (#9006)
- fix(node-experimental): Ensure we only create HTTP spans when outgoing (#8966)
- fix(node-experimental): Ignore OPTIONS & HEAD requests (#9001)
- fix(node-experimental): Ignore outgoing Sentry requests (#8994)
- fix(node-experimental): Require parent span for
pg
spans (#8993) - fix(node-experimental): Use Sentry logger as Otel logger (#8960)
- fix(node-otel): Refactor OTEL span reference cleanup (#9000)
- fix(react): Switch to props in
useRoutes
(#8998) - fix(remix): Add
glob
to Remix SDK dependencies. (#8963) - fix(replay): Ensure
handleRecordingEmit
aborts when event is not added (#8938) - fix(replay): Fully stop & restart session when it expires (#8834)
Work in this release contributed by @Duncanxyz and @malay44. Thank you for your contributions!
Bundle size 📦
Path | Size |
---|---|
@sentry/browser (incl. Tracing, Replay) - Webpack (gzipped) | 75.39 KB |
@sentry/browser (incl. Tracing) - Webpack (gzipped) | 31.32 KB |
@sentry/browser - Webpack (gzipped) | 21.92 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped) | 70.17 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (gzipped) | 28.51 KB |
@sentry/browser - ES6 CDN Bundle (gzipped) | 20.59 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed) | 221.8 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (minified & uncompressed) | 86.33 KB |
@sentry/browser - ES6 CDN Bundle (minified & uncompressed) | 61.18 KB |
@sentry/browser (incl. Tracing) - ES5 CDN Bundle (gzipped) | 31.39 KB |
@sentry/react (incl. Tracing, Replay) - Webpack (gzipped) | 75.42 KB |
@sentry/react - Webpack (gzipped) | 21.95 KB |
@sentry/nextjs Client (incl. Tracing, Replay) - Webpack (gzipped) | 93.28 KB |
@sentry/nextjs Client - Webpack (gzipped) | 50.89 KB |
7.68.0
- feat(browser): Add
BroadcastChannel
andSharedWorker
to TryCatch EventTargets (#8943) - feat(core): Add
name
toSpan
(#8949) - feat(core): Add
ServerRuntimeClient
(#8930) - fix(node-experimental): Ensure
span.finish()
works as expected (#8947) - fix(remix): Add new sourcemap-upload script files to prepack assets. (#8948)
- fix(publish): Publish downleveled TS3.8 types and fix types path (#8954)
Bundle size 📦
Path | Size |
---|---|
@sentry/browser (incl. Tracing, Replay) - Webpack (gzipped) | 75.35 KB |
@sentry/browser (incl. Tracing) - Webpack (gzipped) | 31.24 KB |
@sentry/browser - Webpack (gzipped) | 21.84 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped) | 69.87 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (gzipped) | 28.18 KB |
@sentry/browser - ES6 CDN Bundle (gzipped) | 20.18 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed) | 220.81 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (minified & uncompressed) | 85.09 KB |
@sentry/browser - ES6 CDN Bundle (minified & uncompressed) | 59.73 KB |
@sentry/browser (incl. Tracing) - ES5 CDN Bundle (gzipped) | 31.08 KB |
@sentry/react (incl. Tracing, Replay) - Webpack (gzipped) | 75.37 KB |
@sentry/react - Webpack (gzipped) | 21.88 KB |
@sentry/nextjs Client (incl. Tracing, Replay) - Webpack (gzipped) | 93.23 KB |
@sentry/nextjs Client - Webpack (gzipped) | 50.81 KB |
7.67.0
Important Changes
- feat: Mark errors caught by the SDK as unhandled
- feat(browser): Mark errors caught from
TryCatch
integration as unhandled (#8890) - feat(integrations): Mark errors caught from
HttpClient
andCaptureConsole
integrations as unhandled (#8891) - feat(nextjs): Mark errors caught from NextJS wrappers as unhandled (#8893)
- feat(react): Mark errors captured from ErrorBoundary as unhandled (#8914)
- feat(remix): Mark errors caught from Remix instrumentation as unhandled (#8894)
- feat(serverless): Mark errors caught in Serverless handlers as unhandled (#8907)
- feat(vue): Mark errors caught by Vue wrappers as unhandled (#8905)
- feat(browser): Mark errors caught from
This release fixes inconsistent behaviour of when our SDKs classify captured errors as unhandled.
Previously, some of our instrumentations correctly set unhandled, while others set handled.
Going forward, all errors caught automatically from our SDKs will be marked as unhandled.
If you manually capture errors (e.g. by calling Sentry.captureException
), your errors will continue to be reported as handled.
This change might lead to a decrease in reported crash-free sessions and consequently in your release health score.
If you have concerns about this, feel free to open an issue.
Other Changes
- feat(node-experimental): Implement new performance APIs (#8911)
- feat(node-experimental): Sync OTEL context with Sentry AsyncContext (#8797)
- feat(replay): Allow to configure
maxReplayDuration
(#8769) - feat(remix): Add debugid injection and map deletion to sourcemaps script (#8814)
- fix(browser): Add replay and profiling options to
BrowserClientOptions
(#8921) - fix(browser): Check for existence of instrumentation targets (#8939)
- fix(nextjs): Don't re-export default in route handlers (#8924)
- fix(node): Improve mysql integration (#8923)
- fix(remix): Guard against missing default export for server instrument (#8909)
- ref(browser): Deprecate top-level
wrap
function (#8927) - ref(node-otel): Avoid exporting internals & refactor attribute adding (#8920)
Work in this release contributed by @SorsOps. Thank you for your contribution!
Bundle size 📦
Path | Size |
---|---|
@sentry/browser (incl. Tracing, Replay) - Webpack (gzipped) | 75.32 KB |
@sentry/browser (incl. Tracing) - Webpack (gzipped) | 31.21 KB |
@sentry/browser - Webpack (gzipped) | 21.83 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped) | 69.83 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (gzipped) | 28.16 KB |
@sentry/browser - ES6 CDN Bundle (gzipped) | 20.15 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed) | 220.71 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (minified & uncompressed) | 84.99 KB |
@sentry/browser - ES6 CDN Bundle (minified & uncompressed) | 59.7 KB |
@sentry/browser (incl. Tracing) - ES5 CDN Bundle (gzipped) | 31.05 KB |
@sentry/react (incl. Tracing, Replay) - Webpack (gzipped) | 75.34 KB |
@sentry/react - Webpack (gzipped) | 21.86 KB |
@sentry/nextjs Client (incl. Tracing, Replay) - Webpack (gzipped) | 93.2 KB |
@sentry/nextjs Client - Webpack (gzipped) | 50.78 KB |
7.67.0-beta.0
Important Changes
- feat(replay): Upgrade to rrweb2.0
This should be fully backwards compatible with previously recorded replays. Only breaking change is that we will not be masking aria-label
by default. This is to better support searching by clicks. Another issue is there is about a 13% bundle size increase, however this comes with improved performance and improved replay fidelity especially in regards to web components.
Bundle size 📦
Path | Size |
---|---|
@sentry/browser (incl. Tracing, Replay) - Webpack (gzipped) | 83.83 KB |
@sentry/browser (incl. Tracing) - Webpack (gzipped) | 31.22 KB |
@sentry/browser - Webpack (gzipped) | 21.84 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped) | 78.11 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (gzipped) | 28.17 KB |
@sentry/browser - ES6 CDN Bundle (gzipped) | 20.16 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed) | 251.58 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (minified & uncompressed) | 85.02 KB |
@sentry/browser - ES6 CDN Bundle (minified & uncompressed) | 59.72 KB |
@sentry/browser (incl. Tracing) - ES5 CDN Bundle (gzipped) | 31.07 KB |
@sentry/react (incl. Tracing, Replay) - Webpack (gzipped) | 83.86 KB |
@sentry/react - Webpack (gzipped) | 21.87 KB |
@sentry/nextjs Client (incl. Tracing, Replay) - Webpack (gzipped) | 101.75 KB |
@sentry/nextjs Client - Webpack (gzipped) | 50.79 KB |
7.66.0
- fix: Defer tracing decision to downstream SDKs when using SDK without performance (#8839)
- fix(nextjs): Fix
package.json
exports (#8895) - fix(sveltekit): Ensure target file exists before applying auto instrumentation (#8881)
- ref: Use consistent console instrumentation (#8879)
- ref(browser): Refactor sentry breadcrumb to use hook (#8892)
- ref(tracing): Add
origin
to spans (#8765)
Bundle size 📦
Path | Size |
---|---|
@sentry/browser (incl. Tracing, Replay) - Webpack (gzipped) | 75.27 KB |
@sentry/browser (incl. Tracing) - Webpack (gzipped) | 31.25 KB |
@sentry/browser - Webpack (gzipped) | 21.86 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped) | 69.79 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (gzipped) | 28.2 KB |
@sentry/browser - ES6 CDN Bundle (gzipped) | 20.19 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed) | 220.3 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (minified & uncompressed) | 85.13 KB |
@sentry/browser - ES6 CDN Bundle (minified & uncompressed) | 59.84 KB |
@sentry/browser (incl. Tracing) - ES5 CDN Bundle (gzipped) | 31.1 KB |
@sentry/react (incl. Tracing, Replay) - Webpack (gzipped) | 75.29 KB |
@sentry/react - Webpack (gzipped) | 21.89 KB |
@sentry/nextjs Client (incl. Tracing, Replay) - Webpack (gzipped) | 93.13 KB |
@sentry/nextjs Client - Webpack (gzipped) | 50.8 KB |
7.66.0-alpha.0
Important Changes
- feat(replay): Upgrade to rrweb2.0
This should be fully backwards compatible with previously recorded replays. Only breaking change is that we will not be masking aria-label
by default. This is to better support searching by clicks. Another issue is there is about a 13% bundle size increase, however this comes with improved performance and improved replay fidelity especially in regards to web components.
Bundle size 📦
Path | Size |
---|---|
@sentry/browser (incl. Tracing, Replay) - Webpack (gzipped) | 83.79 KB |
@sentry/browser (incl. Tracing) - Webpack (gzipped) | 31.2 KB |
@sentry/browser - Webpack (gzipped) | 21.85 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped) | 78.09 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (gzipped) | 28.22 KB |
@sentry/browser - ES6 CDN Bundle (gzipped) | 20.18 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed) | 251.41 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (minified & uncompressed) | 84.88 KB |
@sentry/browser - ES6 CDN Bundle (minified & uncompressed) | 59.86 KB |
@sentry/browser (incl. Tracing) - ES5 CDN Bundle (gzipped) | 31.11 KB |
@sentry/react (incl. Tracing, Replay) - Webpack (gzipped) | 83.81 KB |
@sentry/react - Webpack (gzipped) | 21.88 KB |
@sentry/nextjs Client (incl. Tracing, Replay) - Webpack (gzipped) | 101.65 KB |
@sentry/nextjs Client - Webpack (gzipped) | 50.74 KB |
7.65.0
- build: Remove build-specific polyfills (#8809)
- build(deps): bump protobufjs from 6.11.3 to 6.11.4 (#8822)
- deps(sveltekit): Bump
@sentry/vite-plugin
(#8877) - feat(core): Introduce
Sentry.startActiveSpan
andSentry.startSpan
(#8803) - fix: Memoize
AsyncLocalStorage
instance (#8831) - fix(nextjs): Check for validity of API route handler signature (#8811)
- fix(nextjs): Fix
requestAsyncStorageShim
path resolution on windows (#8875) - fix(node): Log entire error object in
OnUncaughtException
(#8876) - fix(node): More relevant warning message when tracing extensions are missing (#8820)
- fix(replay): Streamline session creation/refresh (#8813)
- fix(sveltekit): Avoid invalidating data on route changes in
wrapServerLoadWithSentry
(#8801) - fix(tracing): Better guarding for performance observer (#8872)
- ref(sveltekit): Remove custom client fetch instrumentation and use default instrumentation (#8802)
- ref(tracing-internal): Deprecate
tracePropagationTargets
inBrowserTracing
(#8874)
Bundle size 📦
Path | Size |
---|---|
@sentry/browser (incl. Tracing, Replay) - Webpack (gzipped) | 75.22 KB |
@sentry/browser (incl. Tracing) - Webpack (gzipped) | 31.2 KB |
@sentry/browser - Webpack (gzipped) | 21.85 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped) | 69.75 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (gzipped) | 28.21 KB |
@sentry/browser - ES6 CDN Bundle (gzipped) | 20.18 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed) | 220.06 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (minified & uncompressed) | 84.89 KB |
@sentry/browser - ES6 CDN Bundle (minified & uncompressed) | 59.86 KB |
@sentry/browser (incl. Tracing) - ES5 CDN Bundle (gzipped) | 31.1 KB |
@sentry/react (incl. Tracing, Replay) - Webpack (gzipped) | 75.24 KB |
@sentry/react - Webpack (gzipped) | 21.88 KB |
@sentry/nextjs Client (incl. Tracing, Replay) - Webpack (gzipped) | 93.04 KB |
@sentry/nextjs Client - Webpack (gzipped) | 50.73 KB |
7.65.0-alpha.0
Important Changes
- feat(replay): Upgrade to rrweb2.0
This should be fully backwards compatible with previously recorded replays. Only breaking change is that we will not be masking aria-label
by default. This is to better support searching by clicks. Another issue is there is about a 13% bundle size increase, however this comes with improved performance and improved replay fidelity especially in regards to web components.
Bundle size 📦
Path | Size |
---|---|
@sentry/browser (incl. Tracing, Replay) - Webpack (gzipped) | 83.73 KB |
@sentry/browser (incl. Tracing) - Webpack (gzipped) | 31.15 KB |
@sentry/browser - Webpack (gzipped) | 21.82 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped) | 78.12 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (gzipped) | 28.2 KB |
@sentry/browser - ES6 CDN Bundle (gzipped) | 20.19 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed) | 251.54 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (minified & uncompressed) | 84.79 KB |
@sentry/browser - ES6 CDN Bundle (minified & uncompressed) | 59.87 KB |
@sentry/browser (incl. Tracing) - ES5 CDN Bundle (gzipped) | 31.06 KB |
@sentry/react (incl. Tracing, Replay) - Webpack (gzipped) | 73.92 KB |
@sentry/react - Webpack (gzipped) | 21.85 KB |
@sentry/nextjs Client (incl. Tracing, Replay) - Webpack (gzipped) | 101.61 KB |
@sentry/nextjs Client - Webpack (gzipped) | 50.66 KB |