v10.40.0
Important Changes
-
feat(tanstackstart-react): Add global sentry exception middlewares (#19330)
The
sentryGlobalRequestMiddlewareandsentryGlobalFunctionMiddlewareglobal middlewares capture unhandled exceptions thrown in TanStack Start API routes and server functions. Add them as the first entries in therequestMiddlewareandfunctionMiddlewarearrays ofcreateStart():import { createStart } from '@tanstack/react-start/server'; import { sentryGlobalRequestMiddleware, sentryGlobalFunctionMiddleware } from '@sentry/tanstackstart-react'; export default createStart({ requestMiddleware: [sentryGlobalRequestMiddleware, myRequestMiddleware], functionMiddleware: [sentryGlobalFunctionMiddleware, myFunctionMiddleware], }); -
feat(tanstackstart-react)!: Export Vite plugin from
@sentry/tanstackstart-react/vitesubpath (#19182)The
sentryTanstackStartVite plugin is now exported from a dedicated subpath. Update your import:- import { sentryTanstackStart } from '@sentry/tanstackstart-react'; + import { sentryTanstackStart } from '@sentry/tanstackstart-react/vite'; -
fix(node-core): Reduce bundle size by removing apm-js-collab and requiring pino >= 9.10 (#18631)
In order to keep receiving pino logs, you need to update your pino version to >= 9.10, the reason for the support bump is to reduce the bundle size of the node-core SDK in frameworks that cannot tree-shake the apm-js-collab dependency.
-
fix(browser): Ensure user id is consistently added to sessions (#19341)
Previously, the SDK inconsistently set the user id on sessions, meaning sessions were often lacking proper coupling to the user set for example via
Sentry.setUser(). Additionally, the SDK incorrectly skipped starting a new session for the first soft navigation after the pageload. This patch fixes these issues. As a result, metrics around sessions, like "Crash Free Sessions" or "Crash Free Users" might change. This could also trigger alerts, depending on your set thresholds and conditions. We apologize for any inconvenience caused!While we're at it, if you're using Sentry in a Single Page App or meta framework, you might want to give the new
'page'session lifecycle a try! This new mode no longer creates a session per soft navigation but continues the initial session until the next hard page refresh. Check out the docs to learn more! -
ref!(gatsby): Drop Gatsby v2 support (#19467)
We drop support for Gatsby v2 (which still relies on webpack 4) for a critical security update in https://github.com/getsentry/sentry-javascript-bundler-plugins/releases/tag/5.0.0
Other Changes
- feat(astro): Add support for Astro on CF Workers (#19265)
- feat(cloudflare): Instrument async KV API (#19404)
- feat(core): Add framework-agnostic tunnel handler (#18892)
- feat(deno): Export logs API from Deno SDK (#19313)
- feat(deno): Export metrics API from Deno SDK (#19305)
- feat(deno): instrument Deno.serve with async context support (#19230)
- feat(deps): bump babel-loader from 8.2.5 to 10.0.0 (#19303)
- feat(deps): bump body-parser from 1.20.4 to 2.2.2 (#19191)
- feat(deps): Bump hono from 4.11.7 to 4.11.10 (#19440)
- feat(deps): bump qs from 6.14.1 to 6.14.2 (#19310)
- feat(deps): bump the opentelemetry group with 4 updates (#19425)
- feat(feedback): Add
setTheme()to dynamically update feedback widget color scheme (#19430) - feat(nextjs): Add
sourcemaps.filesToDeleteAfterUploadas a top-level option (#19280) - feat(node): Add
ignoreConnectSpansoption topostgresIntegration(#19291) - feat(node): Bump to latest @fastify/otel (#19452)
- fix: Bump bundler plugins to v5 (#19468)
- fix: updated the codecov config (#19350)
- fix(aws-serverless): Prevent crash in
isPromiseAllSettledResultwith null/undefined array elements (#19346) - fix(bun) Export pinoIntegration from @sentry/node (#17990)
- fix(core,browser): Delete SentryNonRecordingSpan from fetch/xhr map (#19336)
- fix(core): Explicitly flush log buffer in
client.close()(#19371) - fix(core): Langgraph state graph invoke accepts null to resume (#19374)
- fix(core): Wrap decodeURI in node stack trace parser to handle malformed URIs (#19400)
- fix(deps): Bump nuxt devDependency to fix CVE-2026-24001 (#19249)
- fix(deps): Bump to latest version of each minimatch major (#19486)
- fix(nextjs): Apply environment from
optionsif set (#19274) - fix(nextjs): Don't set
sentry.drop_transactionattribute on spans whenskipOpenTelemetrySetupis enabled (#19333) - fix(nextjs): Normalize trailing slashes in App Router route parameterization (#19365)
- fix(nextjs): Return correct lastEventId for SSR pages (#19240)
- fix(nextjs): Set parameterized transaction name for non-transaction events (#19316)
- fix(node-core): Align pino mechanism type with spec conventions (#19363)
- fix(nuxt): Use
options.rootDirinstead ofoptions.srcDir(#19343)
Work in this release was contributed by @LudvigHz and @jadengis. Thank you for your contributions!
Bundle size 📦
| Path | Size |
|---|---|
| @sentry/browser | 25.02 KB |
| @sentry/browser - with treeshaking flags | 23.56 KB |
| @sentry/browser (incl. Tracing) | 41.43 KB |
| @sentry/browser (incl. Tracing, Profiling) | 45.98 KB |
| @sentry/browser (incl. Tracing, Replay) | 79.34 KB |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 69.2 KB |
| @sentry/browser (incl. Tracing, Replay with Canvas) | 83.92 KB |
| @sentry/browser (incl. Tracing, Replay, Feedback) | 95.9 KB |
| @sentry/browser (incl. Feedback) | 41.43 KB |
| @sentry/browser (incl. sendFeedback) | 29.58 KB |
| @sentry/browser (incl. FeedbackAsync) | 34.51 KB |
| @sentry/browser (incl. Metrics) | 26.16 KB |
| @sentry/browser (incl. Logs) | 26.3 KB |
| @sentry/browser (incl. Metrics & Logs) | 26.96 KB |
| @sentry/react | 26.73 KB |
| @sentry/react (incl. Tracing) | 43.71 KB |
| @sentry/vue | 29.36 KB |
| @sentry/vue (incl. Tracing) | 43.23 KB |
| @sentry/svelte | 25.04 KB |
| CDN Bundle | 27.5 KB |
| CDN Bundle (incl. Tracing) | 42.24 KB |
| CDN Bundle (incl. Logs, Metrics) | 28.32 KB |
| CDN Bundle (incl. Tracing, Logs, Metrics) | 43.06 KB |
| CDN Bundle (incl. Replay, Logs, Metrics) | 66.49 KB |
| CDN Bundle (incl. Tracing, Replay) | 78.25 KB |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics) | 79.1 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) | 83.64 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) | 84.5 KB |
| CDN Bundle - uncompressed | 80.41 KB |
| CDN Bundle (incl. Tracing) - uncompressed | 125.06 KB |
| CDN Bundle (incl. Logs, Metrics) - uncompressed | 83.18 KB |
| CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed | 127.82 KB |
| CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed | 203.94 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed | 239.2 KB |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed | 241.95 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 251.81 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed | 254.55 KB |
| @sentry/nextjs (client) | 46.07 KB |
| @sentry/sveltekit (client) | 41.88 KB |
| @sentry/node-core | 50.95 KB |
| @sentry/node | 169.38 KB |
| @sentry/node - without tracing | 95.04 KB |
| @sentry/aws-serverless | 110.47 KB |
Fetched March 26, 2026

