Important Changes
-
feat(effect): Add
@sentry/effectSDK (Alpha) (#19644)This release introduces
@sentry/effect, a new SDK for Effect.ts applications. The SDK provides Sentry integration via composable Effect layers for both Node.js and browser environments.Compose the
effectLayerwith optional tracing, logging, and metrics layers to instrument your Effect application:import * as Sentry from '@sentry/effect'; import * as Layer from 'effect/Layer'; import * as Logger from 'effect/Logger'; const SentryLive = Layer.mergeAll( Sentry.effectLayer({ dsn: '__DSN__', tracesSampleRate: 1.0, enableLogs: true }), Layer.setTracer(Sentry.SentryEffectTracer), Logger.replace(Logger.defaultLogger, Sentry.SentryEffectLogger), Sentry.SentryEffectMetricsLayer, );Alpha features are still in progress, may have bugs and might include breaking changes. Please reach out on GitHub if you have any feedback or concerns.
-
feat(astro): Add Astro 6 support (#19745)
This release enables full support for Astro v6 by adjusting our Astro SDK's middleware to some Astro-internal
changes. We cannot yet guarantee full support for server-islands, due to a bug in Astro v6
but we'll follow up on this once the bug is fixed. -
feat(hono): Add basic instrumentation for Node runtime (#19817)
Adds a new package
@sentry/hono/node(alpha) with basic instrumentation for Hono applications running in Node.js.
The Hono middleware for Cloudflare (@sentry/hono/cloudflare- alpha) comes with fixes, and it's now possible to access the Cloudflare Worker Bindings (env) from the options' callback.Start using the new Hono middlewares by installing
@sentry/honoand importing the respective middleware for your runtime.
More instructions can be found in the Hono readme.Alpha features are still in progress, may have bugs and might include breaking changes. Please reach out on GitHub if you have any feedback or concerns.
-
feat(nestjs): Instrument
@nestjs/bullmq@Processordecorator (#19759)Automatically capture exceptions and create transactions for BullMQ queue processors in NestJS applications.
When using the
@Processordecorator from@nestjs/bullmq, the SDK now automatically wraps theprocess()method
to createqueue.processtransactions with proper isolation scopes, preventing breadcrumb and scope leakage between
jobs and HTTP requests. Errors thrown in processors are captured with theauto.queue.nestjs.bullmqmechanism type.Requires
@nestjs/bullmqv10.0.0 or later. -
feat(nestjs): Instrument
@nestjs/scheduledecorators (#19735)Automatically capture exceptions thrown in
@Cron,@Interval, and@Timeoutdecorated methods.Previously, exceptions in
@Cronmethods were only captured if you used theSentryCrondecorator. Now they are
captured automatically. The exception mechanism type changed fromauto.cron.nestjs.asyncto
auto.function.nestjs.cron. If you have Sentry queries or alerts that filter on the old mechanism type, update them
accordingly. -
feat(node): Expose
headersToSpanAttributesoption onnativeNodeFetchIntegration()(#19770)Response headers like
http.response.header.content-lengthwere previously captured automatically on outgoing
fetch spans but are now opt-in since@opentelemetry/instrumentation-undici@0.22.0. You can now configure which
headers to capture via theheadersToSpanAttributesoption.Sentry.init({ integrations: [ Sentry.nativeNodeFetchIntegration({ headersToSpanAttributes: { requestHeaders: ['x-custom-header'], responseHeaders: ['content-length', 'content-type'], }, }), ], });
Other Changes
- feat(browser/cloudflare): Export conversation id from browser and cloudflare runtimes (#19820)
- feat(bun): Set http response header attributes instead of response context headers (#19821)
- feat(core): Add
sentry.timestamp.sequenceattribute for timestamp tie-breaking (#19421) - feat(deno): Set http response header attributes instead of response context headers (#19822)
- feat(deps): Bump OpenTelemetry dependencies (#19682)
- feat(nestjs): Use more specific span origins for NestJS guards, pipes, interceptors, and exception filters (#19751)
- feat(nextjs): Vercel queue instrumentation (#19799)
- feat(node): Avoid OTEL instrumentation for outgoing requests on Node 22+ (#17355)
- feat(deps): bump hono from 4.12.5 to 4.12.7 (#19747)
- feat(deps): bump mysql2 from 3.14.4 to 3.19.1 (#19787)
- feat(deps): bump simple-git from 3.30.0 to 3.33.0 (#19744)
- feat(deps): bump yauzl from 3.2.0 to 3.2.1 (#19809)
- fix(browser): Skip browserTracingIntegration setup for bot user agents (#19708)
- fix(cloudflare): Recreate client when previous one was disposed (#19727)
- fix(core): Align Vercel embedding spans with semantic conventions (#19795)
- fix(core): Fallback to
sendDefaultPiisetting in langchain and langgraph in non-node environments (#19813) - fix(core): Improve Vercel AI SDK instrumentation attributes (#19717)
- fix(hono): Align error mechanism (#19831)
- fix(hono): Allow passing env and fix type issues (#19825)
- fix(nestjs): Fork isolation scope in
@nestjs/event-emitterinstrumentation (#19725) - fix(nextjs): Log correct
lastEventIdwhen error is thrown in component render (#19764) - fix(nextjs): Strip sourceMappingURL comments after deleting source maps in turbopack builds (#19814)
- fix(nuxt): Upload client source maps (#19805)
- fix(profiling-node): Fix NODE_VERSION rendered as [object Object] in warning (#19788)
Internal Changes
- chore: Add oxlint migration commits to blame ignore (#19784)
- chore: add oxlint typescript program suppression to workspace settings (#19692)
- chore: Bump oxlint and oxfmt (#19771)
- chore: Clean up lint and format script names (#19719)
- chore(agents): Be more explicit on linting and formatting (#19803)
- chore(ci): Extract metadata workflow (#19680)
- chore(deps): bump tedious from 18.6.1 to 19.2.1 (#19786)
- chore(deps-dev): bump file-type from 20.5.0 to 21.3.1 (#19748)
- chore(effect): Add Effect to craft, README and issue templates (#19837)
- chore(lint): Rule adjustments and fix warnings (#19612)
- chore(skills): Add
skill-creatorand update managed agent skills (#19713) - docs(changelog): Add entry for
@sentry/honoalpha release (#19828) - docs(hono): Document usage without
"*"(#19756) - docs(new-release): Document
sdkNamefor craft (#19736) - docs(new-release): Update docs based on new Craft flow (#19731)
- ref(cloudflare): Prepare for WorkerEntrypoint (#19742)
- ref(nestjs): Move event instrumentation unit tests to separate file (#19738)
- style: Auto changes made from "yarn fix" (#19710)
- test(astro,cloudflare): Add an E2E test for Astro 6 on Cloudflare (#19781)
- test(browser): Add simulated mfe integration test (#19768)
- test(e2e): Add MFE e2e test using
vite-plugin-federation(#19778) - test(nextjs): Add vercel queue tests to next-16 (#19798)
- tests(core): Fix flaky metric sequence number test (#19754)
Bundle size 📦
| Path | Size |
|---|---|
| @sentry/browser | 25.04 KB |
| @sentry/browser - with treeshaking flags | 23.57 KB |
| @sentry/browser (incl. Tracing) | 41.62 KB |
| @sentry/browser (incl. Tracing, Profiling) | 46.17 KB |
| @sentry/browser (incl. Tracing, Replay) | 79.51 KB |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 69.33 KB |
| @sentry/browser (incl. Tracing, Replay with Canvas) | 84.11 KB |
| @sentry/browser (incl. Tracing, Replay, Feedback) | 96.07 KB |
| @sentry/browser (incl. Feedback) | 41.45 KB |
| @sentry/browser (incl. sendFeedback) | 29.6 KB |
| @sentry/browser (incl. FeedbackAsync) | 34.53 KB |
| @sentry/browser (incl. Metrics) | 26.29 KB |
| @sentry/browser (incl. Logs) | 26.43 KB |
| @sentry/browser (incl. Metrics & Logs) | 27.09 KB |
| @sentry/react | 26.75 KB |
| @sentry/react (incl. Tracing) | 43.9 KB |
| @sentry/vue | 29.38 KB |
| @sentry/vue (incl. Tracing) | 43.44 KB |
| @sentry/svelte | 25.06 KB |
| CDN Bundle | 27.62 KB |
| CDN Bundle (incl. Tracing) | 42.49 KB |
| CDN Bundle (incl. Logs, Metrics) | 28.46 KB |
| CDN Bundle (incl. Tracing, Logs, Metrics) | 43.32 KB |
| CDN Bundle (incl. Replay, Logs, Metrics) | 66.61 KB |
| CDN Bundle (incl. Tracing, Replay) | 78.45 KB |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics) | 79.33 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) | 83.86 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) | 84.74 KB |
| CDN Bundle - uncompressed | 80.69 KB |
| CDN Bundle (incl. Tracing) - uncompressed | 125.55 KB |
| CDN Bundle (incl. Logs, Metrics) - uncompressed | 83.49 KB |
| CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed | 128.35 KB |
| CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed | 204.22 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed | 239.66 KB |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed | 242.45 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 252.27 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed | 255.05 KB |
| @sentry/nextjs (client) | 46.26 KB |
| @sentry/sveltekit (client) | 42.06 KB |
| @sentry/node-core | 55.03 KB |
| @sentry/node | 169.1 KB |
| @sentry/node - without tracing | 94.09 KB |
| @sentry/aws-serverless | 110.68 KB |