Releases: getsentry/sentry-javascript
7.54.0
Important Changes
-
feat(core): Add default entries to
ignoreTransactionsfor Healthchecks #8191All SDKs now filter out health check transactions by default.
These are transactions where the transaction name matches typical API health check calls, such as/^.*healthy.*$/or/^. *heartbeat.*$/. Take a look at this list to learn which regexes we currently use to match transaction names.
We believe that these transactions do not provide value in most cases and we want to save you some of your quota by filtering them out by default.
These filters are implemented as default values for the top levelignoreTransactionsoption.You can disable this filtering by manually specifiying the
InboundFiltersintegration and setting thedisableTransactionDefaultsoption:Sentry.init({ //... integrations: [new InboundFilters({ disableTransactionDefaults: true })], })
-
feat(replay): Add
mutationBreadcrumbLimitandmutationLimitto Replay Options (#8228)The previously experimental options
mutationBreadcumbLimitandmutationLimithave been promoted to regular Replay integration options.A high number of DOM mutations (in a single event loop) can cause performance regressions in end-users' browsers.
UsemutationBreadcrumbLimitto send a breadcrumb along with your recording if the mutation limit was reached.
UsemutationLimitto stop recording if the mutation limit was reached. -
feat(sveltekit): Add source maps support for Vercel (lambda) (#8256)
- feat(sveltekit): Auto-detect SvelteKit adapters (#8193)
The SvelteKit SDK can now be used if you deploy your SvelteKit app to Vercel.
By default, the SDK's Vite plugin will detect the used adapter and adjust the source map uploading config as necessary.
If you want to override the default adapter detection, you can specify theadapteroption in thesentrySvelteKitoptions:// vite.config.js export default defineConfig({ plugins: [ sentrySvelteKit({ adapter: 'vercel', }), sveltekit(), ], });
Currently, the Vite plugin will configure itself correctly for
@sveltejs/adapter-auto,@sveltejs/adapter-verceland@sveltejs/adapter-node.Important: The SvelteKit SDK is not yet compatible with Vercel's edge runtime.
It will only work for lambda functions.
Other Changes
- feat(replay): Throttle breadcrumbs to max 300/5s (#8086)
- feat(sveltekit): Add option to control handling of unknown server routes (#8201)
- fix(node): Strip query and fragment from request URLs without route parameters (#8213)
- fix(remix): Don't log missing parameters warning on server-side. (#8269)
- fix(remix): Pass
loadContextthrough wrapped document request function (#8268) - fix(replay): Guard against missing key (#8246)
- fix(sveltekit): Avoid capturing redirects and 4xx Http errors in request Handlers (#8215)
- fix(sveltekit): Bump
magicastto supportsatisfiedkeyword (#8254) - fix(wasm): Avoid throwing an error when WASM modules are loaded from blobs (#8263)
Bundle size 📦
| Path | Size |
|---|---|
| @sentry/browser - ES5 CDN Bundle (gzipped + minified) | 21.12 KB |
| @sentry/browser - ES5 CDN Bundle (minified) | 65.86 KB |
| @sentry/browser - ES6 CDN Bundle (gzipped + minified) | 19.65 KB |
| @sentry/browser - ES6 CDN Bundle (minified) | 58.34 KB |
| @sentry/browser - Webpack (gzipped + minified) | 21.28 KB |
| @sentry/browser - Webpack (minified) | 69.26 KB |
| @sentry/react - Webpack (gzipped + minified) | 21.31 KB |
| @sentry/nextjs Client - Webpack (gzipped + minified) | 49.23 KB |
| @sentry/browser + @sentry/tracing - ES5 CDN Bundle (gzipped + minified) | 28.74 KB |
| @sentry/browser + @sentry/tracing - ES6 CDN Bundle (gzipped + minified) | 26.98 KB |
| @sentry/replay ES6 CDN Bundle (gzipped + minified) | 48.58 KB |
| @sentry/replay - Webpack (gzipped + minified) | 42.28 KB |
| @sentry/browser + @sentry/tracing + @sentry/replay - ES6 CDN Bundle (gzipped + minified) | 67.63 KB |
| @sentry/browser + @sentry/replay - ES6 CDN Bundle (gzipped + minified) | 60.55 KB |
7.53.1
- chore(deps): bump socket.io-parser from 4.2.1 to 4.2.3 (#8196)
- chore(svelte): Bump magic-string to 0.30.0 (#8197)
- fix(core): Fix racecondition that modifies in-flight sessions (#8203)
- fix(node): Catch
os.uptime()throwing because of EPERM (#8206) - fix(replay): Fix buffered replays creating replay w/o error occuring (#8168)
Bundle size 📦
| Path | Size |
|---|---|
| @sentry/browser - ES5 CDN Bundle (gzipped + minified) | 21.05 KB |
| @sentry/browser - ES5 CDN Bundle (minified) | 65.69 KB |
| @sentry/browser - ES6 CDN Bundle (gzipped + minified) | 19.59 KB |
| @sentry/browser - ES6 CDN Bundle (minified) | 58.16 KB |
| @sentry/browser - Webpack (gzipped + minified) | 21.21 KB |
| @sentry/browser - Webpack (minified) | 69.08 KB |
| @sentry/react - Webpack (gzipped + minified) | 21.23 KB |
| @sentry/nextjs Client - Webpack (gzipped + minified) | 49.16 KB |
| @sentry/browser + @sentry/tracing - ES5 CDN Bundle (gzipped + minified) | 28.67 KB |
| @sentry/browser + @sentry/tracing - ES6 CDN Bundle (gzipped + minified) | 26.91 KB |
| @sentry/replay ES6 CDN Bundle (gzipped + minified) | 48.25 KB |
| @sentry/replay - Webpack (gzipped + minified) | 42.1 KB |
| @sentry/browser + @sentry/tracing + @sentry/replay - ES6 CDN Bundle (gzipped + minified) | 67.22 KB |
| @sentry/browser + @sentry/replay - ES6 CDN Bundle (gzipped + minified) | 60.12 KB |
7.53.0
- feat(replay): Add
beforeAddRecordingEventReplay option (#8124) - feat(replay): Do not capture replays < 5 seconds (#7949)
- fix(nextjs): Guard for non-absolute paths when injecting sentry config (#8151)
- fix(nextjs): Import path issue on Windows (#8142)
- fix(nextjs): Make
withSentryConfigisomorphic (#8166) - fix(node): Add debug logging for node checkin (#8131)
- fix(node): Add LRU map for tracePropagationTargets calculation (#8130)
- fix(node): Remove new URL usage in Undici integration (#8147)
- fix(replay): Show the correct Replay config option name
maskFn - fix(sveltekit): Avoid double-wrapping load functions (#8094)
- fix(tracing): Change where content-length gets added (#8139)
- fix(tracing): Use integer for content length (#8152)
- fix(utils): Fail silently if the provided Dsn is invalid (#8121)
- ref(node): Cache undici trace propagation decisions (#8136)
- ref(serverless): Remove relay extension from AWS Layer (#8080)
Bundle size 📦
| Path | Size |
|---|---|
| @sentry/browser - ES5 CDN Bundle (gzipped + minified) | 21.03 KB |
| @sentry/browser - ES5 CDN Bundle (minified) | 65.68 KB |
| @sentry/browser - ES6 CDN Bundle (gzipped + minified) | 19.59 KB |
| @sentry/browser - ES6 CDN Bundle (minified) | 58.15 KB |
| @sentry/browser - Webpack (gzipped + minified) | 21.2 KB |
| @sentry/browser - Webpack (minified) | 69.07 KB |
| @sentry/react - Webpack (gzipped + minified) | 21.22 KB |
| @sentry/nextjs Client - Webpack (gzipped + minified) | 49.16 KB |
| @sentry/browser + @sentry/tracing - ES5 CDN Bundle (gzipped + minified) | 28.67 KB |
| @sentry/browser + @sentry/tracing - ES6 CDN Bundle (gzipped + minified) | 26.9 KB |
| @sentry/replay ES6 CDN Bundle (gzipped + minified) | 48.24 KB |
| @sentry/replay - Webpack (gzipped + minified) | 42.1 KB |
| @sentry/browser + @sentry/tracing + @sentry/replay - ES6 CDN Bundle (gzipped + minified) | 67.21 KB |
| @sentry/browser + @sentry/replay - ES6 CDN Bundle (gzipped + minified) | 60.11 KB |
7.52.1
- feat(replay): Capture slow clicks (experimental) (#8052)
Bundle size 📦
| Path | Size |
|---|---|
| @sentry/browser - ES5 CDN Bundle (gzipped + minified) | 21.03 KB |
| @sentry/browser - ES5 CDN Bundle (minified) | 65.63 KB |
| @sentry/browser - ES6 CDN Bundle (gzipped + minified) | 19.57 KB |
| @sentry/browser - ES6 CDN Bundle (minified) | 58.09 KB |
| @sentry/browser - Webpack (gzipped + minified) | 21.17 KB |
| @sentry/browser - Webpack (minified) | 69.04 KB |
| @sentry/react - Webpack (gzipped + minified) | 21.19 KB |
| @sentry/nextjs Client - Webpack (gzipped + minified) | 49.12 KB |
| @sentry/browser + @sentry/tracing - ES5 CDN Bundle (gzipped + minified) | 28.65 KB |
| @sentry/browser + @sentry/tracing - ES6 CDN Bundle (gzipped + minified) | 26.89 KB |
| @sentry/replay ES6 CDN Bundle (gzipped + minified) | 48.13 KB |
| @sentry/replay - Webpack (gzipped + minified) | 42.02 KB |
| @sentry/browser + @sentry/tracing + @sentry/replay - ES6 CDN Bundle (gzipped + minified) | 67.09 KB |
| @sentry/browser + @sentry/replay - ES6 CDN Bundle (gzipped + minified) | 59.99 KB |
7.52.0
Important Next.js SDK changes:
This release adds support Vercel Cron Jobs in the Next.js SDK.
The SDK will automatically create Sentry Cron Monitors for your Vercel Cron Jobs configured via vercel.json when deployed on Vercel.
You can opt out of this functionality by setting the automaticVercelMonitors option to false:
// next.config.js
const nextConfig = {
sentry: {
automaticVercelMonitors: false,
},
};(Note: Sentry Cron Monitoring is currently in beta and subject to change. Help us make it better by letting us know what you think. Respond on GitHub or write to us at crons-feedback@sentry.io)
- feat(nextjs): Add API method to wrap API routes with crons instrumentation (#8084)
- feat(nextjs): Add automatic monitors for Vercel Cron Jobs (#8088)
Other changes
- feat(replay): Capture keyboard presses for special characters (#8051)
- fix(build): Don't mangle away global debug ID map (#8096)
- fix(core): Return checkin id from client (#8116)
- fix(core): Use last error for
ignoreErrorscheck (#8089) - fix(docs): Change to
addTracingExtensionswas not documented in MIGRATION.md (#8101) - fix(replay): Check relative URLs correctly (#8024)
- fix(tracing-internal): Avoid classifying protocol-relative URLs as same-origin urls (#8114)
- ref: Hoist
createCheckinEnvelopeto core package (#8082)
Bundle size 📦
| Path | Size |
|---|---|
| @sentry/browser - ES5 CDN Bundle (gzipped + minified) | 21.03 KB |
| @sentry/browser - ES5 CDN Bundle (minified) | 65.63 KB |
| @sentry/browser - ES6 CDN Bundle (gzipped + minified) | 19.57 KB |
| @sentry/browser - ES6 CDN Bundle (minified) | 58.09 KB |
| @sentry/browser - Webpack (gzipped + minified) | 21.17 KB |
| @sentry/browser - Webpack (minified) | 69.04 KB |
| @sentry/react - Webpack (gzipped + minified) | 21.19 KB |
| @sentry/nextjs Client - Webpack (gzipped + minified) | 49.12 KB |
| @sentry/browser + @sentry/tracing - ES5 CDN Bundle (gzipped + minified) | 28.65 KB |
| @sentry/browser + @sentry/tracing - ES6 CDN Bundle (gzipped + minified) | 26.89 KB |
| @sentry/replay ES6 CDN Bundle (gzipped + minified) | 47.7 KB |
| @sentry/replay - Webpack (gzipped + minified) | 41.57 KB |
| @sentry/browser + @sentry/tracing + @sentry/replay - ES6 CDN Bundle (gzipped + minified) | 66.6 KB |
| @sentry/browser + @sentry/replay - ES6 CDN Bundle (gzipped + minified) | 59.48 KB |
7.51.2
- fix(nextjs): Continue traces in data fetchers when there is an already active transaction on the hub (#8073)
- fix(sveltekit): Avoid creating the Sentry Vite plugin in dev mode (#8065)
Bundle size 📦
| Path | Size |
|---|---|
| @sentry/browser - ES5 CDN Bundle (gzipped + minified) | 21.02 KB |
| @sentry/browser - ES5 CDN Bundle (minified) | 65.62 KB |
| @sentry/browser - ES6 CDN Bundle (gzipped + minified) | 19.55 KB |
| @sentry/browser - ES6 CDN Bundle (minified) | 58.08 KB |
| @sentry/browser - Webpack (gzipped + minified) | 21.16 KB |
| @sentry/browser - Webpack (minified) | 69.03 KB |
| @sentry/react - Webpack (gzipped + minified) | 21.18 KB |
| @sentry/nextjs Client - Webpack (gzipped + minified) | 49.09 KB |
| @sentry/browser + @sentry/tracing - ES5 CDN Bundle (gzipped + minified) | 28.64 KB |
| @sentry/browser + @sentry/tracing - ES6 CDN Bundle (gzipped + minified) | 26.87 KB |
| @sentry/replay ES6 CDN Bundle (gzipped + minified) | 47.35 KB |
| @sentry/replay - Webpack (gzipped + minified) | 41.13 KB |
| @sentry/browser + @sentry/tracing + @sentry/replay - ES6 CDN Bundle (gzipped + minified) | 66.3 KB |
| @sentry/browser + @sentry/replay - ES6 CDN Bundle (gzipped + minified) | 59.18 KB |
7.51.1
- feat(replay): Add event to capture options on checkouts (#8011)
- feat(replay): Improve click target detection (#8026)
- fix(node): Make sure we use same ID for checkIns (#8050)
- fix(replay: Keep session active on key press (#8037)
- fix(replay): Move error sampling to before send (#8057)
- fix(sveltekit): Wrap
loadwhen typed explicitly (#8049)
Replay rrweb changes:
@sentry-internal/rrweb was updated from 1.106.0 to 1.108.0:
- fix: Fix some input masking (esp for radio buttons) (#85)
- fix: Unescaped
:in CSS rule from Safari (#86) - feat: Define custom elements (web components) (#87)
Work in this release contributed by @sreetamdas. Thank you for your contribution!
Bundle size 📦
| Path | Size |
|---|---|
| @sentry/browser - ES5 CDN Bundle (gzipped + minified) | 21.01 KB |
| @sentry/browser - ES5 CDN Bundle (minified) | 65.62 KB |
| @sentry/browser - ES6 CDN Bundle (gzipped + minified) | 19.55 KB |
| @sentry/browser - ES6 CDN Bundle (minified) | 58.08 KB |
| @sentry/browser - Webpack (gzipped + minified) | 21.16 KB |
| @sentry/browser - Webpack (minified) | 69.03 KB |
| @sentry/react - Webpack (gzipped + minified) | 21.18 KB |
| @sentry/nextjs Client - Webpack (gzipped + minified) | 49.09 KB |
| @sentry/browser + @sentry/tracing - ES5 CDN Bundle (gzipped + minified) | 28.64 KB |
| @sentry/browser + @sentry/tracing - ES6 CDN Bundle (gzipped + minified) | 26.86 KB |
| @sentry/replay ES6 CDN Bundle (gzipped + minified) | 47.35 KB |
| @sentry/replay - Webpack (gzipped + minified) | 41.13 KB |
| @sentry/browser + @sentry/tracing + @sentry/replay - ES6 CDN Bundle (gzipped + minified) | 66.3 KB |
| @sentry/browser + @sentry/replay - ES6 CDN Bundle (gzipped + minified) | 59.18 KB |
7.51.0
Important Changes
- feat(sveltekit): Auto-wrap
loadfunctions with proxy module (#7994)
@sentry/sveltekit now auto-wraps load functions in
+(page|layout).(ts|js)files (universal loads)+(page|layout).server.(ts|js)files (server-only loads)
This means that you don't have to manually add the wrapLoadWithSentry and wrapServerLoadWithSentry functions around your load functions. The SDK will not interfere with already wrapped load functions.
For more details, take a look at the Readme
- chore(angular): Upgrade
peerDependenciesto Angular 16 (#8035)
We now officially support Angular 16 in @sentry/angular-ivy.
Note that @sentry/angular does not support Angular 16.
- feat(node): Add ability to send cron monitor check ins (#8039)
Note: This release contains a bug with generating cron monitors. We recommend you wait till the next release of the JS SDK to use cron monitoring functionality
This release adds Sentry cron monitoring support to the Node SDK.
To monitor your cron jobs, send check-ins everytime you execute your cron jobs to Sentry. You can do this with the captureCheckIn method exported from the SDK. First you must send an in_progress, checkin, then you can send one with status ok or error based on what happened with your cron job.
const Sentry = require('@sentry/node');
// ...
Sentry.captureCheckIn({
// make sure this is the same slug as what you set up your
// Sentry cron monitor with.
monitorSlug: 'dailyEmail',
status: 'in_progress',
});
const startTime = timeInSeconds();
runTask();
Sentry.captureCheckIn({
monitorSlug: 'dailyEmail',
status: 'ok',
duration: timeInSeconds() - startTime,
});Additional Features and Fixes
- feat(browser): Export makeMultiplexedTransport from browser SDK (#8012)
- feat(node): Add
http.methodto node http spans (#7991) - feat(tracing): add body size for fetch requests (#7935)
- feat(tracing): Use http.method for span data (#7990)
- fix(integrations): Handle windows paths with no prefix or backslash prefix in
RewriteFrames(#7995) - fix(node): Mark stack frames with url protocol as in-app frames (#8008)
- fix(remix): Export
Integrationtype declaration as union type (#8016) - fix(replay): Do not add replay_id to DSC while buffering (#8020)
- fix(tracing): Don't set method multiple times (#8014)
- fix(utils): Normalize
undefinedtoundefinedinstead of"[undefined]"(#8017)
Work in this release contributed by @srubin and @arjenbrandenburgh. Thank you for your contributions!
Bundle size 📦
| Path | Size |
|---|---|
| @sentry/browser - ES5 CDN Bundle (gzipped + minified) | 21.01 KB |
| @sentry/browser - ES5 CDN Bundle (minified) | 65.62 KB |
| @sentry/browser - ES6 CDN Bundle (gzipped + minified) | 19.55 KB |
| @sentry/browser - ES6 CDN Bundle (minified) | 58.08 KB |
| @sentry/browser - Webpack (gzipped + minified) | 21.16 KB |
| @sentry/browser - Webpack (minified) | 69.03 KB |
| @sentry/react - Webpack (gzipped + minified) | 21.18 KB |
| @sentry/nextjs Client - Webpack (gzipped + minified) | 49.09 KB |
| @sentry/browser + @sentry/tracing - ES5 CDN Bundle (gzipped + minified) | 28.64 KB |
| @sentry/browser + @sentry/tracing - ES6 CDN Bundle (gzipped + minified) | 26.86 KB |
| @sentry/replay ES6 CDN Bundle (gzipped + minified) | 46.86 KB |
| @sentry/replay - Webpack (gzipped + minified) | 40.67 KB |
| @sentry/browser + @sentry/tracing + @sentry/replay - ES6 CDN Bundle (gzipped + minified) | 65.74 KB |
| @sentry/browser + @sentry/replay - ES6 CDN Bundle (gzipped + minified) | 58.63 KB |
7.50.0
Important Changes
- doc(sveltekit): Promote the SDK to beta state (#7976)
- feat(sveltekit): Convert
sentryHandleto a factory function (#7975)
- feat(sveltekit): Convert
With this release, the Sveltekit SDK (@sentry/sveltekit) is promoted to Beta.
This means that we do not expect any more breaking changes.
The final breaking change is that sentryHandle is now a function.
So in order to update to 7.50.0, you have to update your hooks.server.js file:
// hooks.server.js
// Old:
export const handle = sentryHandle;
// New:
export const handle = sentryHandle();- feat(replay): Allow to configure URLs to capture network bodies/headers (#7953)
You can now capture request/response bodies & headers of network requests in Replay.
You have to define an allowlist of URLs you want to capture additional information for:
new Replay({
networkDetailAllowUrls: ['https://sentry.io/api'],
});By default, we will capture request/response bodies, as well as the request/response headers content-type, content-length and accept.
You can configure this with some additional configuration:
new Replay({
networkDetailAllowUrls: ['https://sentry.io/api'],
// opt-out of capturing bodies
networkCaptureBodies: false,
// These headers are captured _in addition to_ the default headers
networkRequestHeaders: ['X-Custom-Header'],
networkResponseHeaders: ['X-Custom-Header', 'X-Custom-Header-2']
});Note that bodies will be truncated to a max length of ~150k characters.
- feat(replay): Changes of sampling behavior & public API
- feat(replay): Change the behavior of error-based sampling (#7768)
- feat(replay): Change
flush()API to record current event buffer (#7743) - feat(replay): Change
stop()to flush and remove current session (#7741)
We have changed the behavior of error-based sampling, as well as adding & adjusting APIs a bit to be more aligned with expectations.
See Sampling for details.
We've also revamped some public APIs in order to be better aligned with expectations. See Stoping & Starting Replays manually for details.
- feat(core): Add multiplexed transport (#7926)
We added a new transport to support multiplexing.
With this, you can configure Sentry to send events to different DSNs, depending on a logic of your choosing:
import { makeMultiplexedTransport } from '@sentry/core';
import { init, captureException, makeFetchTransport } from '@sentry/browser';
function dsnFromFeature({ getEvent }) {
const event = getEvent();
switch(event?.tags?.feature) {
case 'cart':
return ['__CART_DSN__'];
case 'gallery':
return ['__GALLERY_DSN__'];
}
return []
}
init({
dsn: '__FALLBACK_DSN__',
transport: makeMultiplexedTransport(makeFetchTransport, dsnFromFeature)
});Additional Features and Fixes
- feat(nextjs): Add
disableLoggeroption that automatically tree shakes logger statements (#7908) - feat(node): Make Undici a default integration. (#7967)
- feat(replay): Extend session idle time until expire to 15min (#7955)
- feat(tracing): Add
db.systemspan data to DB spans (#7952) - fix(core): Avoid crash when Function.prototype is frozen (#7899)
- fix(nextjs): Fix inject logic for Next.js 13.3.1 canary (#7921)
- fix(replay): Ensure console breadcrumb args are truncated (#7917)
- fix(replay): Ensure we do not set replayId on dsc if replay is disabled (#7939)
- fix(replay): Ensure we still truncate large bodies if they are failed JSON (#7923)
- fix(utils): default normalize() to a max. of 100 levels deep instead of Inifnity (#7957)
Work in this release contributed by @Jack-Works. Thank you for your contribution!
Bundle size 📦
| Path | Size |
|---|---|
| @sentry/browser - ES5 CDN Bundle (gzipped + minified) | 21.02 KB |
| @sentry/browser - ES5 CDN Bundle (minified) | 65.66 KB |
| @sentry/browser - ES6 CDN Bundle (gzipped + minified) | 19.56 KB |
| @sentry/browser - ES6 CDN Bundle (minified) | 58.12 KB |
| @sentry/browser - Webpack (gzipped + minified) | 21.17 KB |
| @sentry/browser - Webpack (minified) | 69.07 KB |
| @sentry/react - Webpack (gzipped + minified) | 21.19 KB |
| @sentry/nextjs Client - Webpack (gzipped + minified) | 49.03 KB |
| @sentry/browser + @sentry/tracing - ES5 CDN Bundle (gzipped + minified) | 28.59 KB |
| @sentry/browser + @sentry/tracing - ES6 CDN Bundle (gzipped + minified) | 26.82 KB |
| @sentry/replay ES6 CDN Bundle (gzipped + minified) | 46.81 KB |
| @sentry/replay - Webpack (gzipped + minified) | 40.59 KB |
| @sentry/browser + @sentry/tracing + @sentry/replay - ES6 CDN Bundle (gzipped + minified) | 65.62 KB |
| @sentry/browser + @sentry/replay - ES6 CDN Bundle (gzipped + minified) | 58.57 KB |
7.49.0
Important Changes
- feat(sveltekit): Read adapter output directory from
svelte.config.js(#7863)
Our source maps upload plugin is now able to read svelte.config.js. This is necessary to automatically find the output directory that users can specify when setting up the Node adapter.
- fix(replay): Ensure we normalize scope breadcrumbs to max. depth to avoid circular ref (#7915)
This release fixes a potential problem with how Replay captures console logs.
Any objects logged will now be cut off after a maximum depth of 10, as well as cutting off any properties after the 1000th.
This should ensure we do not accidentally capture massive console logs, where a stringified object could reach 100MB or more.
- fix(utils): Normalize HTML elements as string (#7916)
We used to normalize references to HTML elements as POJOs.
This is both not very easily understandable, as well as potentially large, as HTML elements may have properties attached to them.
With this change, we now normalize them to e.g. [HTMLElement: HTMLInputElement].
Additional Features and Fixes
- feat(browser): Simplify stack parsers (#7897)
- feat(node): Add monitor upsert types (#7914)
- feat(replay): Truncate network bodies to max size (#7875)
- fix(gatsby): Don't crash build when auth token is missing (#7858)
- fix(gatsby): Use
importforgatsby-browser.jsinstead ofrequire(#7889) - fix(nextjs): Handle braces in stack frame URLs (#7900)
- fix(nextjs): Mark value injection loader result as uncacheable (#7870)
- fix(node): Correct typo in trpc integration transaciton name (#7871)
- fix(node): reduce deepReadDirSync runtime complexity (#7910)
- fix(sveltekit): Avoid capturing "Not Found" errors in server
handleErrorwrapper (#7898) - fix(sveltekit): Detect sentry release before creating the Vite plugins (#7902)
- fix(sveltekit): Use
sentry.propertiesfile when uploading source maps (#7890) - fix(tracing): Ensure we use s instead of ms for startTimestamp (#7877)
- ref(deprecate): Deprecate
timestampWithMs(#7878) - ref(nextjs): Don't use Sentry Webpack Plugin in dev mode (#7901)
Bundle size 📦
| Path | Size |
|---|---|
| @sentry/browser - ES5 CDN Bundle (gzipped + minified) | 21.02 KB |
| @sentry/browser - ES5 CDN Bundle (minified) | 65.65 KB |
| @sentry/browser - ES6 CDN Bundle (gzipped + minified) | 19.56 KB |
| @sentry/browser - ES6 CDN Bundle (minified) | 58.1 KB |
| @sentry/browser - Webpack (gzipped + minified) | 21.16 KB |
| @sentry/browser - Webpack (minified) | 69.06 KB |
| @sentry/react - Webpack (gzipped + minified) | 21.18 KB |
| @sentry/nextjs Client - Webpack (gzipped + minified) | 49.03 KB |
| @sentry/browser + @sentry/tracing - ES5 CDN Bundle (gzipped + minified) | 28.59 KB |
| @sentry/browser + @sentry/tracing - ES6 CDN Bundle (gzipped + minified) | 26.82 KB |
| @sentry/replay ES6 CDN Bundle (gzipped + minified) | 46.05 KB |
| @sentry/replay - Webpack (gzipped + minified) | 39.92 KB |
| @sentry/browser + @sentry/tracing + @sentry/replay - ES6 CDN Bundle (gzipped + minified) | 64.91 KB |
| @sentry/browser + @sentry/replay - ES6 CDN Bundle (gzipped + minified) | 57.89 KB |