Important Changes
-
feat(nextjs): Add
@sentry/nextjs/cloudflare(#24998)The new
@sentry/nextjs/cloudflareentry point exportswithSentryfor the Worker entry of a Next.js app on Cloudflare Workers, for example.open-next/worker.jsof OpenNext. It iswithSentryof@sentry/cloudflarewith the Next.js server handling added, so a Next.js app on Workers gets the same spans as on Node.js.import * as Sentry from '@sentry/nextjs/cloudflare'; import handler from './.open-next/worker.js'; export default Sentry.withSentry( env => ({ dsn: env.SENTRY_DSN, tracesSampleRate: 1.0, }), handler, );
-
feat(server-utils): Add instrumentation for pi-durable (#24993)
The new
piDurableIntegrationtraces agents built with pi-durable: each run, with its model requests and tool calls. -
fix(core): Correct sleep clock drift on telemetry timestamps (#23054)
When a device sleeps, the
performance.now()clock of the browser stops. Before this change, timestamps of spans and other telemetry recorded after the sleep could be too early. The SDK now detects this drift and corrects its time origin, also for spans created from performance entries. Span end times are now computed from theperformance.now()duration since the span start, like in OpenTelemetry (#24903).
Other Changes
- feat(cloudflare): Skip spans for the pi_ tables of PiHarness (#25028)
- feat(remix): Propagate the server trace to Remix 3 page loads (#25145)
- feat(server-utils): Map Mastra classifier evaluations to gen_ai.evaluate spans (#25044)
- feat(server-utils): Record LangChain TypeSafeClassifier runs as gen_ai.evaluate spans (#25120)
- fix(browser): Check for clock drift on page lifecycle events (#25091)
- fix(core): Exclude attachments from internal exception events (#25160)
- fix(effect): Convert Effect span times to the Sentry clock (#24972)
- fix(effect): Detect HTTP spans named after the request method (#25159)
- fix(node): Register Vercel keep-alive listeners once (#25146)
- fix(replay): Place CLS and INP web vitals at the right time (#24990)
- fix(server-utils): Record LangGraph span I/O for non-MessagesAnnotation state (#23315)
- fix(sveltekit): Upload source maps with SvelteKit 3 (#25139)
Internal Changes
- chore: Add external contributor to CHANGELOG.md (#25136)
- chore(deps-dev): Bump next from 15.5.24 to 15.5.27 (#25171)
- chore(nitro): Remove stale bundler-plugin-core rollup external (#25149)
- feat(cloudflare): Wrap vinext Worker entries with
@sentry/nextjs/cloudflare(#25000) - feat(deps): Bump next from 16.2.11 to 16.3.8 in /dev-packages/e2e-tests/test-applications/nextjs-sourcemaps (#25170)
- fix(deps): Bump @graphql-tools/utils to 12.0.3 (#25162)
- ref(eslint-plugin-sdk): Improve
no-unsafe-random-apisrule (#25123) - test(cloudflare): Port the remaining static suites to span streaming (#25112)
- test(cloudflare): Widen the wrangler readiness retry window in integration tests (#24925)
- test(e2e): Add a cloudflare-pi-durable end-to-end application (#25022)
- test(e2e): Add a node-pi-durable end-to-end application (#24994)
- test(e2e): Add Mastra Jev classifier test to node-mastra (#25115)
- test(e2e): Wait for the soft navigation entry before hiding the page (#25127)
- test(nextjs): Run nextjs-16 on Bun, Deno and Cloudflare (#24999)
- test(node): Add streamed span collection helpers (#25131)
- test(node): Cover Jev calls inside createAgent and LangGraph (#25132)
- test(node): Port AMQP integration tests to span streaming (#25158)
- test(node): Port Anthropic integration tests to span streaming (#25082)
- test(node): Port Bedrock tests to span streaming (#25086)
- test(node): Port Google GenAI tests to span streaming (#25083)
- test(node): Port Knex integration tests to span streaming (#25154)
- test(node): Port LangChain tests to span streaming (#25084)
- test(node): Port LangGraph tests to span streaming (#25085)
- test(node): Port Mastra tests to span streaming (#25087)
- test(node): Port MySQL integration tests to span streaming (#25148)
- test(node): Port OpenAI integration tests to span streaming (#25081)
- test(node): Port pool and DataLoader integration tests to span streaming (#25156)
- test(node): Port Tedious integration tests to span streaming (#25155)
- test(node): Port Vercel AI v5-v7 tests to span streaming (#25090)
Work in this release was contributed by @zkasuran. Thank you for your contribution!
Bundle size 📦
| Path | Size |
|---|---|
| @sentry/browser | 29.1 KB |
| @sentry/browser - with treeshaking flags | 27.27 KB |
| @sentry/browser - with treeshaking flags tracing without tracing | 27.18 KB |
| @sentry/browser (incl. Tracing) | 50.64 KB |
| @sentry/browser (incl. Tracing + Span Streaming) | 50.66 KB |
| @sentry/browser (incl. Tracing, Profiling) | 53.52 KB |
| @sentry/browser (incl. Tracing, Replay) | 89.44 KB |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 78.56 KB |
| @sentry/browser (incl. Tracing, Replay with Canvas) | 94.04 KB |
| @sentry/browser (incl. Tracing, Replay, Feedback) | 106.71 KB |
| @sentry/browser (incl. Feedback) | 46.21 KB |
| @sentry/browser (incl. sendFeedback) | 34.02 KB |
| @sentry/browser (incl. FeedbackAsync) | 39.02 KB |
| @sentry/browser (incl. Metrics) | 30.1 KB |
| @sentry/browser (incl. Logs) | 30.38 KB |
| @sentry/browser (incl. Metrics & Logs) | 31 KB |
| @sentry/react | 30.89 KB |
| @sentry/react (incl. Tracing) | 52.9 KB |
| @sentry/vue | 36.95 KB |
| @sentry/vue (incl. Tracing) | 53.49 KB |
| @sentry/svelte | 29.13 KB |
| @sentry/remix (Remix 3 client bundle) | 55.5 KB |
| CDN Bundle | 30.79 KB |
| CDN Bundle (incl. Tracing) | 51.12 KB |
| CDN Bundle (incl. Logs, Metrics) | 32.93 KB |
| CDN Bundle (incl. Tracing, Logs, Metrics) | 53.03 KB |
| CDN Bundle (incl. Replay, Logs, Metrics) | 72.9 KB |
| CDN Bundle (incl. Tracing, Replay) | 87.9 KB |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics) | 89.81 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) | 93.92 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) | 95.85 KB |
| CDN Bundle - uncompressed | 90.74 KB |
| CDN Bundle (incl. Tracing) - uncompressed | 151.82 KB |
| CDN Bundle (incl. Logs, Metrics) - uncompressed | 97.13 KB |
| CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed | 157.63 KB |
| CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed | 224.12 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed | 269.17 KB |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed | 274.97 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 282.55 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed | 288.34 KB |
| @sentry/nextjs (client) | 55.21 KB |
| @sentry/sveltekit (client) | 51.01 KB |
| @sentry/core/server | 39.9 KB |
| @sentry/core/browser | 13.39 KB |
| @sentry/node | 147.31 KB |
| @sentry/node/import (ESM hook with diagnostics-channel injection) | 81.61 KB |
| @sentry/node - without tracing | 91.77 KB |
| @sentry/node - without channel injection | 125.96 KB |
| @sentry/aws-serverless | 99.75 KB |
| @sentry/cloudflare (withSentry) - minified | 204.89 KB |
| @sentry/cloudflare (withSentry) | 508.03 KB |
| @sentry/nextjs/cloudflare (withSentry) - minified | 222.15 KB |