Skip to content

Upstream changes detected: Gemini CLI, Codex CLI (App Server Protocol), GitHub Copilot CLI, Qwen Code #13

Description

@github-actions

This issue was opened automatically by upstream-watch.yml on 2026-07-20 because at least one upstream project this plugin depends on shipped a new release.

Detected changes

Gemini CLI — v0.50.0 → v0.51.0

  • Release: Release v0.51.0 (published 2026-07-16)
  • Why this matters for the plugin: Drives plugins/multi/scripts/lib/adapters/gemini.mjs. Watch for changes to ACP handshake, model alias resolution, MCP support, or new approval modes.
Release notes excerpt

What's Changed

Codex CLI (App Server Protocol) — rust-v0.144.3 → rust-v0.144.6

  • Release: 0.144.6 (published 2026-07-18)
  • Why this matters for the plugin: Drives plugins/multi/scripts/lib/adapters/codex.mjs and app-server.mjs. Watch for sandbox mode changes, new approval policies, or app-server protocol updates.
Release notes excerpt

Bug Fixes

  • Refreshed bundled instructions for GPT-5.6 Sol, Terra, and Luna, and corrected their context windows to 272,000 tokens. (#33972, #34009)

Changelog

Full Changelog: openai/codex@rust-v0.144.5...rust-v0.144.6

  • #33972 Backport refreshed bundled model metadata to 0.144 @sayan-oai
  • #34009 Narrow 0.144 hotfix to GPT-5.6 prompts and context @sayan-oai

GitHub Copilot CLI — v1.0.70 → v1.0.71

  • Release: 1.0.71 (published 2026-07-16)
  • Why this matters for the plugin: Drives plugins/multi/scripts/lib/adapters/copilot.mjs. Watch for ACP changes, slash-command additions/removals, or auth flow changes.
Release notes excerpt

2026-07-16

  • copilot -p --autopilot no longer hangs when a background shell or agent outlives the turn; it now honors the COPILOT_TASK_WAIT_TIMEOUT_SECONDS timeout the same way plain -p does.
  • Reopening the /subagents model picker keeps each agent's reasoning effort and context tier
  • Refresh memory context after 30 minutes in long-lived sessions
  • Keep MCP tool lists up to date when servers change
  • Avoid leaving long-running background git processes after exit
  • Add a configurable maximum for Ctrl+R command history
  • On startup, an invalid settings.json now shows a warning identifying the offending value instead of silently ignoring your settings
  • /terminal-setup no longer skips setup on terminals without real kitty keyboard support
  • Add /voice devices to choose and persist the microphone for voice mode
  • Limit which built-in agents are available to tasks and subagents
  • Add canvas support in the CLI for extension-driven interactions
  • Enforce the sandbox filesystem policy on LSP file reads and rename edits
  • Allow empty owner and author emails in marketplace metadata
  • Keep all MCP Server Type options visible on short terminals
  • Mark disabled skills in copilot skill list and its JSON output
  • Plan mode now hard-blocks built-in tool calls that would modify the workspace, so the agent can no longer edit files or run mutating shell commands while planning (built-in mutators like opening a pull request are blocked; MCP and external tools are still allowed)
  • Improve /chronicle cost-tips recommendations with richer cost profiles
  • Highlight standalone hex colors inline in Markdown
  • Persist GitHub MCP toolset/tool config via settings.json (githubMcpToolsets, githubMcpTools, etc.)
  • Add plugins marketplace subcommands to list, add, and remove plugin marketplaces
  • Persist sidebar sessions across restarts
  • Add plugins marketplace browse and update commands
  • Split /worktree and /move: /worktree now creates a new worktree and leaves your uncommitted changes behind, while the new /move carries them into the new worktree
  • Add local and cloud cost profiles to /chronicle cost-tips
  • Switching to autopilot mid-turn now auto-answers questions asked during that same turn
  • Custom agents that request a shell tool by alias now also receive the matching read, list, and stop shell tools
  • Slash commands and their autocomplete now match regardless of case (e.g. /SESSION works like /session)
  • Show repo-enabled plugins in /plugin list and skill pickers
  • Press ? twice to dismiss quick help and start a prompt with a literal ?

…(release notes truncated; click the link above for the full text)

Qwen Code — v0.19.9 → v0.20.0

  • Release: Release v0.20.0 (published 2026-07-19)
  • Why this matters for the plugin: Drives plugins/multi/scripts/lib/adapters/qwen.mjs. Watch for ACP support changes (the --acp flag graduated from --experimental-acp recently).
Release notes excerpt

Highlights

See the complete change list below.

Breaking Changes

No known breaking changes.

Complete Change List

Features

  • feat(cli): Add bounded daemon log rotation (#6969) by @doudouOUC
  • feat(review): bake the round label into a findings role's identity line and key (#7171) by @wenshao
  • feat(webshell): replay ChatRecord history in readonly WebShell (#6999) by @cxruan
  • feat(ui): let the user read the full plan from the exit_plan_mode confirmation (#7060) by @zjunothing
  • feat(providers): add qwen3.8-max-preview to Token Plan model list (#7199) by @qwen-code-dev-bot

Bug Fixes

  • fix(sdk-java): preserve exception cause in AcpClient init failures (#7189) by @chinesepowered
  • fix(web-shell): proxy /goals route in Vite dev server (#7187) by @wenshao
  • fix(sdk-java): correct TIMEOUT_30_MINUTES to actually be 30 minutes (#7188) by @chinesepowered
  • fix(cli): emit deferred stream-json startup warnings (#7174) by @barry166
  • fix(review): judge a CI check by its name's latest run, not by any leftover (#7183) by @wenshao
  • fix(review): count Step 6's inline findings from the drafted comments, never from typed numbers (#7173) by @wenshao
  • fix(web-shell): dedupe restored images and harden the sidebar shortcut handler (#7169) by @zjunothing
  • fix(mcp): normalize tool names for strict providers (#6976) by @ran411285752
  • fix(core): apply native tool calling schema for gemma 4 (#7177) by @ghisguth
  • fix(cli): share one process.stdout resize listener in useTerminalSize (#7186) by @mvanhorn
  • fix: surface underlying .cause of OpenAI-compatible connection errors in debug log and API error message (#7010) by @mvanhorn
  • fix(web-shell): prevent toolbar label clipping (#7196) by @carffuca
  • fix(review): one disclosure per subject — dedupe Not-reviewed, collapse an all-built-none-launched roster (#7190) by @wenshao
  • fix(review): an unverified Critical must not become a public blocker — soften the Request changes it rides (#7191) by @wenshao

Performance

…(release notes truncated; click the link above for the full text)

Also worth checking (manual — Copilot, please research these too)

  • Cursor agent CLI — changelog: https://cursor.com/changelog · forum (bug reports): https://forum.cursor.com/c/bug-report/6
    • Drives plugins/multi/scripts/lib/adapters/cursor.mjs. The plugin currently works around the 2026.04.17-787b533 ACP regression (see maybeWarnAboutCursorVersion and ensureCursorAllowlist). When Cursor ships a fix, both workarounds can likely be simplified or removed.

Plugin files most likely to need updates

  • plugins/multi/scripts/lib/acp-client.mjs (shared ACP JSON-RPC client; buildAutoApproveRequestHandler)
  • plugins/multi/scripts/lib/acp-terminals.mjs (client-side terminal services)
  • plugins/multi/scripts/lib/mcp-servers.mjs (MCP wiring for ACP session/new)
  • plugins/multi/scripts/lib/adapters/{codex,gemini,cursor,copilot,qwen}.mjs (per-CLI adapters)
  • plugins/multi/scripts/multi-cli-companion.mjs (companion runtime + dispatch)

What I'd like you to do, @copilot

  1. Read the linked release notes for each detected change above, plus the manual-reference changelogs.
  2. Compare what changed against the relevant adapter / shared code in this repo. Look specifically for:
    • New ACP methods we should handle in acp-client.mjs's buildAutoApproveRequestHandler
    • Renamed / deprecated CLI flags or model IDs hardcoded in any adapter
    • New CLI capabilities that obsolete a workaround we currently ship (e.g., the Cursor 2026.04.17 regression workaround in cursor.mjs — check if a newer Cursor release fixes it, and if so, propose removing maybeWarnAboutCursorVersion and the allowlist-injection or scoping it tighter)
    • Breaking changes that would silently break the plugin
  3. For each change that warrants action, open a focused PR against master with the minimal fix. Reference the upstream release / commit / forum thread in the PR description.
  4. If a detected change does NOT need any plugin update, reply on this issue with a short note saying "no plugin updates needed for X — reason: …" and close it.
  5. If something is ambiguous (you can't tell from release notes whether the plugin is affected), ask in a comment rather than guessing.

You may use ACP_TRACE=1 and the rest of the diagnostic patterns documented in plugins/multi/skills/customize/SKILL.md if you want to verify behavior empirically.


State tracked in .github/upstream-state.json — bumped by this same workflow. If you want to suppress a noisy upstream from this watch, edit .github/scripts/upstream-watch.mjs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    upstream-watchAuto-opened by upstream-watch.yml when an upstream releases

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions