Packages

@sentry/solid

11.10.0 · 28 Oct 2026MIT208.8k / weekRepositoryHomepagenpmAtom feed

Your version

10.77.1

27 Oct 2026Where it was published

10.78.0 is the newest release of 10.x.

In short

1 breaking3 new37 fixed8 internal

Release note

Important Changes

  • v10/nextjs: Add a tunnel route handler that sends only the event payload to Sentry

    The tunnelRoute option can now send events through a route handler in your app. The handler forwards only the event payload to Sentry, and no request headers. To use it, add this file next to your tunnelRoute option:

    // app/sentry-tunnel/route.ts (or src/app/sentry-tunnel/route.ts)
    export { POST } from '@sentry/nextjs/tunnel';

    The handler accepts events for the DSN of your server SDK. To accept other DSNs, use createSentryTunnelRoute({ allowedDsns }) from the same import. Without the file, the tunnel route works as before.

    With the handler, tunnel requests go through your middleware. If your middleware blocks unauthenticated requests, exclude the tunnel route in its matcher.

    Also, the server no longer sends spans of tunnel requests when span streaming is on, because these spans only show the SDK's own traffic.

  • v10/nextjs: Send tunnel route requests with credentials: 'omit'

    With tunnelRoute and no tunnel route handler, @sentry/nextjs now sends events from the browser with credentials: 'omit', because the tunnel route does not need cookies.
    If a layer in front of your app checks cookies before it lets requests through (for example Vercel Deployment Protection), you can send them again in your browser Sentry.init call:

    // instrumentation-client.ts
    Sentry.init({
      transportOptions: { fetchOptions: { credentials: 'same-origin' } },
    });
  • breaking

    v10/deps: Limit @opentelemetry/api to <1.10.0 and the OpenTelemetry SDK to <3.0.0

    Breaking change

    If your app uses @opentelemetry/api 1.10.0 or OpenTelemetry SDK v3 together with v10 of the Sentry SDK, you must stay on @opentelemetry/api below 1.10.0 and OpenTelemetry SDK v2, or upgrade to v11.

    @opentelemetry/api 1.10.0 only works with OpenTelemetry SDK v3 (@opentelemetry/core 3.x, @opentelemetry/instrumentation 0.300.x). The SDK v2 packages that v10 uses only support @opentelemetry/api below 1.10.0, and SDK v3 needs Node.js 22.15.0 or newer, while v10 supports Node.js 18 and newer. For this reason, v10 now limits @opentelemetry/api to <1.10.0, and the @opentelemetry/instrumentation and @opentelemetry/exporter-trace-otlp-http peer dependencies of @sentry/node-core to <0.300.0.

    If your app depends on @opentelemetry/api directly, use a version below 1.10.0 (for example ~1.9.1). With 1.10.0, your app and the Sentry SDK use different copies of the API, and the OpenTelemetry calls of your app do not see the tracer provider of the Sentry SDK.

    To use @opentelemetry/api 1.10.0 and OpenTelemetry SDK v3, upgrade to v11 of the Sentry SDK. For the upgrade steps, see the migration guide.

