@sentry/solid
11.10.0 · 28 Oct 2026MIT208.8k / weekRepositoryHomepagenpmAtom feed
10.78.0 is the newest release of 10.x.
In short
1 breaking11 new17 fixed1 changed7 internal
- breaking
tanstackstart-react: Export Vite plugin from
@sentry/tanstackstart-react/vitesubpath
Release note
Important Changes
tanstackstart-react: Add global sentry exception middlewares
The
sentryGlobalRequestMiddlewareandsentryGlobalFunctionMiddlewareglobal middlewares capture unhandled exceptions thrown in TanStack Start API routes and server functions. Add them as the first entries in therequestMiddlewareandfunctionMiddlewarearrays ofcreateStart():import { createStart } from '@tanstack/react-start/server'; import { sentryGlobalRequestMiddleware, sentryGlobalFunctionMiddleware } from '@sentry/tanstackstart-react'; export default createStart({ requestMiddleware: [sentryGlobalRequestMiddleware, myRequestMiddleware], functionMiddleware: [sentryGlobalFunctionMiddleware, myFunctionMiddleware], });- breaking
tanstackstart-react: Export Vite plugin from
@sentry/tanstackstart-react/vitesubpathThe
sentryTanstackStartVite plugin is now exported from a dedicated subpath. Update your import:- import { sentryTanstackStart } from '@sentry/tanstackstart-react'; + import { sentryTanstackStart } from '@sentry/tanstackstart-react/vite'; node-core: Reduce bundle size by removing apm-js-collab and requiring pino >= 9.10
In order to keep receiving pino logs, you need to update your pino version to >= 9.10, the reason for the support bump is to reduce the bundle size of the node-core SDK in frameworks that cannot tree-shake the apm-js-collab dependency.
browser: Ensure user id is consistently added to sessions
Previously, the SDK inconsistently set the user id on sessions, meaning sessions were often lacking proper coupling to the user set for example via
Sentry.setUser().
Additionally, the SDK incorrectly skipped starting a new session for the first soft navigation after the pageload.
This patch fixes these issues. As a result, metrics around sessions, like "Crash Free Sessions" or "Crash Free Users" might change.
This could also trigger alerts, depending on your set thresholds and conditions.
We apologize for any inconvenience caused!While we're at it, if you're using Sentry in a Single Page App or meta framework, you might want to give the new
'page'session lifecycle a try!
This new mode no longer creates a session per soft navigation but continues the initial session until the next hard page refresh.
Check out the docs to learn more!Ref!(gatsby): Drop Gatsby v2 support
We drop support for Gatsby v2 (which still relies on webpack 4) for a critical security update in github.com/getsentry/sentry-javascript-bundler-…
Other Changes
astro: Add support for Astro on CF Workers
cloudflare: Instrument async KV API
core: Add framework-agnostic tunnel handler
deno: Export logs API from Deno SDK
deno: Export metrics API from Deno SDK
deno: Instrument Deno.serve with async context support
feedback: Add
setTheme()to dynamically update feedback widget color schemenextjs: Add
sourcemaps.filesToDeleteAfterUploadas a top-level optionnode: Add
ignoreConnectSpansoption topostgresIntegrationnode: Bump to latest @fastify/otel
Bump bundler plugins to v5
Updated the codecov config
aws-serverless: Prevent crash in
isPromiseAllSettledResultwith null/undefined array elementsfix(bun) Export pinoIntegration from @sentry/node
core,browser: Delete SentryNonRecordingSpan from fetch/xhr map
core: Explicitly flush log buffer in
client.close()core: Langgraph state graph invoke accepts null to resume
core: Wrap decodeURI in node stack trace parser to handle malformed URIs
nextjs: Apply environment from
optionsif setnextjs: Don't set
sentry.drop_transactionattribute on spans whenskipOpenTelemetrySetupis enablednextjs: Normalize trailing slashes in App Router route parameterization
nextjs: Return correct lastEventId for SSR pages
nextjs: Set parameterized transaction name for non-transaction events
node-core: Align pino mechanism type with spec conventions
nuxt: Use
options.rootDirinstead ofoptions.srcDir
Internal Changes - test(nextjs): Add bun e2e test app - test(nextjs): Deactivate canary test for cf-workers - tests(langchain): Fix langchain v1 internal error tests - ref(nuxt): Remove `defineNitroPlugin` wrapper - ref(cloudflare): Move internal files and functions around - chore: Add external contributor to CHANGELOG.md - chore: Add github action to notify stale PRs - chore: add oxfmt changes to blame ignore rev list - chore: Enhance AI integration guidelines with runtime-specific placem… - chore: Ignore `lerna.json` for prettier - chore: migrate to oxfmt - chore: Revert to lerna v8 - chore: Unignore HTML files and reformat with oxfmt - chore(ci): Adapt max turns of triage issue agent - chore(ci): Add `environment` to triage action - chore(ci): Add `id-token: write` permission to triage workflow - chore(ci): Move monorepo to nx - chore(cursor): Add rules for fetching develop docs - chore(deps-dev): Bump @sveltejs/kit from 2.49.5 to 2.52.2 in /dev-packages/e2e-tests/test-applications/sveltekit-2 - chore(deps-dev): Bump @sveltejs/kit from 2.49.5 to 2.52.2 in /dev-packages/e2e-tests/test-applications/sveltekit-2-kit-tracing - chore(deps-dev): Bump @sveltejs/kit from 2.49.5 to 2.52.2 in /dev-packages/e2e-tests/test-applications/sveltekit-cloudflare-pages - chore(deps-dev): Bump @sveltejs/kit from 2.50.1 to 2.52.2 - chore(deps-dev): bump @testing-library/react from 13.0.0 to 15.0.5 - chore(deps-dev): bump @types/ember__debug from 3.16.5 to 4.0.8 - chore(deps-dev): bump ember-resolver from 13.0.2 to 13.1.1 - chore(deps): Bump @actions/glob from 0.4.0 to 0.6.1 - chore(deps): bump agents from 0.2.32 to 0.3.10 in /dev-packages/e2e-tests/test-applications/cloudflare-mcp - chore(deps): Bump hono from 4.11.7 to 4.11.10 in /dev-packages/e2e-tests/test-applications/cloudflare-hono - chore(deps): Bump Sentry CLI to latest v2 - chore(deps): Bump transitive dep `fast-xml-parser` - chore(deps): upgrade tar to 7.5.9 to fix CVE-2026-26960 - chore(github): Add `allowedTools` to Claude GitHub action - chore(github): Add workflow to trigger `triage-issue` skill - chore(github): Add write tool for markdown report - chore(github): Change tool permission path - chore(llm): Add `triage-issue` skill - chore(llm): Better defense against prompt injection in triage skill - chore(llm): Make cross-repo search optional and remove file cleanup - chore(node-core): Make @sentry/opentelemetry not a peer dep in node… - chore(repo): Allow WebFetch for Sentry docs in Claude settings - chore(repo): Increase number of concurrently running nx tasks - chore(skills): Add security notes for injection defense - chore(triage-action): Fix JSON parsing - chore(triage-issue): Improve triage prompt for accuracy - chore(triage-skill): Add GitHub parsing python util script - chore(triage-skill): Increase `num_turns` and add script to post summary - ci(fix-security-vulnerability): Add id token write permission - ci(fix-security-vulnerability): Be specific about how to fetch the alert page - ci(fix-security-vulnerability): Run fetch alert first before executing skill - ci(fix-security-vulnerability): Use opus 4.6 - ci(github): Add tilde to file path to not exact-match - ci(triage-skill): Allow `Write` and remove `rm` permission - ci(triage-skill): Run on opened issues - docs(nuxt): Remove duplicated setup instructions - feat(ci): Add security vulnerability skill action
Work in this release was contributed by @LudvigHz and @jadengis. Thank you for your contributions!
Bundle size
| Path | Size |
|---|---|
| @sentry/browser | 25.02 KB |
| @sentry/browser - with treeshaking flags | 23.56 KB |
| @sentry/browser (incl. Tracing) | 41.43 KB |
| @sentry/browser (incl. Tracing, Profiling) | 45.98 KB |
| @sentry/browser (incl. Tracing, Replay) | 79.34 KB |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 69.2 KB |
| @sentry/browser (incl. Tracing, Replay with Canvas) | 83.92 KB |
| @sentry/browser (incl. Tracing, Replay, Feedback) | 95.9 KB |
| @sentry/browser (incl. Feedback) | 41.43 KB |
| @sentry/browser (incl. sendFeedback) | 29.58 KB |
| @sentry/browser (incl. FeedbackAsync) | 34.51 KB |
| @sentry/browser (incl. Metrics) | 26.16 KB |
| @sentry/browser (incl. Logs) | 26.3 KB |
| @sentry/browser (incl. Metrics & Logs) | 26.96 KB |
| @sentry/react | 26.73 KB |
| @sentry/react (incl. Tracing) | 43.71 KB |
| @sentry/vue | 29.36 KB |
| @sentry/vue (incl. Tracing) | 43.23 KB |
| @sentry/svelte | 25.04 KB |
| CDN Bundle | 27.5 KB |
| CDN Bundle (incl. Tracing) | 42.24 KB |
| CDN Bundle (incl. Logs, Metrics) | 28.32 KB |
| CDN Bundle (incl. Tracing, Logs, Metrics) | 43.06 KB |
| CDN Bundle (incl. Replay, Logs, Metrics) | 66.49 KB |
| CDN Bundle (incl. Tracing, Replay) | 78.25 KB |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics) | 79.1 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) | 83.64 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) | 84.5 KB |
| CDN Bundle - uncompressed | 80.41 KB |
| CDN Bundle (incl. Tracing) - uncompressed | 125.06 KB |
| CDN Bundle (incl. Logs, Metrics) - uncompressed | 83.18 KB |
| CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed | 127.82 KB |
| CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed | 203.94 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed | 239.2 KB |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed | 241.95 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 251.81 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed | 254.55 KB |
| @sentry/nextjs (client) | 46.07 KB |
| @sentry/sveltekit (client) | 41.88 KB |
| @sentry/node-core | 50.95 KB |
| @sentry/node | 169.38 KB |
| @sentry/node - without tracing | 95.04 KB |
| @sentry/aws-serverless | 110.47 KB |