Important Changes
-
feat(cloudflare): Add trace propagation for RPC method calls (#20343)
Trace context is now propagated across Cloudflare Workers RPC calls, connecting traces between Workers and Durable Objects.
This feature is opt-in and requires settingenableRpcTracePropagation: truein your SDK configuration:// Worker export default Sentry.withSentry( env => ({ dsn: env.SENTRY_DSN, enableRpcTracePropagation: true, }), handler, ); // Durable Object export const MyDurableObject = Sentry.instrumentDurableObjectWithSentry( env => ({ dsn: env.SENTRY_DSN, enableRpcTracePropagation: true, }), MyDurableObjectBase, );
-
feat(hono)!: Change setup for
@sentry/hono/node(initin external file) (#20497)To improve Node.js instrumentation, the
sentry()middleware exported from@sentry/hono/nodeno longer accepts configuration options.
Instead, you must configure the SDK by callingSentry.init()in a dedicated instrumentation file that runs before your application code (read more in the Hono SDK readme:// instrument.mjs (or instrument.ts) import * as Sentry from '@sentry/hono/node'; Sentry.init({ dsn: '__DSN__', tracesSampleRate: 1.0, });
-
feat(nitro): Add
@sentry/nitroSDK (#19224)A new
@sentry/nitropackage provides first-class Sentry support for Nitro applications, with HTTP handler and error instrumentation, middleware tracing, request isolation, and build-time source map uploading viawithSentryConfig.
Read more in the Nitro SDK docs and the Nitro SDK readme.
Other Changes
- deps(minimatch): Upgrade patch version to use new
brace-expansionpeer-dep (#20198) - docs: Add deprecation notices to
binscripts (#20570) - feat(astro): Drop prerendered http.server filter via
ignoreSpans(#20513) - feat(aws-serverless): Validate extension tunnel DSN against
SENTRY_DSN(#20528) - feat(browser): Add
ingest_settingsto span v2 envelope payload (#20411) - feat(browser): Add support for streamed spans in
httpContextIntegration(#20464) - feat(core): Backfill otel attributes on streamed spans (#20439)
- feat(core): clear up integrations on dispose (#20407)
- feat(core): Instrument langgraph createReactAgent (#20344)
- feat(core): Support attribute matching in
ignoreSpans(#20512) - feat(feedback): allow error messages to be customized (#20474)
- feat(hono): Support middleware spans defined in app groups (#20465)
- feat(nextjs): Filter unwanted segments when span streaming is enabled (#20384)
- feat(nextjs): Migrate edge event processors to span-first APIs (#20551)
- feat(nextjs): Migrate server event processors to span-first APIs (#20527)
- feat(nextjs): Set global attribute for turbopack usage (#20558)
- feat(nitro): Nitro SDK (#19224)
- feat(react-router): Clean up bogus
*http.route attribute on segment spans (#20471) - feat(react-router): Drop low-quality transactions via
ignoreSpans(#20514) - feat(sveltekit): Support span streaming in
svelteKitSpansEnhancementintegration (#20496) - feat(tanstackstart-react): Add dynamic tunnel route helper and generator (#20264)
- fix: update prisma v7 spans descriptions (#20456)
- fix(core): Avoid parse-time SyntaxError on Safari <16.4 in postgresjs (#20498)
- fix(core): Ensure
isSentryRequesthandles subdomains properly (#20530) - fix(core): Ensure ip address headers are stripped when lower case (#20484)
- fix(core): Filter more cookie names for PII (#20485)
- fix(core): Use symbol for normalization checks (#20486)
- fix(hono): Distinguish
.use()middleware in sub-apps from.all()handlers (#20554) - fix(nextjs): Ensure we do not match tunnel endpoints too broadly (#20488)
- fix(opentelemetry): Add conditional browser export to avoid node deps (#20556)
- fix(replay): Avoid main-thread blocking in WorkerHandler under event bursts (#20548)
- fix(replay): Ensure
maskAttributesworks withmaskAllText=false(#20491) - fix(supabase): Consider
sendDefaultPiifor supabase integration (#20490)
Internal Changes
- chore: Add size limit reports on PRs for Cloudflare (#20055)
- chore: Update CODEOWNERS (#20559)
- chore(build): Opt-out of nx analytics (#20487)
- chore(ci): Automatically bump size limit every week (#20531)
- chore(ci): Bump pnpm/action-setup to v5 and pin to commit SHA (#20462)
- chore(ci): Do not report flaky test issues if we cannot find a test name (#20589)
- chore(ci): Streamline CI setup to split bundle, layer, tarball generation (#20396)
- chore(ci): Vendor nx-affected-list action, drop dkhunt27 dependency (#20463)
- chore(e2e): Add vue and vue-router to nuxt-4 canary build step to fix rollup resolution (#20519)
- chore(e2e): Remove @tanstack/start-plugin-core override (#20518)
- chore(size-limit): weekly auto-bump (#20572)
- chore(skill): Add skill for writing unit and E2E tests (#20561)
- chore(test): Reduce unneeded
idleTimeouttest config (#20467) - ci(size-bump): Fix path in size-limit auto-bump workflow (#20566)
- fix(e2e/tanstackstart-react): pin @tanstack/start-plugin-core to unblock CI (#20482)
- fix(tests): Remove nitro canary test job (#20473)
- ref(browser): Use
safeSetSpanJSONAttributesin cultureContext integration (#20481) - test(browser): Unflake some more tests (#20591)
- test(nextjs): Pin
eslint-config-nextpackage to major (#20552) - test(node): Fix flaky ANR test (#20592)
- test(node): Fix flaky worker thread integration test (#20588)
- test(node): Unflake postgres tests (#20593)
- test(node): Update timeout for cron integration tests (#20586)
- test(supabase): Stop supabase before initializing (#20563)
- test(tanstack): Prefix test labels (#20569)
Bundle size 📦
| Path | Size |
|---|---|
| @sentry/browser | 25.54 KB |
| @sentry/browser - with treeshaking flags | 24.06 KB |
| @sentry/browser (incl. Tracing) | 43.08 KB |
| @sentry/browser (incl. Tracing + Span Streaming) | 45.07 KB |
| @sentry/browser (incl. Tracing, Profiling) | 47.91 KB |
| @sentry/browser (incl. Tracing, Replay) | 81.5 KB |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 71.23 KB |
| @sentry/browser (incl. Tracing, Replay with Canvas) | 86.07 KB |
| @sentry/browser (incl. Tracing, Replay, Feedback) | 98.42 KB |
| @sentry/browser (incl. Feedback) | 42.38 KB |
| @sentry/browser (incl. sendFeedback) | 30.24 KB |
| @sentry/browser (incl. FeedbackAsync) | 35.3 KB |
| @sentry/browser (incl. Metrics) | 26.8 KB |
| @sentry/browser (incl. Logs) | 26.95 KB |
| @sentry/browser (incl. Metrics & Logs) | 27.62 KB |
| @sentry/react | 27.25 KB |
| @sentry/react (incl. Tracing) | 45.26 KB |
| @sentry/vue | 30.3 KB |
| @sentry/vue (incl. Tracing) | 44.87 KB |
| @sentry/svelte | 25.57 KB |
| CDN Bundle | 28.16 KB |
| CDN Bundle (incl. Tracing) | 45.61 KB |
| CDN Bundle (incl. Logs, Metrics) | 29.54 KB |
| CDN Bundle (incl. Tracing, Logs, Metrics) | 46.68 KB |
| CDN Bundle (incl. Replay, Logs, Metrics) | 67.71 KB |
| CDN Bundle (incl. Tracing, Replay) | 81.91 KB |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics) | 82.95 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) | 87.59 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) | 88.66 KB |
| CDN Bundle - uncompressed | 82.57 KB |
| CDN Bundle (incl. Tracing) - uncompressed | 136.41 KB |
| CDN Bundle (incl. Logs, Metrics) - uncompressed | 86.67 KB |
| CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed | 139.79 KB |
| CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed | 207.73 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed | 251.45 KB |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed | 254.82 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 264.83 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed | 268.18 KB |
| @sentry/nextjs (client) | 47.7 KB |
| @sentry/sveltekit (client) | 43.52 KB |
| @sentry/node-core | 57.57 KB |
| @sentry/node | 166.25 KB |
| @sentry/node - without tracing | 94.54 KB |
| @sentry/aws-serverless | 111 KB |
| @sentry/cloudflare (withSentry) - minified | 160.29 KB |
| @sentry/cloudflare (withSentry) | 405.47 KB |