Important Changes
-
feat(core,cloudflare,deno): Add
instrumentPostgresJsSqlinstrumentation (#19566)Added a new instrumentation helper for the
postgres(postgres.js) library, designed for
SDKs that are not based on OpenTelemetry (e.g. Cloudflare, Deno). This wraps a postgres.jssqltagged template instance so that
all queries automatically create Sentry spans.import postgres from 'postgres'; import * as Sentry from '@sentry/cloudflare'; // or '@sentry/deno' export default Sentry.withSentry(env => ({ dsn: '__DSN__' }), { async fetch(request, env, ctx) { const sql = Sentry.instrumentPostgresJsSql(postgres(env.DATABASE_URL)); // All queries now create Sentry spans const users = await sql`SELECT * FROM users WHERE id = ${userId}`; return Response.json(users); }, });
The instrumentation is available in
@sentry/core,@sentry/cloudflare, and@sentry/deno. -
feat(nextjs): Add Turbopack support for
thirdPartyErrorFilterIntegration(#19542)We added experimental support for the
thirdPartyErrorFilterIntegrationwith Turbopack builds.This feature requires Next.js 16+ and is currently behind an experimental flag:
// next.config.ts import { withSentryConfig } from '@sentry/nextjs'; export default withSentryConfig(nextConfig, { _experimental: { turbopackApplicationKey: 'my-app-key', }, });
Then configure the integration in your client instrumentation file with a matching key:
// instrumentation-client.ts import * as Sentry from '@sentry/nextjs'; Sentry.init({ integrations: [ Sentry.thirdPartyErrorFilterIntegration({ filterKeys: ['my-app-key'], behaviour: 'apply-tag-if-exclusively-contains-third-party-frames', }), ], });
Other Changes
- feat(core,cloudflare): Add dispose to the client for proper cleanup (#19506)
- feat(deps): Bump rxjs from 7.8.1 to 7.8.2 (#19545)
- feat(nextjs): Use
not: foreigncondition in turbopack loaders (#19502) - feat(react-router): Include middleware function names and indices (#19109)
- fix(consola): Normalize extra keys from consola (#19511)
- fix(core): Improve message truncation for multimodal content and normalize streaming span names (#19500)
- fix(core): Strip inline media from multimodal content before stringification (#19540)
- fix(deps): Bump transitive rollup deps to patch CVE-2026-27606 (#19565)
- fix(langchain): Use runName argument in handleChainStart to fix unknown_chain spans (#19554)
- fix(nestjs): Improve control flow exception filtering (#19524)
- fix(tanstackstart-react): Flush events in server entry point for serverless environments (#19513)
- fix(vue): Avoid triggering deprecated next callback from router instrumentation (#19476)
Internal Changes
- chore: Updating minimatch (#19434)
- chore(agents): Add
dotagents(#19526) - chore(agents): Add nested
AGENTS.mdfor browser (#19551) - chore(agents): Add nested
AGENTS.mdfor nextjs (#19556) - chore(agents): Consolidate SDK dev rules into
AGENTS.md(#19521) - chore(agents): Migrate repo-wide cursor rules to skills (#19549)
- chore(agents): Remove stale cursor commands (#19560)
- chore(ci): Validate alert id (#19499)
- chore(deps): Bump rollup to 4.59.0 to fix path traversal vulnerability (#19538)
- chore(lint): Remove junit report file (#19491)
- chore(svelte,sveltekit): Use version range for magic-string (#19520)
- chore(tanstackstart): Fix leftover formatting issue (#19536)
- test(consola): Restructure tests (#19517)
- test(node): Test runName parameter in handleChainStart for langchain (#19562)
Work in this release was contributed by @YevheniiKotyrlo. Thank you for your contribution!
Bundle size 📦
| Path | Size |
|---|---|
| @sentry/browser | 25.02 KB |
| @sentry/browser - with treeshaking flags | 23.57 KB |
| @sentry/browser (incl. Tracing) | 41.44 KB |
| @sentry/browser (incl. Tracing, Profiling) | 45.99 KB |
| @sentry/browser (incl. Tracing, Replay) | 79.35 KB |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 69.21 KB |
| @sentry/browser (incl. Tracing, Replay with Canvas) | 83.93 KB |
| @sentry/browser (incl. Tracing, Replay, Feedback) | 95.91 KB |
| @sentry/browser (incl. Feedback) | 41.44 KB |
| @sentry/browser (incl. sendFeedback) | 29.58 KB |
| @sentry/browser (incl. FeedbackAsync) | 34.52 KB |
| @sentry/browser (incl. Metrics) | 26.17 KB |
| @sentry/browser (incl. Logs) | 26.31 KB |
| @sentry/browser (incl. Metrics & Logs) | 26.96 KB |
| @sentry/react | 26.74 KB |
| @sentry/react (incl. Tracing) | 43.72 KB |
| @sentry/vue | 29.37 KB |
| @sentry/vue (incl. Tracing) | 43.26 KB |
| @sentry/svelte | 25.05 KB |
| CDN Bundle | 27.51 KB |
| CDN Bundle (incl. Tracing) | 42.25 KB |
| CDN Bundle (incl. Logs, Metrics) | 28.33 KB |
| CDN Bundle (incl. Tracing, Logs, Metrics) | 43.07 KB |
| CDN Bundle (incl. Replay, Logs, Metrics) | 66.49 KB |
| CDN Bundle (incl. Tracing, Replay) | 78.26 KB |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics) | 79.1 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) | 83.65 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) | 84.5 KB |
| CDN Bundle - uncompressed | 80.42 KB |
| CDN Bundle (incl. Tracing) - uncompressed | 125.07 KB |
| CDN Bundle (incl. Logs, Metrics) - uncompressed | 83.19 KB |
| CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed | 127.83 KB |
| CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed | 203.96 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed | 239.21 KB |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed | 241.96 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 251.82 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed | 254.56 KB |
| @sentry/nextjs (client) | 46.08 KB |
| @sentry/sveltekit (client) | 41.89 KB |
| @sentry/node-core | 51.01 KB |
| @sentry/node | 170.59 KB |
| @sentry/node - without tracing | 95.1 KB |
| @sentry/aws-serverless | 110.53 KB |