Releases: getsentry/sentry-javascript
10.38.0
Important Changes
- feat(tanstackstart-react): Auto-instrument request middleware (#18989)
The sentryTanstackStart Vite plugin now automatically instruments middleware arrays in createFileRoute(). This captures performance data without requiring manual wrapping with wrapMiddlewaresWithSentry().
Other Changes
- feat: Use v4.8.0 bundler plugins (#18993)
- feat(browser): Add
logs.metricsbundle (#19020) - feat(browser): Add
replay.logs.metricsbundle (#19021) - feat(browser): Add
tracing.replay.logs.metricsbundle (#19039) - feat(deps): bump import-in-the-middle from 2.0.1 to 2.0.6 (#19042)
- feat(node): Add AI manual instrumentation exports to Node (#19063)
- feat(wasm): initialised sentryWasmImages for webworkers (#18812)
- fix(core): Classify custom
AggregateErrors as exception groups (#19053) - fix(nextjs): Turn off debugID injection if sourcemaps are explicitly disabled (#19010)
- fix(react): Avoid
String(key)to fix Symbol conversion error (#18982) - fix(react): Prevent lazy route handlers from updating wrong navigation span (#18898)
Internal Changes
- feat(deps-dev): bump @types/rsvp from 4.0.4 to 4.0.9 ([#19038](https://github.com//pull/19038)) - ci(build): Run full test suite on new bundle with logs+metrics ([#19065](https://github.com//pull/19065)) - ci(deps): bump actions/create-github-app-token from 1 to 2 ([#19028](https://github.com//pull/19028)) - ci(deps): bump peter-evans/create-pull-request from 8.0.0 to 8.1.0 ([#19029](https://github.com//pull/19029)) - chore: Add external contributor to CHANGELOG.md ([#19005](https://github.com//pull/19005)) - chore(aws-serverless): Fix local cache issues ([#19081](https://github.com//pull/19081)) - chore(dependabot): Allow all packages to update ([#19024](https://github.com//pull/19024)) - chore(dependabot): Update ignore patterns and add more groups ([#19037](https://github.com//pull/19037)) - chore(dependabot): Update ignore patterns and add more groups ([#19043](https://github.com//pull/19043)) - chore(deps-dev): bump @edge-runtime/types from 3.0.1 to 4.0.0 ([#19032](https://github.com//pull/19032)) - chore(deps-dev): bump @vercel/nft from 0.29.4 to 1.3.0 ([#19030](https://github.com//pull/19030)) - chore(deps): bump @actions/artifact from 2.1.11 to 5.0.3 ([#19031](https://github.com//pull/19031)) - chore(deps): bump hono from 4.11.4 to 4.11.7 in /dev-packages/e2e-tests/test-applications/cloudflare-hono ([#19009](https://github.com//pull/19009)) - chore(deps): bump next from 16.0.9 to 16.1.5 in /dev-packages/e2e-tests/test-applications/nextjs-16-cacheComponents ([#19012](https://github.com//pull/19012)) - chore(deps): Bump trpc v11 dependency in e2e test ([#19061](https://github.com//pull/19061)) - chore(deps): Bump wrangler to 4.61.0 ([#19023](https://github.com//pull/19023)) - chore(deps): Upgrade @remix-run deps to 2.17.4 ([#19040](https://github.com//pull/19040)) - chore(deps): Upgrade `next` versions 15 and 16 ([#19057](https://github.com//pull/19057)) - chore(deps): Upgrade Lerna to v8 ([#19050](https://github.com//pull/19050)) - chore(deps): Upgrade next to 14.2.35 ([#19055](https://github.com//pull/19055)) - chore(deps): Upgrade react-router, @react-router/node, @react-router/serve, @react-router/dev to 7.13.0 ([#19026](https://github.com//pull/19026)) - chore(llm): Add claude skill + cursor command for adding new cdn bundles ([#19048](https://github.com//pull/19048)) - chore(llm): Ignore local Claude settings ([#18893](https://github.com//pull/18893)) - chore(react): Update react-router-5 dev dependency to another than 5.0.0 ([#19047](https://github.com//pull/19047)) - chore(release): Add generate-changelog script ([#18999](https://github.com//pull/18999)) - chore(remix): Upgrade @remix-run/router to ^1.23.2 ([#19045](https://github.com//pull/19045)) - chore(solidstart): Bump peer dependencies of @solidjs/start ([#19051](https://github.com//pull/19051)) - chore(solidstart): Upgrade Vinxi to update h3 peer dependency ([#19018](https://github.com//pull/19018)) - chore(tests): Reject messages from unknown origins in integration tests ([#19016](https://github.com//pull/19016))Work in this release was contributed by @harshit078. Thank you for your contribution!
Bundle size π¦
| Path | Size |
|---|---|
| @sentry/browser | 24.73 KB |
| @sentry/browser - with treeshaking flags | 23.27 KB |
| @sentry/browser (incl. Tracing) | 41.16 KB |
| @sentry/browser (incl. Tracing, Profiling) | 45.69 KB |
| @sentry/browser (incl. Tracing, Replay) | 78.87 KB |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 68.76 KB |
| @sentry/browser (incl. Tracing, Replay with Canvas) | 83.46 KB |
| @sentry/browser (incl. Tracing, Replay, Feedback) | 95.37 KB |
| @sentry/browser (incl. Feedback) | 41.06 KB |
| @sentry/browser (incl. sendFeedback) | 29.31 KB |
| @sentry/browser (incl. FeedbackAsync) | 34.19 KB |
| @sentry/browser (incl. Metrics) | 25.81 KB |
| @sentry/browser (incl. Logs) | 25.96 KB |
| @sentry/browser (incl. Metrics & Logs) | 26.61 KB |
| @sentry/react | 26.42 KB |
| @sentry/react (incl. Tracing) | 43.34 KB |
| @sentry/vue | 29.07 KB |
| @sentry/vue (incl. Tracing) | 42.91 KB |
| @sentry/svelte | 24.75 KB |
| CDN Bundle | 27.25 KB |
| CDN Bundle (incl. Tracing) | 41.93 KB |
| CDN Bundle (incl. Logs, Metrics) | 28.07 KB |
| CDN Bundle (incl. Tracing, Logs, Metrics) | 42.73 KB |
| CDN Bundle (incl. Replay, Logs, Metrics) | 66.09 KB |
| CDN Bundle (incl. Tracing, Replay) | 77.8 KB |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics) | 78.65 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) | 83.13 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) | 84.03 KB |
| CDN Bundle - uncompressed | 79.7 KB |
| CDN Bundle (incl. Tracing) - uncompressed | 124.17 KB |
| CDN Bundle (incl. Logs, Metrics) - uncompressed | 82.47 KB |
| CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed | 126.94 KB |
| CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed | 202.96 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed | 238.04 KB |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed | 240.8 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 250.54 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed | 253.29 KB |
| @sentry/nextjs (client) | 45.63 KB |
| @sentry/sveltekit (client) | 41.52 KB |
| @sentry/node-core | 50.85 KB |
| @sentry/node | 162.19 KB |
| @sentry/node - without tracing | 91.64 KB |
| @sentry/aws-serverless | 106.79 KB |
10.37.0
Important Changes
-
feat(core): Introduces a new
Sentry.setConversationId()API to track multi turn AI conversations across API calls. (#18909)You can now set a conversation ID that will be automatically applied to spans within that scope. This allows you to link traces from the same conversation together.
import * as Sentry from '@sentry/node'; // Set conversation ID for all subsequent spans Sentry.setConversationId('conv_abc123'); // All AI spans will now include the gen_ai.conversation.id attribute await openai.chat.completions.create({...});
This is particularly useful for tracking multiple AI API calls that are part of the same conversation, allowing you to analyze entire conversation flows in Sentry.
The conversation ID is stored on the isolation scope and automatically applied to spans via the newconversationIdIntegration. -
feat(tanstackstart-react): Auto-instrument global middleware in
sentryTanstackStartVite plugin (#18844)The
sentryTanstackStartVite plugin now automatically instrumentsrequestMiddlewareandfunctionMiddlewarearrays increateStart(). This captures performance data without requiring manual wrapping.Auto-instrumentation is enabled by default. To disable it:
// vite.config.ts sentryTanstackStart({ authToken: process.env.SENTRY_AUTH_TOKEN, org: 'your-org', project: 'your-project', autoInstrumentMiddleware: false, });
Other Changes
- feat(core): simplify truncation logic to only keep the newest message (#18906)
- feat(core): Support new client discard reason
invalid(#18901) - feat(deps): Bump OpenTelemetry instrumentations (#18934)
- feat(nextjs): Update default ignore list for sourcemaps (#18938)
- feat(node): pass prisma instrumentation options through (#18900)
- feat(nuxt): Don't run source maps related code on Nuxt "prepare" (#18936)
- feat(replay): Update client report discard reason for invalid sessions (#18796)
- feat(winston): Add customLevelMap for winston transport (#18922)
- feat(react-router): Add support for React Router instrumentation API (#18580)
- fix(astro): Do not show warnings for valid options (#18947)
- fix(core): Report well known values in gen_ai.operation.name attribute (#18925)
- fix(node-core): ignore vercel
AbortErrorby default on unhandled rejection (#18973) - fix(nuxt): include sentry.config.server.ts in nuxt app types (#18971)
- fix(profiling): Add
platformto envelope item header (#18954) - fix(react): Defer React Router span finalization until lazy routes load (#18881)
- ref(core): rename
gen_ai.input.messages.original_lengthtosentry.sdk_meta.gen_ai.input.messages.original_length(#18970) - ref(core): rename
gen_ai.request.messagestogen_ai.input.messages(#18944) - ref(core): Set system message as separate attribute (#18978)
- deps: Bump version of sentry-bundler-plugins (#18972)
Internal Changes
- chore(e2e): Add e2e claude skill (#18957)
- chore(e2e): Add Makefile to make running specific e2e test apps easier (#18953)
- chore(e2e): Modify e2e skill to also account for untracked files (#18959)
- ref(tests): use constants in ai integration tests and add missing ones (#18945)
- test(nextjs): Added nextjs CF workers test app (#18928)
- test(prisma): Move to yarn prisma (#18975)
Work in this release was contributed by @sebws, @harshit078, and @fedetorre. Thank you for your contributions!
Bundle size π¦
| Path | Size |
|---|---|
| @sentry/browser | 24.73 KB |
| @sentry/browser - with treeshaking flags | 23.27 KB |
| @sentry/browser (incl. Tracing) | 41.15 KB |
| @sentry/browser (incl. Tracing, Profiling) | 45.68 KB |
| @sentry/browser (incl. Tracing, Replay) | 78.86 KB |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 68.75 KB |
| @sentry/browser (incl. Tracing, Replay with Canvas) | 83.46 KB |
| @sentry/browser (incl. Tracing, Replay, Feedback) | 95.36 KB |
| @sentry/browser (incl. Feedback) | 41.06 KB |
| @sentry/browser (incl. sendFeedback) | 29.31 KB |
| @sentry/browser (incl. FeedbackAsync) | 34.19 KB |
| @sentry/browser (incl. Metrics) | 25.81 KB |
| @sentry/browser (incl. Logs) | 25.95 KB |
| @sentry/browser (incl. Metrics & Logs) | 26.6 KB |
| @sentry/react | 26.42 KB |
| @sentry/react (incl. Tracing) | 43.33 KB |
| @sentry/vue | 29.07 KB |
| @sentry/vue (incl. Tracing) | 42.9 KB |
| @sentry/svelte | 24.74 KB |
| CDN Bundle | 27.24 KB |
| CDN Bundle (incl. Tracing) | 41.93 KB |
| CDN Bundle (incl. Tracing, Logs, Metrics) | 42.73 KB |
| CDN Bundle (incl. Tracing, Replay) | 77.82 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) | 83.12 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) | 84.01 KB |
| CDN Bundle - uncompressed | 79.69 KB |
| CDN Bundle (incl. Tracing) - uncompressed | 124.16 KB |
| CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed | 126.93 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed | 238.03 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 250.53 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed | 253.28 KB |
| @sentry/nextjs (client) | 45.63 KB |
| @sentry/sveltekit (client) | 41.51 KB |
| @sentry/node-core | 50.8 KB |
| @sentry/node | 162.16 KB |
| @sentry/node - without tracing | 91.59 KB |
| @sentry/aws-serverless | 106.74 KB |
10.36.0
- feat(node): Add Prisma v7 support (#18908)
- feat(opentelemetry): Support
db.system.nameattribute for database spans (#18902) - feat(deps): Bump OpenTelemetry dependencies (#18878)
- fix(core): Sanitize data URLs in
http.clientspans (#18896) - fix(nextjs): Add ALS runner fallbacks for serverless environments (#18889)
- fix(node): Profiling debug ID matching (#18817)
Internal Changes
- chore(deps-dev): bump @remix-run/server-runtime from 2.15.2 to 2.17.3 in /packages/remix (#18750)
Bundle size π¦
| Path | Size |
|---|---|
| @sentry/browser | 24.61 KB |
| @sentry/browser - with treeshaking flags | 23.15 KB |
| @sentry/browser (incl. Tracing) | 41.04 KB |
| @sentry/browser (incl. Tracing, Profiling) | 45.56 KB |
| @sentry/browser (incl. Tracing, Replay) | 78.74 KB |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 68.63 KB |
| @sentry/browser (incl. Tracing, Replay with Canvas) | 83.32 KB |
| @sentry/browser (incl. Tracing, Replay, Feedback) | 95.24 KB |
| @sentry/browser (incl. Feedback) | 40.94 KB |
| @sentry/browser (incl. sendFeedback) | 29.19 KB |
| @sentry/browser (incl. FeedbackAsync) | 34.07 KB |
| @sentry/browser (incl. Metrics) | 25.69 KB |
| @sentry/browser (incl. Logs) | 25.84 KB |
| @sentry/browser (incl. Metrics & Logs) | 26.48 KB |
| @sentry/react | 26.3 KB |
| @sentry/react (incl. Tracing) | 43.22 KB |
| @sentry/vue | 28.95 KB |
| @sentry/vue (incl. Tracing) | 42.79 KB |
| @sentry/svelte | 24.63 KB |
| CDN Bundle | 27.13 KB |
| CDN Bundle (incl. Tracing) | 41.83 KB |
| CDN Bundle (incl. Tracing, Logs, Metrics) | 42.63 KB |
| CDN Bundle (incl. Tracing, Replay) | 77.67 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) | 82.98 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) | 83.87 KB |
| CDN Bundle - uncompressed | 79.36 KB |
| CDN Bundle (incl. Tracing) - uncompressed | 123.84 KB |
| CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed | 126.61 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed | 237.64 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 250.14 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed | 252.89 KB |
| @sentry/nextjs (client) | 45.53 KB |
| @sentry/sveltekit (client) | 41.4 KB |
| @sentry/node-core | 50.68 KB |
| @sentry/node | 161.54 KB |
| @sentry/node - without tracing | 91.46 KB |
| @sentry/aws-serverless | 106.6 KB |
10.35.0
Important Changes
-
feat(tanstackstart-react): Add
sentryTanstackStartvite plugin to manage automatic source map uploads (#18712)You can now configure source maps upload for TanStack Start using the
sentryTanstackStartVite plugin:// vite.config.ts import { defineConfig } from 'vite'; import { sentryTanstackStart } from '@sentry/tanstackstart-react'; import { tanstackStart } from '@tanstack/react-start/plugin/vite'; export default defineConfig({ plugins: [ sentryTanstackStart({ authToken: process.env.SENTRY_AUTH_TOKEN, org: 'your-org', project: 'your-project', }), tanstackStart(), ], });
Other Changes
- feat(browser): Add CDN bundle for
tracing.replay.feedback.logs.metrics(#18785) - feat(browser): Add shim package for logs (#18831)
- feat(cloudflare): Automatically set the release id when CF_VERSION_METADATA is enabled (#18855)
- feat(core): Add
ignoredclient report event drop reason (#18815) - feat(logs): Add
Logexports to browser and node packages (#18857) - feat(node-core,bun): Export processSessionIntegration from node-core and add it to bun (#18852)
- fix(core): Find the correct IP address regardless their case (#18880)
- fix(core): Check for AI operation id to detect a vercelai span (#18823)
- fix(ember): Use ES5 syntax in inline vendor scripts (#18858)
- fix(fetch): Shallow-clone fetch options to prevent mutation (#18867)
Internal Changes
- chore(ci): Use javascript-sdk-gitflow app instead of personal token (#18829)
- chore(deps): Bump
@sveltejs/kitdevDependency to2.49.5(#18848) - chore(deps): Bump bundler plugins to ^4.6.2 (#18822)
- chore(deps): bump hono from 4.10.3 to 4.11.4 in /dev-packages/e2e-tests/test-applications/cloudflare-hono (#18806)
- chore(test): Bump svelte dependencies (#18850)
- chore(core): Comment out Error tests in langchain (#18837)
- meta(changelog): Fix entry for tanstack start vite plugin (#18883)
- test(e2e): Add testing app for User Feedback (#18877)
- test(fastify): Verify if upstream error is fixed and won't regress (#18838)
Work in this release was contributed by @rreckonerr. Thank you for your contribution!
Bundle size π¦
| Path | Size |
|---|---|
| @sentry/browser | 24.52 KB |
| @sentry/browser - with treeshaking flags | 23.06 KB |
| @sentry/browser (incl. Tracing) | 40.88 KB |
| @sentry/browser (incl. Tracing, Profiling) | 45.36 KB |
| @sentry/browser (incl. Tracing, Replay) | 78.58 KB |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 68.51 KB |
| @sentry/browser (incl. Tracing, Replay with Canvas) | 83.18 KB |
| @sentry/browser (incl. Tracing, Replay, Feedback) | 95.09 KB |
| @sentry/browser (incl. Feedback) | 40.85 KB |
| @sentry/browser (incl. sendFeedback) | 29.1 KB |
| @sentry/browser (incl. FeedbackAsync) | 33.97 KB |
| @sentry/browser (incl. Metrics) | 25.6 KB |
| @sentry/browser (incl. Logs) | 25.75 KB |
| @sentry/browser (incl. Metrics & Logs) | 26.39 KB |
| @sentry/react | 26.21 KB |
| @sentry/react (incl. Tracing) | 43.05 KB |
| @sentry/vue | 28.87 KB |
| @sentry/vue (incl. Tracing) | 42.65 KB |
| @sentry/svelte | 24.53 KB |
| CDN Bundle | 27.02 KB |
| CDN Bundle (incl. Tracing) | 41.67 KB |
| CDN Bundle (incl. Tracing, Logs, Metrics) | 42.48 KB |
| CDN Bundle (incl. Tracing, Replay) | 77.51 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) | 82.82 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) | 83.71 KB |
| CDN Bundle - uncompressed | 79.18 KB |
| CDN Bundle (incl. Tracing) - uncompressed | 123.53 KB |
| CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed | 126.3 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed | 237.33 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 249.83 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed | 252.58 KB |
| @sentry/nextjs (client) | 45.35 KB |
| @sentry/sveltekit (client) | 41.26 KB |
| @sentry/node-core | 50.72 KB |
| @sentry/node | 158.39 KB |
| @sentry/node - without tracing | 91.16 KB |
| @sentry/aws-serverless | 106.3 KB |
10.34.0
Important Changes
-
feat(core): Add option to enhance the fetch error message (#18466)
You can now enable enhanced fetch error messages by setting the
enhancedFetchErrorMessageoption. When enabled, the SDK will include additional context in fetch error messages to help with debugging. -
feat(nextjs): Add routeManifestInjection option to exclude routes from client bundle (#18798)
A new
routeManifestInjectionoption allows you to exclude sensitive routes from being injected into the client bundle. -
feat(tanstackstart-react): Add
wrapMiddlewaresWithSentryfor manual middleware instrumentation (#18680)You can now wrap your middlewares using
wrapMiddlewaresWithSentry, allowing you to trace middleware execution in your TanStack Start application.import { createMiddleware } from '@tanstack/react-start'; import { wrapMiddlewaresWithSentry } from '@sentry/tanstackstart-react'; const loggingMiddleware = createMiddleware({ type: 'function' }).server(async ({ next }) => { console.log('Request started'); return next(); }); export const [wrappedLoggingMiddleware] = wrapMiddlewaresWithSentry({ loggingMiddleware });
Other Changes
- feat(browser): Add CDN bundle for
tracing.logs.metrics(#18784) - feat(core,node-core): Consolidate bun and node types with ServerRuntimeOptions (#18734)
- feat(nextjs): Remove tracing from generation function template (#18733)
- fix(core): Don't record outcomes for failed client reports (#18808)
- fix(deno,cloudflare): Prioritize name from params over name from options (#18800)
- fix(web-vitals): Add error handling for invalid object keys in
WeakMap(#18809)
Internal Changes
Bundle size π¦
| Path | Size |
|---|---|
| @sentry/browser | 24.52 KB |
| @sentry/browser - with treeshaking flags | 23.06 KB |
| @sentry/browser (incl. Tracing) | 40.88 KB |
| @sentry/browser (incl. Tracing, Profiling) | 45.36 KB |
| @sentry/browser (incl. Tracing, Replay) | 78.58 KB |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 68.51 KB |
| @sentry/browser (incl. Tracing, Replay with Canvas) | 83.17 KB |
| @sentry/browser (incl. Tracing, Replay, Feedback) | 95.08 KB |
| @sentry/browser (incl. Feedback) | 40.85 KB |
| @sentry/browser (incl. sendFeedback) | 29.1 KB |
| @sentry/browser (incl. FeedbackAsync) | 33.97 KB |
| @sentry/browser (incl. Metrics) | 25.6 KB |
| @sentry/browser (incl. Logs) | 25.75 KB |
| @sentry/browser (incl. Metrics & Logs) | 26.39 KB |
| @sentry/react | 26.21 KB |
| @sentry/react (incl. Tracing) | 43.05 KB |
| @sentry/vue | 28.87 KB |
| @sentry/vue (incl. Tracing) | 42.64 KB |
| @sentry/svelte | 24.53 KB |
| CDN Bundle | 26.96 KB |
| CDN Bundle (incl. Tracing) | 41.6 KB |
| CDN Bundle (incl. Tracing, Logs, Metrics) | 42.48 KB |
| CDN Bundle (incl. Tracing, Replay) | 77.43 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) | 82.72 KB |
| CDN Bundle - uncompressed | 78.99 KB |
| CDN Bundle (incl. Tracing) - uncompressed | 123.34 KB |
| CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed | 126.29 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed | 237.15 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 249.64 KB |
| @sentry/nextjs (client) | 45.34 KB |
| @sentry/sveltekit (client) | 41.25 KB |
| @sentry/node-core | 50.69 KB |
| @sentry/node | 158.35 KB |
| @sentry/node - without tracing | 91.14 KB |
| @sentry/aws-serverless | 106.28 KB |
10.33.0
Important Changes
-
feat(core): Apply scope attributes to metrics (#18738)
You can now set attributes on the SDK's scopes which will be applied to all metrics as long as the respective scopes are active. For the time being, only
string,numberandbooleanattribute values are supported.Sentry.getGlobalScope().setAttributes({ is_admin: true, auth_provider: 'google' }); Sentry.withScope(scope => { scope.setAttribute('step', 'authentication'); // scope attributes `is_admin`, `auth_provider` and `step` are added Sentry.metrics.count('clicks', 1, { attributes: { activeSince: 100 } }); Sentry.metrics.gauge('timeSinceRefresh', 4, { unit: 'hour' }); }); // scope attributes `is_admin` and `auth_provider` are added Sentry.metrics.count('response_time', 283.33, { unit: 'millisecond' });
-
feat(tracing): Add Vercel AI SDK v6 support (#18741)
The Sentry SDK now supports the Vercel AI SDK v6. Tracing and error monitoring will work automatically with the new version.
-
feat(wasm): Add applicationKey option for third-party error filtering (#18762)
Adds support for applying an application key to WASM stack frames that can be then used in the
thirdPartyErrorFilterIntegrationfor detection of first-party code.Usage:
Sentry.init({ integrations: [ // Integration order matters: wasmIntegration needs to be before thirdPartyErrorFilterIntegration wasmIntegration({ applicationKey: 'your-custom-application-key' }), βββββ thirdPartyErrorFilterIntegration({ β behaviour: 'drop-error-if-exclusively-contains-third-party-frames', ββ matching keys filterKeys: ['your-custom-application-key'] βββββββββββββββββββββββββββ }), ], });
Other Changes
- feat(cloudflare): Support
propagateTraceparent(#18569) - feat(core): Add
ignoreSentryInternalFramesoption tothirdPartyErrorFilterIntegration(#18632) - feat(core): Add gen_ai.conversation.id attribute to OpenAI and LangGr⦠(#18703)
- feat(core): Add recordInputs/recordOutputs options to MCP server wrapper (#18600)
- feat(core): Support IPv6 hosts in the DSN (#2996) (#17708)
- feat(deps): Bump bundler plugins to ^4.6.1 (#17980)
- feat(nextjs): Emit warning for conflicting treeshaking / debug settings (#18638)
- feat(nextjs): Print Turbopack note for deprecated webpack options (#18769)
- feat(node-core): Add
isolateTraceoption tonode-croninstrumentation (#18416) - feat(node): Use
process.on('SIGTERM')for flushing in Vercel functions (#17583) - feat(nuxt): Detect development environment and add dev E2E test (#18671)
- fix(browser): Forward worker metadata for third-party error filtering (#18756)
- fix(browser): Reduce number of
visibilitystateandpagehidelisteners (#18581) - fix(browser): Respect
tunnelindiagnoseSdkConnectivity(#18616) - fix(cloudflare): Consume body of fetch in the Cloudflare transport (#18545)
- fix(core): Set op on ended Vercel AI spans (#18601)
- fix(core): Subtract
performance.now()frombrowserPerformanceTimeOriginfallback (#18715) - fix(core): Update client options to allow explicit
undefined(#18024) - fix(feedback): Fix cases where the outline of inputs were wrong (#18647)
- fix(next): Ensure inline sourcemaps are generated for wrapped modules in Dev (#18640)
- fix(next): Wrap all Random APIs with a safe runner (#18700)
- fix(nextjs): Avoid Edge build warning from OpenTelemetry
process.argv0(#18759) - fix(nextjs): Remove polynomial regular expression (#18725)
- fix(node-core): Ignore worker threads in OnUncaughtException (#18689)
- fix(node): relax Fastify's
setupFastifyErrorHandlerargument type (#18620) - fix(nuxt): Allow overwriting server-side
defaultIntegrations(#18717) - fix(pino): Allow custom namespaces for
msganderr(#18597) - fix(react,solid,vue): Fix parametrization behavior for non-matched routes (#18735)
- fix(replay): Ensure replays contain canvas rendering when resumed after inactivity (#18714)
- fix(tracing): add gen_ai.request.messages.original_length attributes (#18608)
- ref(nextjs): Drop
resolvedependency (#18618) - ref(react-router): Use snake_case for span op names (#18617)
Internal Changes
- chore(bun): Fix
install-bun.jsversion check and improve upgrade feedback (#18492) - chore(changelog): Fix typo (#18648)
- chore(craft): Use version templating for aws layer (#18675)
- chore(deps): Bump IITM to ^2.0.1 (#18599)
- chore(e2e-tests): Upgrade
@trpc/serverand@trpc/client(#18722) - chore(e2e): Unpin react-router-7-framework-spa to ^7.11.0 (#18551)
- chore(nextjs): Bump next version in dev deps (#18661)
- chore(node-tests): Upgrade
@langchain/core(#18720) - chore(react): Inline
hoist-non-react-staticspackage (#18102) - chore(size-limit): Add size checks for metrics and logs (#18573)
- chore(tests): Add unordered mode to cloudflare test runner (#18596)
- ci(deps): bump actions/cache from 4 to 5 (#18654)
- ci(deps): Bump actions/create-github-app-token from 2.2.0 to 2.2.1 (#18656)
- ci(deps): bump actions/upload-artifact from 5 to 6 (#18655)
- ci(deps): bump peter-evans/create-pull-request from 7.0.9 to 8.0.0 (#18657)
- doc: E2E testing documentation updates (#18649)
- ref(core): Extract and reuse
getCombinedScopeDatahelper (#18585) - ref(core): Remove dependence between
performance.timeOriginandperformance.timing.navigationStart(#18710) - ref(core): Streamline and test
browserPerformanceTimeOrigin(#18708) - ref(core): Strengthen
browserPerformanceTimeOriginreliability check (#18719) - ref(core): Use
serializeAttributesfor metric attribute serialization (#18582) - ref(node): Remove duplicate function
isCjs(#18662) - test(core): Improve unit test performance for offline transport tests (#18628)
- test(core): Use fake timers in promisebuffer tests to ensure deterministic behavior (#18659)
- test(e2e): Add e2e metrics tests in Next.js 16 (#18643)
- test(e2e): Pin agents package in cloudflare-mcp test (#18609)
- test(e2e): Pin solid/vue tanstack router to 1.41.8 (#18610)
- test(nestjs): Add canary test for latest ([#1868...
10.32.1
- fix(cloudflare): Add hono transaction name when error is thrown (#18529)
- fix(ember): Make
implementationfield optional (hashroutes) (#18564) - fix(vercelai): Fix input token count (#18574)
Internal Changes
- chore(lint): prefer 'unknown' to 'any', fix lint warnings
- chore(test): Remove
cloudflare-astroe2e test (#18567)
Bundle size π¦
| Path | Size |
|---|---|
| @sentry/browser | 24.24 KB |
| @sentry/browser - with treeshaking flags | 22.77 KB |
| @sentry/browser (incl. Tracing) | 40.62 KB |
| @sentry/browser (incl. Tracing, Profiling) | 45.12 KB |
| @sentry/browser (incl. Tracing, Replay) | 78.3 KB |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 68.28 KB |
| @sentry/browser (incl. Tracing, Replay with Canvas) | 82.88 KB |
| @sentry/browser (incl. Tracing, Replay, Feedback) | 94.83 KB |
| @sentry/browser (incl. Feedback) | 40.57 KB |
| @sentry/browser (incl. sendFeedback) | 28.82 KB |
| @sentry/browser (incl. FeedbackAsync) | 33.7 KB |
| @sentry/react | 25.92 KB |
| @sentry/react (incl. Tracing) | 42.77 KB |
| @sentry/vue | 28.6 KB |
| @sentry/vue (incl. Tracing) | 42.39 KB |
| @sentry/svelte | 24.25 KB |
| CDN Bundle | 26.62 KB |
| CDN Bundle (incl. Tracing) | 41.25 KB |
| CDN Bundle (incl. Tracing, Replay) | 77.1 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) | 82.44 KB |
| CDN Bundle - uncompressed | 78.18 KB |
| CDN Bundle (incl. Tracing) - uncompressed | 122.47 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed | 236.27 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 248.74 KB |
| @sentry/nextjs (client) | 44.94 KB |
| @sentry/sveltekit (client) | 40.98 KB |
| @sentry/node-core | 50.4 KB |
| @sentry/node | 157.73 KB |
| @sentry/node - without tracing | 90.87 KB |
| @sentry/aws-serverless | 106.02 KB |
10.32.0
Important Changes
-
feat(core): Apply scope attributes to logs (#18184)
You can now set attributes on the SDK's scopes which will be applied to all logs as long as the respective scopes are active. For the time being, only
string,numberandbooleanattribute values are supported.Sentry.getGlobalScope().setAttributes({ is_admin: true, auth_provider: 'google' }); Sentry.withScope(scope => { scope.setAttribute('step', 'authentication'); // scope attributes `is_admin`, `auth_provider` and `step` are added Sentry.logger.info(`user ${user.id} logged in`, { activeSince: 100 }); Sentry.logger.info(`updated ${user.id} last activity`); }); // scope attributes `is_admin` and `auth_provider` are added Sentry.logger.warn('stale website version, reloading page');
-
feat(replay): Add Request body with
attachRawBodyFromRequestoption (#18501)To attach the raw request body (from
Requestobjects passed as the firstfetchargument) to replay events, you can now use theattachRawBodyFromRequestoption in the Replay integration:Sentry.init({ integrations: [ Sentry.replayIntegration({ attachRawBodyFromRequest: true, }), ], });
-
feat(tanstackstart-react): Trace server functions (#18500)
To enable tracing for server-side requests, you can now explicitly define a server entry point in your application and wrap your request handler with
wrapFetchWithSentry.// src/server.ts import { wrapFetchWithSentry } from '@sentry/tanstackstart-react'; import handler, { createServerEntry } from '@tanstack/react-start/server-entry'; export default createServerEntry( wrapFetchWithSentry({ fetch(request: Request) { return handler.fetch(request); }, }), );
-
feat(vue): Add TanStack Router integration (#18547)
The
@sentry/vuepackage now includes support for TanStack Router. UsetanstackRouterBrowserTracingIntegrationto automatically instrument pageload and navigation transactions with parameterized routes:import { createApp } from 'vue'; import { createRouter } from '@tanstack/vue-router'; import * as Sentry from '@sentry/vue'; import { tanstackRouterBrowserTracingIntegration } from '@sentry/vue/tanstackrouter'; const router = createRouter({ // your router config }); Sentry.init({ app, dsn: '__PUBLIC_DSN__', integrations: [tanstackRouterBrowserTracingIntegration(router)], tracesSampleRate: 1.0, });
Other Changes
- feat(core): Capture initialize attributes on MCP servers (#18531)
- feat(nextjs): Extract tracing logic from server component wrapper templates (#18408)
- feat(nextjs): added webpack treeshaking flags as config (#18359)
- fix(solid/tanstackrouter): Ensure web vitals are sent on pageload (#18542)
Internal Changes
- chore(changelog): Add entry for scope attributes (#18555)
- chore(changelog): Add entry for tanstack start wrapFetchWithSentry (#18558)
- chore(deps): bump @trpc/server from 10.45.2 to 10.45.3 in /dev-packages/e2e-tests/test-applications/node-express-incorrect-instrumentation (#18530)
- chore(deps): bump @trpc/server from 10.45.2 to 10.45.3 in /dev-packages/e2e-tests/test-applications/node-express-v5 (#18550)
- chore(e2e): Pin to react-router 7.10.1 in spa e2e test (#18548)
- chore(e2e): Remove check on
http.response_content_length_uncompressed(#18536) - chore(github): Add "Closes" to PR template (#18538)
- test(cloudflare-mcp): Unpin mcp sdk (#18528)
- test(nextjs): Add e2e tests for server component spans in next 16 (#18544)
Bundle size π¦
| Path | Size |
|---|---|
| @sentry/browser | 24.24 KB |
| @sentry/browser - with treeshaking flags | 22.77 KB |
| @sentry/browser (incl. Tracing) | 40.62 KB |
| @sentry/browser (incl. Tracing, Profiling) | 45.12 KB |
| @sentry/browser (incl. Tracing, Replay) | 78.3 KB |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 68.28 KB |
| @sentry/browser (incl. Tracing, Replay with Canvas) | 82.88 KB |
| @sentry/browser (incl. Tracing, Replay, Feedback) | 94.82 KB |
| @sentry/browser (incl. Feedback) | 40.56 KB |
| @sentry/browser (incl. sendFeedback) | 28.82 KB |
| @sentry/browser (incl. FeedbackAsync) | 33.7 KB |
| @sentry/react | 25.92 KB |
| @sentry/react (incl. Tracing) | 42.77 KB |
| @sentry/vue | 28.6 KB |
| @sentry/vue (incl. Tracing) | 42.39 KB |
| @sentry/svelte | 24.25 KB |
| CDN Bundle | 26.62 KB |
| CDN Bundle (incl. Tracing) | 41.25 KB |
| CDN Bundle (incl. Tracing, Replay) | 77.1 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) | 82.44 KB |
| CDN Bundle - uncompressed | 78.18 KB |
| CDN Bundle (incl. Tracing) - uncompressed | 122.47 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed | 236.27 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 248.74 KB |
| @sentry/nextjs (client) | 44.93 KB |
| @sentry/sveltekit (client) | 40.98 KB |
| @sentry/node-core | 50.4 KB |
| @sentry/node | 157.71 KB |
| @sentry/node - without tracing | 90.87 KB |
| @sentry/aws-serverless | 106.02 KB |
10.32.0-alpha.0
This preview release includes updates to our Span Streaming PoC implementation. Use at your own risk.
- Attributes extracted from request and known contexts on scopes are applied to the segment span
- Scope attributes are applied to every span
- Added a simple interval, limit and
Sentry.flush-based span buffer for backend SDKs - Span-first can now also be tested in any of our server SDKs, including
@sentry/node,@sentry/cloudflare,@sentry/deno,@sentry/bunand@sentry/vercel-edge
Known issues:
- Missing data from various integrations and framework SDKs
ignoreSpansis not yet applied
Untested:
- Meta frameworks or framework SDKs building on top of
@sentry/browseror@sentry/node. Likely,
data is missing, noisy spans are not filtered, etc.
Bundle size π¦
| Path | Size |
|---|---|
| @sentry/browser | 25.21 KB |
| @sentry/browser - with treeshaking flags | 23.74 KB |
| @sentry/browser (incl. Tracing) | 41.8 KB |
| @sentry/browser (incl. Tracing, Profiling) | 46.29 KB |
| @sentry/browser (incl. Tracing, Replay) | 79.57 KB |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 69.36 KB |
| @sentry/browser (incl. Tracing, Replay with Canvas) | 84.13 KB |
| @sentry/browser (incl. Tracing, Replay, Feedback) | 96 KB |
| @sentry/browser (incl. Feedback) | 41.52 KB |
| @sentry/browser (incl. sendFeedback) | 29.77 KB |
| @sentry/browser (incl. FeedbackAsync) | 34.65 KB |
| @sentry/react | 26.89 KB |
| @sentry/react (incl. Tracing) | 43.98 KB |
| @sentry/vue | 29.73 KB |
| @sentry/vue (incl. Tracing) | 43.56 KB |
| @sentry/svelte | 25.23 KB |
| CDN Bundle | 27.49 KB |
| CDN Bundle (incl. Tracing) | 42.39 KB |
| CDN Bundle (incl. Tracing, Replay) | 78.21 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) | 83.57 KB |
| CDN Bundle - uncompressed | 80.62 KB |
| CDN Bundle (incl. Tracing) - uncompressed | 125.72 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed | 239.52 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 251.99 KB |
| @sentry/nextjs (client) | 46.12 KB |
| @sentry/sveltekit (client) | 42.21 KB |
| @sentry/node-core | 51.31 KB |
| @sentry/node | 160.53 KB |
| @sentry/node - without tracing | 93.78 KB |
| @sentry/aws-serverless | 108.68 KB |
10.31.0
Important Changes
- feat(browser): Add support for GraphQL persisted operations (#18505)
The graphqlClientIntegration now supports GraphQL persisted operations (queries). When a persisted query is detected, the integration will capture the operation hash and version as span attributes:
graphql.persisted_query.hash.sha256- The SHA-256 hash of the persisted querygraphql.persisted_query.version- The version of the persisted query protocol
Additionally, the graphql.document attribute format has changed to align with OpenTelemetry semantic conventions. It now contains only the GraphQL query string instead of the full JSON request payload.
Before:
"graphql.document": "{\"query\":\"query Test { user { id } }\"}"After:
"graphql.document": "query Test { user { id } }"Other Changes
- feat(node): Support
propagateTraceparentoption (#18476) - feat(bun): Expose spotlight option in TypeScript (#18436)
- feat(core): Add additional exports for
captureExceptionandcaptureMessageparameter types (#18521) - feat(core): Export
captureExceptionandcaptureMessageparameter types (#18509) - feat(core): Parse individual cookies from cookie header (#18325)
- feat(node): Add instrument OpenAI export to node (#18461)
- feat(nuxt): Bump
@sentry/vite-pluginand@sentry/rollup-pluginto 4.6.1 (#18349) - feat(profiling): Add support for Node v24 in the prune script (#18447)
- feat(tracing): strip inline media from messages (#18413)
- feat(node): Add ESM support for postgres.js instrumentation (#17961)
- fix(browser): Stringify span context in linked traces log statement (#18376)
- fix(google-cloud-serverless): Move @types/express to optional peerDeps (#18452)
- fix(node-core): passthrough node-cron context (#17835)
- fix(tanstack-router): Check for
fromLocationexistence before reporting pageload (#18463) - fix(tracing): add system prompt, model to google genai (#18424)
- fix(tracing): Set span operations for AI spans with model ID only (#18471)
- ref(browser): Improve profiling debug statement (#18507)
Internal Changes
- chore: Add external contributor to CHANGELOG.md (#18473)
- chore: upgrade Playwright to ~1.56.0 for WSL2 compatibility (#18468)
- chore(bugbot): Add testing conventions code review rules (#18433)
- chore(deps): bump next from 14.2.25 to 14.2.35 in /dev-packages/e2e-tests/test-applications/create-next-app (#18494)
- chore(deps): bump next from 14.2.32 to 14.2.35 in /dev-packages/e2e-tests/test-applications/nextjs-orpc (#18520)
- chore(deps): bump next from 14.2.32 to 14.2.35 in /dev-packages/e2e-tests/test-applications/nextjs-pages-dir (#18496)
- chore(deps): bump next from 15.5.7 to 15.5.9 in /dev-packages/e2e-tests/test-applications/nextjs-15 (#18482)
- chore(deps): bump next from 15.5.7 to 15.5.9 in /dev-packages/e2e-tests/test-applications/nextjs-15-intl (#18483)
- chore(deps): bump next from 16.0.7 to 16.0.9 in /dev-packages/e2e-tests/test-applications/nextjs-16 (#18480)
- chore(deps): bump next from 16.0.7 to 16.0.9 in /dev-packages/e2e-tests/test-applications/nextjs-16-cacheComponents (#18479)
- chore(deps): bump next from 16.0.7 to 16.0.9 in /dev-packages/e2e-tests/test-applications/nextjs-16-tunnel (#18481)
- chore(deps): bump next from 16.0.9 to 16.0.10 in /dev-packages/e2e-tests/test-applications/nextjs-16 (#18514)
- chore(deps): bump next from 16.0.9 to 16.0.10 in /dev-packages/e2e-tests/test-applications/nextjs-16-tunnel (#18487)
- chore(tests): Added test variant flag (#18458)
- test(cloudflare-mcp): Pin mcp sdk to 1.24.0 (#18524)
Work in this release was contributed by @sebws and @TBeeren. Thank you for your contributions!
Bundle size π¦
| Path | Size |
|---|---|
| @sentry/browser | 24.23 KB |
| @sentry/browser - with treeshaking flags | 22.76 KB |
| @sentry/browser (incl. Tracing) | 40.58 KB |
| @sentry/browser (incl. Tracing, Profiling) | 45.08 KB |
| @sentry/browser (incl. Tracing, Replay) | 78.1 KB |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 68.07 KB |
| @sentry/browser (incl. Tracing, Replay with Canvas) | 82.67 KB |
| @sentry/browser (incl. Tracing, Replay, Feedback) | 94.62 KB |
| @sentry/browser (incl. Feedback) | 40.54 KB |
| @sentry/browser (incl. sendFeedback) | 28.8 KB |
| @sentry/browser (incl. FeedbackAsync) | 33.68 KB |
| @sentry/react | 25.9 KB |
| @sentry/react (incl. Tracing) | 42.73 KB |
| @sentry/vue | 28.58 KB |
| @sentry/vue (incl. Tracing) | 42.35 KB |
| @sentry/svelte | 24.24 KB |
| CDN Bundle | 26.59 KB |
| CDN Bundle (incl. Tracing) | 41.23 KB |
| CDN Bundle (incl. Tracing, Replay) | 76.9 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) | 82.23 KB |
| CDN Bundle - uncompressed | 78.15 KB |
| CDN Bundle (incl. Tracing) - uncompressed | 122.44 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed | 235.75 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 248.21 KB |
| @sentry/nextjs (client) | 44.9 KB |
| @sentry/sveltekit (client) | 40.94 KB |
| @sentry/node-core | 50.39 KB |
| @sentry/node | 157.7 KB |
| @sentry/node - without tracing | 90.85 KB |
| @sentry/aws-serverless | 106 KB |