Repository navigation
chore(sync): merge upstream v2 through v2.0.28 - #447
Conversation
Co-authored-by: frank <48937772+joe-ieta@users.noreply.github.com> Co-authored-by: kernel-oops <300539221+kernel-oops@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
…ber 2026 (anomalyco#54987) Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
…ce (anomalyco#54921) Co-authored-by: Renato Duarte <renato.duarte@datacamp.com>
…#52797) Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
Co-authored-by: dc85 <83497+dc85@users.noreply.github.com>
…imeline (anomalyco#54775) Co-authored-by: Brendonovich <14191578+Brendonovich@users.noreply.github.com>
…nomalyco#54839) Co-authored-by: Brendonovich <14191578+Brendonovich@users.noreply.github.com>
…o#55052) Co-authored-by: Brendonovich <14191578+Brendonovich@users.noreply.github.com>
…malyco#54780) Co-authored-by: Brendonovich <14191578+Brendonovich@users.noreply.github.com>
Co-authored-by: Brendonovich <14191578+Brendonovich@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
|
Reviewed Findings
Verification
|
…highlights Co-authored-by: Cursor <cursoragent@cursor.com>
Summary
Syncs
integration-v2(cacea1fc5014feca6d51a88b2faa4ab5fc5b4f0d,v2.0.26-shuv.1) with upstream OpenCode V2 throughv2.0.28(c5aabae288de2614c94eb00446bd07b10097f179,sync release versions for v2.0.28 [skip ci]), bumping the Shuvcode CLI version to2.0.28-shuv.1.Upstream V2 Topology Note
Upstream promoted
v2intodevin5caf1f9f6f5f30e13fc50a788ad953d97ae3748f(chore: promote v2 to dev), after whichupstream/v2stopped at4617210822bdbb31e5749751afbfb4584ccedac8(2.0.26) and V2 releasesv2.0.27andv2.0.28were cut fromupstream/dev. Following the pattern of PRs #436, #443, and #444, this PR merges thev2.0.28version-sync commitc5aabae288de2614c94eb00446bd07b10097f179(8059cdcbdf17bd4b7d48e934f18275288b8eaab4..c5aabae288de2614c94eb00446bd07b10097f179, 199 upstream commits).Pre-Sync Unmerged Fork Branch Inventory & Dispositions
Refreshed
origin(git fetch --prune origin) and inventoried all unmerged local andorigin/*branches againstorigin/integration-v2(cacea1fc50):native-supervisor/origin/native-supervisor(ed2dc35d8d) — Open Draft PR feat(cli): add native supervisor and Herdr integration #440 (feat(cli): add native supervisor and Herdr integration), left untouched.integration-v2(squash/rebased PRs):origin/fm/sc-i438-tab-popover(5b2723ef6f) → landed in PR fix(app): keep session tab preview from intercepting clicks #442 (a8a159aa54)origin/fm/sc-folderswitch-quarantine(3da9fdf501) → landed in PR test(app): quarantine FolderSwitch tab e2e test #439 (9fad47dec6), superseded by fix(app): keep session tab preview from intercepting clicks #442origin/fm/sc-i407-toolcall-recovery(61651d75f8) → landed in PR fix(core): recover confirmed subagent calls after provider stream close #437 (456a5790f7)origin/fm/sc-i412-run-admission(7e2bd6aedf) → landed in PR fix(cli): bound run setup RPCs and report startup progress #434 (db0f805566)origin/fm/sc-i411-watcher-flake(c8a5cbf4be) → landed in PR test(core): await native acquisition in HEAD watcher cases #433 (6883f0feaf)origin/fm/sc-e2e-timeline(3d7273b616) → landed in PR fix(app): preserve timeline anchors on scroll idle #432 (22f4fbcae4)origin/fm/sc-cursor-378(2d4cd45cbe) → landed in PR fix(core): inherit parent agent model in model-less subagents #431 (03eb8442fc)origin/sc-cursor-377(39cb05ca46) → landed in PR fix(script): fail closed on jj channel lookup and read unimported git refs #430 (07e7edce6e)origin/sc-permission-fixes(2c238b4e4d) → landed in PR fix(core): cancel orphaned permission asks and auto-approve across session families #429 (a2900440aa)origin/cursor/standalone-global-flag-1969(e6fc678dff) → landed in PR fix(cli): accept --server and --standalone as global flags #428 (3c0cfc61af)origin/cursor/antigravity-quota-errors-c5e1(96f7b1ef54) → landed in PR fix(antigravity): surface Google 429 quota exhaustion instead of retrying it #427 (a7e864f739)origin/cursor/core-test-node-a8d0(191692e23e) → landed in PR fix(core): run isolated tests with a real node #426 (5af48e1f30)origin/cursor/legacy-health-probe-5e6a(9af74452a1) → landed in PR fix(cli): continue explicit --server after legacy health 404 #424 (16080e2524)origin/cursor/jj-pr-review-149d(31bd5f1c03) → landed in PR fix(core): let /review resolve PRs in JJ-only checkouts #423 (c23bd83075)origin/cursor/persist-session-log-5c6b(da1bfd2401) → landed in PR fix(cli): persist durable session events for serve #422 (6486b53f3c)origin/cursor/client-test-contract-de6d(831fe3b1e9) → landed in PR test(client): reconcile stale public contract expectations #421 (97f9afcadf)origin/fm/sc-ci-reenable(44a1ae04b3) → landed in PR fix: re-enable test and typecheck CI on integration-v2 #420 (14e5282146)origin/cursor/tui-probe-404-7466(bf73a23ee1) → landed in PR fix(tui): return 404 for probe GET / on test servers #418 (02a1bc3d4b)origin/cursor/host-deploy-channel-5f72(c6d698e3c4) → landed in PR docs: require OPENCODE_CHANNEL on host deploys #414 (f647e1414f)origin/fm/sc-373-jev(b5edd530a9) → landed in PR feat(core): add experimental jev.systemOne session tool #397 (35e9f9ab29)origin/cursor/cli-test-env-a867(7fd2dc72d4) → landed in PR fix(cli): strip session OPENCODE_* from spawned test CLIs #396 (bd1326113a)origin/cursor/dependency-inspection-a7f4(f68aadf246) → landed in PR docs: note how to inspect isolated workspace deps #395 (91ccc8f216)origin/cursor/large-pr-diff-87a3(a3481b293d) → landed in PR docs: review pull requests over 300 files locally #394 (14e2f96f5b)origin/fm/sc-363-prompt-keys(404b425c46) → landed in PR fix(server): reject unknown keys in session.prompt body #393 (3dad5485da)origin/cursor/remote-port-probes-4afe(f81a4dafa9) → landed in PR docs: use connect checks for remote port probes #392 (b1d2ca9669)origin/cursor/live-service-binary-8c38(ef9c484fb1) → landed in PR fix(dev): discover the live service with shuvcode #390 (964d98aa54)origin/cursor/pre-sync-checklist-b97e(9c9de3c3f9) → landed in PR docs: check unmerged fork branches before upstream sync #389 (eaf119f6ba)origin/cursor/ab-check-git-ad5d(e5a026b4f2) → landed in PR docs: copy HEAD with git show for A/B checks #388 (d339652759)origin/cursor/whitespace-check-docs-bdca(2670377335) → landed in PR docs: point whitespace checks at git diff --check #387 (d98cfaa457)origin/fm/sc-362-agent-model(22fed3b3f3) → landed in PR fix(core): honor agent model when resolving session model #378 (b37e61ebd7)origin/fm/sc-361-jj-channel(728164a792) → landed in PR fix(script): resolve build channel under jj and detached HEAD #377 (ccadb8fada)origin/cursor/stdin-epipe-listener-968d) and fix(ci): run test and typecheck on integration-v2 pushes #415 (origin/cursor/ci-integration-v2-61f7) were superseded by fix: re-enable test and typecheck CI on integration-v2 #420 and chore(ci): run full test suite only for releases #441.2026-09-15L0 cutover) V2 branches, backups, and legacy V1 refs.Conflict Resolutions & Regenerations
.github/workflows/{publish,test,typecheck,notify-discord}.yml; omitted upstream-only deployment/nix workflows (check.yml,deploy*.yml,nix*.yml) andpackages/cli/script/postinstall.mjs.1aae67e853):packages/cli/src/commands/commands.tsandpackages/cli/src/services/server-flags.tstoeffect/cli(Flag.Boolean,Flag.String,Argument.String,GlobalFlag.Setting, etc.) while preserving fork global--standalone/--serverflags (connectionFlags: "unsupported"on non-client commands) andshuvcodeCLI descriptions.packages/cli/src/services/updater.ts,packages/cli/test/updater-install.test.ts,packages/ai/test/provider/mistral-chat.test.ts, andpackages/core/test/tool-jev.test.tsimports fromeffect/unstable/{process,http}toeffect/{process,http}.packages/cli/src/commands/handlers/pair.ts,packages/cli/src/services/service-config.ts):pair --remoteconsent prompt and--yes(-y) flag withShuvcode/shuvcode pairwording and ShuvTunnelRemoteTunnel.route(), preservingremoteAccepted: trueindisableRemote().packages/cli/src/services/updater.ts,packages/cli/src/services/retained-image.ts):shuvcode/shuvcode-nodenpm-only updater andRetainedImage.installed().packages/core/src/session/subagent-job.ts,packages/core/src/session/execution/restart.ts):#54072(SubagentJob.Service/SubagentJob.node/SubagentJob.layerwith globalcontextpreservation) with fork PR fix(core): recover confirmed subagent calls after provider stream close #437'sstart(recovery: Recovery, notificationID?: SessionMessage.ID)signature and updatedpackages/core/test/fixture/subagent-recovery-process.tsandpackages/core/test/session-execution.test.ts.packages/core/schema.json(prevIds: ["a53f1d1d-f214-4983-940c-77625e2cb3f2"],id: "5067fae0-90ff-4601-82d7-dd050ea9dc8f") with bothsubagent_operationandproject.time_archived, and regeneratedpackages/core/src/database/migration.gen.ts(bun script/migration.ts).bun run generateinpackages/client) and updatedbun.lock.Validation
bun run check(45 packages typecheck + lint + sdk-docs)git diff --checkpackages/cli,packages/core,packages/ai,packages/tui, andpackages/scriptMade with Cursor