Skip to content

Conversation

@chargome
Copy link
Member

No description provided.

github-actions bot and others added 20 commits October 9, 2025 12:55
[Gitflow] Merge master into develop
fix #17837

add basePath prefix to createRouteManifest 

closes #17837

---------

Co-authored-by: Charly Gomez <charly.gomez@sentry.io>
This PR adds the external contributor to the CHANGELOG.md file, so that
they are credited for their contribution. See #17838

Co-authored-by: chargome <20254395+chargome@users.noreply.github.com>
Next.js will switch the default bundler starting with Next.js v16

- Updated detection logic for turbopack vs webpack
- Updated generic tests (app dir + pages dir) to only run on webpack
(we'll need to update these as soon as next16 is released) (there are
tests that won't pass on turbopack and keeping this in sync for both
bundlers will become unmaintainable)
- Add a bunch of unit tests
- Disabled `next dev --webpack` tests for now as instrumentation breaks
– tracked in
[linear](https://linear.app/getsentry/issue/FE-618/webpack-breaks-instrumentation-for-dev-mode-in-next-16)
- Middleware tests failing likely due to missing [Proxy support
](#17894), will
split this up in a follow up pr
- Removes canary testing for v15, as [v16
beta](https://github.com/vercel/next.js/releases/tag/v16.0.0-beta.0) was
released
- Removes experimental `ppr` testing for v15 as this will not be marked
as stable in v15. Will move these tests to v16 under the new name
`cacheComponents` instead
- Updates the basepath test to run on next@^15
Adds support for vercel/next.js#84319

- Switches to automatically injecting native debug Ids whenever the
Next.js version supports it
- Updates core functionality on supporting `sentryDebugId` alongside the
more generic `debugId` that Vercel uses.
- Something to consider: We write both `sentryDebugIds` and `debugIds`
into the cache but since we generate them in this order, `debugIds` will
have precedence when there is a bundle with both keys in it.
  
 closes #17841
- adds a new next 16 test
- removes canary testing for app dir and pages dir tests (this is
becoming too cumbersome to maintain across canary/bundler versions etc.
– will instead move these tests into next 16 going forward)

Note that next@canary will now always resolve to next@16
…i-integrations-in-browser-sdk

feat(browser): Expose AI instrumentation methods
Co-authored-by: Charly Gomez <charly.gomez@sentry.io>
We've seen some cases where our browser logs are hitting size limits. I
suspect this is because we don't have any robust size tracking
mechanisms in the browser sdk.

<img width="1251" height="513" alt="image"
src="https://github.com/user-attachments/assets/2364b984-2b53-4c6a-89e5-0a0e20fa3246"
/>

This refactors our log flushing mechanisms in the SDK to unify
everything between the browser client and server runtime client. This
also means the browser SDK gets a weight tracking mechanism for
buffering, which should help with making sure we don't run into size
issues with logs.

Given metrics has the same issue, I included it in this refactor.
Pino loggers can be named but we didn't capture this information:

```ts
import pino from 'pino';

const logger = pino({ name: 'my-component' });
```

This PR changes the hook from `start` to `end` which means we can parse
the output JSON and fetch the name if one was supplied.
This PR adds the external contributor to the CHANGELOG.md file, so that
they are credited for their contribution. See #17440

Co-authored-by: chargome <20254395+chargome@users.noreply.github.com>
…7905)

With 19.2, React introduced [custom perfomance
tracks](https://react.dev/blog/2025/10/01/react-19-2#performance-tracks)
in chrome dev tools. This track is populated by collecting
`performance.measure` entries for every component (re-)render. Sounds
good in theory but in reality this causes a massive performance
degradation when using the Sentry SDK because we collect spans from
`PerformanceMeasure` entries. In our Sentry UI, this caused 10+ second
long blocks because we created thousands of spans from these render
entries.

This patch fixes this performance drop by inspecting the measure entries'
`detail` object which we can use to _fairly well_ distinguish React's
entries from users' entries. Not 100% bulletproof but I think good
enough.
# Summary

This PR adds support for TanStack Router Solid. It follows the same
outline as the existing implementation of TanStack Router React for
Sentry as both TanStack Router flavors are built on the same agnostic
foundation.

---------

Co-authored-by: Andrei Borza <andrei.borza@sentry.io>
next@canary now resolves to next 16 which is why we need to update the
testing strategy here
This PR adds the external contributor to the CHANGELOG.md file, so that
they are credited for their contribution. See #17735

---------

Co-authored-by: andreiborza <168741329+andreiborza@users.noreply.github.com>
This resolves the issue that occurs when an extra `navigation`
transaction is created after a prematurely ended `pageload` transaction
in React Router lazy routes.

This apparently occurs when there's a long-running pageload with
lazy-routes (after fetching assets, there are multiple potentially
long-running API calls happening).

This causes the `pageload` transaction to prematurely end, even before
the fully parameterized transaction name is resolved. The reason is that
there can be a `POP` event emitted, which we subscribe to create a
`navigation` transaction. This ends the ongoing `pageload` transaction
before its name is updated with a resolved parameterized route path, and
starts a `navigation` transaction, which contains the remaining spans
that were supposed to be a part of the `pageload` transaction.

This fix makes sure the initial `POP` events are not necessarily treated
as `navigation` pointers, which should fix both:

- Duplicate / extra `navigation` transactions having a part of
`pageload` spans.
- Remaining wildcards in the `pageload` transaction names
@chargome chargome self-assigned this Oct 15, 2025
@chargome chargome requested review from a team, Lms24 and andreiborza and removed request for a team October 15, 2025 14:05
@github-actions
Copy link
Contributor

github-actions bot commented Oct 15, 2025

size-limit report 📦

Path Size % Change Change
@sentry/browser 24.64 kB added added
@sentry/browser - with treeshaking flags 23.14 kB added added
@sentry/browser (incl. Tracing) 40.85 kB added added
@sentry/browser (incl. Tracing, Replay) 79.21 kB added added
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags 68.92 kB added added
@sentry/browser (incl. Tracing, Replay with Canvas) 83.91 kB added added
@sentry/browser (incl. Tracing, Replay, Feedback) 96.08 kB added added
@sentry/browser (incl. Feedback) 41.33 kB added added
@sentry/browser (incl. sendFeedback) 29.3 kB added added
@sentry/browser (incl. FeedbackAsync) 34.26 kB added added
@sentry/react 26.35 kB added added
@sentry/react (incl. Tracing) 42.84 kB added added
@sentry/vue 29.13 kB added added
@sentry/vue (incl. Tracing) 42.64 kB added added
@sentry/svelte 24.66 kB added added
CDN Bundle 26.94 kB added added
CDN Bundle (incl. Tracing) 41.53 kB added added
CDN Bundle (incl. Tracing, Replay) 77.8 kB added added
CDN Bundle (incl. Tracing, Replay, Feedback) 83.28 kB added added
CDN Bundle - uncompressed 78.95 kB added added
CDN Bundle (incl. Tracing) - uncompressed 123.07 kB added added
CDN Bundle (incl. Tracing, Replay) - uncompressed 238.23 kB added added
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 251 kB added added
@sentry/nextjs (client) 44.9 kB added added
@sentry/sveltekit (client) 41.27 kB added added
@sentry/node-core 50.78 kB added added
@sentry/node 154.4 kB added added
@sentry/node - without tracing 92.65 kB added added
@sentry/aws-serverless 106.35 kB added added

@github-actions
Copy link
Contributor

github-actions bot commented Oct 15, 2025

node-overhead report 🧳

Note: This is a synthetic benchmark with a minimal express app and does not necessarily reflect the real-world performance impact in an application.

Scenario Requests/s % of Baseline Prev. Requests/s Change %
GET Baseline 8,734 - - added
GET With Sentry 1,354 16% - added
GET With Sentry (error only) 6,241 71% - added
POST Baseline 1,196 - - added
POST With Sentry 553 46% - added
POST With Sentry (error only) 1,068 89% - added
MYSQL Baseline 3,334 - - added
MYSQL With Sentry 463 14% - added
MYSQL With Sentry (error only) 2,718 82% - added

@chargome chargome force-pushed the prepare-release/10.20.0 branch from 17e569f to baa7a06 Compare October 15, 2025 14:40
@chargome chargome merged commit cc4d168 into master Oct 15, 2025
188 checks passed
@chargome chargome deleted the prepare-release/10.20.0 branch October 15, 2025 14:56
Sign up for free to 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.