Other Changes

  • v10/core: Limit the body size of tunnel requests

  • v10/astro: Upload source maps of Astro 7's prerender build

  • v10/aws-serverless: End the function.aws span when a callback-style handler calls back

  • v10/browser: Apply urlQueryParams to event URLs, static span names and LCP URLs

  • v10/browser: Apply urlQueryParams to the Referer header

  • v10/browser: Skip profiling for unsampled active root spans

  • v10/build: Make CJS re-exports visible to Node ESM imports

  • v10/bundler-plugins: Check globalThis before global in the injected snippet

  • v10/bundler-plugins: Escape JSON in generated injection code

  • v10/bundler-plugins: Inject the release only into chunks that load at startup

  • v10/cloudflare: auto-instrument a re-exported default export

  • v10/cloudflare: auto-instrument when wrangler main is a package

  • v10/cloudflare: Bind a default re-export with var in the Vite transform

  • v10/cloudflare: Keep default exports intact when auto-instrumenting

  • v10/core: Don't mark http client spans as errors when the caller aborts

  • v10/core: Record span outcomes for spans dropped when building a transaction

  • v10/core: Stop treating previous_response_id as the OpenAI conversation id

  • v10/hono: Expose runtime-specific SDK options

  • v10/nextjs: Apply top-level bundleSizeOptimizations to webpack and Turbopack builds

  • v10/nextjs: Filter query parameters in request error context

  • v10/nextjs: Only inject applicationKey metadata into browser bundles

  • v10/nitro: Use forward slashes for resolved plugin paths on Windows

  • v10/node: Don't mark fetch spans as errors when the caller aborts

  • v10/node: Only read JavaScript and TypeScript source files in ContextLines

  • v10/node: Read module versions from the isolated layouts of pnpm and Bun

  • v10/nuxt: Delete public source maps before Nitro lists its public assets

  • v10/nuxt: Keep sourcesContent in Nuxt 5 server source maps

  • v10/nuxt: Skip 3xx/4xx Nuxt errors in the vue:error hook

  • v10/react: Don't crash ErrorBoundary when error.cause is not an Error

  • v10/react: Match React Router navigations against root routes only

  • v10/react-router: Respect custom default integrations

  • v10/remix: Respect custom default integrations

  • v10/replay: Apply attribute masking to breadcrumb messages

  • v10/server-utils: Avoid quadratic SQL summary regex backtracking

  • v10/server-utils: End Express layer spans when the client aborts

  • v10/sveltekit: Add op and origin to Kit's sveltekit.endpoint span

  • v10/tanstackstart-react: Keep parametrized route names in Nitro 3 builds

  • v10/tanstackstart-react: Rewrite source paths of split route modules

Internal Changes

Bundle size

PathSize
@sentry/browser27.62 KB
@sentry/browser - with treeshaking flags26.11 KB
@sentry/browser (incl. Tracing)46.19 KB
@sentry/browser (incl. Tracing + Span Streaming)47.95 KB
@sentry/browser (incl. Tracing, Profiling)50.87 KB
@sentry/browser (incl. Tracing, Replay)84.72 KB
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags74.59 KB
@sentry/browser (incl. Tracing, Replay with Canvas)89.32 KB
@sentry/browser (incl. Tracing, Replay, Feedback)101.64 KB
@sentry/browser (incl. Feedback)44.39 KB
@sentry/browser (incl. sendFeedback)32.31 KB
@sentry/browser (incl. FeedbackAsync)37.31 KB
@sentry/browser (incl. Metrics)28.69 KB
@sentry/browser (incl. Logs)28.92 KB
@sentry/browser (incl. Metrics & Logs)29.59 KB
@sentry/react29.39 KB
@sentry/react (incl. Tracing)48.44 KB
@sentry/vue33.37 KB
@sentry/vue (incl. Tracing)48.51 KB
@sentry/svelte27.64 KB
CDN Bundle29.97 KB
CDN Bundle (incl. Tracing)48.1 KB
CDN Bundle (incl. Logs, Metrics)31.52 KB
CDN Bundle (incl. Tracing, Logs, Metrics)49.38 KB
CDN Bundle (incl. Replay, Logs, Metrics)70.07 KB
CDN Bundle (incl. Tracing, Replay)84.95 KB
CDN Bundle (incl. Tracing, Replay, Logs, Metrics)86.21 KB
CDN Bundle (incl. Tracing, Replay, Feedback)90.62 KB
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)91.88 KB
CDN Bundle - uncompressed89.06 KB
CDN Bundle (incl. Tracing) - uncompressed144.98 KB
CDN Bundle (incl. Logs, Metrics) - uncompressed93.67 KB
CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed148.87 KB
CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed216.21 KB
CDN Bundle (incl. Tracing, Replay) - uncompressed262.13 KB
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed266.01 KB
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed275.51 KB
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed279.38 KB
@sentry/nextjs (client)51.03 KB
@sentry/sveltekit (client)46.63 KB
@sentry/core/server79.75 KB
@sentry/core/browser66.14 KB
@sentry/node-core62.59 KB
@sentry/node124.29 KB
@sentry/node (incl. diagnostics channel injection)167.45 KB
@sentry/node/import (ESM hook with diagnostics-channel injection)166 B
@sentry/node/light50.96 KB
@sentry/node - without tracing74.11 KB
@sentry/aws-serverless83.04 KB
@sentry/cloudflare (withSentry) - minified200.12 KB
@sentry/cloudflare (withSentry)493.36 KB