qwen-code/packages
Ziqiang Li e250d6e314
Some checks are pending
E2E Tests / E2E Test (Linux) - sandbox:docker (push) Waiting to run
E2E Tests / E2E Test (Linux) - sandbox:none (push) Waiting to run
E2E Tests / E2E Test - macOS (push) Waiting to run
E2E Tests / web-shell Browser Regression (push) Waiting to run
feat: add qwen update and /update commands with auto-update support (#5780)
* fix: align standalone-update RC markers with install script, add version to update output

## Changes

### Compatibility fixes (standalone-update.ts)
- ensurePathInShellRc: use install script's begin/end block markers (# Qwen Code PATH block begin/end) instead of single-line marker, preventing duplicate PATH entries
- ensurePathInShellRc: fish shell uses set -gx PATH (matching install script)
- ensurePathInShellRc: use single-quoted paths with shell_quote-style escaping
- ensureBinWrapper: use #!/usr/bin/env sh shebang (matching install script)

### Version output
- qwen update: show current version in 'up to date' message (Qwen Code X.Y.Z is up to date!)
- /update slash command: same version display

### Build fix
- esbuild.config.js: add ink/dom and ink/components/CursorContext aliases for ink 7.x compatibility

### i18n
- en.js: add 9 update-related translation keys

Co-Authored-By: Claude <noreply@anthropic.com>

* i18n: add update command translations for all 8 non-English locales

- zh: Simplified Chinese
- zh-TW: Traditional Chinese
- ja: Japanese
- ru: Russian
- de: German
- pt: Portuguese (Brazil)
- fr: French
- ca: Catalan

Co-Authored-By: Claude <noreply@anthropic.com>

* fix update command review feedback

* address update command review followups

* fix update command test args type

* address update review hardlink and fallback feedback

* fix update tar filter typing and sdk bundle guard

* fix(cli): address update review feedback

* address update review followups

* restore windows archive traversal scan

* address update review observations

* address latest update review findings

* fix latest update review regressions

* fix(cli): localize update command output

* fix(cli): localize update install guidance

* fix(cli): harden update review follow-ups

* fix(cli): address latest update review comments

* fix(cli): honor explicit update requests

* fix(cli): address update command review feedback

* fix(cli): address update slash command review feedback

* fix(cli): address latest update review feedback

* fix(cli): address update review follow-ups

* add code

* fix(cli): add .deferred marker to prevent Windows deferred update race

On Windows, when atomicReplace returns 'deferred', a bat script runs
detached to complete the swap after the Node process exits. The lock
file alone was insufficient because acquireLock falls through when the
Node PID is dead (process.kill check), allowing a second `qwen update`
to steal the lock and interfere with the in-flight bat script.

Add a .deferred marker file containing the bat script's PID. acquireLock
now checks this marker via isProcessAlive(batPid) before allowing lock
theft, blocking concurrent updates while the swap is still in progress.

Co-Authored-By: Claude <noreply@anthropic.com>

* fix(cli): harden update review edge cases

* fix(cli): address PR #5780 review feedback on update engine

* test(cli): fix update check test import

* fix(cli): avoid duplicate startup update checks

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: 易良 <1204183885@qq.com>
Co-authored-by: liziwl <23000702+liziwl@users.noreply.github.com>
Co-authored-by: Shaojin Wen <shaojin.wensj@alibaba-inc.com>
Co-authored-by: qwen-code-dev-bot <qwen-code-dev-bot@users.noreply.github.com>
Co-authored-by: yiliang114 <effortyiliang@gmail.com>
2026-07-09 15:11:45 +00:00
..
acp-bridge feat(daemon): persist session artifacts across restarts (#6557) 2026-07-09 13:04:16 +00:00
audio-capture chore(release): v0.19.8 (#6549) 2026-07-08 15:51:03 +00:00
channels fix(channels): add chat payload diagnostics (#6539) 2026-07-08 23:23:47 +00:00
chrome-extension Gate browser automation MCP on external adapter (#6472) 2026-07-08 23:26:44 +00:00
cli feat: add qwen update and /update commands with auto-update support (#5780) 2026-07-09 15:11:45 +00:00
core feat(daemon): persist session artifacts across restarts (#6557) 2026-07-09 13:04:16 +00:00
cua-driver chore(cua-driver): update version refs to 0.7.1 + add fix doc (#6616) 2026-07-09 14:43:58 +00:00
desktop fix(desktop): preserve glued automation history records (#6344) 2026-07-05 23:53:49 +00:00
mobile-mcp fix(mobile-mcp): strip bounds attributes from UI hierarchy dump (#6568) 2026-07-09 03:59:00 +00:00
sdk-java fix(core): Align MCP OAuth guidance and docs (#5589) 2026-06-24 07:09:53 +08:00
sdk-python doc[sdk-python] Expand Python SDK usage documentation (#3995) 2026-05-12 15:27:00 +08:00
sdk-typescript feat(cli): Add workspace-qualified core REST routes (#6567) 2026-07-09 15:01:55 +00:00
vscode-ide-companion feat(cli): VP mode — inline thought expand on click + auto-hiding scrollbar (#6079) 2026-07-09 12:27:29 +00:00
web-shell feat(web-shell): add bottom status items (#6613) 2026-07-09 14:58:39 +00:00
web-templates chore(release): v0.19.8 (#6549) 2026-07-08 15:51:03 +00:00
webui feat(scheduled-tasks): add isolated run mode via create_sub_session tool (#6535) 2026-07-09 12:02:39 +00:00
zed-extension chore(deps): upgrade ink 6.2.3 → 7.0.2 + bump Node engine to 22 (#3860) 2026-05-11 17:29:50 +08:00