chore: Merge develop into 11.0.0-beta - #24013

Closed
chargome wants to merge 16 commits into
11.0.0-betafrom
merge-develop-into-11.0.0-beta
Closed

chore: Merge develop into 11.0.0-beta#24013
chargome wants to merge 16 commits into
11.0.0-betafrom
merge-develop-into-11.0.0-beta

Conversation

@chargome

@chargomechargome commented Sep 3, 2026

Copy link
Copy Markdown
Member

Syncs develop into the 11.0.0-beta branch in preparation for cutting 11.0.0-beta.1.

Lms24and others added 16 commits September 3, 2026 09:12
This PR deprecates `ignoreStatusCodes` on - Node `httpIntegration` / `httpServerSpansIntegration`
- Deno's `denoHttpIntegration` / `denoServeIntegration`
both scheduled for removal in v12 without replacement.
The option filters finished transaction events by response status code,
which span streaming no longer supports. Child spans are sent as they
end, potentially before the response status is known, so a request's
spans can't be dropped retroactively.
`ignoreIncomingRequests` is the nearest alternative for keeping requests
out of Sentry, but it matches on the request rather than on the
response, so the migration note is explicit that it isn't fully
equivalent.
Fixes#23956
Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.5 to
3.1.7.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/fastify/fast-uri/releases">fast-uri's
releases</a>.</em></p>
<blockquote>
<h2>v3.1.7</h2>
<h2>⚠️ Security Warning</h2>
<p>This is a security release that fixes the following high-severity
security advisories:</p>
<ul>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-qw65-cvwx-89v3">GHSA-qw65-cvwx-89v3</a>
— authority injection via an unvalidated port in
<code>serialize()</code></li>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-58mr-gqgx-xq4g">GHSA-58mr-gqgx-xq4g</a>
— host confusion via unbalanced or misplaced IP-literal brackets</li>
</ul>
<p>Users of the v3.x release line should upgrade to v3.1.7.</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/fastify/fast-uri/compare/v3.1.6...v3.1.7">https://github.com/fastify/fast-uri/compare/v3.1.6...v3.1.7</a></p>
<h2>v3.1.6</h2>
<h2>⚠️ Security Warning</h2>
<p>This release addresses the following high-severity security
advisories:</p>
<ul>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-5jgf-p345-68v8">GHSA-5jgf-p345-68v8</a>
— host confusion via skipped IDN canonicalization on scheme-relative
references</li>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-fph4-wmhf-6fwf">GHSA-fph4-wmhf-6fwf</a>
— server-side request forgery via repeated hostname
percent-decoding</li>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-f65p-4m7j-42xc">GHSA-f65p-4m7j-42xc</a>
— server-side request forgery via malformed IPv6 normalization</li>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-jqff-g426-hqxp">GHSA-jqff-g426-hqxp</a>
— host confusion via percent-encoded scheme normalization</li>
</ul>
<p>Users of the v3.x release line should upgrade to v3.1.6.</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/fastify/fast-uri/compare/v3.1.5...v3.1.6">https://github.com/fastify/fast-uri/compare/v3.1.5...v3.1.6</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/fastify/fast-uri/commit/412e40abd4eb8beabfb952d80abf949a2baf27a3"><code>412e40a</code></a>
Bumped v3.1.7</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/9f4c943e4d2133e8d78e0941203879216255bb01"><code>9f4c943</code></a>
fix: backport port and IP-literal validation to v3.x (<a
href="https://redirect.github.com/fastify/fast-uri/issues/216">#216</a>)</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/1eb3ce436fe050807caba79f886ab894f485a588"><code>1eb3ce4</code></a>
fix: treat unterminated bracket hosts as reg-names again (<a
href="https://redirect.github.com/fastify/fast-uri/issues/214">#214</a>)</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/6f970b2951fd896aa0f3a7ff28eeb6640c137d33"><code>6f970b2</code></a>
Bumped v3.1.6</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/d941579a84273ec7e96bde596b1f7a8be447df2a"><code>d941579</code></a>
fix: never run IDN canonicalization on bracketed IP literals</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/c0f0279cf370cb89ee56b04bbcde2a7afbe81aba"><code>c0f0279</code></a>
test: adapt decoded-scheme handler assertion to 3.x (no mailto
scheme)</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/37f3417c82994279656854f83ce938acd81c3862"><code>37f3417</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/607bfbe953f28a14c2e06ae64aff38c81ca2937f"><code>607bfbe</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/ae92a4c5d8c4b6c9e447f048d5fcbde7eebd5514"><code>ae92a4c</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/444ecdad447db2cc23c4d422acc6f0daa6fa8eef"><code>444ecda</code></a>
Merge commit from fork</li>
<li>Additional commits viewable in <a
href="https://github.com/fastify/fast-uri/compare/v3.1.5...v3.1.7">compare
view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=fast-uri&package-manager=npm_and_yarn&previous-version=3.1.5&new-version=3.1.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/getsentry/sentry-javascript/network/alerts).
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Reference #23804
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
With span streaming, `ignoreSpans` runs at span start. Redis cache spans
used to start as `db.query` and get renamed to `cache.*` at response
time, so a filter matching what you see in the UI never matched anything
(part of #23830).
Now a command whose key matches `cachePrefixes` starts as a `cache.*`
span on all four instrumentation paths. At response time we only add
`cache.hit`/`cache.item_size` (as we only know it at this time).
Static-lifecycle output is unchanged.
Behavior changes and limitations:
- Failed cache commands now report as `cache.*` spans. They previously
stayed `db.query`.
- `maxCacheKeyLength` only applies to `traceLifecycle: 'static'` (added
to JSDoc). Streamed span names don't need truncation.
- Multi-key commands on node-redis >=5.12 still stay `db.query`: the
library sanitizes keys to `?` before we see them (pre-existing).
Closes#23832
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…lbacks (#23760)
Adds `safeCallback(message, fn, fallback)` helper which runs a
user-provided callback, and on a sync throw or async rejection logs
`message` via `debug.error` and returns `fallback(error)` instead of
propagating.
`applyBeforeSendSpanCallback` and the undici `safeExecute` are
refactored onto the helper so there is a single implementation.
First step of #23755, next PR will wrap the rest of the user-defined
callbacks.
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
… as events (#23770)
Wraps `beforeSend`, `beforeSendTransaction`, event processors,
`tracesSampler`, `beforeBreadcrumb`, `beforeSendLog` and
`beforeSendMetric` in the `safeCallback` helper from #23760. A throwing
or rejecting callback no longer escapes into the calling code and is no
longer captured as an `internal` error event; the
event/breadcrumb/log/metric is dropped, a client report is recorded
where a category exists, and the error is logged in debug mode.
part of #23755
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…a.url shim (#23935)
This is just adding the tests of the v10 PRs to make sure we don't have
a regression.
Ported tests of two v10 PRs:
- #23910
- #23906
One test caught a real problem: the `@sentry/server-utils` CJS build
still replaced `import.meta.url` with a snippet that assumes "a
`document` global means a browser", crashing under jsdom.
```
"AssertionError: expected [Function] to not throw an error but 'TypeError [ERR_INVALID_URL_SCHEME]: T…' was thrown"
```
The v10 lazy-loading fix needs no porting: on v11, `withSentryConfig`
lives in the separate `@sentry/nextjs/config` export, so importing the
SDK never reaches the bundler plugins.
Fixes#23789
- `sentryRemixVitePlugin` moves from the main `@sentry/remix` entry to a
dedicated `@sentry/remix/vite` subpath, matching `@sentry/sveltekit` and
`@sentry/react-router`.
- It was exported from `index.server.ts`, the package's CJS `main`, so
anything the plugin imports lands in the module graph of every Remix
server process. Splitting the entry keeps build-time-only dependencies
off the runtime path.
- It now returns an array so further plugins can be added without
another breaking change — #23988 stacks on this to auto-wire the
orchestrion transform.
Refs #23986
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
- `sentryRemixVitePlugin()` now applies the orchestrion bundler
transform automatically. Remix was the last metaframework SDK still
asking users to add `sentryOrchestrionPlugin()` themselves.
- Cloudflare and Hydrogen builds are skipped — they instrument via
`instrumentBuild()` from `@sentry/remix/cloudflare`, so the injected
channels would be dead code in a worker bundle.
- The dev server is unaffected: the plugin is added unconditionally, as
in SvelteKit/SolidStart/TanStack Start/Astro, and since #22857
orchestrion opts itself out of `serve` so deps stay external for the
runtime `--import` hook.
Fixes#23986
Refs #22632
---------
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
…te for C:\ (#23653)
- [x] tests added if needed
- [x] yarn lint passes
- [ ] no related issue, auto-link is fine
Windows fix for Nuxt dev on Node 24.
On Windows `npm run dev` was failing with
`ERR_UNSUPPORTED_ESM_URL_SCHEME` / `Received protocol 'c:'` because
`.nuxt/dev/index.mjs` generated `import 'C:\...'` instead of
`file:///C:/...`. Same `isExternal` check in `rollup.module.config.mjs`
treated `C:\` as external and broke the build.
Changed `addServerConfig.ts` (and the solidstart copy) to emit
`pathToFileURL(...).href` and fixed `isExternal` to use `isAbsolute()`
so Windows absolute paths work. Also handles POSIX fine.
Verified with `yarn nx run @sentry/nuxt:build:dev` -> now passes, and
`pathToFileURL` gives `file:///C:/...` on Windows.
Closes #XXXX
---------
Co-authored-by: Sigrid <32902192+s1gr1d@users.noreply.github.com>
## What
Documents the `@sentry/core` entrypoint split from #23762 in the v10 to
v11 migration guide, listing which exports now live only on
`@sentry/core/browser` and `@sentry/core/server`.
## Why
The split shipped without a migration or changelog entry. Upgrading the
Sentry frontend to 11.0.0-beta.0 hit it as a bare `has no exported
member` type error, with nothing in the guide saying where the symbols
went.
Reference #23804
Two changes beyond the mechanical port. The shared cached-html helper
(used by the pre-rendered test; the SWR tests were already skipped)
asserted that a second request sends no server root span — that only
passed because the listener registered after `page.goto`. Streaming's
buffered flush exposed the span, so the helper now checks the actual
contract: no tracing meta tags, and each pageload starts its own trace.
Also, `db-test.ts` runs a successful query before the failing one, so
the error carries a query breadcrumb — there is no transaction event to
read breadcrumbs off anymore.
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Reference #23804
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…age (#23952)
Reference #23804
This is a verbatim copy of the nuxt-4 app that stays pinned to
`traceLifecycle: 'static'` and keeps the transaction-based specs. With
the Nuxt/Nitro apps migrating to span streaming, this copy keeps the
static trace lifecycle covered by one representative app. Only the app
name changed: `package.json` name, the event proxy server name, the
`waitFor*` calls in the specs, and the CI variant labels. The e2e matrix
discovers apps by directory, so no CI config change is needed.
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Reference #23804
Two changes beyond the mechanical port. The SWR cached-html tests
asserted that a second request sends no server root span — that only
passed because the listener registered after `page.goto`, so the (always
sent) second transaction arrived unobserved. Streaming's buffered flush
exposed it. The tests now check the actual SWR contract: no tracing meta
tags, and each pageload starts its own trace. Also, `db-test.ts` runs a
successful query before the failing one, so the error carries a query
breadcrumb — there is no transaction event to read breadcrumbs off
anymore (nuxt-3 has the same setup).
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AniF28D1ybJANSEHVsd9ay
@github-actions

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser28.71 kBaddedadded
@sentry/browser - with treeshaking flags27.02 kBaddedadded
@sentry/browser - with treeshaking flags tracing without tracing26.92 kBaddedadded
@sentry/browser (incl. Tracing)49.11 kBaddedadded
@sentry/browser (incl. Tracing + Span Streaming)49.1 kBaddedadded
@sentry/browser (incl. Tracing, Profiling)52.02 kBaddedadded
@sentry/browser (incl. Tracing, Replay)88.58 kBaddedadded
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags77.88 kBaddedadded
@sentry/browser (incl. Tracing, Replay with Canvas)93.27 kBaddedadded
@sentry/browser (incl. Tracing, Replay, Feedback)106.22 kBaddedadded
@sentry/browser (incl. Feedback)46.2 kBaddedadded
@sentry/browser (incl. sendFeedback)33.78 kBaddedadded
@sentry/browser (incl. FeedbackAsync)38.88 kBaddedadded
@sentry/browser (incl. Metrics)29.69 kBaddedadded
@sentry/browser (incl. Logs)29.97 kBaddedadded
@sentry/browser (incl. Metrics & Logs)30.62 kBaddedadded
@sentry/react30.48 kBaddedadded
@sentry/react (incl. Tracing)51.31 kBaddedadded
@sentry/vue35.95 kBaddedadded
@sentry/vue (incl. Tracing)51.37 kBaddedadded
@sentry/svelte28.74 kBaddedadded
CDN Bundle30.46 kBaddedadded
CDN Bundle (incl. Tracing)49.64 kBaddedadded
CDN Bundle (incl. Logs, Metrics)32.69 kBaddedadded
CDN Bundle (incl. Tracing, Logs, Metrics)51.57 kBaddedadded
CDN Bundle (incl. Replay, Logs, Metrics)73.29 kBaddedadded
CDN Bundle (incl. Tracing, Replay)87.13 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Logs, Metrics)89 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback)93.06 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)95.01 kBaddedadded
CDN Bundle - uncompressed90.2 kBaddedadded
CDN Bundle (incl. Tracing) - uncompressed147.88 kBaddedadded
CDN Bundle (incl. Logs, Metrics) - uncompressed96.59 kBaddedadded
CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed153.66 kBaddedadded
CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed225.75 kBaddedadded
CDN Bundle (incl. Tracing, Replay) - uncompressed267.37 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed273.14 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed281.07 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed286.83 kBaddedadded
@sentry/nextjs (client)53.92 kBaddedadded
@sentry/sveltekit (client)49.54 kBaddedadded
@sentry/core/server40.96 kBaddedadded
@sentry/core/browser13.54 kBaddedadded
@sentry/node124.67 kBaddedadded
@sentry/node/import (ESM hook with diagnostics-channel injection)81.52 kBaddedadded
@sentry/node - without tracing88.51 kBaddedadded
@sentry/node - without channel injection103.96 kBaddedadded
@sentry/aws-serverless96.89 kBaddedadded
@sentry/cloudflare (withSentry) - minified201.56 kBaddedadded
@sentry/cloudflare (withSentry)501.38 kBaddedadded

@chargomechargome closed this Sep 3, 2026
@chargome
chargome deleted the merge-develop-into-11.0.0-beta branch September 3, 2026 13:08
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants

@chargome@Lms24@s1gr1d@msonnb@halillusion@andreiborza
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

chore: Merge develop into 11.0.0-beta - #24013

Closed
chargome wants to merge 16 commits into
11.0.0-betafrom
merge-develop-into-11.0.0-beta
Closed

chore: Merge develop into 11.0.0-beta#24013
chargome wants to merge 16 commits into
11.0.0-betafrom
merge-develop-into-11.0.0-beta

Conversation

@chargome

@chargomechargome commented Sep 3, 2026

Copy link
Copy Markdown
Member

Syncs develop into the 11.0.0-beta branch in preparation for cutting 11.0.0-beta.1.

Lms24and others added 16 commits September 3, 2026 09:12
This PR deprecates `ignoreStatusCodes` on - Node `httpIntegration` / `httpServerSpansIntegration`
- Deno's `denoHttpIntegration` / `denoServeIntegration`
both scheduled for removal in v12 without replacement.
The option filters finished transaction events by response status code,
which span streaming no longer supports. Child spans are sent as they
end, potentially before the response status is known, so a request's
spans can't be dropped retroactively.
`ignoreIncomingRequests` is the nearest alternative for keeping requests
out of Sentry, but it matches on the request rather than on the
response, so the migration note is explicit that it isn't fully
equivalent.
Fixes#23956
Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.5 to
3.1.7.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/fastify/fast-uri/releases">fast-uri's
releases</a>.</em></p>
<blockquote>
<h2>v3.1.7</h2>
<h2>⚠️ Security Warning</h2>
<p>This is a security release that fixes the following high-severity
security advisories:</p>
<ul>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-qw65-cvwx-89v3">GHSA-qw65-cvwx-89v3</a>
— authority injection via an unvalidated port in
<code>serialize()</code></li>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-58mr-gqgx-xq4g">GHSA-58mr-gqgx-xq4g</a>
— host confusion via unbalanced or misplaced IP-literal brackets</li>
</ul>
<p>Users of the v3.x release line should upgrade to v3.1.7.</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/fastify/fast-uri/compare/v3.1.6...v3.1.7">https://github.com/fastify/fast-uri/compare/v3.1.6...v3.1.7</a></p>
<h2>v3.1.6</h2>
<h2>⚠️ Security Warning</h2>
<p>This release addresses the following high-severity security
advisories:</p>
<ul>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-5jgf-p345-68v8">GHSA-5jgf-p345-68v8</a>
— host confusion via skipped IDN canonicalization on scheme-relative
references</li>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-fph4-wmhf-6fwf">GHSA-fph4-wmhf-6fwf</a>
— server-side request forgery via repeated hostname
percent-decoding</li>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-f65p-4m7j-42xc">GHSA-f65p-4m7j-42xc</a>
— server-side request forgery via malformed IPv6 normalization</li>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-jqff-g426-hqxp">GHSA-jqff-g426-hqxp</a>
— host confusion via percent-encoded scheme normalization</li>
</ul>
<p>Users of the v3.x release line should upgrade to v3.1.6.</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/fastify/fast-uri/compare/v3.1.5...v3.1.6">https://github.com/fastify/fast-uri/compare/v3.1.5...v3.1.6</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/fastify/fast-uri/commit/412e40abd4eb8beabfb952d80abf949a2baf27a3"><code>412e40a</code></a>
Bumped v3.1.7</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/9f4c943e4d2133e8d78e0941203879216255bb01"><code>9f4c943</code></a>
fix: backport port and IP-literal validation to v3.x (<a
href="https://redirect.github.com/fastify/fast-uri/issues/216">#216</a>)</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/1eb3ce436fe050807caba79f886ab894f485a588"><code>1eb3ce4</code></a>
fix: treat unterminated bracket hosts as reg-names again (<a
href="https://redirect.github.com/fastify/fast-uri/issues/214">#214</a>)</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/6f970b2951fd896aa0f3a7ff28eeb6640c137d33"><code>6f970b2</code></a>
Bumped v3.1.6</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/d941579a84273ec7e96bde596b1f7a8be447df2a"><code>d941579</code></a>
fix: never run IDN canonicalization on bracketed IP literals</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/c0f0279cf370cb89ee56b04bbcde2a7afbe81aba"><code>c0f0279</code></a>
test: adapt decoded-scheme handler assertion to 3.x (no mailto
scheme)</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/37f3417c82994279656854f83ce938acd81c3862"><code>37f3417</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/607bfbe953f28a14c2e06ae64aff38c81ca2937f"><code>607bfbe</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/ae92a4c5d8c4b6c9e447f048d5fcbde7eebd5514"><code>ae92a4c</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/444ecdad447db2cc23c4d422acc6f0daa6fa8eef"><code>444ecda</code></a>
Merge commit from fork</li>
<li>Additional commits viewable in <a
href="https://github.com/fastify/fast-uri/compare/v3.1.5...v3.1.7">compare
view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=fast-uri&package-manager=npm_and_yarn&previous-version=3.1.5&new-version=3.1.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/getsentry/sentry-javascript/network/alerts).
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Reference #23804
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
With span streaming, `ignoreSpans` runs at span start. Redis cache spans
used to start as `db.query` and get renamed to `cache.*` at response
time, so a filter matching what you see in the UI never matched anything
(part of #23830).
Now a command whose key matches `cachePrefixes` starts as a `cache.*`
span on all four instrumentation paths. At response time we only add
`cache.hit`/`cache.item_size` (as we only know it at this time).
Static-lifecycle output is unchanged.
Behavior changes and limitations:
- Failed cache commands now report as `cache.*` spans. They previously
stayed `db.query`.
- `maxCacheKeyLength` only applies to `traceLifecycle: 'static'` (added
to JSDoc). Streamed span names don't need truncation.
- Multi-key commands on node-redis >=5.12 still stay `db.query`: the
library sanitizes keys to `?` before we see them (pre-existing).
Closes#23832
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…lbacks (#23760)
Adds `safeCallback(message, fn, fallback)` helper which runs a
user-provided callback, and on a sync throw or async rejection logs
`message` via `debug.error` and returns `fallback(error)` instead of
propagating.
`applyBeforeSendSpanCallback` and the undici `safeExecute` are
refactored onto the helper so there is a single implementation.
First step of #23755, next PR will wrap the rest of the user-defined
callbacks.
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
… as events (#23770)
Wraps `beforeSend`, `beforeSendTransaction`, event processors,
`tracesSampler`, `beforeBreadcrumb`, `beforeSendLog` and
`beforeSendMetric` in the `safeCallback` helper from #23760. A throwing
or rejecting callback no longer escapes into the calling code and is no
longer captured as an `internal` error event; the
event/breadcrumb/log/metric is dropped, a client report is recorded
where a category exists, and the error is logged in debug mode.
part of #23755
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…a.url shim (#23935)
This is just adding the tests of the v10 PRs to make sure we don't have
a regression.
Ported tests of two v10 PRs:
- #23910
- #23906
One test caught a real problem: the `@sentry/server-utils` CJS build
still replaced `import.meta.url` with a snippet that assumes "a
`document` global means a browser", crashing under jsdom.
```
"AssertionError: expected [Function] to not throw an error but 'TypeError [ERR_INVALID_URL_SCHEME]: T…' was thrown"
```
The v10 lazy-loading fix needs no porting: on v11, `withSentryConfig`
lives in the separate `@sentry/nextjs/config` export, so importing the
SDK never reaches the bundler plugins.
Fixes#23789
- `sentryRemixVitePlugin` moves from the main `@sentry/remix` entry to a
dedicated `@sentry/remix/vite` subpath, matching `@sentry/sveltekit` and
`@sentry/react-router`.
- It was exported from `index.server.ts`, the package's CJS `main`, so
anything the plugin imports lands in the module graph of every Remix
server process. Splitting the entry keeps build-time-only dependencies
off the runtime path.
- It now returns an array so further plugins can be added without
another breaking change — #23988 stacks on this to auto-wire the
orchestrion transform.
Refs #23986
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
- `sentryRemixVitePlugin()` now applies the orchestrion bundler
transform automatically. Remix was the last metaframework SDK still
asking users to add `sentryOrchestrionPlugin()` themselves.
- Cloudflare and Hydrogen builds are skipped — they instrument via
`instrumentBuild()` from `@sentry/remix/cloudflare`, so the injected
channels would be dead code in a worker bundle.
- The dev server is unaffected: the plugin is added unconditionally, as
in SvelteKit/SolidStart/TanStack Start/Astro, and since #22857
orchestrion opts itself out of `serve` so deps stay external for the
runtime `--import` hook.
Fixes#23986
Refs #22632
---------
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
…te for C:\ (#23653)
- [x] tests added if needed
- [x] yarn lint passes
- [ ] no related issue, auto-link is fine
Windows fix for Nuxt dev on Node 24.
On Windows `npm run dev` was failing with
`ERR_UNSUPPORTED_ESM_URL_SCHEME` / `Received protocol 'c:'` because
`.nuxt/dev/index.mjs` generated `import 'C:\...'` instead of
`file:///C:/...`. Same `isExternal` check in `rollup.module.config.mjs`
treated `C:\` as external and broke the build.
Changed `addServerConfig.ts` (and the solidstart copy) to emit
`pathToFileURL(...).href` and fixed `isExternal` to use `isAbsolute()`
so Windows absolute paths work. Also handles POSIX fine.
Verified with `yarn nx run @sentry/nuxt:build:dev` -> now passes, and
`pathToFileURL` gives `file:///C:/...` on Windows.
Closes #XXXX
---------
Co-authored-by: Sigrid <32902192+s1gr1d@users.noreply.github.com>
## What
Documents the `@sentry/core` entrypoint split from #23762 in the v10 to
v11 migration guide, listing which exports now live only on
`@sentry/core/browser` and `@sentry/core/server`.
## Why
The split shipped without a migration or changelog entry. Upgrading the
Sentry frontend to 11.0.0-beta.0 hit it as a bare `has no exported
member` type error, with nothing in the guide saying where the symbols
went.
Reference #23804
Two changes beyond the mechanical port. The shared cached-html helper
(used by the pre-rendered test; the SWR tests were already skipped)
asserted that a second request sends no server root span — that only
passed because the listener registered after `page.goto`. Streaming's
buffered flush exposed the span, so the helper now checks the actual
contract: no tracing meta tags, and each pageload starts its own trace.
Also, `db-test.ts` runs a successful query before the failing one, so
the error carries a query breadcrumb — there is no transaction event to
read breadcrumbs off anymore.
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Reference #23804
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…age (#23952)
Reference #23804
This is a verbatim copy of the nuxt-4 app that stays pinned to
`traceLifecycle: 'static'` and keeps the transaction-based specs. With
the Nuxt/Nitro apps migrating to span streaming, this copy keeps the
static trace lifecycle covered by one representative app. Only the app
name changed: `package.json` name, the event proxy server name, the
`waitFor*` calls in the specs, and the CI variant labels. The e2e matrix
discovers apps by directory, so no CI config change is needed.
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Reference #23804
Two changes beyond the mechanical port. The SWR cached-html tests
asserted that a second request sends no server root span — that only
passed because the listener registered after `page.goto`, so the (always
sent) second transaction arrived unobserved. Streaming's buffered flush
exposed it. The tests now check the actual SWR contract: no tracing meta
tags, and each pageload starts its own trace. Also, `db-test.ts` runs a
successful query before the failing one, so the error carries a query
breadcrumb — there is no transaction event to read breadcrumbs off
anymore (nuxt-3 has the same setup).
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AniF28D1ybJANSEHVsd9ay
@github-actions

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser28.71 kBaddedadded
@sentry/browser - with treeshaking flags27.02 kBaddedadded
@sentry/browser - with treeshaking flags tracing without tracing26.92 kBaddedadded
@sentry/browser (incl. Tracing)49.11 kBaddedadded
@sentry/browser (incl. Tracing + Span Streaming)49.1 kBaddedadded
@sentry/browser (incl. Tracing, Profiling)52.02 kBaddedadded
@sentry/browser (incl. Tracing, Replay)88.58 kBaddedadded
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags77.88 kBaddedadded
@sentry/browser (incl. Tracing, Replay with Canvas)93.27 kBaddedadded
@sentry/browser (incl. Tracing, Replay, Feedback)106.22 kBaddedadded
@sentry/browser (incl. Feedback)46.2 kBaddedadded
@sentry/browser (incl. sendFeedback)33.78 kBaddedadded
@sentry/browser (incl. FeedbackAsync)38.88 kBaddedadded
@sentry/browser (incl. Metrics)29.69 kBaddedadded
@sentry/browser (incl. Logs)29.97 kBaddedadded
@sentry/browser (incl. Metrics & Logs)30.62 kBaddedadded
@sentry/react30.48 kBaddedadded
@sentry/react (incl. Tracing)51.31 kBaddedadded
@sentry/vue35.95 kBaddedadded
@sentry/vue (incl. Tracing)51.37 kBaddedadded
@sentry/svelte28.74 kBaddedadded
CDN Bundle30.46 kBaddedadded
CDN Bundle (incl. Tracing)49.64 kBaddedadded
CDN Bundle (incl. Logs, Metrics)32.69 kBaddedadded
CDN Bundle (incl. Tracing, Logs, Metrics)51.57 kBaddedadded
CDN Bundle (incl. Replay, Logs, Metrics)73.29 kBaddedadded
CDN Bundle (incl. Tracing, Replay)87.13 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Logs, Metrics)89 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback)93.06 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)95.01 kBaddedadded
CDN Bundle - uncompressed90.2 kBaddedadded
CDN Bundle (incl. Tracing) - uncompressed147.88 kBaddedadded
CDN Bundle (incl. Logs, Metrics) - uncompressed96.59 kBaddedadded
CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed153.66 kBaddedadded
CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed225.75 kBaddedadded
CDN Bundle (incl. Tracing, Replay) - uncompressed267.37 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed273.14 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed281.07 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed286.83 kBaddedadded
@sentry/nextjs (client)53.92 kBaddedadded
@sentry/sveltekit (client)49.54 kBaddedadded
@sentry/core/server40.96 kBaddedadded
@sentry/core/browser13.54 kBaddedadded
@sentry/node124.67 kBaddedadded
@sentry/node/import (ESM hook with diagnostics-channel injection)81.52 kBaddedadded
@sentry/node - without tracing88.51 kBaddedadded
@sentry/node - without channel injection103.96 kBaddedadded
@sentry/aws-serverless96.89 kBaddedadded
@sentry/cloudflare (withSentry) - minified201.56 kBaddedadded
@sentry/cloudflare (withSentry)501.38 kBaddedadded

@chargomechargome closed this Sep 3, 2026
@chargome
chargome deleted the merge-develop-into-11.0.0-beta branch September 3, 2026 13:08
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants

@chargome@Lms24@s1gr1d@msonnb@halillusion@andreiborza
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore: Merge develop into 11.0.0-beta - #24013

Closed
chargome wants to merge 16 commits into
11.0.0-betafrom
merge-develop-into-11.0.0-beta
Closed

chore: Merge develop into 11.0.0-beta#24013
chargome wants to merge 16 commits into
11.0.0-betafrom
merge-develop-into-11.0.0-beta

Conversation

@chargome

@chargomechargome commented Sep 3, 2026

Copy link
Copy Markdown
Member

Syncs develop into the 11.0.0-beta branch in preparation for cutting 11.0.0-beta.1.

Lms24and others added 16 commits September 3, 2026 09:12
This PR deprecates `ignoreStatusCodes` on - Node `httpIntegration` / `httpServerSpansIntegration`
- Deno's `denoHttpIntegration` / `denoServeIntegration`
both scheduled for removal in v12 without replacement.
The option filters finished transaction events by response status code,
which span streaming no longer supports. Child spans are sent as they
end, potentially before the response status is known, so a request's
spans can't be dropped retroactively.
`ignoreIncomingRequests` is the nearest alternative for keeping requests
out of Sentry, but it matches on the request rather than on the
response, so the migration note is explicit that it isn't fully
equivalent.
Fixes#23956
Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.5 to
3.1.7.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/fastify/fast-uri/releases">fast-uri's
releases</a>.</em></p>
<blockquote>
<h2>v3.1.7</h2>
<h2>⚠️ Security Warning</h2>
<p>This is a security release that fixes the following high-severity
security advisories:</p>
<ul>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-qw65-cvwx-89v3">GHSA-qw65-cvwx-89v3</a>
— authority injection via an unvalidated port in
<code>serialize()</code></li>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-58mr-gqgx-xq4g">GHSA-58mr-gqgx-xq4g</a>
— host confusion via unbalanced or misplaced IP-literal brackets</li>
</ul>
<p>Users of the v3.x release line should upgrade to v3.1.7.</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/fastify/fast-uri/compare/v3.1.6...v3.1.7">https://github.com/fastify/fast-uri/compare/v3.1.6...v3.1.7</a></p>
<h2>v3.1.6</h2>
<h2>⚠️ Security Warning</h2>
<p>This release addresses the following high-severity security
advisories:</p>
<ul>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-5jgf-p345-68v8">GHSA-5jgf-p345-68v8</a>
— host confusion via skipped IDN canonicalization on scheme-relative
references</li>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-fph4-wmhf-6fwf">GHSA-fph4-wmhf-6fwf</a>
— server-side request forgery via repeated hostname
percent-decoding</li>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-f65p-4m7j-42xc">GHSA-f65p-4m7j-42xc</a>
— server-side request forgery via malformed IPv6 normalization</li>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-jqff-g426-hqxp">GHSA-jqff-g426-hqxp</a>
— host confusion via percent-encoded scheme normalization</li>
</ul>
<p>Users of the v3.x release line should upgrade to v3.1.6.</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/fastify/fast-uri/compare/v3.1.5...v3.1.6">https://github.com/fastify/fast-uri/compare/v3.1.5...v3.1.6</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/fastify/fast-uri/commit/412e40abd4eb8beabfb952d80abf949a2baf27a3"><code>412e40a</code></a>
Bumped v3.1.7</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/9f4c943e4d2133e8d78e0941203879216255bb01"><code>9f4c943</code></a>
fix: backport port and IP-literal validation to v3.x (<a
href="https://redirect.github.com/fastify/fast-uri/issues/216">#216</a>)</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/1eb3ce436fe050807caba79f886ab894f485a588"><code>1eb3ce4</code></a>
fix: treat unterminated bracket hosts as reg-names again (<a
href="https://redirect.github.com/fastify/fast-uri/issues/214">#214</a>)</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/6f970b2951fd896aa0f3a7ff28eeb6640c137d33"><code>6f970b2</code></a>
Bumped v3.1.6</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/d941579a84273ec7e96bde596b1f7a8be447df2a"><code>d941579</code></a>
fix: never run IDN canonicalization on bracketed IP literals</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/c0f0279cf370cb89ee56b04bbcde2a7afbe81aba"><code>c0f0279</code></a>
test: adapt decoded-scheme handler assertion to 3.x (no mailto
scheme)</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/37f3417c82994279656854f83ce938acd81c3862"><code>37f3417</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/607bfbe953f28a14c2e06ae64aff38c81ca2937f"><code>607bfbe</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/ae92a4c5d8c4b6c9e447f048d5fcbde7eebd5514"><code>ae92a4c</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/444ecdad447db2cc23c4d422acc6f0daa6fa8eef"><code>444ecda</code></a>
Merge commit from fork</li>
<li>Additional commits viewable in <a
href="https://github.com/fastify/fast-uri/compare/v3.1.5...v3.1.7">compare
view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=fast-uri&package-manager=npm_and_yarn&previous-version=3.1.5&new-version=3.1.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/getsentry/sentry-javascript/network/alerts).
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Reference #23804
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
With span streaming, `ignoreSpans` runs at span start. Redis cache spans
used to start as `db.query` and get renamed to `cache.*` at response
time, so a filter matching what you see in the UI never matched anything
(part of #23830).
Now a command whose key matches `cachePrefixes` starts as a `cache.*`
span on all four instrumentation paths. At response time we only add
`cache.hit`/`cache.item_size` (as we only know it at this time).
Static-lifecycle output is unchanged.
Behavior changes and limitations:
- Failed cache commands now report as `cache.*` spans. They previously
stayed `db.query`.
- `maxCacheKeyLength` only applies to `traceLifecycle: 'static'` (added
to JSDoc). Streamed span names don't need truncation.
- Multi-key commands on node-redis >=5.12 still stay `db.query`: the
library sanitizes keys to `?` before we see them (pre-existing).
Closes#23832
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…lbacks (#23760)
Adds `safeCallback(message, fn, fallback)` helper which runs a
user-provided callback, and on a sync throw or async rejection logs
`message` via `debug.error` and returns `fallback(error)` instead of
propagating.
`applyBeforeSendSpanCallback` and the undici `safeExecute` are
refactored onto the helper so there is a single implementation.
First step of #23755, next PR will wrap the rest of the user-defined
callbacks.
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
… as events (#23770)
Wraps `beforeSend`, `beforeSendTransaction`, event processors,
`tracesSampler`, `beforeBreadcrumb`, `beforeSendLog` and
`beforeSendMetric` in the `safeCallback` helper from #23760. A throwing
or rejecting callback no longer escapes into the calling code and is no
longer captured as an `internal` error event; the
event/breadcrumb/log/metric is dropped, a client report is recorded
where a category exists, and the error is logged in debug mode.
part of #23755
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…a.url shim (#23935)
This is just adding the tests of the v10 PRs to make sure we don't have
a regression.
Ported tests of two v10 PRs:
- #23910
- #23906
One test caught a real problem: the `@sentry/server-utils` CJS build
still replaced `import.meta.url` with a snippet that assumes "a
`document` global means a browser", crashing under jsdom.
```
"AssertionError: expected [Function] to not throw an error but 'TypeError [ERR_INVALID_URL_SCHEME]: T…' was thrown"
```
The v10 lazy-loading fix needs no porting: on v11, `withSentryConfig`
lives in the separate `@sentry/nextjs/config` export, so importing the
SDK never reaches the bundler plugins.
Fixes#23789
- `sentryRemixVitePlugin` moves from the main `@sentry/remix` entry to a
dedicated `@sentry/remix/vite` subpath, matching `@sentry/sveltekit` and
`@sentry/react-router`.
- It was exported from `index.server.ts`, the package's CJS `main`, so
anything the plugin imports lands in the module graph of every Remix
server process. Splitting the entry keeps build-time-only dependencies
off the runtime path.
- It now returns an array so further plugins can be added without
another breaking change — #23988 stacks on this to auto-wire the
orchestrion transform.
Refs #23986
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
- `sentryRemixVitePlugin()` now applies the orchestrion bundler
transform automatically. Remix was the last metaframework SDK still
asking users to add `sentryOrchestrionPlugin()` themselves.
- Cloudflare and Hydrogen builds are skipped — they instrument via
`instrumentBuild()` from `@sentry/remix/cloudflare`, so the injected
channels would be dead code in a worker bundle.
- The dev server is unaffected: the plugin is added unconditionally, as
in SvelteKit/SolidStart/TanStack Start/Astro, and since #22857
orchestrion opts itself out of `serve` so deps stay external for the
runtime `--import` hook.
Fixes#23986
Refs #22632
---------
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
…te for C:\ (#23653)
- [x] tests added if needed
- [x] yarn lint passes
- [ ] no related issue, auto-link is fine
Windows fix for Nuxt dev on Node 24.
On Windows `npm run dev` was failing with
`ERR_UNSUPPORTED_ESM_URL_SCHEME` / `Received protocol 'c:'` because
`.nuxt/dev/index.mjs` generated `import 'C:\...'` instead of
`file:///C:/...`. Same `isExternal` check in `rollup.module.config.mjs`
treated `C:\` as external and broke the build.
Changed `addServerConfig.ts` (and the solidstart copy) to emit
`pathToFileURL(...).href` and fixed `isExternal` to use `isAbsolute()`
so Windows absolute paths work. Also handles POSIX fine.
Verified with `yarn nx run @sentry/nuxt:build:dev` -> now passes, and
`pathToFileURL` gives `file:///C:/...` on Windows.
Closes #XXXX
---------
Co-authored-by: Sigrid <32902192+s1gr1d@users.noreply.github.com>
## What
Documents the `@sentry/core` entrypoint split from #23762 in the v10 to
v11 migration guide, listing which exports now live only on
`@sentry/core/browser` and `@sentry/core/server`.
## Why
The split shipped without a migration or changelog entry. Upgrading the
Sentry frontend to 11.0.0-beta.0 hit it as a bare `has no exported
member` type error, with nothing in the guide saying where the symbols
went.
Reference #23804
Two changes beyond the mechanical port. The shared cached-html helper
(used by the pre-rendered test; the SWR tests were already skipped)
asserted that a second request sends no server root span — that only
passed because the listener registered after `page.goto`. Streaming's
buffered flush exposed the span, so the helper now checks the actual
contract: no tracing meta tags, and each pageload starts its own trace.
Also, `db-test.ts` runs a successful query before the failing one, so
the error carries a query breadcrumb — there is no transaction event to
read breadcrumbs off anymore.
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Reference #23804
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…age (#23952)
Reference #23804
This is a verbatim copy of the nuxt-4 app that stays pinned to
`traceLifecycle: 'static'` and keeps the transaction-based specs. With
the Nuxt/Nitro apps migrating to span streaming, this copy keeps the
static trace lifecycle covered by one representative app. Only the app
name changed: `package.json` name, the event proxy server name, the
`waitFor*` calls in the specs, and the CI variant labels. The e2e matrix
discovers apps by directory, so no CI config change is needed.
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Reference #23804
Two changes beyond the mechanical port. The SWR cached-html tests
asserted that a second request sends no server root span — that only
passed because the listener registered after `page.goto`, so the (always
sent) second transaction arrived unobserved. Streaming's buffered flush
exposed it. The tests now check the actual SWR contract: no tracing meta
tags, and each pageload starts its own trace. Also, `db-test.ts` runs a
successful query before the failing one, so the error carries a query
breadcrumb — there is no transaction event to read breadcrumbs off
anymore (nuxt-3 has the same setup).
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AniF28D1ybJANSEHVsd9ay
@github-actions

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser28.71 kBaddedadded
@sentry/browser - with treeshaking flags27.02 kBaddedadded
@sentry/browser - with treeshaking flags tracing without tracing26.92 kBaddedadded
@sentry/browser (incl. Tracing)49.11 kBaddedadded
@sentry/browser (incl. Tracing + Span Streaming)49.1 kBaddedadded
@sentry/browser (incl. Tracing, Profiling)52.02 kBaddedadded
@sentry/browser (incl. Tracing, Replay)88.58 kBaddedadded
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags77.88 kBaddedadded
@sentry/browser (incl. Tracing, Replay with Canvas)93.27 kBaddedadded
@sentry/browser (incl. Tracing, Replay, Feedback)106.22 kBaddedadded
@sentry/browser (incl. Feedback)46.2 kBaddedadded
@sentry/browser (incl. sendFeedback)33.78 kBaddedadded
@sentry/browser (incl. FeedbackAsync)38.88 kBaddedadded
@sentry/browser (incl. Metrics)29.69 kBaddedadded
@sentry/browser (incl. Logs)29.97 kBaddedadded
@sentry/browser (incl. Metrics & Logs)30.62 kBaddedadded
@sentry/react30.48 kBaddedadded
@sentry/react (incl. Tracing)51.31 kBaddedadded
@sentry/vue35.95 kBaddedadded
@sentry/vue (incl. Tracing)51.37 kBaddedadded
@sentry/svelte28.74 kBaddedadded
CDN Bundle30.46 kBaddedadded
CDN Bundle (incl. Tracing)49.64 kBaddedadded
CDN Bundle (incl. Logs, Metrics)32.69 kBaddedadded
CDN Bundle (incl. Tracing, Logs, Metrics)51.57 kBaddedadded
CDN Bundle (incl. Replay, Logs, Metrics)73.29 kBaddedadded
CDN Bundle (incl. Tracing, Replay)87.13 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Logs, Metrics)89 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback)93.06 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)95.01 kBaddedadded
CDN Bundle - uncompressed90.2 kBaddedadded
CDN Bundle (incl. Tracing) - uncompressed147.88 kBaddedadded
CDN Bundle (incl. Logs, Metrics) - uncompressed96.59 kBaddedadded
CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed153.66 kBaddedadded
CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed225.75 kBaddedadded
CDN Bundle (incl. Tracing, Replay) - uncompressed267.37 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed273.14 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed281.07 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed286.83 kBaddedadded
@sentry/nextjs (client)53.92 kBaddedadded
@sentry/sveltekit (client)49.54 kBaddedadded
@sentry/core/server40.96 kBaddedadded
@sentry/core/browser13.54 kBaddedadded
@sentry/node124.67 kBaddedadded
@sentry/node/import (ESM hook with diagnostics-channel injection)81.52 kBaddedadded
@sentry/node - without tracing88.51 kBaddedadded
@sentry/node - without channel injection103.96 kBaddedadded
@sentry/aws-serverless96.89 kBaddedadded
@sentry/cloudflare (withSentry) - minified201.56 kBaddedadded
@sentry/cloudflare (withSentry)501.38 kBaddedadded

@chargomechargome closed this Sep 3, 2026
@chargome
chargome deleted the merge-develop-into-11.0.0-beta branch September 3, 2026 13:08
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants

@chargome@Lms24@s1gr1d@msonnb@halillusion@andreiborza
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore: Merge develop into 11.0.0-beta - #24013

Closed
chargome wants to merge 16 commits into
11.0.0-betafrom
merge-develop-into-11.0.0-beta
Closed

chore: Merge develop into 11.0.0-beta#24013
chargome wants to merge 16 commits into
11.0.0-betafrom
merge-develop-into-11.0.0-beta

Conversation

@chargome

@chargomechargome commented Sep 3, 2026

Copy link
Copy Markdown
Member

Syncs develop into the 11.0.0-beta branch in preparation for cutting 11.0.0-beta.1.

Lms24and others added 16 commits September 3, 2026 09:12
This PR deprecates `ignoreStatusCodes` on - Node `httpIntegration` / `httpServerSpansIntegration`
- Deno's `denoHttpIntegration` / `denoServeIntegration`
both scheduled for removal in v12 without replacement.
The option filters finished transaction events by response status code,
which span streaming no longer supports. Child spans are sent as they
end, potentially before the response status is known, so a request's
spans can't be dropped retroactively.
`ignoreIncomingRequests` is the nearest alternative for keeping requests
out of Sentry, but it matches on the request rather than on the
response, so the migration note is explicit that it isn't fully
equivalent.
Fixes#23956
Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.5 to
3.1.7.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/fastify/fast-uri/releases">fast-uri's
releases</a>.</em></p>
<blockquote>
<h2>v3.1.7</h2>
<h2>⚠️ Security Warning</h2>
<p>This is a security release that fixes the following high-severity
security advisories:</p>
<ul>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-qw65-cvwx-89v3">GHSA-qw65-cvwx-89v3</a>
— authority injection via an unvalidated port in
<code>serialize()</code></li>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-58mr-gqgx-xq4g">GHSA-58mr-gqgx-xq4g</a>
— host confusion via unbalanced or misplaced IP-literal brackets</li>
</ul>
<p>Users of the v3.x release line should upgrade to v3.1.7.</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/fastify/fast-uri/compare/v3.1.6...v3.1.7">https://github.com/fastify/fast-uri/compare/v3.1.6...v3.1.7</a></p>
<h2>v3.1.6</h2>
<h2>⚠️ Security Warning</h2>
<p>This release addresses the following high-severity security
advisories:</p>
<ul>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-5jgf-p345-68v8">GHSA-5jgf-p345-68v8</a>
— host confusion via skipped IDN canonicalization on scheme-relative
references</li>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-fph4-wmhf-6fwf">GHSA-fph4-wmhf-6fwf</a>
— server-side request forgery via repeated hostname
percent-decoding</li>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-f65p-4m7j-42xc">GHSA-f65p-4m7j-42xc</a>
— server-side request forgery via malformed IPv6 normalization</li>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-jqff-g426-hqxp">GHSA-jqff-g426-hqxp</a>
— host confusion via percent-encoded scheme normalization</li>
</ul>
<p>Users of the v3.x release line should upgrade to v3.1.6.</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/fastify/fast-uri/compare/v3.1.5...v3.1.6">https://github.com/fastify/fast-uri/compare/v3.1.5...v3.1.6</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/fastify/fast-uri/commit/412e40abd4eb8beabfb952d80abf949a2baf27a3"><code>412e40a</code></a>
Bumped v3.1.7</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/9f4c943e4d2133e8d78e0941203879216255bb01"><code>9f4c943</code></a>
fix: backport port and IP-literal validation to v3.x (<a
href="https://redirect.github.com/fastify/fast-uri/issues/216">#216</a>)</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/1eb3ce436fe050807caba79f886ab894f485a588"><code>1eb3ce4</code></a>
fix: treat unterminated bracket hosts as reg-names again (<a
href="https://redirect.github.com/fastify/fast-uri/issues/214">#214</a>)</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/6f970b2951fd896aa0f3a7ff28eeb6640c137d33"><code>6f970b2</code></a>
Bumped v3.1.6</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/d941579a84273ec7e96bde596b1f7a8be447df2a"><code>d941579</code></a>
fix: never run IDN canonicalization on bracketed IP literals</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/c0f0279cf370cb89ee56b04bbcde2a7afbe81aba"><code>c0f0279</code></a>
test: adapt decoded-scheme handler assertion to 3.x (no mailto
scheme)</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/37f3417c82994279656854f83ce938acd81c3862"><code>37f3417</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/607bfbe953f28a14c2e06ae64aff38c81ca2937f"><code>607bfbe</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/ae92a4c5d8c4b6c9e447f048d5fcbde7eebd5514"><code>ae92a4c</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/444ecdad447db2cc23c4d422acc6f0daa6fa8eef"><code>444ecda</code></a>
Merge commit from fork</li>
<li>Additional commits viewable in <a
href="https://github.com/fastify/fast-uri/compare/v3.1.5...v3.1.7">compare
view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=fast-uri&package-manager=npm_and_yarn&previous-version=3.1.5&new-version=3.1.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/getsentry/sentry-javascript/network/alerts).
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Reference #23804
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
With span streaming, `ignoreSpans` runs at span start. Redis cache spans
used to start as `db.query` and get renamed to `cache.*` at response
time, so a filter matching what you see in the UI never matched anything
(part of #23830).
Now a command whose key matches `cachePrefixes` starts as a `cache.*`
span on all four instrumentation paths. At response time we only add
`cache.hit`/`cache.item_size` (as we only know it at this time).
Static-lifecycle output is unchanged.
Behavior changes and limitations:
- Failed cache commands now report as `cache.*` spans. They previously
stayed `db.query`.
- `maxCacheKeyLength` only applies to `traceLifecycle: 'static'` (added
to JSDoc). Streamed span names don't need truncation.
- Multi-key commands on node-redis >=5.12 still stay `db.query`: the
library sanitizes keys to `?` before we see them (pre-existing).
Closes#23832
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…lbacks (#23760)
Adds `safeCallback(message, fn, fallback)` helper which runs a
user-provided callback, and on a sync throw or async rejection logs
`message` via `debug.error` and returns `fallback(error)` instead of
propagating.
`applyBeforeSendSpanCallback` and the undici `safeExecute` are
refactored onto the helper so there is a single implementation.
First step of #23755, next PR will wrap the rest of the user-defined
callbacks.
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
… as events (#23770)
Wraps `beforeSend`, `beforeSendTransaction`, event processors,
`tracesSampler`, `beforeBreadcrumb`, `beforeSendLog` and
`beforeSendMetric` in the `safeCallback` helper from #23760. A throwing
or rejecting callback no longer escapes into the calling code and is no
longer captured as an `internal` error event; the
event/breadcrumb/log/metric is dropped, a client report is recorded
where a category exists, and the error is logged in debug mode.
part of #23755
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…a.url shim (#23935)
This is just adding the tests of the v10 PRs to make sure we don't have
a regression.
Ported tests of two v10 PRs:
- #23910
- #23906
One test caught a real problem: the `@sentry/server-utils` CJS build
still replaced `import.meta.url` with a snippet that assumes "a
`document` global means a browser", crashing under jsdom.
```
"AssertionError: expected [Function] to not throw an error but 'TypeError [ERR_INVALID_URL_SCHEME]: T…' was thrown"
```
The v10 lazy-loading fix needs no porting: on v11, `withSentryConfig`
lives in the separate `@sentry/nextjs/config` export, so importing the
SDK never reaches the bundler plugins.
Fixes#23789
- `sentryRemixVitePlugin` moves from the main `@sentry/remix` entry to a
dedicated `@sentry/remix/vite` subpath, matching `@sentry/sveltekit` and
`@sentry/react-router`.
- It was exported from `index.server.ts`, the package's CJS `main`, so
anything the plugin imports lands in the module graph of every Remix
server process. Splitting the entry keeps build-time-only dependencies
off the runtime path.
- It now returns an array so further plugins can be added without
another breaking change — #23988 stacks on this to auto-wire the
orchestrion transform.
Refs #23986
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
- `sentryRemixVitePlugin()` now applies the orchestrion bundler
transform automatically. Remix was the last metaframework SDK still
asking users to add `sentryOrchestrionPlugin()` themselves.
- Cloudflare and Hydrogen builds are skipped — they instrument via
`instrumentBuild()` from `@sentry/remix/cloudflare`, so the injected
channels would be dead code in a worker bundle.
- The dev server is unaffected: the plugin is added unconditionally, as
in SvelteKit/SolidStart/TanStack Start/Astro, and since #22857
orchestrion opts itself out of `serve` so deps stay external for the
runtime `--import` hook.
Fixes#23986
Refs #22632
---------
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
…te for C:\ (#23653)
- [x] tests added if needed
- [x] yarn lint passes
- [ ] no related issue, auto-link is fine
Windows fix for Nuxt dev on Node 24.
On Windows `npm run dev` was failing with
`ERR_UNSUPPORTED_ESM_URL_SCHEME` / `Received protocol 'c:'` because
`.nuxt/dev/index.mjs` generated `import 'C:\...'` instead of
`file:///C:/...`. Same `isExternal` check in `rollup.module.config.mjs`
treated `C:\` as external and broke the build.
Changed `addServerConfig.ts` (and the solidstart copy) to emit
`pathToFileURL(...).href` and fixed `isExternal` to use `isAbsolute()`
so Windows absolute paths work. Also handles POSIX fine.
Verified with `yarn nx run @sentry/nuxt:build:dev` -> now passes, and
`pathToFileURL` gives `file:///C:/...` on Windows.
Closes #XXXX
---------
Co-authored-by: Sigrid <32902192+s1gr1d@users.noreply.github.com>
## What
Documents the `@sentry/core` entrypoint split from #23762 in the v10 to
v11 migration guide, listing which exports now live only on
`@sentry/core/browser` and `@sentry/core/server`.
## Why
The split shipped without a migration or changelog entry. Upgrading the
Sentry frontend to 11.0.0-beta.0 hit it as a bare `has no exported
member` type error, with nothing in the guide saying where the symbols
went.
Reference #23804
Two changes beyond the mechanical port. The shared cached-html helper
(used by the pre-rendered test; the SWR tests were already skipped)
asserted that a second request sends no server root span — that only
passed because the listener registered after `page.goto`. Streaming's
buffered flush exposed the span, so the helper now checks the actual
contract: no tracing meta tags, and each pageload starts its own trace.
Also, `db-test.ts` runs a successful query before the failing one, so
the error carries a query breadcrumb — there is no transaction event to
read breadcrumbs off anymore.
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Reference #23804
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…age (#23952)
Reference #23804
This is a verbatim copy of the nuxt-4 app that stays pinned to
`traceLifecycle: 'static'` and keeps the transaction-based specs. With
the Nuxt/Nitro apps migrating to span streaming, this copy keeps the
static trace lifecycle covered by one representative app. Only the app
name changed: `package.json` name, the event proxy server name, the
`waitFor*` calls in the specs, and the CI variant labels. The e2e matrix
discovers apps by directory, so no CI config change is needed.
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Reference #23804
Two changes beyond the mechanical port. The SWR cached-html tests
asserted that a second request sends no server root span — that only
passed because the listener registered after `page.goto`, so the (always
sent) second transaction arrived unobserved. Streaming's buffered flush
exposed it. The tests now check the actual SWR contract: no tracing meta
tags, and each pageload starts its own trace. Also, `db-test.ts` runs a
successful query before the failing one, so the error carries a query
breadcrumb — there is no transaction event to read breadcrumbs off
anymore (nuxt-3 has the same setup).
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AniF28D1ybJANSEHVsd9ay
@github-actions

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser28.71 kBaddedadded
@sentry/browser - with treeshaking flags27.02 kBaddedadded
@sentry/browser - with treeshaking flags tracing without tracing26.92 kBaddedadded
@sentry/browser (incl. Tracing)49.11 kBaddedadded
@sentry/browser (incl. Tracing + Span Streaming)49.1 kBaddedadded
@sentry/browser (incl. Tracing, Profiling)52.02 kBaddedadded
@sentry/browser (incl. Tracing, Replay)88.58 kBaddedadded
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags77.88 kBaddedadded
@sentry/browser (incl. Tracing, Replay with Canvas)93.27 kBaddedadded
@sentry/browser (incl. Tracing, Replay, Feedback)106.22 kBaddedadded
@sentry/browser (incl. Feedback)46.2 kBaddedadded
@sentry/browser (incl. sendFeedback)33.78 kBaddedadded
@sentry/browser (incl. FeedbackAsync)38.88 kBaddedadded
@sentry/browser (incl. Metrics)29.69 kBaddedadded
@sentry/browser (incl. Logs)29.97 kBaddedadded
@sentry/browser (incl. Metrics & Logs)30.62 kBaddedadded
@sentry/react30.48 kBaddedadded
@sentry/react (incl. Tracing)51.31 kBaddedadded
@sentry/vue35.95 kBaddedadded
@sentry/vue (incl. Tracing)51.37 kBaddedadded
@sentry/svelte28.74 kBaddedadded
CDN Bundle30.46 kBaddedadded
CDN Bundle (incl. Tracing)49.64 kBaddedadded
CDN Bundle (incl. Logs, Metrics)32.69 kBaddedadded
CDN Bundle (incl. Tracing, Logs, Metrics)51.57 kBaddedadded
CDN Bundle (incl. Replay, Logs, Metrics)73.29 kBaddedadded
CDN Bundle (incl. Tracing, Replay)87.13 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Logs, Metrics)89 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback)93.06 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)95.01 kBaddedadded
CDN Bundle - uncompressed90.2 kBaddedadded
CDN Bundle (incl. Tracing) - uncompressed147.88 kBaddedadded
CDN Bundle (incl. Logs, Metrics) - uncompressed96.59 kBaddedadded
CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed153.66 kBaddedadded
CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed225.75 kBaddedadded
CDN Bundle (incl. Tracing, Replay) - uncompressed267.37 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed273.14 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed281.07 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed286.83 kBaddedadded
@sentry/nextjs (client)53.92 kBaddedadded
@sentry/sveltekit (client)49.54 kBaddedadded
@sentry/core/server40.96 kBaddedadded
@sentry/core/browser13.54 kBaddedadded
@sentry/node124.67 kBaddedadded
@sentry/node/import (ESM hook with diagnostics-channel injection)81.52 kBaddedadded
@sentry/node - without tracing88.51 kBaddedadded
@sentry/node - without channel injection103.96 kBaddedadded
@sentry/aws-serverless96.89 kBaddedadded
@sentry/cloudflare (withSentry) - minified201.56 kBaddedadded
@sentry/cloudflare (withSentry)501.38 kBaddedadded

@chargomechargome closed this Sep 3, 2026
@chargome
chargome deleted the merge-develop-into-11.0.0-beta branch September 3, 2026 13:08
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants

@chargome@Lms24@s1gr1d@msonnb@halillusion@andreiborza
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

chore: Merge develop into 11.0.0-beta - #24013

Closed
chargome wants to merge 16 commits into
11.0.0-betafrom
merge-develop-into-11.0.0-beta
Closed

chore: Merge develop into 11.0.0-beta#24013
chargome wants to merge 16 commits into
11.0.0-betafrom
merge-develop-into-11.0.0-beta

Conversation

@chargome

@chargomechargome commented Sep 3, 2026

Copy link
Copy Markdown
Member

Syncs develop into the 11.0.0-beta branch in preparation for cutting 11.0.0-beta.1.

Lms24and others added 16 commits September 3, 2026 09:12
This PR deprecates `ignoreStatusCodes` on - Node `httpIntegration` / `httpServerSpansIntegration`
- Deno's `denoHttpIntegration` / `denoServeIntegration`
both scheduled for removal in v12 without replacement.
The option filters finished transaction events by response status code,
which span streaming no longer supports. Child spans are sent as they
end, potentially before the response status is known, so a request's
spans can't be dropped retroactively.
`ignoreIncomingRequests` is the nearest alternative for keeping requests
out of Sentry, but it matches on the request rather than on the
response, so the migration note is explicit that it isn't fully
equivalent.
Fixes#23956
Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.5 to
3.1.7.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/fastify/fast-uri/releases">fast-uri's
releases</a>.</em></p>
<blockquote>
<h2>v3.1.7</h2>
<h2>⚠️ Security Warning</h2>
<p>This is a security release that fixes the following high-severity
security advisories:</p>
<ul>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-qw65-cvwx-89v3">GHSA-qw65-cvwx-89v3</a>
— authority injection via an unvalidated port in
<code>serialize()</code></li>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-58mr-gqgx-xq4g">GHSA-58mr-gqgx-xq4g</a>
— host confusion via unbalanced or misplaced IP-literal brackets</li>
</ul>
<p>Users of the v3.x release line should upgrade to v3.1.7.</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/fastify/fast-uri/compare/v3.1.6...v3.1.7">https://github.com/fastify/fast-uri/compare/v3.1.6...v3.1.7</a></p>
<h2>v3.1.6</h2>
<h2>⚠️ Security Warning</h2>
<p>This release addresses the following high-severity security
advisories:</p>
<ul>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-5jgf-p345-68v8">GHSA-5jgf-p345-68v8</a>
— host confusion via skipped IDN canonicalization on scheme-relative
references</li>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-fph4-wmhf-6fwf">GHSA-fph4-wmhf-6fwf</a>
— server-side request forgery via repeated hostname
percent-decoding</li>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-f65p-4m7j-42xc">GHSA-f65p-4m7j-42xc</a>
— server-side request forgery via malformed IPv6 normalization</li>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-jqff-g426-hqxp">GHSA-jqff-g426-hqxp</a>
— host confusion via percent-encoded scheme normalization</li>
</ul>
<p>Users of the v3.x release line should upgrade to v3.1.6.</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/fastify/fast-uri/compare/v3.1.5...v3.1.6">https://github.com/fastify/fast-uri/compare/v3.1.5...v3.1.6</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/fastify/fast-uri/commit/412e40abd4eb8beabfb952d80abf949a2baf27a3"><code>412e40a</code></a>
Bumped v3.1.7</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/9f4c943e4d2133e8d78e0941203879216255bb01"><code>9f4c943</code></a>
fix: backport port and IP-literal validation to v3.x (<a
href="https://redirect.github.com/fastify/fast-uri/issues/216">#216</a>)</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/1eb3ce436fe050807caba79f886ab894f485a588"><code>1eb3ce4</code></a>
fix: treat unterminated bracket hosts as reg-names again (<a
href="https://redirect.github.com/fastify/fast-uri/issues/214">#214</a>)</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/6f970b2951fd896aa0f3a7ff28eeb6640c137d33"><code>6f970b2</code></a>
Bumped v3.1.6</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/d941579a84273ec7e96bde596b1f7a8be447df2a"><code>d941579</code></a>
fix: never run IDN canonicalization on bracketed IP literals</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/c0f0279cf370cb89ee56b04bbcde2a7afbe81aba"><code>c0f0279</code></a>
test: adapt decoded-scheme handler assertion to 3.x (no mailto
scheme)</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/37f3417c82994279656854f83ce938acd81c3862"><code>37f3417</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/607bfbe953f28a14c2e06ae64aff38c81ca2937f"><code>607bfbe</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/ae92a4c5d8c4b6c9e447f048d5fcbde7eebd5514"><code>ae92a4c</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/444ecdad447db2cc23c4d422acc6f0daa6fa8eef"><code>444ecda</code></a>
Merge commit from fork</li>
<li>Additional commits viewable in <a
href="https://github.com/fastify/fast-uri/compare/v3.1.5...v3.1.7">compare
view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=fast-uri&package-manager=npm_and_yarn&previous-version=3.1.5&new-version=3.1.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/getsentry/sentry-javascript/network/alerts).
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Reference #23804
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
With span streaming, `ignoreSpans` runs at span start. Redis cache spans
used to start as `db.query` and get renamed to `cache.*` at response
time, so a filter matching what you see in the UI never matched anything
(part of #23830).
Now a command whose key matches `cachePrefixes` starts as a `cache.*`
span on all four instrumentation paths. At response time we only add
`cache.hit`/`cache.item_size` (as we only know it at this time).
Static-lifecycle output is unchanged.
Behavior changes and limitations:
- Failed cache commands now report as `cache.*` spans. They previously
stayed `db.query`.
- `maxCacheKeyLength` only applies to `traceLifecycle: 'static'` (added
to JSDoc). Streamed span names don't need truncation.
- Multi-key commands on node-redis >=5.12 still stay `db.query`: the
library sanitizes keys to `?` before we see them (pre-existing).
Closes#23832
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…lbacks (#23760)
Adds `safeCallback(message, fn, fallback)` helper which runs a
user-provided callback, and on a sync throw or async rejection logs
`message` via `debug.error` and returns `fallback(error)` instead of
propagating.
`applyBeforeSendSpanCallback` and the undici `safeExecute` are
refactored onto the helper so there is a single implementation.
First step of #23755, next PR will wrap the rest of the user-defined
callbacks.
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
… as events (#23770)
Wraps `beforeSend`, `beforeSendTransaction`, event processors,
`tracesSampler`, `beforeBreadcrumb`, `beforeSendLog` and
`beforeSendMetric` in the `safeCallback` helper from #23760. A throwing
or rejecting callback no longer escapes into the calling code and is no
longer captured as an `internal` error event; the
event/breadcrumb/log/metric is dropped, a client report is recorded
where a category exists, and the error is logged in debug mode.
part of #23755
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…a.url shim (#23935)
This is just adding the tests of the v10 PRs to make sure we don't have
a regression.
Ported tests of two v10 PRs:
- #23910
- #23906
One test caught a real problem: the `@sentry/server-utils` CJS build
still replaced `import.meta.url` with a snippet that assumes "a
`document` global means a browser", crashing under jsdom.
```
"AssertionError: expected [Function] to not throw an error but 'TypeError [ERR_INVALID_URL_SCHEME]: T…' was thrown"
```
The v10 lazy-loading fix needs no porting: on v11, `withSentryConfig`
lives in the separate `@sentry/nextjs/config` export, so importing the
SDK never reaches the bundler plugins.
Fixes#23789
- `sentryRemixVitePlugin` moves from the main `@sentry/remix` entry to a
dedicated `@sentry/remix/vite` subpath, matching `@sentry/sveltekit` and
`@sentry/react-router`.
- It was exported from `index.server.ts`, the package's CJS `main`, so
anything the plugin imports lands in the module graph of every Remix
server process. Splitting the entry keeps build-time-only dependencies
off the runtime path.
- It now returns an array so further plugins can be added without
another breaking change — #23988 stacks on this to auto-wire the
orchestrion transform.
Refs #23986
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
- `sentryRemixVitePlugin()` now applies the orchestrion bundler
transform automatically. Remix was the last metaframework SDK still
asking users to add `sentryOrchestrionPlugin()` themselves.
- Cloudflare and Hydrogen builds are skipped — they instrument via
`instrumentBuild()` from `@sentry/remix/cloudflare`, so the injected
channels would be dead code in a worker bundle.
- The dev server is unaffected: the plugin is added unconditionally, as
in SvelteKit/SolidStart/TanStack Start/Astro, and since #22857
orchestrion opts itself out of `serve` so deps stay external for the
runtime `--import` hook.
Fixes#23986
Refs #22632
---------
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
…te for C:\ (#23653)
- [x] tests added if needed
- [x] yarn lint passes
- [ ] no related issue, auto-link is fine
Windows fix for Nuxt dev on Node 24.
On Windows `npm run dev` was failing with
`ERR_UNSUPPORTED_ESM_URL_SCHEME` / `Received protocol 'c:'` because
`.nuxt/dev/index.mjs` generated `import 'C:\...'` instead of
`file:///C:/...`. Same `isExternal` check in `rollup.module.config.mjs`
treated `C:\` as external and broke the build.
Changed `addServerConfig.ts` (and the solidstart copy) to emit
`pathToFileURL(...).href` and fixed `isExternal` to use `isAbsolute()`
so Windows absolute paths work. Also handles POSIX fine.
Verified with `yarn nx run @sentry/nuxt:build:dev` -> now passes, and
`pathToFileURL` gives `file:///C:/...` on Windows.
Closes #XXXX
---------
Co-authored-by: Sigrid <32902192+s1gr1d@users.noreply.github.com>
## What
Documents the `@sentry/core` entrypoint split from #23762 in the v10 to
v11 migration guide, listing which exports now live only on
`@sentry/core/browser` and `@sentry/core/server`.
## Why
The split shipped without a migration or changelog entry. Upgrading the
Sentry frontend to 11.0.0-beta.0 hit it as a bare `has no exported
member` type error, with nothing in the guide saying where the symbols
went.
Reference #23804
Two changes beyond the mechanical port. The shared cached-html helper
(used by the pre-rendered test; the SWR tests were already skipped)
asserted that a second request sends no server root span — that only
passed because the listener registered after `page.goto`. Streaming's
buffered flush exposed the span, so the helper now checks the actual
contract: no tracing meta tags, and each pageload starts its own trace.
Also, `db-test.ts` runs a successful query before the failing one, so
the error carries a query breadcrumb — there is no transaction event to
read breadcrumbs off anymore.
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Reference #23804
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…age (#23952)
Reference #23804
This is a verbatim copy of the nuxt-4 app that stays pinned to
`traceLifecycle: 'static'` and keeps the transaction-based specs. With
the Nuxt/Nitro apps migrating to span streaming, this copy keeps the
static trace lifecycle covered by one representative app. Only the app
name changed: `package.json` name, the event proxy server name, the
`waitFor*` calls in the specs, and the CI variant labels. The e2e matrix
discovers apps by directory, so no CI config change is needed.
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Reference #23804
Two changes beyond the mechanical port. The SWR cached-html tests
asserted that a second request sends no server root span — that only
passed because the listener registered after `page.goto`, so the (always
sent) second transaction arrived unobserved. Streaming's buffered flush
exposed it. The tests now check the actual SWR contract: no tracing meta
tags, and each pageload starts its own trace. Also, `db-test.ts` runs a
successful query before the failing one, so the error carries a query
breadcrumb — there is no transaction event to read breadcrumbs off
anymore (nuxt-3 has the same setup).
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AniF28D1ybJANSEHVsd9ay
@github-actions

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser28.71 kBaddedadded
@sentry/browser - with treeshaking flags27.02 kBaddedadded
@sentry/browser - with treeshaking flags tracing without tracing26.92 kBaddedadded
@sentry/browser (incl. Tracing)49.11 kBaddedadded
@sentry/browser (incl. Tracing + Span Streaming)49.1 kBaddedadded
@sentry/browser (incl. Tracing, Profiling)52.02 kBaddedadded
@sentry/browser (incl. Tracing, Replay)88.58 kBaddedadded
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags77.88 kBaddedadded
@sentry/browser (incl. Tracing, Replay with Canvas)93.27 kBaddedadded
@sentry/browser (incl. Tracing, Replay, Feedback)106.22 kBaddedadded
@sentry/browser (incl. Feedback)46.2 kBaddedadded
@sentry/browser (incl. sendFeedback)33.78 kBaddedadded
@sentry/browser (incl. FeedbackAsync)38.88 kBaddedadded
@sentry/browser (incl. Metrics)29.69 kBaddedadded
@sentry/browser (incl. Logs)29.97 kBaddedadded
@sentry/browser (incl. Metrics & Logs)30.62 kBaddedadded
@sentry/react30.48 kBaddedadded
@sentry/react (incl. Tracing)51.31 kBaddedadded
@sentry/vue35.95 kBaddedadded
@sentry/vue (incl. Tracing)51.37 kBaddedadded
@sentry/svelte28.74 kBaddedadded
CDN Bundle30.46 kBaddedadded
CDN Bundle (incl. Tracing)49.64 kBaddedadded
CDN Bundle (incl. Logs, Metrics)32.69 kBaddedadded
CDN Bundle (incl. Tracing, Logs, Metrics)51.57 kBaddedadded
CDN Bundle (incl. Replay, Logs, Metrics)73.29 kBaddedadded
CDN Bundle (incl. Tracing, Replay)87.13 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Logs, Metrics)89 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback)93.06 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)95.01 kBaddedadded
CDN Bundle - uncompressed90.2 kBaddedadded
CDN Bundle (incl. Tracing) - uncompressed147.88 kBaddedadded
CDN Bundle (incl. Logs, Metrics) - uncompressed96.59 kBaddedadded
CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed153.66 kBaddedadded
CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed225.75 kBaddedadded
CDN Bundle (incl. Tracing, Replay) - uncompressed267.37 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed273.14 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed281.07 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed286.83 kBaddedadded
@sentry/nextjs (client)53.92 kBaddedadded
@sentry/sveltekit (client)49.54 kBaddedadded
@sentry/core/server40.96 kBaddedadded
@sentry/core/browser13.54 kBaddedadded
@sentry/node124.67 kBaddedadded
@sentry/node/import (ESM hook with diagnostics-channel injection)81.52 kBaddedadded
@sentry/node - without tracing88.51 kBaddedadded
@sentry/node - without channel injection103.96 kBaddedadded
@sentry/aws-serverless96.89 kBaddedadded
@sentry/cloudflare (withSentry) - minified201.56 kBaddedadded
@sentry/cloudflare (withSentry)501.38 kBaddedadded

@chargomechargome closed this Sep 3, 2026
@chargome
chargome deleted the merge-develop-into-11.0.0-beta branch September 3, 2026 13:08
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants

@chargome@Lms24@s1gr1d@msonnb@halillusion@andreiborza
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore: Merge develop into 11.0.0-beta - #24013

Closed
chargome wants to merge 16 commits into
11.0.0-betafrom
merge-develop-into-11.0.0-beta
Closed

chore: Merge develop into 11.0.0-beta#24013
chargome wants to merge 16 commits into
11.0.0-betafrom
merge-develop-into-11.0.0-beta

Conversation

@chargome

@chargomechargome commented Sep 3, 2026

Copy link
Copy Markdown
Member

Syncs develop into the 11.0.0-beta branch in preparation for cutting 11.0.0-beta.1.

Lms24and others added 16 commits September 3, 2026 09:12
This PR deprecates `ignoreStatusCodes` on - Node `httpIntegration` / `httpServerSpansIntegration`
- Deno's `denoHttpIntegration` / `denoServeIntegration`
both scheduled for removal in v12 without replacement.
The option filters finished transaction events by response status code,
which span streaming no longer supports. Child spans are sent as they
end, potentially before the response status is known, so a request's
spans can't be dropped retroactively.
`ignoreIncomingRequests` is the nearest alternative for keeping requests
out of Sentry, but it matches on the request rather than on the
response, so the migration note is explicit that it isn't fully
equivalent.
Fixes#23956
Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.5 to
3.1.7.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/fastify/fast-uri/releases">fast-uri's
releases</a>.</em></p>
<blockquote>
<h2>v3.1.7</h2>
<h2>⚠️ Security Warning</h2>
<p>This is a security release that fixes the following high-severity
security advisories:</p>
<ul>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-qw65-cvwx-89v3">GHSA-qw65-cvwx-89v3</a>
— authority injection via an unvalidated port in
<code>serialize()</code></li>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-58mr-gqgx-xq4g">GHSA-58mr-gqgx-xq4g</a>
— host confusion via unbalanced or misplaced IP-literal brackets</li>
</ul>
<p>Users of the v3.x release line should upgrade to v3.1.7.</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/fastify/fast-uri/compare/v3.1.6...v3.1.7">https://github.com/fastify/fast-uri/compare/v3.1.6...v3.1.7</a></p>
<h2>v3.1.6</h2>
<h2>⚠️ Security Warning</h2>
<p>This release addresses the following high-severity security
advisories:</p>
<ul>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-5jgf-p345-68v8">GHSA-5jgf-p345-68v8</a>
— host confusion via skipped IDN canonicalization on scheme-relative
references</li>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-fph4-wmhf-6fwf">GHSA-fph4-wmhf-6fwf</a>
— server-side request forgery via repeated hostname
percent-decoding</li>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-f65p-4m7j-42xc">GHSA-f65p-4m7j-42xc</a>
— server-side request forgery via malformed IPv6 normalization</li>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-jqff-g426-hqxp">GHSA-jqff-g426-hqxp</a>
— host confusion via percent-encoded scheme normalization</li>
</ul>
<p>Users of the v3.x release line should upgrade to v3.1.6.</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/fastify/fast-uri/compare/v3.1.5...v3.1.6">https://github.com/fastify/fast-uri/compare/v3.1.5...v3.1.6</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/fastify/fast-uri/commit/412e40abd4eb8beabfb952d80abf949a2baf27a3"><code>412e40a</code></a>
Bumped v3.1.7</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/9f4c943e4d2133e8d78e0941203879216255bb01"><code>9f4c943</code></a>
fix: backport port and IP-literal validation to v3.x (<a
href="https://redirect.github.com/fastify/fast-uri/issues/216">#216</a>)</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/1eb3ce436fe050807caba79f886ab894f485a588"><code>1eb3ce4</code></a>
fix: treat unterminated bracket hosts as reg-names again (<a
href="https://redirect.github.com/fastify/fast-uri/issues/214">#214</a>)</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/6f970b2951fd896aa0f3a7ff28eeb6640c137d33"><code>6f970b2</code></a>
Bumped v3.1.6</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/d941579a84273ec7e96bde596b1f7a8be447df2a"><code>d941579</code></a>
fix: never run IDN canonicalization on bracketed IP literals</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/c0f0279cf370cb89ee56b04bbcde2a7afbe81aba"><code>c0f0279</code></a>
test: adapt decoded-scheme handler assertion to 3.x (no mailto
scheme)</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/37f3417c82994279656854f83ce938acd81c3862"><code>37f3417</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/607bfbe953f28a14c2e06ae64aff38c81ca2937f"><code>607bfbe</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/ae92a4c5d8c4b6c9e447f048d5fcbde7eebd5514"><code>ae92a4c</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/444ecdad447db2cc23c4d422acc6f0daa6fa8eef"><code>444ecda</code></a>
Merge commit from fork</li>
<li>Additional commits viewable in <a
href="https://github.com/fastify/fast-uri/compare/v3.1.5...v3.1.7">compare
view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=fast-uri&package-manager=npm_and_yarn&previous-version=3.1.5&new-version=3.1.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/getsentry/sentry-javascript/network/alerts).
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Reference #23804
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
With span streaming, `ignoreSpans` runs at span start. Redis cache spans
used to start as `db.query` and get renamed to `cache.*` at response
time, so a filter matching what you see in the UI never matched anything
(part of #23830).
Now a command whose key matches `cachePrefixes` starts as a `cache.*`
span on all four instrumentation paths. At response time we only add
`cache.hit`/`cache.item_size` (as we only know it at this time).
Static-lifecycle output is unchanged.
Behavior changes and limitations:
- Failed cache commands now report as `cache.*` spans. They previously
stayed `db.query`.
- `maxCacheKeyLength` only applies to `traceLifecycle: 'static'` (added
to JSDoc). Streamed span names don't need truncation.
- Multi-key commands on node-redis >=5.12 still stay `db.query`: the
library sanitizes keys to `?` before we see them (pre-existing).
Closes#23832
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…lbacks (#23760)
Adds `safeCallback(message, fn, fallback)` helper which runs a
user-provided callback, and on a sync throw or async rejection logs
`message` via `debug.error` and returns `fallback(error)` instead of
propagating.
`applyBeforeSendSpanCallback` and the undici `safeExecute` are
refactored onto the helper so there is a single implementation.
First step of #23755, next PR will wrap the rest of the user-defined
callbacks.
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
… as events (#23770)
Wraps `beforeSend`, `beforeSendTransaction`, event processors,
`tracesSampler`, `beforeBreadcrumb`, `beforeSendLog` and
`beforeSendMetric` in the `safeCallback` helper from #23760. A throwing
or rejecting callback no longer escapes into the calling code and is no
longer captured as an `internal` error event; the
event/breadcrumb/log/metric is dropped, a client report is recorded
where a category exists, and the error is logged in debug mode.
part of #23755
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…a.url shim (#23935)
This is just adding the tests of the v10 PRs to make sure we don't have
a regression.
Ported tests of two v10 PRs:
- #23910
- #23906
One test caught a real problem: the `@sentry/server-utils` CJS build
still replaced `import.meta.url` with a snippet that assumes "a
`document` global means a browser", crashing under jsdom.
```
"AssertionError: expected [Function] to not throw an error but 'TypeError [ERR_INVALID_URL_SCHEME]: T…' was thrown"
```
The v10 lazy-loading fix needs no porting: on v11, `withSentryConfig`
lives in the separate `@sentry/nextjs/config` export, so importing the
SDK never reaches the bundler plugins.
Fixes#23789
- `sentryRemixVitePlugin` moves from the main `@sentry/remix` entry to a
dedicated `@sentry/remix/vite` subpath, matching `@sentry/sveltekit` and
`@sentry/react-router`.
- It was exported from `index.server.ts`, the package's CJS `main`, so
anything the plugin imports lands in the module graph of every Remix
server process. Splitting the entry keeps build-time-only dependencies
off the runtime path.
- It now returns an array so further plugins can be added without
another breaking change — #23988 stacks on this to auto-wire the
orchestrion transform.
Refs #23986
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
- `sentryRemixVitePlugin()` now applies the orchestrion bundler
transform automatically. Remix was the last metaframework SDK still
asking users to add `sentryOrchestrionPlugin()` themselves.
- Cloudflare and Hydrogen builds are skipped — they instrument via
`instrumentBuild()` from `@sentry/remix/cloudflare`, so the injected
channels would be dead code in a worker bundle.
- The dev server is unaffected: the plugin is added unconditionally, as
in SvelteKit/SolidStart/TanStack Start/Astro, and since #22857
orchestrion opts itself out of `serve` so deps stay external for the
runtime `--import` hook.
Fixes#23986
Refs #22632
---------
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
…te for C:\ (#23653)
- [x] tests added if needed
- [x] yarn lint passes
- [ ] no related issue, auto-link is fine
Windows fix for Nuxt dev on Node 24.
On Windows `npm run dev` was failing with
`ERR_UNSUPPORTED_ESM_URL_SCHEME` / `Received protocol 'c:'` because
`.nuxt/dev/index.mjs` generated `import 'C:\...'` instead of
`file:///C:/...`. Same `isExternal` check in `rollup.module.config.mjs`
treated `C:\` as external and broke the build.
Changed `addServerConfig.ts` (and the solidstart copy) to emit
`pathToFileURL(...).href` and fixed `isExternal` to use `isAbsolute()`
so Windows absolute paths work. Also handles POSIX fine.
Verified with `yarn nx run @sentry/nuxt:build:dev` -> now passes, and
`pathToFileURL` gives `file:///C:/...` on Windows.
Closes #XXXX
---------
Co-authored-by: Sigrid <32902192+s1gr1d@users.noreply.github.com>
## What
Documents the `@sentry/core` entrypoint split from #23762 in the v10 to
v11 migration guide, listing which exports now live only on
`@sentry/core/browser` and `@sentry/core/server`.
## Why
The split shipped without a migration or changelog entry. Upgrading the
Sentry frontend to 11.0.0-beta.0 hit it as a bare `has no exported
member` type error, with nothing in the guide saying where the symbols
went.
Reference #23804
Two changes beyond the mechanical port. The shared cached-html helper
(used by the pre-rendered test; the SWR tests were already skipped)
asserted that a second request sends no server root span — that only
passed because the listener registered after `page.goto`. Streaming's
buffered flush exposed the span, so the helper now checks the actual
contract: no tracing meta tags, and each pageload starts its own trace.
Also, `db-test.ts` runs a successful query before the failing one, so
the error carries a query breadcrumb — there is no transaction event to
read breadcrumbs off anymore.
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Reference #23804
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…age (#23952)
Reference #23804
This is a verbatim copy of the nuxt-4 app that stays pinned to
`traceLifecycle: 'static'` and keeps the transaction-based specs. With
the Nuxt/Nitro apps migrating to span streaming, this copy keeps the
static trace lifecycle covered by one representative app. Only the app
name changed: `package.json` name, the event proxy server name, the
`waitFor*` calls in the specs, and the CI variant labels. The e2e matrix
discovers apps by directory, so no CI config change is needed.
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Reference #23804
Two changes beyond the mechanical port. The SWR cached-html tests
asserted that a second request sends no server root span — that only
passed because the listener registered after `page.goto`, so the (always
sent) second transaction arrived unobserved. Streaming's buffered flush
exposed it. The tests now check the actual SWR contract: no tracing meta
tags, and each pageload starts its own trace. Also, `db-test.ts` runs a
successful query before the failing one, so the error carries a query
breadcrumb — there is no transaction event to read breadcrumbs off
anymore (nuxt-3 has the same setup).
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AniF28D1ybJANSEHVsd9ay
@github-actions

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser28.71 kBaddedadded
@sentry/browser - with treeshaking flags27.02 kBaddedadded
@sentry/browser - with treeshaking flags tracing without tracing26.92 kBaddedadded
@sentry/browser (incl. Tracing)49.11 kBaddedadded
@sentry/browser (incl. Tracing + Span Streaming)49.1 kBaddedadded
@sentry/browser (incl. Tracing, Profiling)52.02 kBaddedadded
@sentry/browser (incl. Tracing, Replay)88.58 kBaddedadded
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags77.88 kBaddedadded
@sentry/browser (incl. Tracing, Replay with Canvas)93.27 kBaddedadded
@sentry/browser (incl. Tracing, Replay, Feedback)106.22 kBaddedadded
@sentry/browser (incl. Feedback)46.2 kBaddedadded
@sentry/browser (incl. sendFeedback)33.78 kBaddedadded
@sentry/browser (incl. FeedbackAsync)38.88 kBaddedadded
@sentry/browser (incl. Metrics)29.69 kBaddedadded
@sentry/browser (incl. Logs)29.97 kBaddedadded
@sentry/browser (incl. Metrics & Logs)30.62 kBaddedadded
@sentry/react30.48 kBaddedadded
@sentry/react (incl. Tracing)51.31 kBaddedadded
@sentry/vue35.95 kBaddedadded
@sentry/vue (incl. Tracing)51.37 kBaddedadded
@sentry/svelte28.74 kBaddedadded
CDN Bundle30.46 kBaddedadded
CDN Bundle (incl. Tracing)49.64 kBaddedadded
CDN Bundle (incl. Logs, Metrics)32.69 kBaddedadded
CDN Bundle (incl. Tracing, Logs, Metrics)51.57 kBaddedadded
CDN Bundle (incl. Replay, Logs, Metrics)73.29 kBaddedadded
CDN Bundle (incl. Tracing, Replay)87.13 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Logs, Metrics)89 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback)93.06 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)95.01 kBaddedadded
CDN Bundle - uncompressed90.2 kBaddedadded
CDN Bundle (incl. Tracing) - uncompressed147.88 kBaddedadded
CDN Bundle (incl. Logs, Metrics) - uncompressed96.59 kBaddedadded
CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed153.66 kBaddedadded
CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed225.75 kBaddedadded
CDN Bundle (incl. Tracing, Replay) - uncompressed267.37 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed273.14 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed281.07 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed286.83 kBaddedadded
@sentry/nextjs (client)53.92 kBaddedadded
@sentry/sveltekit (client)49.54 kBaddedadded
@sentry/core/server40.96 kBaddedadded
@sentry/core/browser13.54 kBaddedadded
@sentry/node124.67 kBaddedadded
@sentry/node/import (ESM hook with diagnostics-channel injection)81.52 kBaddedadded
@sentry/node - without tracing88.51 kBaddedadded
@sentry/node - without channel injection103.96 kBaddedadded
@sentry/aws-serverless96.89 kBaddedadded
@sentry/cloudflare (withSentry) - minified201.56 kBaddedadded
@sentry/cloudflare (withSentry)501.38 kBaddedadded

@chargomechargome closed this Sep 3, 2026
@chargome
chargome deleted the merge-develop-into-11.0.0-beta branch September 3, 2026 13:08
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants

@chargome@Lms24@s1gr1d@msonnb@halillusion@andreiborza
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore: Merge develop into 11.0.0-beta - #24013

Closed
chargome wants to merge 16 commits into
11.0.0-betafrom
merge-develop-into-11.0.0-beta
Closed

chore: Merge develop into 11.0.0-beta#24013
chargome wants to merge 16 commits into
11.0.0-betafrom
merge-develop-into-11.0.0-beta

Conversation

@chargome

@chargomechargome commented Sep 3, 2026

Copy link
Copy Markdown
Member

Syncs develop into the 11.0.0-beta branch in preparation for cutting 11.0.0-beta.1.

Lms24and others added 16 commits September 3, 2026 09:12
This PR deprecates `ignoreStatusCodes` on - Node `httpIntegration` / `httpServerSpansIntegration`
- Deno's `denoHttpIntegration` / `denoServeIntegration`
both scheduled for removal in v12 without replacement.
The option filters finished transaction events by response status code,
which span streaming no longer supports. Child spans are sent as they
end, potentially before the response status is known, so a request's
spans can't be dropped retroactively.
`ignoreIncomingRequests` is the nearest alternative for keeping requests
out of Sentry, but it matches on the request rather than on the
response, so the migration note is explicit that it isn't fully
equivalent.
Fixes#23956
Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.5 to
3.1.7.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/fastify/fast-uri/releases">fast-uri's
releases</a>.</em></p>
<blockquote>
<h2>v3.1.7</h2>
<h2>⚠️ Security Warning</h2>
<p>This is a security release that fixes the following high-severity
security advisories:</p>
<ul>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-qw65-cvwx-89v3">GHSA-qw65-cvwx-89v3</a>
— authority injection via an unvalidated port in
<code>serialize()</code></li>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-58mr-gqgx-xq4g">GHSA-58mr-gqgx-xq4g</a>
— host confusion via unbalanced or misplaced IP-literal brackets</li>
</ul>
<p>Users of the v3.x release line should upgrade to v3.1.7.</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/fastify/fast-uri/compare/v3.1.6...v3.1.7">https://github.com/fastify/fast-uri/compare/v3.1.6...v3.1.7</a></p>
<h2>v3.1.6</h2>
<h2>⚠️ Security Warning</h2>
<p>This release addresses the following high-severity security
advisories:</p>
<ul>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-5jgf-p345-68v8">GHSA-5jgf-p345-68v8</a>
— host confusion via skipped IDN canonicalization on scheme-relative
references</li>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-fph4-wmhf-6fwf">GHSA-fph4-wmhf-6fwf</a>
— server-side request forgery via repeated hostname
percent-decoding</li>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-f65p-4m7j-42xc">GHSA-f65p-4m7j-42xc</a>
— server-side request forgery via malformed IPv6 normalization</li>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-jqff-g426-hqxp">GHSA-jqff-g426-hqxp</a>
— host confusion via percent-encoded scheme normalization</li>
</ul>
<p>Users of the v3.x release line should upgrade to v3.1.6.</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/fastify/fast-uri/compare/v3.1.5...v3.1.6">https://github.com/fastify/fast-uri/compare/v3.1.5...v3.1.6</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/fastify/fast-uri/commit/412e40abd4eb8beabfb952d80abf949a2baf27a3"><code>412e40a</code></a>
Bumped v3.1.7</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/9f4c943e4d2133e8d78e0941203879216255bb01"><code>9f4c943</code></a>
fix: backport port and IP-literal validation to v3.x (<a
href="https://redirect.github.com/fastify/fast-uri/issues/216">#216</a>)</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/1eb3ce436fe050807caba79f886ab894f485a588"><code>1eb3ce4</code></a>
fix: treat unterminated bracket hosts as reg-names again (<a
href="https://redirect.github.com/fastify/fast-uri/issues/214">#214</a>)</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/6f970b2951fd896aa0f3a7ff28eeb6640c137d33"><code>6f970b2</code></a>
Bumped v3.1.6</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/d941579a84273ec7e96bde596b1f7a8be447df2a"><code>d941579</code></a>
fix: never run IDN canonicalization on bracketed IP literals</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/c0f0279cf370cb89ee56b04bbcde2a7afbe81aba"><code>c0f0279</code></a>
test: adapt decoded-scheme handler assertion to 3.x (no mailto
scheme)</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/37f3417c82994279656854f83ce938acd81c3862"><code>37f3417</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/607bfbe953f28a14c2e06ae64aff38c81ca2937f"><code>607bfbe</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/ae92a4c5d8c4b6c9e447f048d5fcbde7eebd5514"><code>ae92a4c</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/444ecdad447db2cc23c4d422acc6f0daa6fa8eef"><code>444ecda</code></a>
Merge commit from fork</li>
<li>Additional commits viewable in <a
href="https://github.com/fastify/fast-uri/compare/v3.1.5...v3.1.7">compare
view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=fast-uri&package-manager=npm_and_yarn&previous-version=3.1.5&new-version=3.1.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/getsentry/sentry-javascript/network/alerts).
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Reference #23804
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
With span streaming, `ignoreSpans` runs at span start. Redis cache spans
used to start as `db.query` and get renamed to `cache.*` at response
time, so a filter matching what you see in the UI never matched anything
(part of #23830).
Now a command whose key matches `cachePrefixes` starts as a `cache.*`
span on all four instrumentation paths. At response time we only add
`cache.hit`/`cache.item_size` (as we only know it at this time).
Static-lifecycle output is unchanged.
Behavior changes and limitations:
- Failed cache commands now report as `cache.*` spans. They previously
stayed `db.query`.
- `maxCacheKeyLength` only applies to `traceLifecycle: 'static'` (added
to JSDoc). Streamed span names don't need truncation.
- Multi-key commands on node-redis >=5.12 still stay `db.query`: the
library sanitizes keys to `?` before we see them (pre-existing).
Closes#23832
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…lbacks (#23760)
Adds `safeCallback(message, fn, fallback)` helper which runs a
user-provided callback, and on a sync throw or async rejection logs
`message` via `debug.error` and returns `fallback(error)` instead of
propagating.
`applyBeforeSendSpanCallback` and the undici `safeExecute` are
refactored onto the helper so there is a single implementation.
First step of #23755, next PR will wrap the rest of the user-defined
callbacks.
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
… as events (#23770)
Wraps `beforeSend`, `beforeSendTransaction`, event processors,
`tracesSampler`, `beforeBreadcrumb`, `beforeSendLog` and
`beforeSendMetric` in the `safeCallback` helper from #23760. A throwing
or rejecting callback no longer escapes into the calling code and is no
longer captured as an `internal` error event; the
event/breadcrumb/log/metric is dropped, a client report is recorded
where a category exists, and the error is logged in debug mode.
part of #23755
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…a.url shim (#23935)
This is just adding the tests of the v10 PRs to make sure we don't have
a regression.
Ported tests of two v10 PRs:
- #23910
- #23906
One test caught a real problem: the `@sentry/server-utils` CJS build
still replaced `import.meta.url` with a snippet that assumes "a
`document` global means a browser", crashing under jsdom.
```
"AssertionError: expected [Function] to not throw an error but 'TypeError [ERR_INVALID_URL_SCHEME]: T…' was thrown"
```
The v10 lazy-loading fix needs no porting: on v11, `withSentryConfig`
lives in the separate `@sentry/nextjs/config` export, so importing the
SDK never reaches the bundler plugins.
Fixes#23789
- `sentryRemixVitePlugin` moves from the main `@sentry/remix` entry to a
dedicated `@sentry/remix/vite` subpath, matching `@sentry/sveltekit` and
`@sentry/react-router`.
- It was exported from `index.server.ts`, the package's CJS `main`, so
anything the plugin imports lands in the module graph of every Remix
server process. Splitting the entry keeps build-time-only dependencies
off the runtime path.
- It now returns an array so further plugins can be added without
another breaking change — #23988 stacks on this to auto-wire the
orchestrion transform.
Refs #23986
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
- `sentryRemixVitePlugin()` now applies the orchestrion bundler
transform automatically. Remix was the last metaframework SDK still
asking users to add `sentryOrchestrionPlugin()` themselves.
- Cloudflare and Hydrogen builds are skipped — they instrument via
`instrumentBuild()` from `@sentry/remix/cloudflare`, so the injected
channels would be dead code in a worker bundle.
- The dev server is unaffected: the plugin is added unconditionally, as
in SvelteKit/SolidStart/TanStack Start/Astro, and since #22857
orchestrion opts itself out of `serve` so deps stay external for the
runtime `--import` hook.
Fixes#23986
Refs #22632
---------
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
…te for C:\ (#23653)
- [x] tests added if needed
- [x] yarn lint passes
- [ ] no related issue, auto-link is fine
Windows fix for Nuxt dev on Node 24.
On Windows `npm run dev` was failing with
`ERR_UNSUPPORTED_ESM_URL_SCHEME` / `Received protocol 'c:'` because
`.nuxt/dev/index.mjs` generated `import 'C:\...'` instead of
`file:///C:/...`. Same `isExternal` check in `rollup.module.config.mjs`
treated `C:\` as external and broke the build.
Changed `addServerConfig.ts` (and the solidstart copy) to emit
`pathToFileURL(...).href` and fixed `isExternal` to use `isAbsolute()`
so Windows absolute paths work. Also handles POSIX fine.
Verified with `yarn nx run @sentry/nuxt:build:dev` -> now passes, and
`pathToFileURL` gives `file:///C:/...` on Windows.
Closes #XXXX
---------
Co-authored-by: Sigrid <32902192+s1gr1d@users.noreply.github.com>
## What
Documents the `@sentry/core` entrypoint split from #23762 in the v10 to
v11 migration guide, listing which exports now live only on
`@sentry/core/browser` and `@sentry/core/server`.
## Why
The split shipped without a migration or changelog entry. Upgrading the
Sentry frontend to 11.0.0-beta.0 hit it as a bare `has no exported
member` type error, with nothing in the guide saying where the symbols
went.
Reference #23804
Two changes beyond the mechanical port. The shared cached-html helper
(used by the pre-rendered test; the SWR tests were already skipped)
asserted that a second request sends no server root span — that only
passed because the listener registered after `page.goto`. Streaming's
buffered flush exposed the span, so the helper now checks the actual
contract: no tracing meta tags, and each pageload starts its own trace.
Also, `db-test.ts` runs a successful query before the failing one, so
the error carries a query breadcrumb — there is no transaction event to
read breadcrumbs off anymore.
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Reference #23804
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…age (#23952)
Reference #23804
This is a verbatim copy of the nuxt-4 app that stays pinned to
`traceLifecycle: 'static'` and keeps the transaction-based specs. With
the Nuxt/Nitro apps migrating to span streaming, this copy keeps the
static trace lifecycle covered by one representative app. Only the app
name changed: `package.json` name, the event proxy server name, the
`waitFor*` calls in the specs, and the CI variant labels. The e2e matrix
discovers apps by directory, so no CI config change is needed.
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Reference #23804
Two changes beyond the mechanical port. The SWR cached-html tests
asserted that a second request sends no server root span — that only
passed because the listener registered after `page.goto`, so the (always
sent) second transaction arrived unobserved. Streaming's buffered flush
exposed it. The tests now check the actual SWR contract: no tracing meta
tags, and each pageload starts its own trace. Also, `db-test.ts` runs a
successful query before the failing one, so the error carries a query
breadcrumb — there is no transaction event to read breadcrumbs off
anymore (nuxt-3 has the same setup).
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AniF28D1ybJANSEHVsd9ay
@github-actions

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser28.71 kBaddedadded
@sentry/browser - with treeshaking flags27.02 kBaddedadded
@sentry/browser - with treeshaking flags tracing without tracing26.92 kBaddedadded
@sentry/browser (incl. Tracing)49.11 kBaddedadded
@sentry/browser (incl. Tracing + Span Streaming)49.1 kBaddedadded
@sentry/browser (incl. Tracing, Profiling)52.02 kBaddedadded
@sentry/browser (incl. Tracing, Replay)88.58 kBaddedadded
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags77.88 kBaddedadded
@sentry/browser (incl. Tracing, Replay with Canvas)93.27 kBaddedadded
@sentry/browser (incl. Tracing, Replay, Feedback)106.22 kBaddedadded
@sentry/browser (incl. Feedback)46.2 kBaddedadded
@sentry/browser (incl. sendFeedback)33.78 kBaddedadded
@sentry/browser (incl. FeedbackAsync)38.88 kBaddedadded
@sentry/browser (incl. Metrics)29.69 kBaddedadded
@sentry/browser (incl. Logs)29.97 kBaddedadded
@sentry/browser (incl. Metrics & Logs)30.62 kBaddedadded
@sentry/react30.48 kBaddedadded
@sentry/react (incl. Tracing)51.31 kBaddedadded
@sentry/vue35.95 kBaddedadded
@sentry/vue (incl. Tracing)51.37 kBaddedadded
@sentry/svelte28.74 kBaddedadded
CDN Bundle30.46 kBaddedadded
CDN Bundle (incl. Tracing)49.64 kBaddedadded
CDN Bundle (incl. Logs, Metrics)32.69 kBaddedadded
CDN Bundle (incl. Tracing, Logs, Metrics)51.57 kBaddedadded
CDN Bundle (incl. Replay, Logs, Metrics)73.29 kBaddedadded
CDN Bundle (incl. Tracing, Replay)87.13 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Logs, Metrics)89 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback)93.06 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)95.01 kBaddedadded
CDN Bundle - uncompressed90.2 kBaddedadded
CDN Bundle (incl. Tracing) - uncompressed147.88 kBaddedadded
CDN Bundle (incl. Logs, Metrics) - uncompressed96.59 kBaddedadded
CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed153.66 kBaddedadded
CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed225.75 kBaddedadded
CDN Bundle (incl. Tracing, Replay) - uncompressed267.37 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed273.14 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed281.07 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed286.83 kBaddedadded
@sentry/nextjs (client)53.92 kBaddedadded
@sentry/sveltekit (client)49.54 kBaddedadded
@sentry/core/server40.96 kBaddedadded
@sentry/core/browser13.54 kBaddedadded
@sentry/node124.67 kBaddedadded
@sentry/node/import (ESM hook with diagnostics-channel injection)81.52 kBaddedadded
@sentry/node - without tracing88.51 kBaddedadded
@sentry/node - without channel injection103.96 kBaddedadded
@sentry/aws-serverless96.89 kBaddedadded
@sentry/cloudflare (withSentry) - minified201.56 kBaddedadded
@sentry/cloudflare (withSentry)501.38 kBaddedadded

@chargomechargome closed this Sep 3, 2026
@chargome
chargome deleted the merge-develop-into-11.0.0-beta branch September 3, 2026 13:08
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants

@chargome@Lms24@s1gr1d@msonnb@halillusion@andreiborza
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

chore: Merge develop into 11.0.0-beta - #24013

Closed
chargome wants to merge 16 commits into
11.0.0-betafrom
merge-develop-into-11.0.0-beta
Closed

chore: Merge develop into 11.0.0-beta#24013
chargome wants to merge 16 commits into
11.0.0-betafrom
merge-develop-into-11.0.0-beta

Conversation

@chargome

@chargomechargome commented Sep 3, 2026

Copy link
Copy Markdown
Member

Syncs develop into the 11.0.0-beta branch in preparation for cutting 11.0.0-beta.1.

Lms24and others added 16 commits September 3, 2026 09:12
This PR deprecates `ignoreStatusCodes` on - Node `httpIntegration` / `httpServerSpansIntegration`
- Deno's `denoHttpIntegration` / `denoServeIntegration`
both scheduled for removal in v12 without replacement.
The option filters finished transaction events by response status code,
which span streaming no longer supports. Child spans are sent as they
end, potentially before the response status is known, so a request's
spans can't be dropped retroactively.
`ignoreIncomingRequests` is the nearest alternative for keeping requests
out of Sentry, but it matches on the request rather than on the
response, so the migration note is explicit that it isn't fully
equivalent.
Fixes#23956
Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.5 to
3.1.7.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/fastify/fast-uri/releases">fast-uri's
releases</a>.</em></p>
<blockquote>
<h2>v3.1.7</h2>
<h2>⚠️ Security Warning</h2>
<p>This is a security release that fixes the following high-severity
security advisories:</p>
<ul>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-qw65-cvwx-89v3">GHSA-qw65-cvwx-89v3</a>
— authority injection via an unvalidated port in
<code>serialize()</code></li>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-58mr-gqgx-xq4g">GHSA-58mr-gqgx-xq4g</a>
— host confusion via unbalanced or misplaced IP-literal brackets</li>
</ul>
<p>Users of the v3.x release line should upgrade to v3.1.7.</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/fastify/fast-uri/compare/v3.1.6...v3.1.7">https://github.com/fastify/fast-uri/compare/v3.1.6...v3.1.7</a></p>
<h2>v3.1.6</h2>
<h2>⚠️ Security Warning</h2>
<p>This release addresses the following high-severity security
advisories:</p>
<ul>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-5jgf-p345-68v8">GHSA-5jgf-p345-68v8</a>
— host confusion via skipped IDN canonicalization on scheme-relative
references</li>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-fph4-wmhf-6fwf">GHSA-fph4-wmhf-6fwf</a>
— server-side request forgery via repeated hostname
percent-decoding</li>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-f65p-4m7j-42xc">GHSA-f65p-4m7j-42xc</a>
— server-side request forgery via malformed IPv6 normalization</li>
<li><a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-jqff-g426-hqxp">GHSA-jqff-g426-hqxp</a>
— host confusion via percent-encoded scheme normalization</li>
</ul>
<p>Users of the v3.x release line should upgrade to v3.1.6.</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/fastify/fast-uri/compare/v3.1.5...v3.1.6">https://github.com/fastify/fast-uri/compare/v3.1.5...v3.1.6</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/fastify/fast-uri/commit/412e40abd4eb8beabfb952d80abf949a2baf27a3"><code>412e40a</code></a>
Bumped v3.1.7</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/9f4c943e4d2133e8d78e0941203879216255bb01"><code>9f4c943</code></a>
fix: backport port and IP-literal validation to v3.x (<a
href="https://redirect.github.com/fastify/fast-uri/issues/216">#216</a>)</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/1eb3ce436fe050807caba79f886ab894f485a588"><code>1eb3ce4</code></a>
fix: treat unterminated bracket hosts as reg-names again (<a
href="https://redirect.github.com/fastify/fast-uri/issues/214">#214</a>)</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/6f970b2951fd896aa0f3a7ff28eeb6640c137d33"><code>6f970b2</code></a>
Bumped v3.1.6</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/d941579a84273ec7e96bde596b1f7a8be447df2a"><code>d941579</code></a>
fix: never run IDN canonicalization on bracketed IP literals</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/c0f0279cf370cb89ee56b04bbcde2a7afbe81aba"><code>c0f0279</code></a>
test: adapt decoded-scheme handler assertion to 3.x (no mailto
scheme)</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/37f3417c82994279656854f83ce938acd81c3862"><code>37f3417</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/607bfbe953f28a14c2e06ae64aff38c81ca2937f"><code>607bfbe</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/ae92a4c5d8c4b6c9e447f048d5fcbde7eebd5514"><code>ae92a4c</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/fastify/fast-uri/commit/444ecdad447db2cc23c4d422acc6f0daa6fa8eef"><code>444ecda</code></a>
Merge commit from fork</li>
<li>Additional commits viewable in <a
href="https://github.com/fastify/fast-uri/compare/v3.1.5...v3.1.7">compare
view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=fast-uri&package-manager=npm_and_yarn&previous-version=3.1.5&new-version=3.1.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/getsentry/sentry-javascript/network/alerts).
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Reference #23804
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
With span streaming, `ignoreSpans` runs at span start. Redis cache spans
used to start as `db.query` and get renamed to `cache.*` at response
time, so a filter matching what you see in the UI never matched anything
(part of #23830).
Now a command whose key matches `cachePrefixes` starts as a `cache.*`
span on all four instrumentation paths. At response time we only add
`cache.hit`/`cache.item_size` (as we only know it at this time).
Static-lifecycle output is unchanged.
Behavior changes and limitations:
- Failed cache commands now report as `cache.*` spans. They previously
stayed `db.query`.
- `maxCacheKeyLength` only applies to `traceLifecycle: 'static'` (added
to JSDoc). Streamed span names don't need truncation.
- Multi-key commands on node-redis >=5.12 still stay `db.query`: the
library sanitizes keys to `?` before we see them (pre-existing).
Closes#23832
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…lbacks (#23760)
Adds `safeCallback(message, fn, fallback)` helper which runs a
user-provided callback, and on a sync throw or async rejection logs
`message` via `debug.error` and returns `fallback(error)` instead of
propagating.
`applyBeforeSendSpanCallback` and the undici `safeExecute` are
refactored onto the helper so there is a single implementation.
First step of #23755, next PR will wrap the rest of the user-defined
callbacks.
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
… as events (#23770)
Wraps `beforeSend`, `beforeSendTransaction`, event processors,
`tracesSampler`, `beforeBreadcrumb`, `beforeSendLog` and
`beforeSendMetric` in the `safeCallback` helper from #23760. A throwing
or rejecting callback no longer escapes into the calling code and is no
longer captured as an `internal` error event; the
event/breadcrumb/log/metric is dropped, a client report is recorded
where a category exists, and the error is logged in debug mode.
part of #23755
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…a.url shim (#23935)
This is just adding the tests of the v10 PRs to make sure we don't have
a regression.
Ported tests of two v10 PRs:
- #23910
- #23906
One test caught a real problem: the `@sentry/server-utils` CJS build
still replaced `import.meta.url` with a snippet that assumes "a
`document` global means a browser", crashing under jsdom.
```
"AssertionError: expected [Function] to not throw an error but 'TypeError [ERR_INVALID_URL_SCHEME]: T…' was thrown"
```
The v10 lazy-loading fix needs no porting: on v11, `withSentryConfig`
lives in the separate `@sentry/nextjs/config` export, so importing the
SDK never reaches the bundler plugins.
Fixes#23789
- `sentryRemixVitePlugin` moves from the main `@sentry/remix` entry to a
dedicated `@sentry/remix/vite` subpath, matching `@sentry/sveltekit` and
`@sentry/react-router`.
- It was exported from `index.server.ts`, the package's CJS `main`, so
anything the plugin imports lands in the module graph of every Remix
server process. Splitting the entry keeps build-time-only dependencies
off the runtime path.
- It now returns an array so further plugins can be added without
another breaking change — #23988 stacks on this to auto-wire the
orchestrion transform.
Refs #23986
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
- `sentryRemixVitePlugin()` now applies the orchestrion bundler
transform automatically. Remix was the last metaframework SDK still
asking users to add `sentryOrchestrionPlugin()` themselves.
- Cloudflare and Hydrogen builds are skipped — they instrument via
`instrumentBuild()` from `@sentry/remix/cloudflare`, so the injected
channels would be dead code in a worker bundle.
- The dev server is unaffected: the plugin is added unconditionally, as
in SvelteKit/SolidStart/TanStack Start/Astro, and since #22857
orchestrion opts itself out of `serve` so deps stay external for the
runtime `--import` hook.
Fixes#23986
Refs #22632
---------
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
…te for C:\ (#23653)
- [x] tests added if needed
- [x] yarn lint passes
- [ ] no related issue, auto-link is fine
Windows fix for Nuxt dev on Node 24.
On Windows `npm run dev` was failing with
`ERR_UNSUPPORTED_ESM_URL_SCHEME` / `Received protocol 'c:'` because
`.nuxt/dev/index.mjs` generated `import 'C:\...'` instead of
`file:///C:/...`. Same `isExternal` check in `rollup.module.config.mjs`
treated `C:\` as external and broke the build.
Changed `addServerConfig.ts` (and the solidstart copy) to emit
`pathToFileURL(...).href` and fixed `isExternal` to use `isAbsolute()`
so Windows absolute paths work. Also handles POSIX fine.
Verified with `yarn nx run @sentry/nuxt:build:dev` -> now passes, and
`pathToFileURL` gives `file:///C:/...` on Windows.
Closes #XXXX
---------
Co-authored-by: Sigrid <32902192+s1gr1d@users.noreply.github.com>
## What
Documents the `@sentry/core` entrypoint split from #23762 in the v10 to
v11 migration guide, listing which exports now live only on
`@sentry/core/browser` and `@sentry/core/server`.
## Why
The split shipped without a migration or changelog entry. Upgrading the
Sentry frontend to 11.0.0-beta.0 hit it as a bare `has no exported
member` type error, with nothing in the guide saying where the symbols
went.
Reference #23804
Two changes beyond the mechanical port. The shared cached-html helper
(used by the pre-rendered test; the SWR tests were already skipped)
asserted that a second request sends no server root span — that only
passed because the listener registered after `page.goto`. Streaming's
buffered flush exposed the span, so the helper now checks the actual
contract: no tracing meta tags, and each pageload starts its own trace.
Also, `db-test.ts` runs a successful query before the failing one, so
the error carries a query breadcrumb — there is no transaction event to
read breadcrumbs off anymore.
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Reference #23804
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…age (#23952)
Reference #23804
This is a verbatim copy of the nuxt-4 app that stays pinned to
`traceLifecycle: 'static'` and keeps the transaction-based specs. With
the Nuxt/Nitro apps migrating to span streaming, this copy keeps the
static trace lifecycle covered by one representative app. Only the app
name changed: `package.json` name, the event proxy server name, the
`waitFor*` calls in the specs, and the CI variant labels. The e2e matrix
discovers apps by directory, so no CI config change is needed.
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Reference #23804
Two changes beyond the mechanical port. The SWR cached-html tests
asserted that a second request sends no server root span — that only
passed because the listener registered after `page.goto`, so the (always
sent) second transaction arrived unobserved. Streaming's buffered flush
exposed it. The tests now check the actual SWR contract: no tracing meta
tags, and each pageload starts its own trace. Also, `db-test.ts` runs a
successful query before the failing one, so the error carries a query
breadcrumb — there is no transaction event to read breadcrumbs off
anymore (nuxt-3 has the same setup).
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AniF28D1ybJANSEHVsd9ay
@github-actions

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser28.71 kBaddedadded
@sentry/browser - with treeshaking flags27.02 kBaddedadded
@sentry/browser - with treeshaking flags tracing without tracing26.92 kBaddedadded
@sentry/browser (incl. Tracing)49.11 kBaddedadded
@sentry/browser (incl. Tracing + Span Streaming)49.1 kBaddedadded
@sentry/browser (incl. Tracing, Profiling)52.02 kBaddedadded
@sentry/browser (incl. Tracing, Replay)88.58 kBaddedadded
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags77.88 kBaddedadded
@sentry/browser (incl. Tracing, Replay with Canvas)93.27 kBaddedadded
@sentry/browser (incl. Tracing, Replay, Feedback)106.22 kBaddedadded
@sentry/browser (incl. Feedback)46.2 kBaddedadded
@sentry/browser (incl. sendFeedback)33.78 kBaddedadded
@sentry/browser (incl. FeedbackAsync)38.88 kBaddedadded
@sentry/browser (incl. Metrics)29.69 kBaddedadded
@sentry/browser (incl. Logs)29.97 kBaddedadded
@sentry/browser (incl. Metrics & Logs)30.62 kBaddedadded
@sentry/react30.48 kBaddedadded
@sentry/react (incl. Tracing)51.31 kBaddedadded
@sentry/vue35.95 kBaddedadded
@sentry/vue (incl. Tracing)51.37 kBaddedadded
@sentry/svelte28.74 kBaddedadded
CDN Bundle30.46 kBaddedadded
CDN Bundle (incl. Tracing)49.64 kBaddedadded
CDN Bundle (incl. Logs, Metrics)32.69 kBaddedadded
CDN Bundle (incl. Tracing, Logs, Metrics)51.57 kBaddedadded
CDN Bundle (incl. Replay, Logs, Metrics)73.29 kBaddedadded
CDN Bundle (incl. Tracing, Replay)87.13 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Logs, Metrics)89 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback)93.06 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)95.01 kBaddedadded
CDN Bundle - uncompressed90.2 kBaddedadded
CDN Bundle (incl. Tracing) - uncompressed147.88 kBaddedadded
CDN Bundle (incl. Logs, Metrics) - uncompressed96.59 kBaddedadded
CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed153.66 kBaddedadded
CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed225.75 kBaddedadded
CDN Bundle (incl. Tracing, Replay) - uncompressed267.37 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed273.14 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed281.07 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed286.83 kBaddedadded
@sentry/nextjs (client)53.92 kBaddedadded
@sentry/sveltekit (client)49.54 kBaddedadded
@sentry/core/server40.96 kBaddedadded
@sentry/core/browser13.54 kBaddedadded
@sentry/node124.67 kBaddedadded
@sentry/node/import (ESM hook with diagnostics-channel injection)81.52 kBaddedadded
@sentry/node - without tracing88.51 kBaddedadded
@sentry/node - without channel injection103.96 kBaddedadded
@sentry/aws-serverless96.89 kBaddedadded
@sentry/cloudflare (withSentry) - minified201.56 kBaddedadded
@sentry/cloudflare (withSentry)501.38 kBaddedadded

@chargomechargome closed this Sep 3, 2026
@chargome
chargome deleted the merge-develop-into-11.0.0-beta branch September 3, 2026 13:08
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants

@chargome@Lms24@s1gr1d@msonnb@halillusion@andreiborza