Releases: getsentry/sentry-javascript
Releases Β· getsentry/sentry-javascript
7.81.0
Important Changes
- feat(nextjs): Add instrumentation utility for server actions (#9553)
This release adds a utility function withServerActionInstrumentation
to the @sentry/nextjs
SDK for instrumenting your Next.js server actions with error and performance monitoring.
You can optionally pass form data and headers to record them, and configure the wrapper to record the Server Action responses:
import * as Sentry from "@sentry/nextjs";
import { headers } from "next/headers";
export default function ServerComponent() {
async function myServerAction(formData: FormData) {
"use server";
return await Sentry.withServerActionInstrumentation(
"myServerAction", // The name you want to associate this Server Action with in Sentry
{
formData, // Optionally pass in the form data
headers: headers(), // Optionally pass in headers
recordResponse: true, // Optionally record the server action response
},
async () => {
// ... Your Server Action code
return { name: "John Doe" };
}
);
}
return (
<form action={myServerAction}>
<input type="text" name="some-input-value" />
<button type="submit">Run Action</button>
</form>
);
}
Other Changes
- docs(feedback): Example docs on
sendFeedback
(#9560)
- feat(feedback): Add
level
and remove breadcrumbs from feedback event (#9533)
- feat(vercel-edge): Add fetch instrumentation (#9504)
- feat(vue): Support Vue 3 lifecycle hooks in mixin options (#9578)
- fix(nextjs): Download CLI binary if it can't be found (#9584)
- ref: Deprecate
extractTraceParentData
from @sentry/core
& downstream packages (#9158)
- ref(replay): Add further logging to network body parsing (#9566)
Work in this release contributed by @snoozbuster. Thank you for your contribution!
Bundle size π¦
Path |
Size |
@sentry/browser (incl. Tracing, Replay) - Webpack (gzipped) |
65.53 KB |
@sentry/browser (incl. Tracing, Replay) - Webpack with treeshaking flags (gzipped) |
55.67 KB |
@sentry/browser (incl. Tracing) - Webpack (gzipped) |
31.01 KB |
@sentry/browser - Webpack (gzipped) |
21.32 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped) |
61.99 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (gzipped) |
29.13 KB |
@sentry/browser - ES6 CDN Bundle (gzipped) |
21.26 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed) |
195.53 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (minified & uncompressed) |
88.38 KB |
@sentry/browser - ES6 CDN Bundle (minified & uncompressed) |
63.34 KB |
@sentry/browser (incl. Tracing) - ES5 CDN Bundle (gzipped) |
31.85 KB |
@sentry/react (incl. Tracing, Replay) - Webpack (gzipped) |
65.84 KB |
@sentry/react - Webpack (gzipped) |
21.36 KB |
@sentry/nextjs Client (incl. Tracing, Replay) - Webpack (gzipped) |
82.58 KB |
@sentry/nextjs Client - Webpack (gzipped) |
48.15 KB |
@sentry-internal/feedback - Webpack (gzipped) |
16.08 KB |
7.80.2-alpha.1
No longer will prioritize the component names for replays, as this will break searching by CSS selector.
Bundle size π¦
Path |
Size |
@sentry/browser (incl. Tracing, Replay) - Webpack (gzipped) |
65.47 KB |
@sentry/browser (incl. Tracing, Replay) - Webpack with treeshaking flags (gzipped) |
55.68 KB |
@sentry/browser (incl. Tracing) - Webpack (gzipped) |
31.03 KB |
@sentry/browser - Webpack (gzipped) |
21.34 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped) |
62 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (gzipped) |
29.14 KB |
@sentry/browser - ES6 CDN Bundle (gzipped) |
21.29 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed) |
195.54 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (minified & uncompressed) |
88.43 KB |
@sentry/browser - ES6 CDN Bundle (minified & uncompressed) |
63.41 KB |
@sentry/browser (incl. Tracing) - ES5 CDN Bundle (gzipped) |
31.86 KB |
@sentry/react (incl. Tracing, Replay) - Webpack (gzipped) |
65.79 KB |
@sentry/react - Webpack (gzipped) |
21.39 KB |
@sentry/nextjs Client (incl. Tracing, Replay) - Webpack (gzipped) |
82.53 KB |
@sentry/nextjs Client - Webpack (gzipped) |
48.17 KB |
@sentry-internal/feedback - Webpack (gzipped) |
16.04 KB |
7.80.2-alpha.0
- feat(utils): Prioritize Component name attributes over HTML Tree String (#9496)
Bundle size π¦
Path |
Size |
@sentry/browser (incl. Tracing, Replay) - Webpack (gzipped) |
65.46 KB |
@sentry/browser (incl. Tracing, Replay) - Webpack with treeshaking flags (gzipped) |
55.68 KB |
@sentry/browser (incl. Tracing) - Webpack (gzipped) |
31.03 KB |
@sentry/browser - Webpack (gzipped) |
21.34 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped) |
62 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (gzipped) |
29.14 KB |
@sentry/browser - ES6 CDN Bundle (gzipped) |
21.29 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed) |
195.53 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (minified & uncompressed) |
88.43 KB |
@sentry/browser - ES6 CDN Bundle (minified & uncompressed) |
63.41 KB |
@sentry/browser (incl. Tracing) - ES5 CDN Bundle (gzipped) |
31.86 KB |
@sentry/react (incl. Tracing, Replay) - Webpack (gzipped) |
65.81 KB |
@sentry/react - Webpack (gzipped) |
21.39 KB |
@sentry/nextjs Client (incl. Tracing, Replay) - Webpack (gzipped) |
82.53 KB |
@sentry/nextjs Client - Webpack (gzipped) |
48.17 KB |
@sentry-internal/feedback - Webpack (gzipped) |
16.04 KB |
7.80.1
- fix(astro): Adjust Vite plugin config to upload server source maps (#9541)
- fix(nextjs): Add tracing extensions in all serverside wrappers (#9537)
- fix(nextjs): Fix serverside transaction names on Windows (#9526)
- fix(node): Fix tRPC middleware typing (#9540)
- fix(replay): Add additional safeguards for capturing network bodies (#9506)
- fix(tracing): Update prisma span to be
db.prisma
(#9512)
Bundle size π¦
Path |
Size |
@sentry/browser (incl. Tracing, Replay) - Webpack (gzipped) |
65.42 KB |
@sentry/browser (incl. Tracing, Replay) - Webpack with treeshaking flags (gzipped) |
55.63 KB |
@sentry/browser (incl. Tracing) - Webpack (gzipped) |
30.98 KB |
@sentry/browser - Webpack (gzipped) |
21.3 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped) |
61.95 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (gzipped) |
29.1 KB |
@sentry/browser - ES6 CDN Bundle (gzipped) |
21.24 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed) |
195.42 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (minified & uncompressed) |
88.32 KB |
@sentry/browser - ES6 CDN Bundle (minified & uncompressed) |
63.3 KB |
@sentry/browser (incl. Tracing) - ES5 CDN Bundle (gzipped) |
31.81 KB |
@sentry/react (incl. Tracing, Replay) - Webpack (gzipped) |
65.77 KB |
@sentry/react - Webpack (gzipped) |
21.34 KB |
@sentry/nextjs Client (incl. Tracing, Replay) - Webpack (gzipped) |
82.49 KB |
@sentry/nextjs Client - Webpack (gzipped) |
48.13 KB |
@sentry-internal/feedback - Webpack (gzipped) |
16 KB |
7.80.0
- feat(astro): Add distributed tracing via
<meta>
tags (#9483)
- feat(node): Capture internal server errors in trpc middleware (#9482)
- feat(remix): Export a type to use for
MetaFunction
parameters (#9493)
- fix(astro): Mark SDK package as Astro-external (#9509)
- ref(nextjs): Don't initialize Server SDK during build (#9503)
Bundle size π¦
Path |
Size |
@sentry/browser (incl. Tracing, Replay) - Webpack (gzipped) |
65.25 KB |
@sentry/browser (incl. Tracing, Replay) - Webpack with treeshaking flags (gzipped) |
55.49 KB |
@sentry/browser (incl. Tracing) - Webpack (gzipped) |
30.98 KB |
@sentry/browser - Webpack (gzipped) |
21.3 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped) |
61.83 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (gzipped) |
29.1 KB |
@sentry/browser - ES6 CDN Bundle (gzipped) |
21.24 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed) |
194.91 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (minified & uncompressed) |
88.32 KB |
@sentry/browser - ES6 CDN Bundle (minified & uncompressed) |
63.3 KB |
@sentry/browser (incl. Tracing) - ES5 CDN Bundle (gzipped) |
31.81 KB |
@sentry/react (incl. Tracing, Replay) - Webpack (gzipped) |
65.61 KB |
@sentry/react - Webpack (gzipped) |
21.34 KB |
@sentry/nextjs Client (incl. Tracing, Replay) - Webpack (gzipped) |
82.35 KB |
@sentry/nextjs Client - Webpack (gzipped) |
48.13 KB |
@sentry-internal/feedback - Webpack (gzipped) |
15.98 KB |
7.79.0
- feat(tracing): Add span
origin
to trace context (#9472)
- fix(deno): Emit .mjs files (#9485)
- fix(nextjs): Flush servercomponent events for edge (#9487)
Bundle size π¦
Path |
Size |
@sentry/browser (incl. Tracing, Replay) - Webpack (gzipped) |
65.24 KB |
@sentry/browser (incl. Tracing, Replay) - Webpack with treeshaking flags (gzipped) |
55.49 KB |
@sentry/browser (incl. Tracing) - Webpack (gzipped) |
30.98 KB |
@sentry/browser - Webpack (gzipped) |
21.3 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped) |
61.82 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (gzipped) |
29.09 KB |
@sentry/browser - ES6 CDN Bundle (gzipped) |
21.23 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed) |
194.89 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (minified & uncompressed) |
88.3 KB |
@sentry/browser - ES6 CDN Bundle (minified & uncompressed) |
63.28 KB |
@sentry/browser (incl. Tracing) - ES5 CDN Bundle (gzipped) |
31.8 KB |
@sentry/react (incl. Tracing, Replay) - Webpack (gzipped) |
65.61 KB |
@sentry/react - Webpack (gzipped) |
21.34 KB |
@sentry/nextjs Client (incl. Tracing, Replay) - Webpack (gzipped) |
82.34 KB |
@sentry/nextjs Client - Webpack (gzipped) |
48.12 KB |
@sentry-internal/feedback - Webpack (gzipped) |
15.81 KB |
7.78.0
Important Changes
- Replay Bundle Size improvements
We've dramatically decreased the bundle size of our Replay package, reducing the minified & gzipped bundle size by ~20 KB!
This was possible by extensive use of tree shaking and a host of small changes to reduce our footprint:
- feat(replay): Update rrweb to 2.2.0 (#9414)
- ref(replay): Use fflate instead of pako for compression (#9436)
By using tree shaking it is possible to shave off up to 10 additional KB of the bundle.
Other Changes
- feat(astro): Add Sentry middleware (#9445)
- feat(feedback): Add "outline focus" and "foreground hover" vars (#9462)
- feat(feedback): Add
openDialog
and closeDialog
onto integration interface (#9464)
- feat(feedback): Implement new user feedback embeddable widget (#9217)
- feat(nextjs): Add automatic sourcemapping for edge part of the SDK (#9454)
- feat(nextjs): Add client routing instrumentation for app router (#9446)
- feat(node-experimental): Add hapi tracing support (#9449)
- feat(replay): Allow to configure
beforeErrorSampling
(#9470)
- feat(replay): Stop fixing truncated JSONs in SDK (#9437)
- fix(nextjs): Fix sourcemaps resolving for local dev when basePath is set (#9457)
- fix(nextjs): Only inject basepath in dev mode (#9465)
- fix(replay): Ensure we stop for rate limit headers (#9420)
- ref(feedback): Add treeshaking for logger statements (#9475)
- ref(replay): Use rrweb for slow click detection (#9408)
- build(polyfills): Remove output format specific logic (#9467)
Bundle size π¦
Path |
Size |
@sentry/browser (incl. Tracing, Replay) - Webpack (gzipped) |
65.24 KB |
@sentry/browser (incl. Tracing, Replay) - Webpack with treeshaking flags (gzipped) |
55.48 KB |
@sentry/browser (incl. Tracing) - Webpack (gzipped) |
30.97 KB |
@sentry/browser - Webpack (gzipped) |
21.29 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped) |
61.82 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (gzipped) |
29.09 KB |
@sentry/browser - ES6 CDN Bundle (gzipped) |
21.23 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed) |
194.87 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (minified & uncompressed) |
88.28 KB |
@sentry/browser - ES6 CDN Bundle (minified & uncompressed) |
63.28 KB |
@sentry/browser (incl. Tracing) - ES5 CDN Bundle (gzipped) |
31.8 KB |
@sentry/react (incl. Tracing, Replay) - Webpack (gzipped) |
65.61 KB |
@sentry/react - Webpack (gzipped) |
21.34 KB |
@sentry/nextjs Client (incl. Tracing, Replay) - Webpack (gzipped) |
82.34 KB |
@sentry/nextjs Client - Webpack (gzipped) |
48.12 KB |
@sentry-internal/feedback - Webpack (gzipped) |
15.81 KB |
7.77.0
Security Fixes
Other Changes
- feat: Move LinkedErrors integration to @sentry/core (#9404)
- feat(remix): Update sentry-cli version to ^2.21.2 (#9401)
- feat(replay): Allow to treeshake & configure compression worker URL (#9409)
- fix(angular-ivy): Adjust package entry points to support Angular 17 with SSR config (#9412)
- fix(feedback): Fixing feedback import (#9403)
- fix(utils): Avoid keeping a reference of last used event (#9387)
Bundle size π¦
Path |
Size |
@sentry/browser (incl. Tracing, Replay) - Webpack (gzipped) |
77.46 KB |
@sentry/browser (incl. Tracing, Replay) - Webpack with treeshaking flags (gzipped) |
56.69 KB |
@sentry/browser (incl. Tracing) - Webpack (gzipped) |
30.97 KB |
@sentry/browser - Webpack (gzipped) |
21.29 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped) |
67.83 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (gzipped) |
29.09 KB |
@sentry/browser - ES6 CDN Bundle (gzipped) |
21.23 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed) |
216.89 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (minified & uncompressed) |
88.28 KB |
@sentry/browser - ES6 CDN Bundle (minified & uncompressed) |
63.28 KB |
@sentry/browser (incl. Tracing) - ES5 CDN Bundle (gzipped) |
31.8 KB |
@sentry/react (incl. Tracing, Replay) - Webpack (gzipped) |
77.84 KB |
@sentry/react - Webpack (gzipped) |
21.34 KB |
@sentry/nextjs Client (incl. Tracing, Replay) - Webpack (gzipped) |
94.18 KB |
@sentry/nextjs Client - Webpack (gzipped) |
47.86 KB |
7.76.0
Important Changes
- feat(core): Add cron monitor wrapper helper (#9395)
This release adds Sentry.withMonitor()
, a wrapping function that wraps a callback with a cron monitor that will automatically report completions and failures:
import * as Sentry from '@sentry/node';
// withMonitor() will send checkin when callback is started/finished
// works with async and sync callbacks.
const result = Sentry.withMonitor(
'dailyEmail',
() => {
// withMonitor return value is same return value here
return sendEmail();
},
// Optional upsert options
{
schedule: {
type: 'crontab',
value: '0 * * * *',
},
// π¨π¦π«‘
timezone: 'Canada/Eastern',
},
);
Other Changes
- chore(angular-ivy): Allow Angular 17 in peer dependencies (#9386)
- feat(nextjs): Instrument SSR page components (#9346)
- feat(nextjs): Trace errors in page component SSR (#9388)
- fix(nextjs): Instrument route handlers with
jsx
and tsx
file extensions (#9362)
- fix(nextjs): Trace with performance disabled (#9389)
- fix(replay): Ensure
replay_id
is not added to DSC if session expired (#9359)
- fix(replay): Remove unused parts of pako from build (#9369)
- fix(serverless): Don't mark all errors as unhandled (#9368)
- fix(tracing-internal): Fix case when middleware contain array of routes with special chars as @ (#9375)
- meta(nextjs): Bump peer deps for Next.js 14 (#9390)
Work in this release contributed by @LubomirIgonda1. Thank you for your contribution!
Bundle size π¦
Path |
Size |
@sentry/browser (incl. Tracing, Replay) - Webpack (gzipped) |
77.44 KB |
@sentry/browser (incl. Tracing, Replay) - Webpack with treeshaking flags (gzipped) |
66.48 KB |
@sentry/browser (incl. Tracing) - Webpack (gzipped) |
30.94 KB |
@sentry/browser - Webpack (gzipped) |
21.26 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped) |
67.66 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (gzipped) |
28.93 KB |
@sentry/browser - ES6 CDN Bundle (gzipped) |
21.09 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed) |
216.39 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (minified & uncompressed) |
87.77 KB |
@sentry/browser - ES6 CDN Bundle (minified & uncompressed) |
62.76 KB |
@sentry/browser (incl. Tracing) - ES5 CDN Bundle (gzipped) |
31.71 KB |
@sentry/react (incl. Tracing, Replay) - Webpack (gzipped) |
77.83 KB |
@sentry/react - Webpack (gzipped) |
21.29 KB |
@sentry/nextjs Client (incl. Tracing, Replay) - Webpack (gzipped) |
94.16 KB |
@sentry/nextjs Client - Webpack (gzipped) |
47.83 KB |
7.75.1
- feat(browser): Allow collecting of pageload profiles (#9317)
- fix(browser): Correct timestamp on pageload profiles (#9350)
- fix(nextjs): Use webpack plugin release value to inject release (#9348)
Bundle size π¦
Path |
Size |
@sentry/browser (incl. Tracing, Replay) - Webpack (gzipped) |
82.66 KB |
@sentry/browser (incl. Tracing, Replay) - Webpack with treeshaking flags (gzipped) |
71.77 KB |
@sentry/browser (incl. Tracing) - Webpack (gzipped) |
30.94 KB |
@sentry/browser - Webpack (gzipped) |
21.26 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped) |
73.03 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (gzipped) |
28.93 KB |
@sentry/browser - ES6 CDN Bundle (gzipped) |
21.09 KB |
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed) |
233.81 KB |
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (minified & uncompressed) |
87.77 KB |
@sentry/browser - ES6 CDN Bundle (minified & uncompressed) |
62.76 KB |
@sentry/browser (incl. Tracing) - ES5 CDN Bundle (gzipped) |
31.71 KB |
@sentry/react (incl. Tracing, Replay) - Webpack (gzipped) |
83.05 KB |
@sentry/react - Webpack (gzipped) |
21.29 KB |
@sentry/nextjs Client (incl. Tracing, Replay) - Webpack (gzipped) |
99.43 KB |
@sentry/nextjs Client - Webpack (gzipped) |
47.83 KB |