Important Changes
-
ref: Add and Adjust error event mechanism values
This release includes a variety of changes aimed at setting the mechanism field on errors captured automatically by the Sentry SDKs. The intention is to clearly mark which instrumentation captured an error. In addition, some instrumentations previously did not yet annotate the error as handled or unhandled which this series of PRs corrects as well.
<details>
<summary> Relevant PRs </summary>
<br/>
Released in 10.12.0:
- ref(angular): Adjust ErrorHandler event mechanism (#17608)
- ref(astro): Adjust
mechanism on error events captured by astro middleware (#17613)
- ref(aws-severless): Slightly adjust aws-serverless mechanism type (#17614)
- ref(bun): Adjust
mechanism of errors captured in Bun.serve (#17616)
- ref(cloudflare): Adjust event
mechanisms and durable object origin (#17618)
- ref(core): Adjust
mechanism in captureConsoleIntegration (#17633)
- ref(core): Adjust MCP server error event
mechanism (#17622)
- ref(core): Simplify
linkedErrors mechanism logic (#17600)
- ref(deno): Adjust
mechanism of errors caught by globalHandlersIntegration (#17635)
- ref(nextjs): Set more specific event
mechanisms (#17543)
- ref(node): Adjust mechanism of express, hapi and fastify error handlers (#17623)
- ref(node-core): Add
mechanism to cron instrumentations (#17544)
- ref(node-core): Add more specific
mechanism.type to worker thread errors from childProcessIntegration (#17578)
- ref(node-core): Adjust
mechanism of onUnhandledRejection and onUnhandledException integrations (#17636)
- ref(node): Add mechanism to errors captured via connect and koa integrations (#17579)
- ref(nuxt): Add and adjust
mechanism.type in error events (#17599)
- ref(react): Add mechanism to
reactErrorHandler and adjust mechanism in ErrorBoundary (#17602)
- ref(remix): Adjust event mechanism of
captureRemixServerException (#17629)
- ref(replay-internal): Add mechanism to error caught by
replayIntegration in debug mode (#17606)
- ref(solid): Add
mechanism to error captured by withSentryErrorBoundary (#17607)
- ref(solidstart): Adjust event mechanism in withServerActionInstrumentation (#17637)
- ref(sveltekit): Adjust
mechanism of error events (#17646)
- ref(vue): Adjust mechanism in Vue error handler (#17647)
<br/>
Released in 10.11.0:
- ref(browser): Add more specific
mechanism.type to errors captured by httpClientIntegration (#17254)
- ref(browser): Set more descriptive
mechanism.type in browserApiErrorsIntergation (#17251)
- ref(core): Add
mechanism.type to trpcMiddleware errors (#17287)
- ref(core): Add more specific event
mechanisms and span origins to openAiIntegration (#17288)
- ref(nestjs): Add
mechanism to captured errors (#17312)
</details>
- feat(node) Ensure
prismaIntegration works with Prisma 5 (#17595)
We used to require to pass in the v5 version of @prisma/instrumentation into prismaIntegration({ prismaInstrumentation: new PrismaInstrumentation() }), if you wanted to get full instrumentation for Prisma v5. However, it turns out this does not work on v10 of the SDK anymore, because @prisma/instrumentation@5 requires OTEL v1.
With this release, we dropped the requirement to configure anything to get v5 support of Prisma. You do not need to configure anything in the integration anymore, and can remove the dependency on @prisma/instrumentation@5 if you had it in your application. You only need to configure the tracing preview feature according to our docs.
- feat(deps): Update OpenTelemetry dependencies (#17558)
- @opentelemetry/core bumped to ^2.1.0
- @opentelemetry/context-async-hooks bumped to ^2.1.0
- @opentelemetry/resources bumped to ^2.1.0
- @opentelemetry/sdk-trace-base bumped to ^2.1.0
- @opentelemetry/semantic-conventions bumped to ^1.37.0
- @opentelemetry/instrumentation bumped to ^0.204.0
- @opentelemetry/instrumentation-http bumped to ^0.204.0
- @opentelemetry/instrumentation-amqplib bumped to ^0.51.0
- @opentelemetry/instrumentation-aws-sdk bumped to ^0.59.0
- @opentelemetry/instrumentation-connect bumped to ^0.48.0
- @opentelemetry/instrumentation-dataloader bumped to ^0.22.0
- @opentelemetry/instrumentation-express bumped to ^0.53.0
- @opentelemetry/instrumentation-fs bumped from to ^0.24.0
- @opentelemetry/instrumentation-generic-pool bumped to ^0.48.0
- @opentelemetry/instrumentation-graphql bumped to ^0.52.0
- @opentelemetry/instrumentation-hapi bumped to ^0.51.0
- @opentelemetry/instrumentation-ioredis bumped to ^0.52.0
- @opentelemetry/instrumentation-kafkajs bumped to ^0.14.0
- @opentelemetry/instrumentation-knex bumped to ^0.49.0
- @opentelemetry/instrumentation-koa bumped to ^0.52.0
- @opentelemetry/instrumentation-lru-memoizer bumped to ^0.49.0
- @opentelemetry/instrumentation-mongodb bumped from to ^0.57.0
- @opentelemetry/instrumentation-mongoose bumped from to ^0.51.0
- @opentelemetry/instrumentation-mysql bumped to ^0.50.0
- @opentelemetry/instrumentation-mysql2 bumped to ^0.51.0
- @opentelemetry/instrumentation-nestjs-core bumped to ^0.50.0
- @opentelemetry/instrumentation-pg bumped to ^0.57.0
- @opentelemetry/instrumentation-redis bumped to ^0.53.0
- @opentelemetry/instrumentation-undici bumped to ^0.15.0
- @prisma/instrumentation bumped to 6.15.0
Other Changes
- feat(browser): Add timing and status atttributes to resource spans (#17562)
- feat(cloudflare,vercel-edge): Add support for Anthropic AI instrumentation (#17571)
- feat(core): Add Consola integration (#17435)
- feat(deps): Update OpenTelemetry dependencies (#17569)
- feat(core): Export
TracesSamplerSamplingContext type (#17523)
- feat(deno): Add OpenTelemetry support and vercelAI integration (#17445)
- feat(node-core): Remove experimental note from winston api (#17626)
- feat(node): Ensure
prismaIntegration works with Prisma v5 (#17595)
- feat(node): Tidy existing ESM loader hook (#17566)
- feat(sveltekit): Align build time options with shared type (#17413)
- fix(core): Fix error handling when sending envelopes (#17662)
- fix(browser): Always start navigation as root span (#17648)
- fix(browser): Ensure propagated
parentSpanId stays consistent during trace in TwP mode (#17526)
- fix(cloudflare): Initialize once per workflow run and preserve scope for
step.do (#17582)
- fix(nextjs): Add edge polyfills for nextjs-13 in dev mode (#17488)
- fix(nitro): Support nested
_platform properties in Nitro 2.11.7+ (#17596)
- fix(node): Preserve synchronous return behavior for streamText and other methods for AI (#17580)
- ref(node): Inline types imported from
shimmer (#17597) - ref(nuxt): Add and adjust mechanism.type in error events (#17599)
- ref(browser): Improve
fetchTransport error handling (#17661)
<details>
<summary> <strong>Internal Changes</strong> </summary>
- chore: Add changelog note about mechanism changes (#17632)
- chore(aws): Update README.md (#17601)
- chore(deps): bump hono from 4.7.10 to 4.9.7 in /dev-packages/e2e-tests/test-applications/cloudflare-hono (#17630)
- chore(deps): bump next from 14.2.25 to 14.2.32 in /dev-packages/e2e-tests/test-applications/nextjs-app-dir (#17627)
- chore(deps): bump next from 14.2.25 to 14.2.32 in /dev-packages/e2e-tests/test-applications/nextjs-pages-dir (#17620)
- chore(deps): bump next from 14.2.29 to 14.2.32 in /dev-packages/e2e-tests/test-applications/nextjs-orpc (#17494)
- chore(deps): bump next from 14.2.30 to 14.2.32 in /dev-packages/e2e-tests/test-applications/nextjs-14 (#17628)
- chore(repo): Rename
.claude/settings.local.json to .claude/settings.json (#17591)
- docs(issue-template): Add note about prioritization (#17590)
- ref(core): Streamline event processor handling (#17634)
- test(angular): Bump TS version to 5.9.0 in Angular 20 e2e test (#17605)
- test(nextjs): Remove Next 13 and pin Next 14 canary and latest tests (#17577)
- test(react-router): Unflake
flushIfServerless test (#17610)
</details>
Bundle size 📦
| Path | Size |
|---|
| @sentry/browser | 23.59 KB |
| @sentry/browser - with treeshaking flags | 22.19 KB |
| @sentry/browser (incl. Tracing) | 39.21 KB |
| @sentry/browser (incl. Tracing, Replay) | 76.69 KB |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 66.64 KB |
| @sentry/browser (incl. Tracing, Replay with Canvas) | 81.24 KB |
| @sentry/browser (incl. Tracing, Replay, Feedback) | 93.16 KB |
| @sentry/browser (incl. Feedback) | 39.92 KB |
| @sentry/browser (incl. sendFeedback) | 28.13 KB |
| @sentry/browser (incl. FeedbackAsync) | 32.96 KB |
| @sentry/react | 25.27 KB |
| @sentry/react (incl. Tracing) | 41.18 KB |
| @sentry/vue | 27.97 KB |
| @sentry/vue (incl. Tracing) | 40.99 KB |
| @sentry/svelte | 23.62 KB |
| CDN Bundle | 25.13 KB |
| CDN Bundle (incl. Tracing) | 39.11 KB |
| CDN Bundle (incl. Tracing, Replay) | 74.48 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) | 79.86 KB |
| CDN Bundle - uncompressed | 73.41 KB |
| CDN Bundle (incl. Tracing) - uncompressed | 115.73 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed | 228.13 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 240.59 KB |
| @sentry/nextjs (client) | 43.12 KB |
| @sentry/sveltekit (client) | 39.64 KB |
| @sentry/node-core | 48.69 KB |
| @sentry/node | 147.6 KB |
| @sentry/node - without tracing | 89.6 KB |
| @sentry/aws-serverless | 102.73 KB |