<!-- Release notes generated using configuration in .github/release.yml at b74592785bff038a1e3b5c533d20ae49e549ab2a -->
## What's Changed
* ci(desktop): exercise desktop packaging on a schedule by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11519
* fix(bridge): keep pending permission/question across refreshed session loads by @wenshao in https://github.com/QwenLM/qwen-code/pull/11468
* test(integration): deflake the /compress E2E event budget (#11088) by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/11094
* fix(export): restore document runtime budget headroom by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11372
* fix(core): preserve Responses stream error details by @tanzhenxin in https://github.com/QwenLM/qwen-code/pull/11523
* fix(core): release node-pty's conout worker after every PTY on Windows by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11313
* fix(web-shell): make the workspace provider guard self-diagnosing and reload on root retry by @wenshao in https://github.com/QwenLM/qwen-code/pull/11421
* docs(daemon): add a REST integration entry point, guarded against the route surface by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11477
* fix(web-shell): move scheduled task row icon into trailing meta slot by @qqqys in https://github.com/QwenLM/qwen-code/pull/11356
* perf(export): split the transcript renderer's embedded CSS into a versioned asset by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11485
* fix(vscode): restore pre-cutover conversation history in the panel by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/11495
* fix(ci): record the qwen-autofix.yml size drift two in-allowance PRs accumulated (#11529) by @qwen-code-dev-bot in https://github.com/QwenLM/qwen-code/pull/11537
**Full Changelog**: https://github.com/QwenLM/qwen-code/compare/desktop-v0.3.0-preview.0...desktop-v0.3.0