Skip to content

feat(packs): verified @sentry/browser, @sentry/react stays candidate, from public 10 → 11 ground truth (UPT-64) - #192

Merged
lucasbraum merged 6 commits into
mainfrom
lucasbraum/upt-64-sentry-browserreact-find-ground-truth-to-re-promote-to
Oct 17, 2026
Merged

lucasbraum merged 6 commits into
mainfrom
lucasbraum/upt-64-sentry-browserreact-find-ground-truth-to-re-promote-to

Conversation

@lucasbraum

@lucasbraum lucasbraum commented Oct 17, 2026 •

Copy link
Copy Markdown
Collaborator

Pack

@sentry/browser and @sentry/react, 10.x → 11.x. Fixes UPT-64: UPT-48 (#155) demoted both because they had too few breaking sites (3 and 2; the gate needs 5).

Before → after (pnpm uptide pack test <lead>):

Lead Repos Breaking sites Precision / recall FP Status
@sentry/browser 2 → 5 3 → 22 100% / 100% → 100% / 50% 0 candidate → verified
@sentry/react 2 → 14 2 → 29 100% / 100% → 88% / 72% 0 → 3 candidate → candidate (3 FPs among breaking findings)

Rules, notes and fixtures are unchanged. Ground truth was committed (87cb970) before the first score with it, and nothing in it changed afterward. Only the 15 new entries were added; the existing ones are untouched.

Ground-truth repositories

These are all of the merged public 10 → 11 upgrades the search found where three things hold: a lead moves next to its own lockfile, the diff removes an API that v11 removed or changed, and the upgrade isn't bump-only. I added every one that qualified, not a hand-picked subset. Each was drafted with pnpm packs:truth and reviewed by hand under docs/packs.md as it stands now, including the UPT-53 anchors. Sites per repository, the review conventions and the screened-out repos are in packages/core/src/packs/sentry/RESEARCH.md.

The issue's list (cal.com, midday, rallly, inbox-zero, unkey, twenty, outline) has none that qualifies. Four of them use @sentry/nextjs, twenty and outline are still on @sentry/react 10, and unkey declares neither lead.

The 3 react false positives (truth unchanged; flagged for your call):

  • Hyrox-Companion server/bootstrap/observability.ts:114: an @sentry/node sendDefaultPii. check moves @sentry/node with the release group, but this repo kept it at 10.75.2.
  • ultra-rss-reader src/lib/runtime/monitoring.ts:25: "InboundFilters" in an integration allowlist. v11 renamed that integration and this upgrade left the entry in place, so it may be a real miss in their upgrade; it still scores as an FP.
  • BotFleet server/sentry-scrub-real-sdk.test.ts:30: beforeSendTransaction. The repo kept it working by adding traceLifecycle: "static" to the same call.

Also in this PR

  • scripts/packs-truth-compiler.ts: packs:truth crashed on repos with TypeScript 7.0.2, which has no main field, before its documented fallback to this checkout's compiler could run. Six of the new repos are on TS 7. This affects drafting only, not scoring.
  • The issue's side note: youth-activity-scheduler's local MODULE_NOT_FOUND comes from local corepack 0.34, which can't start pnpm 12 (pnpm 12 ships bin/pnpm.mjs plus a native binary, not bin/pnpm.cjs). It isn't the engine, which matches CI passing. These local runs used a pnpm shim for repos pinning pnpm@12. BotFleet also needs git-lfs, which CI runners have; it's noted in RESEARCH.md.

CI follow-ups (7a6288e, 4d105da)

  • Pack test summary over 1 MB. The log keeps the full report. The job summary keeps every score table and the first 20 sites of each FP/FN list ("… and M more, see the job log"), and is cut at a line under 960 KiB if it's still too long. A test in packages/cli/src/pack.test.ts covers the cap. On this PR's 17 pack reports: 1.88 MB of log, 71 KB of summary.
  • pack sentry-react exits 1 by design. pack test fails any pack with a breaking FP, candidate or not. The record is current (stale: false in CI and locally), so nothing needed regenerating. The other candidates aren't excluded anywhere; they pass only because they have no breaking FPs. So I added an explicit, narrow exception: FP_CANDIDATES: sentry-react in packs.yml. Its job still runs and its summary still says FAIL, but it doesn't fail the required Pack test when breaking FPs on a candidate are its only failure. An overclaimed record, an unscored repo or a left-behind companion still fails it. Ground truth and the gate are unchanged.

uptide pack test output

uptide pack test @sentry/browser · verified, recorded candidate
fixtures      4 cases, 16 sites · pass
ground truth
  Automancer-Ltd/automancer-site@ea78c738e8de  @sentry/browser 10.75.2 → 11.4.0  predicted 2, expected 2, false positives 0, false negatives 0
  sbomify/sbomify@4c2be2012677                 @sentry/browser 10.75.2 → 11.0.0  predicted 1, expected 1, false positives 0, false negatives 0
  MihaelaAghirculesei/Pokedex@9b48984a5c81     @sentry/browser 10.74.0 → 11.1.0  predicted 1, expected 1, false positives 0, false negatives 0
  Simple-With-Us/ContactLogo@e3ad95203065      @sentry/browser 10.76.0 → 11.4.0  predicted 2, expected 2, false positives 0, false negatives 0
  getsentry/sentry-godot@be1c5daf6050          @sentry/browser 10.75.2 → 11.5.0  predicted 5, expected 16, false positives 0, false negatives 11
    with @sentry/core 10.75.2 → 11.5.0, @sentry/wasm 10.75.2 → 11.5.0

  rule                         precision  recall    tp   fp   fn
  before-send-transaction            n/a      0%     0    0    1
  breadcrumbs-console               100%    100%     1    0    0
  enable-logs                       100%    100%     2    0    0
  generic                            n/a      0%     0    0    2
  removed-exports                   100%    100%     3    0    0
  renamed-exports                    n/a      0%     0    0    8
  send-default-pii                  100%    100%     5    0    0
  overall (sites)                   100%     50%    11    0   11
  behavior notes (sites)             n/a     n/a     0    0    0
  breaking (sites)                  100%     50%    11    0   11

false negatives (11)
  getsentry/sentry-godot@be1c5daf6050  src/sentry-bridge.ts:261  before-send-transaction (breaking)
  getsentry/sentry-godot@be1c5daf6050  test.js:39  renamed-exports (breaking)
  getsentry/sentry-godot@be1c5daf6050  test.js:418  renamed-exports (breaking)
  getsentry/sentry-godot@be1c5daf6050  test.js:423  renamed-exports (breaking)
  getsentry/sentry-godot@be1c5daf6050  test.js:432  renamed-exports (breaking)
  getsentry/sentry-godot@be1c5daf6050  test.js:434  renamed-exports (breaking)
  getsentry/sentry-godot@be1c5daf6050  test.js:436  renamed-exports (breaking)
  getsentry/sentry-godot@be1c5daf6050  test.js:445  renamed-exports (breaking)
  getsentry/sentry-godot@be1c5daf6050  test.js:447  renamed-exports (breaking)
  getsentry/sentry-godot@be1c5daf6050  test.js:468  generic (breaking)
  getsentry/sentry-godot@be1c5daf6050  test.js:473  generic (breaking)

gate          22 breaking sites, 0 behavior-note sites in public ground truth · verified
  · no real site exercises enable-metrics, integration-names, renamed-exports, streamed-span-wrapper: their rewrites run as assisted
recorded candidate by choice; measures verified
PASS @sentry/browser: verified
uptide pack test @sentry/react · candidate
fixtures      4 cases, 16 sites · pass
ground truth
  owine/youth-activity-scheduler@18b467f5c4f2  @sentry/react 10.75.3 → 11.0.0  predicted 2, expected 2, false positives 0, false negatives 0
    · @sentry/vite-plugin stays at 5.4.0 (not in the release group of @sentry/react)
  successible/cleanslate@5d45401e6562          @sentry/react 10.74.0 → 11.0.0  predicted 0, expected 0, false positives 0, false negatives 0
  Seklfreak/flimm@e9fb0517b68b                 @sentry/react 10.75.3 → 11.0.0  predicted 1, expected 1, false positives 0, false negatives 0
  daler91/Hyrox-Companion@77e68b5e1176         @sentry/react 10.75.2 → 11.1.0  predicted 2, expected 1, false positives 1, false negatives 0
    with @sentry/node 10.75.2 → 11.1.0
    · @sentry/esbuild-plugin stays at 5.4.0 (not in the release group of @sentry/react)
    · @sentry/vite-plugin stays at 5.4.0 (not in the release group of @sentry/react)
  jey3dayo/ultra-rss-reader@9b2075e57bf1       @sentry/react 10.75.0 → 11.0.0  predicted 2, expected 1, false positives 1, false negatives 0
    · @sentry/vite-plugin stays at 5.4.0 (not in the release group of @sentry/react)
  jirikrucek/ricochet-app@f9313aca7077         @sentry/react 10.70.0 → 11.1.0  predicted 1, expected 1, false positives 0, false negatives 0
  louisclarencepeter/destinationparadise@04894de5d063 @sentry/react 10.75.0 → 11.7.0  predicted 1, expected 2, false positives 0, false negatives 1
    with @sentry/node 10.75.0 → 11.7.0
  poporonnet/kaniwriter@340019428754           @sentry/react 10.76.0 → 11.5.0  predicted 1, expected 1, false positives 0, false negatives 0
    · @sentry/vite-plugin stays at 5.4.1 (not in the release group of @sentry/react)
  preijm/milk-me-not@471ec20450c8              @sentry/react 10.76.2 → 11.4.0  predicted 1, expected 1, false positives 0, false negatives 0
  CandeeGenerations/central-flock@8d2155e0f985 @sentry/react 10.75.3 → 11.2.0  predicted 4, expected 5, false positives 0, false negatives 1
    with @sentry/node 10.75.3 → 11.2.0
    · @sentry/cli stays at 3.8.0 (not in the release group of @sentry/react)
    · @sentry/vite-plugin stays at 5.4.0 (not in the release group of @sentry/react)
  DougZeThug/717rec@b4b9baa8728d               @sentry/react 10.75.2 → 11.0.0  predicted 1, expected 1, false positives 0, false negatives 0
  CandeeGenerations/attendance-public@661c08b633a2 @sentry/react 10.75.3 → 11.2.0  predicted 2, expected 2, false positives 0, false negatives 0
    · @sentry/cli stays at 3.8.0 (not in the release group of @sentry/react)
    · @sentry/vite-plugin stays at 5.4.0 (not in the release group of @sentry/react)
  cucumber/cucumber-reports@a2b50ccbb67c       @sentry/react 10.75.3 → 11.2.0  predicted 1, expected 1, false positives 0, false negatives 0
  Simple-With-Us/BotFleet@8ddc42a46f27         @sentry/react 10.76.1 → 11.6.0  predicted 5, expected 10, false positives 1, false negatives 6
    with @sentry/node 10.76.1 → 11.6.0

  rule                         precision  recall    tp   fp   fn
  before-send-transaction            75%    100%     3    1    0
  enable-logs                       100%     80%     4    0    1
  error-handlers                     n/a      0%     0    0    1
  generic                            50%     25%     1    1    3
  http-integration-options           n/a      0%     0    0    1
  integration-names                   0%     n/a     0    1    0
  send-default-pii                   92%     80%    12    1    3
  overall (sites)                    88%     72%    21    3    8
  behavior notes (sites)             n/a     n/a     0    0    0
  breaking (sites)                   88%     72%    21    3    8

false positives (3)
  daler91/Hyrox-Companion@77e68b5e1176  server/bootstrap/observability.ts:114  send-default-pii (breaking)
  jey3dayo/ultra-rss-reader@9b2075e57bf1  src/lib/runtime/monitoring.ts:25  integration-names (breaking)
  Simple-With-Us/BotFleet@8ddc42a46f27  server/sentry-scrub-real-sdk.test.ts:30  before-send-transaction (breaking)

false negatives (8)
  louisclarencepeter/destinationparadise@04894de5d063  src/utils/sentry.js:99  send-default-pii (breaking)
  CandeeGenerations/central-flock@8d2155e0f985  server/index.ts:120  error-handlers (breaking)
  Simple-With-Us/BotFleet@8ddc42a46f27  src/lib/sentry.ts:101  enable-logs (breaking)
  Simple-With-Us/BotFleet@8ddc42a46f27  src/lib/sentry.ts:102  send-default-pii (breaking)
  Simple-With-Us/BotFleet@8ddc42a46f27  server/sentry.ts:558  send-default-pii (breaking)
  Simple-With-Us/BotFleet@8ddc42a46f27  server/sentry.ts:561  generic (breaking)
  Simple-With-Us/BotFleet@8ddc42a46f27  server/sentry-scrub-real-sdk.test.ts:32  generic (breaking)
  Simple-With-Us/BotFleet@8ddc42a46f27  server/sentry-scrub-real-sdk.test.ts:97  generic (breaking)

reported under another rule (1)
  Simple-With-Us/BotFleet@8ddc42a46f27  server/sentry.ts:497  generic, expected http-integration-options

gate          29 breaking sites, 0 behavior-note sites in public ground truth · candidate
  · 3 false positives among breaking findings
  · no real site exercises enable-metrics, integration-names, renamed-exports, streamed-span-wrapper: their rewrites run as assisted
verification.json differs from this run: `uptide pack test @sentry/react --write` records it
FAIL @sentry/react: 3 false positives among breaking findings
 ELIFECYCLE  Command failed with exit code 1.

Checklist

  • Ground truth comes from public repos at the commit before their upgrade, with findings taken from their own upgrade commit and compiler, never from Uptide's output
  • pnpm uptide pack test was run and its output is pasted above; verification.json was written with --write
  • pnpm lint && pnpm typecheck && pnpm test pass locally
  • Changeset added
  • No private code, names or paths (public:check is clean)

🤖 Generated with Claude Code

lucasbraum and others added 6 commits October 16, 2026 23:17
TypeScript 7.0.2 has no `main` (exports only), so requiring its directory
throws before packs:truth can see it has no JavaScript API and fall back to
this checkout's compiler, as docs/packs.md says it does. Treat a compiler
that does not load the same way.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Lucas Braum <lucasbraum@gmail.com>
…y/browser (UPT-64)

Twelve @sentry/react and three @sentry/browser repositories that made the
upgrade in a merged pull request, drafted with packs:truth and reviewed by
hand before the packs were scored with them. Existing entries unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Lucas Braum <lucasbraum@gmail.com>
…ays candidate (UPT-64)

pack test --write on the ground truth of the previous commit, unchanged
since. @sentry/browser: 5 repos, 22 real breaking sites, breaking
precision 100%, recall 50%, gate passes: verified. @sentry/react: 14 repos,
29 breaking sites, precision 88%, recall 72%, 3 false positives among
breaking findings: candidate, record updated to the new truth digest.
README table regenerated; RESEARCH.md records the selection, the review
conventions, the misses and the local install notes (pnpm 12 under
corepack 0.34, Git LFS).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Lucas Braum <lucasbraum@gmail.com>
The Pack test summary was every pack's full report, every false negative
listed: 1.8 MB with all packs, over the 1 MiB GitHub accepts. The log keeps
the full report; the summary (`--summary <file>`) keeps every score table
and the first 20 sites of each list ("… and M more, see the job log"),
and is cut at a line under 960 KiB if even that is too long. On the 17 pack
reports of run 39005068185: 1.88 MB of log, 71 KB of summary.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Lucas Braum <lucasbraum@gmail.com>
…equired

pack test fails any pack with a false positive among its breaking findings,
candidate or not (pack-test.ts `passed`); no other candidate had one, so
none needed an exception. sentry-react has 3 by design of its ground truth
(UPT-64), with a current record (stale: false). Its job still runs and its
summary shows FAIL, but it passes the required Pack test when that is its
only failure: listed in FP_CANDIDATES, recorded and measured candidate,
nothing unscored or left behind. The ground truth and the gate are unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Lucas Braum <lucasbraum@gmail.com>
…sing on UPT-65

pack test --write on the rebased branch, ground truth unchanged: both
records gain the per-rule `mechanical` counts #198 added (browser
enable-logs 2/0; react enable-logs 4/0, integration-names 0/1, which the
UPT-65 warning flags below 80%). Statuses, tallies and truth digests are
the same as before the rebase. docs/compatibility.md regenerated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Lucas Braum <lucasbraum@gmail.com>
@lucasbraum
lucasbraum force-pushed the lucasbraum/upt-64-sentry-browserreact-find-ground-truth-to-re-promote-to branch from 4d105da to 158808c Compare October 17, 2026 06:23
@lucasbraum
lucasbraum merged commit 3f81193 into main Oct 17, 2026
28 checks passed
@lucasbraum
lucasbraum deleted the lucasbraum/upt-64-sentry-browserreact-find-ground-truth-to-re-promote-to branch October 17, 2026 16:49
@uptide-release uptide-release Bot mentioned this pull request Oct 17, 2026
lucasbraum added a commit that referenced this pull request Oct 17, 2026
… set (UPT-88) (#199)

## What and why

UPT-88, one of the three `@sentry/react` breaking false positives from
#192.

`before-send-transaction` and `ignore-transactions` reported every
`Sentry.init` that sets them. Both only stop working under span
streaming; `traceLifecycle` keeps transactions, so an init that sets it
is not a site (BotFleet `server/sentry-scrub-real-sdk.test.ts:30`).
`initOptionSites` takes an `unless` list for this. Test added; the
`span-streaming` note already used the same guard.

## Not in this PR

- **Hyrox-Companion** (`@sentry/node` `sendDefaultPii`): reproduced
locally. The plan moves `@sentry/node` with `@sentry/react` through the
declared release group, same workspace, which is also what 3 other truth
repos did. Nothing in the repository tells Hyrox apart, so a principled
engine rule would cost true positives. Needs a decision.
- **ultra-rss-reader** `"InboundFilters"`: untouched, no rule change
justified on its own.
- `FP_CANDIDATES` stays in `packs.yml` and `@sentry/react` stays a
candidate; the gate does not pass with Hyrox open.

## Verified

Sentry unit tests, fixtures for browser/react/nextjs, biome. BotFleet
and ultra-rss-reader do not install locally (LFS, pnpm 12), so CI is the
check for the BotFleet site.

- [x] Changeset added

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Signed-off-by: Lucas Braum <lucasbraum@gmail.com>
Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
lucasbraum pushed a commit that referenced this pull request Oct 17, 2026
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and publish to npm
yourself or [setup this action to publish
automatically](https://github.com/changesets/action#with-publishing). If
you're not ready to do a release yet, that's fine, whenever you add more
changesets to main, this PR will be updated.


# Releases
## uptide@0.14.3

### Patch Changes

- [#191](#191)
[`db1d384`](db1d384)
Thanks [@lucasbraum](https://github.com/lucasbraum)! - The ai pack now
reports AI SDK 7 renames in tests that `vi.mock('ai')` or
`jest.mock('ai')` without importing it: the mock factory's `stepCountIs`
key, and `onFinish` and the other renamed options read by fakes of `ai`
calls such as `toUIMessageStreamResponse`.

- [#196](#196)
[`fa6f788`](fa6f788)
Thanks [@lucasbraum](https://github.com/lucasbraum)! - `fix` no longer
runs out of memory type-checking monorepos whose root tsconfig includes
every package: each workspace's program holds only the files that
workspace owns, and the baseline check releases one workspace's program
before building the next. When the analysis thread does run out of
memory, `fix` says the repository is too large for analysis instead of
crashing, and its temporary clone is removed on every exit path, a
crashed or out-of-memory analysis thread included.

- [#190](#190)
[`cdf7f69`](cdf7f69)
Thanks [@lucasbraum](https://github.com/lucasbraum)! - `check <pkg>` no
longer returns nothing for an outdated dependency used only through
config files (typescript through tsconfig): it is always reported, with
the reason, including when its workspace's analysis fails or the time
budget runs out. Analysis no longer fails with ENAMETOOLONG on a package
that links itself (Yarn `link:.`).

- [#186](#186)
[`5e01ef3`](5e01ef3)
Thanks [@lucasbraum](https://github.com/lucasbraum)! - Keep the
migration's starting branch and commit in reports and diff hints,
including after re-verification. Default hints to `npx uptide`, use
`uptide` only when the command on PATH resolves to the running binary,
keep shared reports portable, and preserve explicit flags accepted by
suggested commands, including peer retry budgets and workspace-root
retries.

- [#197](#197)
[`b51ca9b`](b51ca9b)
Thanks [@lucasbraum](https://github.com/lucasbraum)! - Suggested
commands no longer print `uptide` when the launcher found is a
project-local `node_modules/.bin` entry (as under `pnpm run`/`pnpm exec`
or npm scripts); only a real global install does, otherwise `npx
uptide`.

- [#187](#187)
[`6fe81b4`](6fe81b4)
Thanks [@lucasbraum](https://github.com/lucasbraum)! - Prevent `fix`
from failing with `spawnSync git ENOBUFS` when Git output exceeds 1 MiB
in large repositories. Raise the buffered output limit to 256 MiB for
shared Git operations and source-version status checks.

- [#185](#185)
[`98a3119`](98a3119)
Thanks [@lucasbraum](https://github.com/lucasbraum)! - Detect removed
Zod error members on local results of schemas imported through
repository modules, including awaited safeParseAsync calls, so their
`.errors` reads can migrate to `.issues`.

- [#193](#193)
[`a68fea3`](a68fea3)
Thanks [@lucasbraum](https://github.com/lucasbraum)! - `fix` no longer
refuses on lockfile changes the upgrade didn't cause. When the install
guard finds resolutions outside the upgrade's subtree, it runs the same
install at the parent commit and judges the upgrade against that
lockfile. Churn the parent install already produces is listed as
"Lockfile churn the parent commit already has" and never blocks; changes
only the upgrade makes are still refused, or listed for review in
agent-led runs.

- [#180](#180)
[`549edc3`](549edc3)
Thanks [@lucasbraum](https://github.com/lucasbraum)! - Update
conflicting root pins automatically when preparing draft PRs, including
App/Action runs, and list the changes at the top of the PR under "Root
pins changed: review". Add `updatePins: false` in `uptide.yml` to opt
out. Local runs still require explicit `--update-pins` consent.

- [#188](#188)
[`69b1c88`](69b1c88)
Thanks [@lucasbraum](https://github.com/lucasbraum)! - Continue `fix` as
an agent-led draft instead of exiting 2 when a preflight refusal has an
assisting agent: peer blockers that need a major run as the plan's
suggested command, root pins without consent are updated (an explicit
`updatePins: false` still refuses), companions that cannot move together
leave the lead alone, and the install check reports out-of-scope
resolutions for review. The reason heads the PR body and the terminal
summary, next to feedback rounds and spend. Without an agent, with
`--no-llm`, or on a downgrade, `fix` still refuses.

- [#188](#188)
[`69b1c88`](69b1c88)
Thanks [@lucasbraum](https://github.com/lucasbraum)! - `fix` makes the
no-pack stop (no agent, or a major for a PR) before cloning or
installing. When the check returns nothing to analyze for an outdated
package, `fix` now says so instead of "has no upgrade", and an agent
continues as a draft. Lockfile resolutions an agent-led install changed
outside the upgrade are listed for review in the PR body and the
terminal summary. Downgrades, key-like settings in `uptide.config.json`,
credentials in `OPENAI_BASE_URL` and unsafe run reports throw
`SafetyRefusal`, which no fallback continues past.

- [#194](#194)
[`7dd3259`](7dd3259)
Thanks [@lucasbraum](https://github.com/lucasbraum)! - Stop `fix` in
preflight on npm when a package that moves, or a peer npm installs for
it, rejects a package that stays installed: vitest 5 peers on vite, and
vite 8 rejects the repository's esbuild 0.25. Before, npm refused the
install after the clone. The row names the chain, and `--allow-peer`
writes the override.

-
[`4c3dc23`](4c3dc23)
Thanks [@lucasbraum](https://github.com/lucasbraum)! - `uptide pack
test` now prints the precision of every rule with a rewrite, breaking or
not, and warns when one is below 80%. It is a warning only: no pack's
status and no rule's run mode changes. The compatibility matrix lists
each rewrite's precision.

- [#179](#179)
[`9112f2b`](9112f2b)
Thanks [@lucasbraum](https://github.com/lucasbraum)! - Add `fix
--update-pins` to explicitly approve updates to conflicting root Yarn
resolutions and npm/pnpm overrides for the target and its companions.
Preserve unrelated pins, update root declarations and pnpm catalogs
together, report pin changes, and reject ambiguous selectors before
installation.

- [#192](#192)
[`3f81193`](3f81193)
Thanks [@lucasbraum](https://github.com/lucasbraum)! - The
`@sentry/browser` 10 to 11 pack is verified again: 5 public upgrades, 22
real breaking sites, breaking precision 100% and recall 50%.
`@sentry/react` stays a candidate: its ground truth grew to 14 public
upgrades and 29 breaking sites, with 3 false positives among its
breaking findings.

- [#202](#202)
[`51a6f70`](51a6f70)
Thanks [@lucasbraum](https://github.com/lucasbraum)! - The Sentry packs
now read JavaScript files that only require another Sentry package
(`@sentry/core`, a sibling SDK of the same release), which the
TypeScript compile scope skipped. `@sentry/browser` breaking recall on
public ground truth goes from 50% to 82% with no false positives.

- [#199](#199)
[`08da2a7`](08da2a7)
Thanks [@lucasbraum](https://github.com/lucasbraum)! - The Sentry 10 to
11 pack no longer reports `beforeSendTransaction` or
`ignoreTransactions` in a `Sentry.init` that sets `traceLifecycle`: the
option keeps transactions, so they still work.

- [#189](#189)
[`5d1d350`](5d1d350)
Thanks [@lucasbraum](https://github.com/lucasbraum)! - Avoid shared
registry-cache write races during parallel checks, publish complete
package extractions atomically, and print package failure reasons on
stderr when check exits 2.

- [#195](#195)
[`15b3b3e`](15b3b3e)
Thanks [@lucasbraum](https://github.com/lucasbraum)! - The vitest pack
now reads `vite.config.*` and `vitest.config.*` files and jest-dom setup
files that never import `vitest` (a config that takes `defineConfig`
from a shared file, a setup file that only does `import
'@testing-library/jest-dom/vitest'`), so it reports their bare-directory
coverage patterns and jest-dom registrations.

Co-authored-by: uptide-release[bot] <338861287+uptide-release[bot]@users.noreply.github.com>
@uptide-release uptide-release Bot mentioned this pull request Oct 17, 2026
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.

1 participant