What's Changed
- feat(daemon): support session-targeted Skill and Extension refresh by @callmeYe in #14050
- fix(managed-agent): bound initial publication guard waits by @yiliang114 in #14563
- feat(runtime-broker): Session-create warm for Workspace-isolated bound Sessions by @doudouOUC in #14599
- test(cli): give turn-settling waits the slow-host budget by @yiliang114 in #14598
- feat(managed-agent): ship a configuration template in the reference distribution by @wenshao in #14631
- feat(serve): run private CSI file turns through Hosted Harness by @doudouOUC in #14487
- test(cli): retry ENOTEMPTY in hosted harness teardowns by @ZedingZhang in #14636
- feat(managed-agent): support local and SSH workspace file references by @doudouOUC in #14639
- test(cli): give the hosted probe-start guards a scheduling budget by @yiliang114 in #14662
- fix(managed-agent): recover committed wakes after writer loss by @doudouOUC in #14603
- feat(managed-agent): add a read-only --check preflight by @wenshao in #14632
- fix(sdk): size session create from the daemon session budget by @yiliang114 in #14588
- fix(serve): contain Hosted stdio MCP servers in a process group (#14503) by @wenshao in #14640
- test(managed-agent): drain a held async Hook before the lifecycle Hooks on DELETE by @wenshao in #14638
- feat(serve): recover receipt-complete private CSI file turns by @doudouOUC in #14523
- docs(managed-agent): propose bounded retention for session state by @wenshao in #14659
- feat(managed-agent): raise attachment input budget to 8 MiB by @doudouOUC in #14628
- fix(managed-agent): recover the journal after a lapsed writer lease by @wenshao in #14570
- perf(managed-agent): index tool receipts by execution call by @wenshao in #14660
- fix(managed-agent): keep refused PreToolUse replacements out of Hosted after Hooks by @qqqys in #14650
- test(managed-agent): gate Spring crashes and the scanner lease for automation (FG11c slice 2) by @wenshao in #14649
- feat(serve): read Turn recovery evidence from the Broker (D7-2) by @wenshao in #14669
- fix(ci): repair Java gates and report failures on PRs by @yiliang114 in #14522
- fix(hosted): continue recovered background wake turns by @doudouOUC in #14679
- test(web-shell): widen Playwright wait budgets for shared CI hosts by @yiliang114 in #14643
- perf(web-shell): incrementally project managed session messages by @yiliang114 in #14562
- feat(managed-agent): ship systemd units for the single-host topology by @wenshao in #14633
- refactor(managed-agent): share CSI runtime marker reads by @yiliang114 in #14571
- fix(managed-agent): load saved tool details on expansion by @doudouOUC in #14604
- feat(managed-agent): park a Turn whose Runtime evidence stays unknown (D7-2) by @wenshao in #14681
- test(managed-agent): drop the FG13a hook-catalog reply before registration by @wenshao in #14668
- fix(web-shell): preserve focus when trajectory execution views disappear by @qqqys in #14641
- feat(artifacts): record files the agent creates or edits by @zjgzx1988 in #14292
- fix(cli): reconcile managed recovery failure reasons by @yiliang114 in #14567
- test(managed-agent): assert G3 approval identities and pin drift by @wenshao in #14673
- fix(hooks): reap a Hook command unit when its worker dies (#14502) by @wenshao in #14675
- test(managed-agent): drop the FG13a HTTP Hook reply after the request by @wenshao in #14692
- test(managed-agent): scope the FG11c crash assertions and fix the race fixture by @wenshao in #14682
- perf(managed-agent): bound the held-Runtime inventory read cost (#13930) by @wenshao in #14691
- fix(config): let a Managed host restore its own session by @wenshao in #14688
- test(integration): widen workflow completion reply budgets past loaded-shard stalls (#14191) by @qwen-code-dev-bot in #14202
- feat(managed-agent): bootstrap the shared deployment credentials by @wenshao in #14634
- feat(runtime): complete private CSI cold recovery by @doudouOUC in #14695
- fix(managed-agent): never fail a pending cancel over recovery (D7-2) by @wenshao in #14694
- test(managed-agent): pin the drain flag on the release wire (#13930) by @wenshao in #14712
- test(core): pin the Goal record's type/subtype gate by @yiliang114 in #14705
- test(web-shell): remove fixed transcript bundle size ceiling by @ytahdn in #14703
- fix(managed-agent): bound publication placement waits by @yiliang114 in #14542
- fix(managed-agent): Align image attachment formats with Qwen Code by @doudouOUC in #14704
- feat(extensions): add bounded generated HTML and JavaScript views by @qqqys in #14338
- docs(vscode): explain why webviews cannot use the same-origin exception by @Jun516 in #14684
- refactor(managed-agent): organize server packages by responsibility by @doudouOUC in #14710
- test(managed-agent): stabilize the FG12b released store fault gate (#14697) by @qwen-code-dev-bot in #14711
- test(managed-agent): add G3 approval fault-point E2E arms by @wenshao in #14687
- test(core): synchronize scheduler disposal fault injection by @yiliang114 in #14727
- fix(ci): permit Java failure summaries on pull requests by @yiliang114 in #14717
- fix(managed-agent): reject an incomplete Workspace tool path in --check by @wenshao in #14635
- feat(workflow): authorize daemon ancestor workflows by @qqqys in #14646
- fix(cli): hold pre-runtime /acp WebSocket upgrades instead of falling through to a 406 (#13995) by @qwen-code-dev-bot in #13997
- test(managed-agent): replay a denied Hook decision after a lost reply by @wenshao in #14701
- fix: align DeepSeek reasoning controls across official and MaaS routes by @qqqys in #14689
- fix(web-shell): surface the fix witness in the review artifact viewer by @yiliang114 in #14725
- feat(web-shell): show per-model TTFT and output speed in Token Usage by @qqqys in #14728
- fix(managed-agent): align fault gates with unsettled-append recovery by @yiliang114 in #14716
- test(cli): pin the FG13d pre-dispatch cancel in a unit test by @wenshao in #14735
- test(managed-agent): witness the durable hold sweep across both families (#13930) by @wenshao in #14719
- test(managed-agent): widen the hosted recovery and hook-cancel gate windows (#14729) by @qwen-code-dev-bot in #14741
- feat(runtime): add original CSI application retirement by @doudouOUC in #14698
- feat(telemetry): Record reasoning effort on LLM spans by @zonemeen in #14718
- test(managed-agent): gate a disabled automation span (FG11d) by @wenshao in #14731
- test(managed-agent): finish the FG13f decision-delivery arms by @wenshao in #14736
- test(managed-agent): leave a v2 execution unknown across a Harness kill (D7-2) by @wenshao in #14750
- docs(managed-agent): name the pre-dispatch commit-spy assertion by @wenshao in #14756
- fix(web-shell): preserve slash highlighting in user messages by @Lilian0122 in #14171
- docs(managed-agent): record the D7-2 report as closed out by @wenshao in #14800
- docs(managed-agent): scope the FG11f publication fault gates by @wenshao in #14734
- test(managed-agent): cover the remaining FG12a reply-loss cells by @wenshao in #14715
- fix(managed-agent): prove a zombie-only group stopped by @wenshao in #14738
- test(managed-agent): drive the FG12b releasing gate until the fault fires (#14782) by @qwen-code-dev-bot in #14799
- test(managed-agent): pin the FG13c worker-kill reaper contract by @qwen-code-dev-bot in #14802
- test(managed-agent): replay a failClosed Hook failure after a lost reply by @wenshao in #14803
- test(managed-agent): give the failed-spawn test a realistic deadline (#14779) by @qwen-code-dev-bot in #14783
- feat(serve): add local daemon discovery and control commands by @wenshao in #14739
- fix(core): Compact managed activation and inbox journals by @doudouOUC in #14760
- fix(managed-agent): Reconcile parked Turn cancels from durable results by @doudouOUC in #14763
- docs(managed-agent): pin the reconcile-before-refusal and the OBJECT_PUT admission by @wenshao in #14811
- docs(managed-agent): record the FG13f remaining-arm coverage by @wenshao in #14814
- fix(ci): repair main's Prettier step and deflake the hook-cancel fence test (#14581) by @qwen-code-dev-bot in #14590
- fix(ci): wait 90 minutes for the sdk-java host lock (#14787) by @qwen-code-dev-bot in #14801
- perf(core): Index managed Session history reads by @doudouOUC in #14767
- test(managed-agent): Verify private media retention boundaries by @doudouOUC in #14766
- docs(managed-agent): close out the D7 report statuses by @wenshao in #14813
- refactor(managed-agent): simplify the event transport package by @doudouOUC in #14816
- fix(managed-agent): park a cancel over an unobserved Turn (D7-2) by @wenshao in #14700
- feat(web-shell): Polish advanced table controls and copying by @ytahdn in #14707
- test(managed-agent): refuse the first FG12d release before forwarding by @wenshao in #14737
- test(ci): pin that the temp short-alias guard visits both keys by @yiliang114 in #14805
- fix(ci): include updatedInput hook integration tests in PR checks by @yiliang114 in #14747
- fix(ci): allow fault gates to outlive the Surefire fork timeout by @yiliang114 in #14745
- fix(cli): keep one-shot system reminders out of the user's own message by @yiliang114 in #14740
- fix(ci): raise the build heap cap from 4096 to 6144 MB by @yiliang114 in #14822
- feat(core): account tool result sizes from producer to injection by @yiliang114 in #14545
- test(managed-agent): Verify MCP retention through Session retirement by @doudouOUC in #14762
- fix(acp): avoid splitting surrogate pairs when truncating turn text by @yiliang114 in #14744
- docs(runtime): simplify CSI delivery around resident Workspaces by @doudouOUC in #14758
- test(managed-agent): let the FG13f failClosed cell reach the Hook by @wenshao in #14818
- fix(managed-agent): Preserve original owners for owed Hosted cleanup by @doudouOUC in #14764
- test(managed-agent): settle a landed turn reply without a cold load by @yiliang114 in #14820
- feat(web-shell): add trajectory follow and pause controls (PR7B) by @qqqys in #14723
- feat(web-shell): delete selected message groups from session history by @ytahdn in #14297
- fix(core): keep a producer-declared truncation bit when raw size is unknown by @yiliang114 in #14830
- fix(ci): cap the prepare build heap and share the self-hosted Node preflight by @wenshao in #14827
- test(managed-agent): crash the approval result-commit barrier by @wenshao in #14733
- feat(core): honor preview budgets and make truncated previews recoverable by @yiliang114 in #14546
- feat(web-shell): Preview collapsed Home content on hover by @ytahdn in #14826
- feat(web-shell): preview PDFs with the native browser viewer by @ytahdn in #14825
- test(core): pin the durability snapshot after reactive compaction by @wenshao in #14815
- fix(ci): skip failure reports for superseded run attempts (#14768) by @qwen-code-dev-bot in #14771
- docs(telemetry): clarify OTLP HTTP uses JSON encoding by @Jun516 in #14664
- test(managed-agent): reject Hook store commits (FG13b) by @wenshao in #14817
- fix(managed-agent): answer self-healing Harness conflicts as retryable 503 by @wenshao in #14645
- test(managed-agent): gate the FG11f lost-ack publication fault (FG11f) by @wenshao in #14819
- fix(web-shell): avoid flashing the credential form during boot token verification by @BigDaddy1337 in #14770
- fix(core): stop double-truncating web_fetch and keep the full text recoverable by @yiliang114 in #14547
- test(managed-agent): gate FG12f result and catalog delivery by @wenshao in #14829
- feat(web-shell): improve token usage hierarchy by @ytahdn in #14648
- feat(mods): support tool middleware in interactive terminals by @qqqys in #14565
- feat(web-shell): show background shell task runtime details by @ytahdn in #14831
- fix(managed-agent): keep the CSI retirement key mode-independent on MariaDB (#14832) by @yiliang114 in #14853
- test(ci): pin the root build heap cap above the CLI compile ceiling (#14835) by @qwen-code-dev-bot in #14843
- test(web-shell): stabilize branch picker workspace-switch focus test by @qwen-code-dev-bot in #14842
- fix(hosted): bind execution to the final hook input by @qqqys in #14708
- test(managed-agent): stabilize the FG12b intent and cwd hosted gates by @qwen-code-dev-bot in #14730
- ci(gate): skip the Managed Agent gate run for reviews that are not approvals by @yiliang114 in #14857
- test(managed-agent): gate the FG11f refusing arms (FG11f) by @wenshao in #14821
- fix(managed-agent): treat hosted_turn_active as a lifecycle wait (#14492) by @qwen-code-dev-bot in #14806
- fix(ci): retry transient pnpm installs in the SDK Java workflow (#14845) by @qwen-code-dev-bot in #14851
- test(managed-agent): wait for the landed reply's applied record by @yiliang114 in #14833
- test(managed-agent): ignore transient MySQL deadlocks in hosted gate waits by @qwen-code-dev-bot in #14812
- style(managed-agent): clear the checkstyle violations in the result-delivery IT by @wenshao in #14883
- feat(core): report why loop protection stopped a turn by @qqqys in #14858
- docs(managed-agent): scope the FG11e stream-gap gate by @wenshao in #14881
- test(managed-agent): reject Hook result and plan-result commits (FG13b) by @wenshao in #14848
- feat(serve): add qwen daemon start by @wenshao in #14869
- feat(channels): add WeCom application callback support by @callmeYe in #13976
- fix(channels): preserve Markdown structure when splitting messages by @callmeYe in #14043
- fix(memory): report the real cause and drop set when MEMORY.md exceeds its budget by @yiliang114 in #14841
- docs(managed-agent): record what the remaining FG11d cells answer by @wenshao in #14882
- docs(managed-agent): locate the FG11e replay branch and gap contract by @wenshao in #14899
- fix(ci): skip Managed Agent reviews after the PR closes (#14774) by @qwen-code-dev-bot in #14777
- fix(managed-agent): bound settled runtime dispatch entries by @wenshao in #14657
- docs(managed-agent): name the replay contract document by @wenshao in #14905
- fix(ci): skip prepare's duplicate build in the daemon E2E install (#14861) by @qwen-code-dev-bot in #14873
- feat(serve): add daemon status detail by @wenshao in #14902
- test(managed-agent): pin which commit the plan rejection hit by @wenshao in #14898
- test(managed-agent): gate the per-run cancel on a parked wake turn (FG11d) by @wenshao in #14900
- feat(cli): expose experimental Mods in settings by @qqqys in #14889
- feat(web-shell): preview DOCX files across file entry points by @ytahdn in #14868
- test(integration): stop the session-id uniqueness E2E at the init message (#14579) by @qwen-code-dev-bot in #14585
- fix(cli): keep workspace skill status aligned after session load by @callmeYe in #14840
- test(managed-agent): Measure the post-commit gate as per-round growth (#14197) by @qwen-code-dev-bot in #14207
- feat(web-shell): refresh model catalogs from the model selector by @callmeYe in #14685
- fix(managed-agent): refresh schema upgrade expectations for V12/V13 by @qwen-code-dev-bot in #14893
- feat(serve): add daemon start --wait by @wenshao in #14914
- fix(managed-agent): bound and harden session resource storage by @wenshao in #14656
- test(managed-agent): gate a late conclusive reply after outcome_unknown by @wenshao in #14892
- fix(managed-agent): stop activation renewal after persistent failure by @wenshao in #14658
- test(managed-agent): settle a claim retired at intent (FG11d) by @wenshao in #14915
- test(cli): give resident model recovery waits the slow-host budget (#14922) by @qwen-code-dev-bot in #14927
- fix(ci): hold the MariaDB lane's sdk-java lock once per job (#14896) by @qwen-code-dev-bot in #14903
- fix(ci): hold chosen RocketMQ ports until the JVMs bind them by @yiliang114 in #14860
- docs(mcp): clarify restrictive prefixes and legacy grants by @Jun516 in #14683
New Contributors
- @Jun516 made their first contribution in #14684
- @BigDaddy1337 made their first contribution in #14770
Full Changelog: v0.25.3...v0.25.4-preview.0