返回 CodeWhale
CONTRIBUTORS.md
根目录 / docs / CONTRIBUTORS.md
1 # Contributors
2
3 Codewhale is built in the open with a growing community of contributors. Every
4 issue report and pull request is real project work — welcome at any experience
5 level. This is the full per-PR contributor record, grouped into release/time
6 bands with the newest band first so it stays scannable. Expand any band to see
7 everyone.
8
9 For the live list, see the
10 [GitHub contributors page](https://github.com/codewhale-hq/CodeWhale/graphs/contributors),
11 [`AUTHOR_MAP`](https://github.com/codewhale-hq/CodeWhale/blob/main/.github/AUTHOR_MAP),
12 and [CHANGELOG.md](../CHANGELOG.md).
13
14 ## Organizational thanks
15
16 - **[DeepSeek](https://github.com/deepseek-ai)** — the models and support that got this project started. 感谢 DeepSeek 提供模型与支持。
17 - **[DataWhale](https://github.com/datawhalechina)** 🐋 — for the support and for welcoming us into the Whale Brother family. 感谢 DataWhale 的支持。
18 - **[OpenWarp](https://github.com/zerx-lab/warp)** — for prioritizing Codewhale support and collaborating on a better terminal-agent experience.
19 - **[Open Design](https://github.com/nexu-io/open-design)** — for support and collaboration around design-forward agent workflows.
20
21 The maintainer rule: reports and PRs are real project work, even when the final
22 patch has to be narrowed, delayed, or harvested into a maintainer branch.
23 Harvested PRs keep visible credit in the commit/PR body, changelog or release
24 notes, and relevant issue/PR comments.
25
26 ---
27
28 ## Contributors by time
29
30 <details open>
31 <summary><strong>Unreleased</strong></summary>
32
33 **Merged or adapted contributions**
34
35 </details>
36
37 <details open>
38 <summary><strong>v0.10.1 — reliability and first-run fixes</strong></summary>
39
40 **Merged or adapted contributions**
41
42 - **[Guan0923](https://github.com/Guan0923)** — accepted case-insensitive HTTP(S) schemes in `config doctor` without rewriting the configured URL ([#6819](https://github.com/codewhale-hq/Codewhale/pull/6819)).
43 - **[harryvgiunta](https://github.com/harryvgiunta)** — added Yolo-Auto as a bundled OpenAI-compatible host descriptor, with its billing basis recorded as unreviewed rather than guessed ([#6408](https://github.com/codewhale-hq/Codewhale/pull/6408)).
44 - **[asto18089](https://github.com/asto18089)** — contributed the integrated runtime liveness, context, search, JavaScript execution, stopship scout and pet repairs, preserving the original contributor commits ([#6799](https://github.com/codewhale-hq/Codewhale/pull/6799)).
45 - **[qiuYliangM](https://github.com/qiuYliangM)** — made provider-bound project instruction and constitution labels stable across directory moves and kept their absolute paths in operator reports ([#6799](https://github.com/codewhale-hq/Codewhale/pull/6799)).
46 - **[zhuowp](https://github.com/zhuowp)** — supplied the process-scoped PowerShell execution-policy repair adapted for Codewhale; machine and user Group Policy still take precedence ([#6745](https://github.com/codewhale-hq/Codewhale/issues/6745)).
47 - **[Andrea-Bruno](https://github.com/Andrea-Bruno)** — designed the Superfast Decision Gate and contributed its off-by-default shadow classifier ([#6604](https://github.com/codewhale-hq/Codewhale/pull/6604), [#6603](https://github.com/codewhale-hq/Codewhale/issues/6603)).
48 - **[aiapienthusiast](https://github.com/aiapienthusiast)** — added Cheaper Inference to the bundled provider catalog ([#6761](https://github.com/codewhale-hq/Codewhale/pull/6761)).
49 - **[gaord](https://github.com/gaord)** — let a client fork a thread at a named turn ([#6580](https://github.com/codewhale-hq/Codewhale/pull/6580)), let undo roll back files for the turn it is undoing ([#6483](https://github.com/codewhale-hq/Codewhale/pull/6483)), stopped resume and fork from duplicating threads and sessions ([#6406](https://github.com/codewhale-hq/Codewhale/pull/6406)), exposed user-defined provider routes to native clients ([#6404](https://github.com/codewhale-hq/Codewhale/pull/6404)), and kept a fork going when a turn lost its tool call ([#6664](https://github.com/codewhale-hq/Codewhale/pull/6664)).
50 - **[Lstarsky0](https://github.com/Lstarsky0)** — moved the docs/work, legal, digest and FAQ pages onto the dictionary spine ([#6405](https://github.com/codewhale-hq/Codewhale/pull/6405), [#6417](https://github.com/codewhale-hq/Codewhale/pull/6417), [#6499](https://github.com/codewhale-hq/Codewhale/pull/6499), [#6574](https://github.com/codewhale-hq/Codewhale/pull/6574)), tightened the Chinese-branching ceiling to 18 ([#6403](https://github.com/codewhale-hq/Codewhale/pull/6403)), and made Fleet publish without a two-link window ([#6431](https://github.com/codewhale-hq/Codewhale/pull/6431)). Also moved the constitution page onto the dictionary spine and kept its install link in the selected locale ([#6733](https://github.com/codewhale-hq/Codewhale/pull/6733)).
51 - **[aboimpinto](https://github.com/aboimpinto)** — restored a green Linux full-workspace test gate without loosening any test, twice ([#6581](https://github.com/codewhale-hq/Codewhale/pull/6581), [#6666](https://github.com/codewhale-hq/Codewhale/pull/6666)), and completed the session command group's shared boundary ([#6793](https://github.com/codewhale-hq/Codewhale/pull/6793)).
52 - **[dajiaohuang](https://github.com/dajiaohuang)** — validated `config set` values against the settings schema ([#6568](https://github.com/codewhale-hq/Codewhale/pull/6568)).
53 - **[Water-Run](https://github.com/Water-Run)** — ingested namespaced model-only catalog entries so models present only in the canonical `models` map reach the offering list ([#6400](https://github.com/codewhale-hq/Codewhale/pull/6400)), and retired the blanket dead-code allowance and its unused feature stages, tightening the budget to match ([#6402](https://github.com/codewhale-hq/Codewhale/pull/6402)).
54 - **[wuisabel-gif](https://github.com/wuisabel-gif)** — designed the `tool_call_after` execution-receipt contract and its tests on a reference branch, which landed re-implemented on the current hook seam ([#6689](https://github.com/codewhale-hq/Codewhale/issues/6689), [#6713](https://github.com/codewhale-hq/Codewhale/pull/6713)).
55 - **[Sh1Zuku / SparkofSpike](https://github.com/SparkofSpike)** — let making room survive a provider request-body limit (HTTP 413) by shrinking, then replacing, inline images for that one summary pass ([#6642](https://github.com/codewhale-hq/Codewhale/pull/6642)). Also translated seventeen more guides into Simplified Chinese, among them plugins, memory, sandbox, workflow authoring, Docker, Termux and HarmonyOS, and brought the existing zh_hans docs onto one terminology standard ([#6662](https://github.com/codewhale-hq/Codewhale/pull/6662)), then translated thirteen developer and internal docs, among them the runtime API, architecture, tool surface, authorization order, operations runbook and Workroom security ([#6663](https://github.com/codewhale-hq/Codewhale/pull/6663)).
56
57 **Reports and reproductions**
58
59 - **[cenab](https://github.com/cenab)** — requested the Tsubasa provider row and supplied its endpoint, key and model values ([#6695](https://github.com/codewhale-hq/Codewhale/issues/6695)).
60 - **[BX166](https://github.com/BX166)** — reported the AICraft provider row missing its key console, docs link and guidance, and supplied the values ([#6616](https://github.com/codewhale-hq/Codewhale/issues/6616)); the report also surfaced that no bundled descriptor's links reached the setup form.
61 - **[jayanthvee](https://github.com/jayanthvee)** — reported and diagnosed that killing the npm launcher's `node.exe` ends Windows sessions without cleanup, with reproductions and fix directions ([#6827](https://github.com/codewhale-hq/Codewhale/issues/6827)).
62
63 </details>
64
65 <details>
66 <summary><strong>v0.10.0 — redesigned workbench, session recovery, and runtime surfaces</strong></summary>
67
68 **Merged or adapted contributions**
69
70 - **[AdityaVG13](https://github.com/AdityaVG13)** — composer wrapping, pasted/editor draft history, painted-column transcript copying, tab/caret placement, explicit terminal foregrounds, and headless user-input tool availability ([#6363](https://github.com/codewhale-hq/Codewhale/pull/6363), [#6365](https://github.com/codewhale-hq/Codewhale/pull/6365)); both PRs merged with their original ancestry.
71 - **[aboimpinto](https://github.com/aboimpinto)** — moved the TUI session-export slice onto shared command contracts (FEAT-025): a session-export contract facet with one shared sanitizer, `/export` routed through the facet, pinned with baseline-captured goldens and gates ([#6096](https://github.com/codewhale-hq/Codewhale/pull/6096)).
72 - **[gaord](https://github.com/gaord)** — recorded the mode each turn ran in so mixed-mode sessions stay legible ([#6321](https://github.com/codewhale-hq/Codewhale/pull/6321), harvested), stated the approval posture a task thread starts on ([#6386](https://github.com/codewhale-hq/Codewhale/pull/6386)), and rebuilt the runtime-API thread summary in one store pass instead of one per row ([#6376](https://github.com/codewhale-hq/Codewhale/pull/6376)).
73 - **[zhuowp](https://github.com/zhuowp)** — preserved chat roles across compaction, protected user turns on recompaction, and kept the operate contract intact through the same path ([#6286](https://github.com/codewhale-hq/Codewhale/pull/6286)).
74 - **[h3c-hexin](https://github.com/h3c-hexin)** — rate-limit-adaptive subagent launch scheduling: the `DynamicGate` that replaces fixed spawn pacing when a provider throttles ([#6055](https://github.com/codewhale-hq/Codewhale/pull/6055), harvested).
75 - **[asto18089](https://github.com/asto18089)** — co-authored the rate-limit-adaptive launch scheduling work ([#6055](https://github.com/codewhale-hq/Codewhale/pull/6055)).
76 - **[yrk111222](https://github.com/yrk111222)** — ModelScope provider support, landed through the shared `ChildGrant` fleet authority ([#6299](https://github.com/codewhale-hq/Codewhale/pull/6299), harvested).
77 - **[xiechimon](https://github.com/xiechimon)** — capped child tool results at capture time rather than at render ([#6294](https://github.com/codewhale-hq/Codewhale/pull/6294), harvested).
78 - **[VincentCorleone](https://github.com/VincentCorleone)** — defined and implemented the weixin-bridge Quick Start so a first run works from the README alone ([#6170](https://github.com/codewhale-hq/Codewhale/pull/6170), harvested).
79 - **[Serendo](https://github.com/Serendo)** — fixed the `/config` theme editor exiting the panel on an arrow key ([#6336](https://github.com/codewhale-hq/Codewhale/pull/6336)).
80 - **[yetuge](https://github.com/yetuge)** — dropped the retired `token_budget` field from the subagent documentation ([#6335](https://github.com/codewhale-hq/Codewhale/pull/6335)).
81 - **[Water-Run](https://github.com/Water-Run)** — translated the local browser client guide into Simplified Chinese ([#6401](https://github.com/codewhale-hq/Codewhale/pull/6401)). The catalog and dead-code work (#6400, #6402) landed after the v0.10.0 tag and is credited under v0.10.1.
82
83 **Reports and reproductions**
84
85 - **[BX166](https://github.com/BX166)** — contributed the AICraft provider template and its documentation ([#6171](https://github.com/codewhale-hq/Codewhale/pull/6171)). The PR was closed unmerged, but it is what surfaced the decision to stop special-casing named OpenAI-compatible hosts and make them ordinary providers ([#6289](https://github.com/codewhale-hq/Codewhale/issues/6289)); its base URL and key env carry into that work.
86 - **[7jrxt42BxFZo4iAnN4CX](https://github.com/7jrxt42BxFZo4iAnN4CX)** — reported the session-retention defects behind archive-past-the-cap and empty-session cap occupancy ([#6136](https://github.com/codewhale-hq/Codewhale/issues/6136), [#6137](https://github.com/codewhale-hq/Codewhale/issues/6137)), the resume-failure design behind durable transcript errors ([#6138](https://github.com/codewhale-hq/Codewhale/issues/6138)), and the gaps behind the opt-in approval timeout ([#6101](https://github.com/codewhale-hq/Codewhale/issues/6101)), `codewhale exec --hooks` ([#6099](https://github.com/codewhale-hq/Codewhale/issues/6099)), Markdown drag-copy ([#6156](https://github.com/codewhale-hq/Codewhale/issues/6156)), and the browsable, current-aware session picker ([#6014](https://github.com/codewhale-hq/Codewhale/issues/6014)); the goal token-budget hard stop ([#6013](https://github.com/codewhale-hq/Codewhale/issues/6013)) and the fleet no-progress guard shared with child workers ([#6015](https://github.com/codewhale-hq/Codewhale/issues/6015)) landed as first slices of two larger proposals, and the runtime-store session refusal ([#6207](https://github.com/codewhale-hq/Codewhale/issues/6207)) stays open after the first fix was reverted on a race.
87 - **[Lstarsky0](https://github.com/Lstarsky0)** — reported TUI tests reading machine state instead of hermetic fixtures; the `lock_test_env` remedy from that report shaped two more hermetic fixes for shared UI fixtures and the compaction budget test ([#5359](https://github.com/codewhale-hq/Codewhale/issues/5359)).
88 - **[Lujc0523](https://github.com/Lujc0523)** — reported `/hooks edit` splitting keystrokes between the editor and the composer, fixed by pausing the TUI input pump inside the editor handoff ([#6165](https://github.com/codewhale-hq/Codewhale/issues/6165)).
89 - **[Statter](https://github.com/Statter)** — reported the Gemini `/models` failure that now surfaces the provider's reason instead of an empty error ([#6173](https://github.com/codewhale-hq/Codewhale/issues/6173)).
90 - **[sequico](https://github.com/sequico)** — reported the ACP `session/new` ids that `session/load` could not resolve, fixed by minting resolvable session ids ([#6174](https://github.com/codewhale-hq/Codewhale/issues/6174)).
91 - **[bevis-wong](https://github.com/bevis-wong)** — reported the mid-run engine freeze behind the bounded turn-end foreground-child join, and the resume path that re-ran identical tool-call repair on every load instead of persisting it ([#6184](https://github.com/codewhale-hq/Codewhale/issues/6184), [#6185](https://github.com/codewhale-hq/Codewhale/issues/6185)).
92
93 </details>
94
95 <details open>
96 <summary><strong>v0.9.13 — paste integrity, dispatch safety, and the Computer Use bundle</strong></summary>
97
98 **Merged or adapted contributions**
99
100 - **[nightt5879](https://github.com/nightt5879)** — added bounded Gemini signature recovery guidance and streaming/non-streaming gateway transport regressions ([#6081](https://github.com/codewhale-hq/Codewhale/pull/6081)).
101 - **[c020627](https://github.com/c020627)** — repaired translated contributor-guide and Windows screenshot links ([#6080](https://github.com/codewhale-hq/Codewhale/pull/6080)).
102 - **[h3c-hexin](https://github.com/h3c-hexin)** — contributed full-fidelity session archives ([#6056](https://github.com/codewhale-hq/Codewhale/pull/6056)), GLM-5.3 reasoning controls and the model-facing documentation/tool-gating audit ([#6051](https://github.com/codewhale-hq/Codewhale/pull/6051), [#6052](https://github.com/codewhale-hq/Codewhale/pull/6052)).
103 - **[asto18089](https://github.com/asto18089)** — co-authored full-fidelity session archives ([#6056](https://github.com/codewhale-hq/Codewhale/pull/6056)), GLM-5.3 reasoning controls and tool-gating/documentation fixes ([#6051](https://github.com/codewhale-hq/Codewhale/pull/6051), [#6052](https://github.com/codewhale-hq/Codewhale/pull/6052)).
104 - **[Hmbown](https://github.com/Hmbown)** — updated JavaScript dependencies across the website, telemetry package and VS Code extension ([#6057](https://github.com/codewhale-hq/Codewhale/pull/6057)).
105 - **[gaord](https://github.com/gaord)** — contributed the file-scoped restore endpoint and trust-gated whole-tree rollback ([#6111](https://github.com/codewhale-hq/Codewhale/pull/6111)), Fleet schema inspection, role precedence and worker deliverable receipts, and linked the community VS Code frontend ([#5944](https://github.com/codewhale-hq/Codewhale/pull/5944), [#5945](https://github.com/codewhale-hq/Codewhale/pull/5945), [#5946](https://github.com/codewhale-hq/Codewhale/pull/5946), [#5992](https://github.com/codewhale-hq/Codewhale/pull/5992)).
106 - **[goransh-walia](https://github.com/goransh-walia)** — contributed the propose-only commit-planning rework ([#5870](https://github.com/codewhale-hq/Codewhale/pull/5870)).
107 - **[7jrxt42BxFZo4iAnN4CX](https://github.com/7jrxt42BxFZo4iAnN4CX)** — documented turn budgets and goal configuration, and reported gaps in command discovery, Fleet navigation, human waits, state hooks, history and provider routing ([#5996](https://github.com/codewhale-hq/Codewhale/pull/5996), [#5952](https://github.com/codewhale-hq/Codewhale/issues/5952), [#5954](https://github.com/codewhale-hq/Codewhale/issues/5954), [#6003](https://github.com/codewhale-hq/Codewhale/issues/6003), [#6004](https://github.com/codewhale-hq/Codewhale/issues/6004), [#6006](https://github.com/codewhale-hq/Codewhale/issues/6006), [#6007](https://github.com/codewhale-hq/Codewhale/issues/6007)).
108 - **[SparkofSpike](https://github.com/SparkofSpike)** — contributed two-stage consent for opting out of model-bound credential redaction and session titles derived from real user prompts instead of runtime handoffs ([#5982](https://github.com/codewhale-hq/Codewhale/pull/5982), [#6012](https://github.com/codewhale-hq/Codewhale/pull/6012)).
109 - **[aboimpinto](https://github.com/aboimpinto)** — moved session lifecycle and session-control commands onto shared command contracts ([#5902](https://github.com/codewhale-hq/Codewhale/pull/5902), [#5951](https://github.com/codewhale-hq/Codewhale/pull/5951)).
110 - **[EvanProgramming](https://github.com/EvanProgramming)** — reported Windows input and CRLF-write defects, and contributed CRLF preservation and an injectable Windows input runner ([#5908](https://github.com/codewhale-hq/Codewhale/issues/5908), [#5909](https://github.com/codewhale-hq/Codewhale/issues/5909), [#5910](https://github.com/codewhale-hq/Codewhale/pull/5910), [#5911](https://github.com/codewhale-hq/Codewhale/pull/5911), [#5912](https://github.com/codewhale-hq/Codewhale/pull/5912)).
111 - **[wuisabel-gif](https://github.com/wuisabel-gif)** — exposed workspace file suggestions through the Runtime API ([#6120](https://github.com/codewhale-hq/Codewhale/pull/6120)) and added custom-theme discovery, preview and selection in the theme picker ([#5907](https://github.com/codewhale-hq/Codewhale/pull/5907)).
112 - **[zhuowp](https://github.com/zhuowp)** — matched model-visible shell guidance to the interpreter selected for execution ([#5900](https://github.com/codewhale-hq/Codewhale/pull/5900)).
113 - **[googio](https://github.com/googio)** — added the opt-in Serply web-search provider ([#6100](https://github.com/codewhale-hq/Codewhale/pull/6100)).
114
115 **Reports and reproductions**
116
117 - **[Hmbown](https://github.com/Hmbown)** — identified missing recovery guidance when a compatible gateway rejects Gemini tool-call replay without thought signatures ([#6048](https://github.com/codewhale-hq/Codewhale/issues/6048)).
118 - **[7jrxt42BxFZo4iAnN4CX](https://github.com/7jrxt42BxFZo4iAnN4CX)** — proposed global usage and tool diagnostics and independent goal verification ([#6011](https://github.com/codewhale-hq/Codewhale/issues/6011), [#6013](https://github.com/codewhale-hq/Codewhale/issues/6013)); these broader requests remain open.
119 - **[nsfoxer](https://github.com/nsfoxer)** — reported the multiline-paste regression and incomplete provider model lists ([#5981](https://github.com/codewhale-hq/Codewhale/issues/5981), [#6009](https://github.com/codewhale-hq/Codewhale/issues/6009)).
120 - **[Nefelibata1024](https://github.com/Nefelibata1024)** — confirmed the multiline-paste regression's impact ([#5981](https://github.com/codewhale-hq/Codewhale/issues/5981)).
121 - **[Gabriel-Degret](https://github.com/Gabriel-Degret)** — reported the loss of the allow_insecure_http provider setting and that saved agent profiles were silently ignored when spawning sub-agents ([#5991](https://github.com/codewhale-hq/Codewhale/issues/5991), [#6117](https://github.com/codewhale-hq/Codewhale/issues/6117)).
122 - **[LmeSzinc](https://github.com/LmeSzinc)** — requested Runtime API access to the TUI fuzzy file search ([#6095](https://github.com/codewhale-hq/Codewhale/issues/6095)).
123 - **[dmt4](https://github.com/dmt4)** — requested Linux copy-on-select and middle-click paste ([#6116](https://github.com/codewhale-hq/Codewhale/issues/6116)).
124 - **[Lujc0523](https://github.com/Lujc0523)** — reported the ACP initialize schema violation affecting strict IDE clients ([#5969](https://github.com/codewhale-hq/Codewhale/issues/5969)).
125 - **[mo-vic](https://github.com/mo-vic)** — proposed storing evicted context on disk so it can be retrieved later ([#6008](https://github.com/codewhale-hq/Codewhale/issues/6008)).
126 - **[giancarlocp](https://github.com/giancarlocp)** — requested a plugin authoring guide and OpenCode plugin conversion ([#5827](https://github.com/codewhale-hq/Codewhale/discussions/5827)).
127 - **[hxfhd](https://github.com/hxfhd)** — supplied a Windows reproduction of a turn stopping before its stated next tool action ([#6010](https://github.com/codewhale-hq/Codewhale/discussions/6010)).
128
129 </details>
130
131 <details open>
132 <summary><strong>v0.9.12 — native search, live token truth, and runtime surfaces</strong></summary>
133
134 **Merged or adapted contributions**
135
136 - **[hexin / h3c-hexin](https://github.com/h3c-hexin)** — provider-native web
137 search across four routes: the DeepSeek adapter (#5683), Z.AI and BigModel
138 (#5685), and Xiaomi MiMo (#5687), each fail-closed for undocumented models,
139 plus the constraint enforcement that runs before any fallback (#5682); also
140 authoritative edit-last-turn boundaries (#5621), Kimi Code k3-256k support
141 (#5622), post-compaction input-token reporting (#5623), and preserving the
142 scheduled model selection in automations (#5650)
143 - **[Isabel Wu / wuisabel-gif](https://github.com/wuisabel-gif)** — live
144 session token totals (#5624), persisted context-pressure warnings (#5629),
145 discoverable Fleet roster editing (#5604), the capability-gated cursor
146 accent (#5599), and `/copy` for the latest completed response (#5692)
147 - **[Paulo Aboim Pinto / aboimpinto](https://github.com/aboimpinto)** —
148 preserved Windows verbatim-path operands through POSIX word splitting
149 (#5610), moved the plugins group onto the command shapes (#5657), built
150 FEAT-022 skills command shapes with retained-host validation (#5825), and
151 re-landed FEAT-020 plugin command shapes on main (#5865)
152 - **[Alex Musichen / musichen](https://github.com/musichen)** — fixed the
153 configured-view DeepSeek model picker so it shows a stable DeepSeek heading
154 and keeps every official catalog model for the active provider visible
155 (#5689)
156 - **[gaord](https://github.com/gaord)** — added the `GET /v1/fleet/profiles`
157 runtime API endpoint, reusing the FleetManager validation path (#5688)
158 - **[Sh1Zuku / SparkofSpike](https://github.com/SparkofSpike)** — corrected
159 English documentation inaccuracies and contributed the first zh_hans
160 translations for the Tier-2 docs (#5613)
161 - **[M-Maciej](https://github.com/M-Maciej)** — goal continuation cadence fix
162 (#5591) and the per-session control socket (#5533, #5831)
163 - **[Serephus / serephus](https://github.com/serephus)** — nixpkgs update
164 (#5669)
165 - **[秋月凉梦 / qiuYliangM](https://github.com/qiuYliangM)** — co-authored the
166 authoritative edit-last-turn boundaries (#5621), Kimi Code k3-256k support
167 (#5622), and post-compaction input-token reporting (#5623)
168 - **[whp233](https://github.com/whp233)** — `wire = responses|anthropic` for
169 openai-compatible custom routes and opencode-zen muse-spark (#5716, landed
170 as #5719)
171 - **[Gabriel Degret / Gabriel-Degret](https://github.com/Gabriel-Degret)** —
172 found the reasoning-only retry gap and built the first fix; landed as the
173 `[reasoning_only]` retry ceiling with a request-scoped nudge (#5867)
174 - **[huangxianzhan](https://github.com/huangxianzhan)** — the
175 `x-opencode-session` header for OpenCode Go and Zen gateways (#5868)
176 - **[zhuowp](https://github.com/zhuowp)** — task origin preserved in job
177 snapshots (#5869)
178 - **[AdityaG / AdityaVG13](https://github.com/AdityaVG13)** — a ten-commit
179 performance pass across the TUI and config: zero-copy LaTeX streaming,
180 single-pass token accounting, memoized provider resolution, once-per-process
181 models.dev catalog parsing (interactive boot -70%), adaptive shell-completion
182 poll cadence, and diagnostic worker caps
183 - **[Nightt / nightt5879](https://github.com/nightt5879)** — isolated remote
184 recovery lease generations (#5790)
185 - **[yiheng-kkk](https://github.com/yiheng-kkk)** — replaced stale todo
186 transcript snapshots so a rewritten todo list renders its current tasks
187 (#5871, #5873)
188 - **[Lfanxing](https://github.com/Lfanxing)** — Moonshot routes degrade
189 incompatible tool definitions per request instead of failing the turn
190 - **[WissssleyL / Lstarsky0](https://github.com/Lstarsky0)** — moved
191 `docs/subagents` and `docs/mcp` onto the dictionary spine (#5337), with the
192 metaTitle probe that keeps them there
193
194 **Reports and reproductions**
195
196 - **[slowly247](https://github.com/slowly247)** — reported the Ollama input
197 budget collapsing to 1,024 tokens on 32K local models (#5820)
198 - **[ronohara](https://github.com/ronohara)** — reported the engine stopping
199 after recoverable network errors and reproduced the discarded approval (#5769)
200 - **[Lujc0523](https://github.com/Lujc0523)** — asked for ACP session mode and
201 model configuration (#5863)
202 - **[senka9h](https://github.com/senka9h)** — reported the missing ACP
203 `session/list` and `session/load` methods (#5864)
204 </details>
205
206 <details>
207 <summary><strong>v0.9.11 — portable command surfaces and turn-loop structure</strong></summary>
208
209 **Merged or adapted contributions**
210
211 - **[Sun Zhenyuan / bistack](https://github.com/bistack)** — extracted tool-call
212 planning, execution, and result processing from the turn loop while preserving
213 the existing sandbox-policy, hook, budget, and batch-execution behavior
214 (#5523)
215 - **[Isabel Wu / wuisabel-gif](https://github.com/wuisabel-gif)** — added
216 bounded, workspace-relative multi-file diagnostics to the existing model-
217 visible `lsp` tool, reusing the shared transport pool without expanding the
218 75-tool catalog (#5524)
219 - **[Paulo Aboim Pinto / aboimpinto](https://github.com/aboimpinto)** — added
220 portable presentation, media-attachment, and operation-digest facets to the
221 command contract, then moved all seven utility command handlers onto the
222 contract-backed dispatch path (#5525)
223
224 **Reviewed overlap**
225
226 - **[Lstarsky0](https://github.com/Lstarsky0)** — reviewed #5524 and identified
227 the closed-channel, severity-filtering, and truncation-receipt gaps covered by
228 the maintainer hardening pass.
229 - Isabel Wu's PR #5530 independently routed the legacy plural completion
230 command through the public CLI generator. Equivalent behavior, including the
231 published `codew` alias registration, had already landed in the integration
232 lane, so the PR is recorded here as reviewed project work rather than counted
233 as a second merged contribution.
234
235 **Reports and reproductions**
236
237 - **[RepentStar](https://github.com/RepentStar)** — reported the stale shell-
238 completion generator and missing `codew` registration that led to the
239 completion fixes and upgrade guidance in #5526.
240
241 </details>
242
243 <details>
244 <summary><strong>v0.9.10 — retention, identity, and durable approvals</strong></summary>
245
246 **Merged or adapted contributions**
247
248 - **[Sh1Zuku / SparkofSpike](https://github.com/SparkofSpike)** — restored
249 `/title` as an independent, persistent terminal-window title in PR #5509,
250 and contributed the Tier 1 Chinese and Indonesian documentation move to
251 `docs/zh_hans/` and `docs/id/` with one-release redirect stubs (#5507,
252 epic #5482)
253 - **[Sun Zhenyuan / bistack](https://github.com/bistack)** — extracted the
254 turn-loop stream processor in PR #5514 while preserving retry,
255 cancellation, usage, TTFT, steering, and partial-response behavior
256 - **[OctoBored](https://github.com/OctoBored)** — supplied the working
257 no-token Star History mirror used by the localized README set after the
258 canonical chart endpoint began returning a restricted placeholder (#5510)
259 - **[cacdcaecawae](https://github.com/cacdcaecawae)** — added provider-neutral
260 typed MCP image forwarding in PR #5515; the adapted version also emits a
261 visible omission receipt for malformed image fields
262 - **[cyq1017](https://github.com/cyq1017)** — approval outcomes are persisted
263 before execution can proceed: receipts commit to a session-owned log first,
264 unpersistable evidence blocks the tool, stale decisions are rejected, and
265 resume reconstructs closed and interrupted approvals (#5491, closes #5360)
266 - **[aboimpinto](https://github.com/aboimpinto)** — the TUI-owned
267 dependency-injection and migration infrastructure behind safe slash-command
268 extraction: seven capability facets, a dual-path dispatch seam, and
269 source-aware CI enforcement so a command slice cannot claim migration while
270 it still accepts concrete `App` (#5506, EPIC-005/FEAT-015 under the #5316
271 umbrella they filed)
272 - **[wuisabel-gif](https://github.com/wuisabel-gif)** — the TUI header now
273 names the active repository or linked worktree before the branch and dirty
274 marker, derived from Git's common directory and capped by shell density
275 tier (#5511, the repo/worktree slice of #5437)
276 - **[Lstarsky0](https://github.com/Lstarsky0)** — `docs/hooks` and
277 `docs/troubleshooting` move onto the dictionary spine, retiring their inline
278 bilingual literals in favor of locale dictionaries with token-aware code
279 spans (#5504, closes #5337 they filed)
280
281 **Reports, reproductions, and verification**
282
283 - **[DingYong4223](https://github.com/DingYong4223)** — reported the
284 narrow-terminal completion truncation closed by the bounded hover reveal
285 (#998)
286 - **[AiurArtanis](https://github.com/AiurArtanis)** and
287 **[formp3](https://github.com/formp3)** — identified the completion surfaces
288 affected by narrow-terminal truncation (#998)
289 - **[sky-sun-moon](https://github.com/sky-sun-moon)** — reported the missing
290 full per-turn input, reasoning, tool, and assistant pages that shaped Turn
291 Inspector navigation (#1682)
292 - **[cy2311](https://github.com/cy2311)** — reported the Windows launch path
293 now covered by the Windows Terminal-aware batch launcher (#1854)
294 - **[demian-welt](https://github.com/demian-welt)** — provided the reproducible
295 pre-header SSE transport failure behind the bounded HTTP/1.1 retry (#4683)
296 - **[BrathonBai](https://github.com/BrathonBai)** — reported the Tabby/CJK IME
297 candidate-window jump that led to the cursor hide-diff-position-show
298 transaction (#5023)
299 - **[M-Maciej](https://github.com/M-Maciej)** — provided the organization-
300 coordinator use case and 5-30 minute cadence requirement behind cancellable
301 cross-turn goal delays (#5508)
302 - **[thejayjetson](https://github.com/thejayjetson)** — the header
303 status-indicator report that pinned the regression to a specific setting,
304 having already ruled out every value, both themes, `fancy_animations`, the
305 terminal auto-off rules, and a clean `codewhale doctor` (#5512)
306 - **[hxfhd](https://github.com/hxfhd)** — reported the deterministic
307 cross-session contamination class behind this release's session-ownership
308 boundary, plus route budgeting evidence (#5518)
309 - **[sfdzhmr](https://github.com/sfdzhmr)** — reported the route budgeting
310 root causes that exact route-limit propagation now closes (#5516)
311
312 </details>
313
314 <details>
315 <summary><strong>v0.9.9 — truth and resilience</strong></summary>
316
317 **Merged or adapted contributions**
318
319 - **[h3c-hexin](https://github.com/h3c-hexin)** — a concrete route/offering
320 output limit now outranks the conservative 8,192-token compatibility guess
321 for an uncatalogued model; routes that publish no limit stay fail-closed
322 (#5461, closes #5460); every web tool surface uses the noisy-result soft
323 limit (#5474); lowercase saved selectors resolve against the owning
324 Z.ai/DeepSeek catalog row (#5475); configured-skill prompt paths remain
325 stable across ephemeral roots and operating systems (#5492, #5473)
326 - **[Gabriel-Degret](https://github.com/Gabriel-Degret)** — configurable
327 auto-router classifier timeout (#5494; first contribution)
328
329 **Reports, reproductions, and verification**
330
331 - **[asto18089](https://github.com/asto18089)** — diagnosed the Z.ai `glm-5.2`
332 casing collision and wrote the first provider-scoped fix downstream
333 (Pinvou/CodeWhale#14, carried upstream in #5475)
334
335 - **[hardy922](https://github.com/hardy922)** — the context-window honesty
336 report that became the every-surface labeling pass (#5239)
337 - **[redstar](https://github.com/redstar)** — bwrap container essentials and
338 configurable extra roots (#5410)
339 - **[all-lopezg](https://github.com/all-lopezg)** — SSE UTF-8 garbling on
340 DeepSeek Flash with screenshots, fixed fail-closed in every dialect (#5374)
341 - **[alitvak69](https://github.com/alitvak69)** — the unverified-live-pricing
342 report behind the bundled fallback rates and DeepSeek V4 tiers (#5241)
343 - **[wuisabel-gif](https://github.com/wuisabel-gif)** — bounded reproduction
344 attempts for the macOS filtered-suite hang note on #5056
345
346 </details>
347
348 <details>
349 <summary><strong>v0.9.8 — marketplace, Google, Ollama Cloud</strong></summary>
350
351 **Merged or adapted contributions**
352
353 - **[EvanProgramming](https://github.com/EvanProgramming)** — webhook hook
354 sink no longer panics when its HTTP client fails to build (#5381); session-index
355 JSONL writes are serialized so concurrent stores cannot drop an append
356 (#5382)
357 - **[Lstarsky0](https://github.com/Lstarsky0)** — session peek hides internal
358 runtime events (#5376); thinking-ladder tests re-pinned (#5378);
359 provider-count follow-ups (#5383/#5384); macOS agy fixture
360 canonicalization (#5392); website zh-Hans 宪章 terminology (#5397);
361 regenerated website facts harvested and corrected so Google and Ollama
362 Cloud are listed and Antigravity is not advertised as a route (#5398)
363 - **[mvanhorn](https://github.com/mvanhorn)** — read-only, repository-fact
364 driven settings preview on the website models page (#5411, fixes #5370)
365 - **[buiducnhat](https://github.com/buiducnhat)** — canonical `ultra`
366 reasoning effort mapped to every provider's maximum tier (#5409); session
367 titles truncated by character count instead of byte offset so CJK and
368 emoji names cut at the intended width (#5415)
369 - **[SparkofSpike](https://github.com/SparkofSpike)** — `/title` and the
370 saved session name in the terminal tab/window title, plus the fix for the
371 deadlock when the title changed during an active turn; landed as a
372 discoverable alias of `/rename` on the one persisted session name (#5419)
373 - **[redstar](https://github.com/redstar)** — Eden AI registered as a named
374 OpenAI-compatible provider with `EDENAI_API_KEY`, `eden-ai`/`eden_ai`
375 aliases, and the global and EU endpoints (#5422)
376 - **[wuisabel-gif](https://github.com/wuisabel-gif)** — background verifier
377 test isolated from the rustup `rustc` shim and `$HOME`, one narrow
378 reliability slice of #5056 (#5423)
379
380 </details>
381
382 <details>
383 <summary><strong>v0.9.7 — the catalog stays ordinary</strong></summary>
384
385 **Merged or adapted contributions**
386
387 - **[XhesicaFrost](https://github.com/XhesicaFrost)** — copy from the message
388 context menu now takes canonical content, keeping authored Unicode,
389 Markdown, and hard line breaks in the clipboard while role glyphs,
390 continuation rails, and visual wrapping stay out of it (PR #5319)
391 - **[h3c-hexin](https://github.com/h3c-hexin)** — split durable-session
392 snapshot reads from crash recovery so an embedding host inspecting a
393 session while a tool is still running no longer gets a spurious crash
394 repair (PR #5320)
395 - **[XiaoHuo888-hue](https://github.com/XiaoHuo888-hue)** — OrcaRouter as a
396 first-class named provider with `ORCAROUTER_API_KEY`, auto-routing,
397 CLI `--provider` selection, and TUI picker entries (PR #5321)
398
399 **Reports and verification**
400
401 - **[USTHzhanglu](https://github.com/USTHzhanglu)** — reported the Auto-Review
402 shell/write regression with a Windows reproduction and audit-log evidence
403 (issue #5323)
404 - **[Lstarsky0](https://github.com/Lstarsky0)** — traced the Auto-Review
405 regression to the exact permission-posture change and documented the safe
406 recovery choices (issue #5323)
407
408 </details>
409
410 <details>
411 <summary><strong>v0.9.6 — fewer bumpers, truthful endings</strong></summary>
412
413 **Merged or adapted contributions**
414
415 - **[Xavier Pestel / xavierpestel-ai](https://github.com/xavierpestel-ai)** —
416 Mistral AI (la Plateforme) as a first-class provider route, including the
417 adjustable-reasoning wire contract and its multi-turn thinking replay
418 (PR #5295)
419 - **[Ben Younes / ousamabenyounes](https://github.com/ousamabenyounes)** —
420 inherited nested-agent depth cap, keeping child agents from widening the
421 budget provided by their parent (PR #5317)
422 - **[Rafael Cavalheri / rafaelcavalheri](https://github.com/rafaelcavalheri)** —
423 multi-round ACP file, search, Git, patch, and explicitly enabled shell tool
424 execution with cancellation and fail-closed shell safety (PR #5225)
425
426 </details>
427
428 <details>
429 <summary><strong>v0.9.5 — one runtime, managed controls, and uninterrupted turns</strong></summary>
430
431 **Merged or adapted contributions**
432
433 - **[Sh1Zuku / SparkofSpike](https://github.com/SparkofSpike)** — stale cached
434 session-title recovery so `New Session` yields to the first real prompt
435 - **[Paulo Aboim Pinto / aboimpinto](https://github.com/aboimpinto)** — the
436 shared alias-aware command discovery contract across the palette, slash
437 completion, dispatch, and acceptance harness
438 - **[Sun Zhenyuan / bistack](https://github.com/bistack)** — background
439 incremental MCP Registry refreshes that return the local snapshot immediately
440 - **[SKY ZHAO / skyzhao1223](https://github.com/skyzhao1223)** — prompt-based
441 `model = "auto"` tier selection in PR #5257
442
443 </details>
444
445 <details>
446 <summary><strong>v0.9.4 — calmer output, recovery, and release hardening</strong></summary>
447
448 **Merged or adapted contributions**
449
450 - **[Sh1Zuku / SparkofSpike](https://github.com/SparkofSpike)** — LaTeX
451 rendering in PR #4981, circled-digit and keycap width handling in PR #5001,
452 and actionable File-edit recovery in PR #5008; sub-agent checkpoint resume
453 in PR #5242, real shell wait elapsed time in PR #5240, and keeping
454 alternate-scroll off while mouse capture is active in PR #5234
455 - **[XhesicaFrost](https://github.com/XhesicaFrost)** — long Windows user-PATH
456 preservation in PR #5006
457 - **[Paulo Aboim Pinto / aboimpinto](https://github.com/aboimpinto)** — the
458 user-command dispatch acceptance contract in PR #4992
459 - **[shenjackyuanjie](https://github.com/shenjackyuanjie)** — Windows
460 OpenHarmony linker re-quoting for spaced SDK paths in PR #5095
461 - **[bistack](https://github.com/bistack)** — MCP Registry discovery with
462 Registry-first tool selection in PR #5238
463 - **[vFONGv](https://github.com/vFONGv)** — the zh-CN Windows beginner guide
464 with screenshots in PR #5229
465 - **[mky](https://github.com/mky)** — FreeBSD build fix (`rquickjs` `bindgen` on FreeBSD, PR #5254)
466 - **[cacdcaecawae](https://github.com/cacdcaecawae)** — embedder-owned sub-agent state roots (PR #5252)
467
468 **Reports, reproductions, and verification**
469
470 - **[DracheTek](https://github.com/DracheTek)** — the multilingual, CRLF-heavy
471 File-edit failure report in issue #5003
472 - **[An Ziwu / MuRongMoQing](https://github.com/MuRongMoQing)** — the Windows
473 PATH-overwrite defect report in issue #4685
474
475 </details>
476
477 <details>
478 <summary><strong>v0.9.3 — DeepSeek Responses, canonical tools, and runtime hardening</strong></summary>
479
480 - **[greyfreedom](https://github.com/greyfreedom)** (Turisla) — the documented
481 and tested authorization-order contract from PR #4980
482 - **[nightt5879](https://github.com/nightt5879)** (Nightt) — foreground shell
483 detachment before steering from PR #4979
484 - **[Watcher24](https://github.com/Watcher24)** — the macOS File Provider
485 sandbox report and reproduction in #4085
486 - **[Fred Leitz / fleitz](https://github.com/fleitz)** — required
487 source-candidate credit for the canonical `Bash` no-`cwd` workspace fix and
488 regression in PR #4673 (issue #4674)
489
490 </details>
491
492 <details>
493 <summary><strong>v0.9.2 — routing, workflow, localization, and inspectability</strong></summary>
494
495 - **[greyfreedom](https://github.com/greyfreedom)** — exact repository-scoped
496 allow grants and the cross-platform path-semantics repairs from PR #4761
497 - **[nightt5879](https://github.com/nightt5879)** — off-event-loop terminal
498 clipboard writes (PR #4896), complete locale exposure in settings (PR #4856),
499 CRLF-safe edits (PR #4942), and automatic-routing reasoning preservation
500 (PR #4961)
501 - **[XhesicaFrost](https://github.com/XhesicaFrost)** — the configurable
502 session-token header from PR #4610 and context-menu hover alignment in PR #4897
503 - **[cyq1017](https://github.com/cyq1017)** — the hooks configuration/executor
504 split from PR #4087
505 - **[snail-vs](https://github.com/snail-vs)** (snailoniu) — OpenCode Zen's
506 model-aware route, authentication, documentation, and test-isolation work
507 from closed PR #4467, whose contributor commits are preserved in the
508 candidate
509 - **[Sh1Zuku / SparkofSpike](https://github.com/SparkofSpike)** — the zh-Hans
510 translation quality review harvested from PR #4908, duplicate-session fix in
511 PR #4963, LaTeX implementation from PR #4973 landed through #4974, and the
512 context-menu reproduction in #4803
513 - **[GTC2080](https://github.com/GTC2080)** (TaoMu) — the `dryrun` concept
514 behind `/preview-request`: preview the next outbound request from the real
515 request-building seam rather than a hand-rolled summary (PR #1099,
516 harvested)
517 - **[h3c-hexin](https://github.com/h3c-hexin)** — the non-UTF-8 `fetch_url`
518 report and implementation direction harvested from PR #4909
519 - **[Fred Leitz / fleitz](https://github.com/fleitz)** — required
520 source-candidate credit for the canonical `Bash` no-`cwd` workspace fix and
521 regression in PR #4673 (issue #4674)
522 - **[LmeSzinc](https://github.com/LmeSzinc)** — the Windows CRLF `edit_file`
523 reproduction, root-cause analysis, and affected-code anchors in issue #4764
524 - **[atmosuwiryo](https://github.com/atmosuwiryo)** — ACP numeric-id
525 compatibility (PR #4929) and the Indonesian documentation and website locale
526 (PRs #4962 and #4972)
527 - **[M-Maciej](https://github.com/M-Maciej)** — the expanded-by-default
528 reasoning setting and report (PR #4928, issue #4925)
529 - **[raphamorim](https://github.com/raphamorim)** — migration of the QA PTY
530 frame parser to `rio-vt` (PR #4931)
531 - **[LI-Jialu](https://github.com/LI-Jialu)** — truthful finalization of stale
532 restored shell cells (PR #4937)
533 - **[kobihikri](https://github.com/kobihikri)** — release-container SBOM and
534 explicit provenance mode (PR #4958)
535 - **[EvanProgramming](https://github.com/EvanProgramming)**,
536 **[adity982](https://github.com/adity982)**, and
537 **[vibecoding-skills](https://github.com/vibecoding-skills)** — equivalent
538 fix direction for effective-home resolution (#4760), MCP call-once behavior
539 (#4756), and streaming/non-streaming timeout separation (#4743)
540 - **[antarikshraya](https://github.com/antarikshraya)** — the LaTeX transcript
541 rendering report in #4957
542 - **[eugenicum](https://github.com/eugenicum)** — the token-header request and
543 output-presentation measurements in #4520 and #4468
544 - **[whp233](https://github.com/whp233)** — the StepFun/OpenCode subscription
545 route request in #4526
546 - **[redjade75723](https://github.com/redjade75723)** — stale resumed-workspace
547 diagnosis input from #4100
548 - **[hardy922](https://github.com/hardy922)** — the native DeepSeek tool-token
549 visibility report in #3880
550 - **[JayBeest](https://github.com/JayBeest)** — contributor-onboarding product
551 direction in #4227
552 - **[elijahchan2019](https://github.com/elijahchan2019)** — the optional
553 reasoning-highlight request in #4089
554 - **[cy2311](https://github.com/cy2311)** — sessions rail, archive, and
555 auto-resume direction in #2934
556 - **[wywsoor](https://github.com/wywsoor)** — export/restore correlation
557 direction in #2494
558
559 </details>
560
561 <details open>
562 <summary><strong>v0.9.1 — provider and runtime hardening</strong></summary>
563
564 - **[h3c-hexin](https://github.com/h3c-hexin)** — calendar-anchored hourly
565 automation recurrence across DST and lifecycle transitions (PR #4381),
566 explicit limits for unknown local models (PR #4656 / #4655), and
567 idle-timeout progress telemetry (PR #4657)
568 - **[gaord](https://github.com/gaord)** — Runtime API provider registry and
569 atomic provider-switch endpoints (PR #4658)
570 - **[SamhandsomeLee](https://github.com/SamhandsomeLee)** — the unified
571 `/skills` root catalog, audit/provenance model, validated mutations, manager
572 UI, and acceptance coverage (PR #4679), plus Enter-send lag diagnosis and
573 fix direction for #4605 (PR #4654; landed through the release-lane
574 async-dispatch split)
575 - **[Paulo Aboim Pinto / aboimpinto](https://github.com/aboimpinto)** — the
576 Layer 5.1 user-command registry boundary from PR #3278; the exact authored
577 evidence commit from PR #4046, preserved intact in the integration graph;
578 and the #2870 follow-up audit whose metadata and malformed-sibling gaps
579 shaped the final corrections. Paulo also provided the structured, redacted
580 Agent Details and `current_activity` design direction preserved from
581 #2694/#2889 and the real-PTY lifecycle acceptance direction from #2886
582 - **[baendlorel](https://github.com/baendlorel)** — TelecomJS TokenHub provider
583 and key-scoped live-catalog direction, source-partitioned refresh behavior,
584 and both refresh-order regressions from PR #4370, harvested into the current
585 provider architecture with co-authorship preserved
586 - **[zhangweiii](https://github.com/zhangweiii)** and
587 **[Sterne Lee / sternelee](https://github.com/sternelee)** — the original
588 first-class OpenCode Go implementations in PRs #773 and #1050, harvested
589 into the current provider architecture with co-authorship preserved in the
590 landing commit
591 - **[Sean Tse / seanthefuturegorilla](https://github.com/seanthefuturegorilla)**
592 — the canonical OpenCode Go/Zen provider request and acceptance direction in
593 #1481
594 - **[nightt5879](https://github.com/nightt5879)** — `/debt` compatibility
595 aliases with dispatch-consistent user-command shadowing across help and
596 slash discovery (PR #4680), plus the Solarized Light background preservation
597 fix for the underwater shell (PR #4471)
598 - **[AiurArtanis](https://github.com/AiurArtanis)** — the Solarized Light
599 v0.9.0 regression report and reproduction (#4457)
600 - **[shenjackyuanjie](https://github.com/shenjackyuanjie)** — the HarmonyOS
601 workflow-js bindgen, portable-pty gating, and SDK environment work
602 (PR #4470)
603 - **[shenyongqing](https://github.com/shenyongqing)** — the original HarmonyOS
604 workflow-js bindgen approach (PR #4384), carried into the landed
605 implementation with credit
606 - **[Luis Mateus Vargas / luismateusvargas](https://github.com/luismateusvargas)**
607 — the Windows hook-process leak reproduction, process-tree analysis, and EOF
608 fix direction (#4489)
609 - **[redjade75723](https://github.com/redjade75723)** — the persistent Windows
610 PTY failure report that exposed lossy high-bit exit-status handling (#4100)
611 - **[w1w218](https://github.com/w1w218)** — the Windows ARM64 release request
612 and cross-compilation report that led to native release, npm, updater, and
613 archive support (#4267)
614 - **[stream2stream](https://github.com/stream2stream)** — the legacy-session
615 recovery report that led to the read-only doctor diagnostic (#4032, #4539)
616 - **[Sh1Zuku / SparkofSpike](https://github.com/SparkofSpike)** — the Windows
617 Ctrl+O reproduction that exposed pre-pager result truncation and conflicting
618 composer shortcut routing (#4482)
619 - **[Lu Shihan / Angel-Hair](https://github.com/Angel-Hair)** — session-owned
620 read-before-edit tracking and the explicit, backwards-compatible
621 `apply_patch` replacement contract (PRs #4475 and #4476)
622 - **[dmitri-0](https://github.com/dmitri-0)** — configurable cache-hit
623 visibility in the phase strip (PR #4474)
624 - **[Fred Leitz / fleitz](https://github.com/fleitz)** — canonical `Bash`
625 no-`cwd` workspace resolution and its regression test, keeping isolated
626 sub-agent commands inside their selected worktree (PR #4673; issue #4674)
627 - **[Sh1Zuku / SparkofSpike](https://github.com/SparkofSpike)** — exact
628 Vim-space regression reproduction and verification that the v0.9.1 input
629 path already contains the needed global binding (PR #4477)
630
631 </details>
632
633 <details open>
634 <summary><strong>v0.9.0 — underwater shell, runtime persistence &amp; release evidence</strong></summary>
635
636 The v0.9.0 lane grew from a maintenance sweep into the underwater shell,
637 message-first Operate, broader Fleet and Workflow behavior, runtime-thread
638 persistence, terminal selection, UTF-8 handling, internationalization, and
639 release evidence. The reports and pull requests below materially shaped it.
640
641 - **[Amuthan / amuthantamil](https://github.com/amuthantamil)** — approval-time
642 transcript review report that led to live Page Up/Down, modified-arrow,
643 Home/End, and mouse-wheel navigation while the decision card stays active
644 (#4371)
645 - **[Angel-Hair](https://github.com/Angel-Hair)** — reports that restored the
646 opt-in `remember` tool to the first-turn catalog, made required user
647 confirmation a real goal blocker, and added a clear recovery notice for
648 cached approval denials (#4373, #4374, #4375)
649 - **[Bruce / bruce6135](https://github.com/bruce6135)** — Kimi Coding Plan
650 reproduction that exposed the false 1K emergency-compaction budget (#4368)
651 - **[Matt Van Horn / mvanhorn](https://github.com/mvanhorn)** — first-turn
652 `remember` regression coverage and the Kimi output-budget correction that
653 prevents false emergency compaction (#4377, #4378)
654 - **[郝某人BH / hmr-BH](https://github.com/hmr-BH)** — native Simplified
655 Chinese review that replaced literal legal/doctrinal metaphors with clear
656 collaboration terminology across setup and `/constitution` (#4369)
657 - **[WavesMan](https://github.com/WavesMan)** — large-tree `@` completion
658 reproduction that led to bounded background discovery and exact-path
659 resolution on send (#4365)
660 - **[SamhandsomeLee](https://github.com/SamhandsomeLee)** — input-budget-aware
661 compaction work harvested from PR #4293 with co-authorship preserved
662 - **[idling11](https://github.com/idling11)** — keyboard-driven keyword search
663 for the docs and FAQ surfaces (PR #4364)
664 - **[LeoLin990405](https://github.com/LeoLin990405)** — initial bounded
665 workspace-walk approach and root-cause analysis for large-tree `@` mention
666 discovery (PR #4367), harvested into the final fail-soft background
667 implementation for #4365
668 - **[octo-patch](https://github.com/octo-patch)** — MiniMax Messages provider
669 support for MiniMax-M3 and MiniMax-M2.7 across OpenAI-compatible and Messages
670 routes, regional endpoints, catalog metadata, pricing, and request coverage
671 (PR #4354)
672 - **[Wenshan Deng / findshan](https://github.com/findshan)** — original offline
673 token/cache/cost scorecard and regression gate (#3388), extended with
674 provider-aware provenance in #4335
675 - **[hongqitai](https://github.com/hongqitai)** — localization extraction and
676 English-locale enforcement that keep UI copy on the typed translation path
677 (#4225, #4194)
678 - **[nsfoxer](https://github.com/nsfoxer)** — bounded, fail-soft MCP capability
679 discovery with advertised/legacy `tools/list` handling and Unicode-safe
680 description formatting (#4308, harvested with co-authorship)
681 - **[maple / yekern](https://github.com/yekern)** — root-cause analysis and fix
682 direction for age-evicting terminal worker records from long-lived
683 sub-agent state ledgers (#4217)
684 - **[moduvoice](https://github.com/moduvoice)** — Korean (ko) UI locale with
685 full key parity and onboarding/setup wiring (PR #4347)
686 - **[qinlinwang](https://github.com/qinlinwang)** — Anthropic tool-schema
687 sanitization for top-level oneOf/anyOf/allOf failures (PR #4346)
688 - **[knqiufan](https://github.com/knqiufan)** — Anthropic cache-write token
689 pricing at published rates (PR #4348, #4318)
690 - **[Chavdar Ivanov / ci4ic4](https://github.com/ci4ic4)** — NetBSD QuickJS
691 bindgen support for codewhale-workflow-js (PR #4349)
692 - **[eugenicum](https://github.com/eugenicum)** — copy-paste rail-pollution
693 report with code-aware fix direction (#4208)
694 - **[JayBeest](https://github.com/JayBeest)** — parent
695 `--disallowed-tools` inheritance through sub-agents and Fleet workers,
696 harvested from PR #4096 with authorship preserved (#4042)
697 - **[wuisabel-gif](https://github.com/wuisabel-gif)** — move runtime-thread
698 coordination onto `parking_lot::Mutex` to remove async lock contention
699 (#4243, #4149)
700 - **[cyq1017](https://github.com/cyq1017)** — Windows Python stdio UTF-8
701 handling and richer active-tool summaries (#4281/#4202, #3818)
702
703 - **[Jeffrey Luna / Mr-Moon121](https://github.com/Mr-Moon121)** — anti-polling
704 constitution for sub-agent waiting (harvested into #4097 / PR #4229 from
705 PR #4098)
706
707 - **[MXAntian](https://github.com/MXAntian)** — persist compaction summaries
708 into thread records so `/v1` engine reloads keep compacted context (#4091)
709 - **[nightt5879](https://github.com/nightt5879)** — keep native terminal
710 selection usable when mouse capture is disabled, and advance fuzzy edit
711 matches on UTF-8 character boundaries; preserve inline skill task text in
712 PR #4372 (#4088, #4045, #3915)
713 - **[gaord](https://github.com/gaord)** — add the community-maintained
714 Codewhale for VS Code GUI frontend to the English and Chinese READMEs (#4035)
715 - **[Darrell Thomas](https://github.com/DarrellThomas)** — remove the unused
716 whale route taxonomy module and its dead tests (#4041)
717 - **[Taixin Guo](https://github.com/taixinguo)** — CJK fuzzy-edit panic report
718 and fix direction credited in the UTF-8 boundary patch (#3971, #4045)
719 - **[CCChisato](https://github.com/CCChisato)** — preserve task text when
720 sending dollar, unified-slash, and explicit skill invocations (#3915,
721 co-authored)
722 - **[Sun Zhenyuan / bistack](https://github.com/bistack)** — dynamic MCP server
723 infrastructure and approval-gated model-started MCP servers from chat
724 context (#3869, #3866, harvested with authorship preserved)
725
726 </details>
727
728 <details>
729 <summary><strong>v0.8.66 — release readiness, provider intake &amp; UI hardening</strong></summary>
730
731 The v0.8.66 release prepared the 0.8.66 package lane, hardened provider/model
732 routing and modal surfaces, advanced Hotbar/sub-agent UI reliability, and pulled
733 in several community provider and bridge contributions with release credit.
734
735 - **[lerugray](https://github.com/lerugray)** — Sakana AI Fugu provider
736 support across config, CLI, TUI provider picker, docs, and model completions
737 (#3748, harvested)
738 - **[greyfreedom](https://github.com/greyfreedom)** — read-only `/config
739 ask-rules` view for resolved ask-rule paths, status, and configured
740 tool/command/path rules (#3569, merged)
741 - **[noaft](https://github.com/noaft)** — `/links` provider docs fallback
742 update, including the current Codewhale docs URL and a Baidu Qianfan docs
743 link (#3621, harvested)
744 - **[noaft](https://github.com/noaft)** — OpenModel provider support across
745 config, CLI, TUI provider picker, docs, and registry checks (#3585,
746 harvested)
747 - **[pkeging](https://github.com/pkeging)** — original plugin manifest,
748 discovery, CLI, and MCP foundation (#3708, #3709, #3710, merged), plus WeCom
749 Bridge deployment and security documentation, including the approval-timeout
750 configuration surface (#3640, harvested)
751 - **[codepgq](https://github.com/codepgq)** — cross-client plugin-workflow
752 migration request that shaped the explicit compatibility and trust boundary
753 (#1172)
754 - **[Wenshan Deng / findshan](https://github.com/findshan)** — original offline
755 token/cache/cost scorecard and regression gate (#3388), extended with
756 provider-aware provenance in #4335
757 - **[buko](https://github.com/buko)** — precise Ctrl+O external-editor freeze
758 reproduction that shaped the terminal input-pump fix (#3657)
759 - **[cyq1017](https://github.com/cyq1017)** — sub-agent progress-event
760 headroom report that shaped the fanout reliability hardening (#3783)
761
762 </details>
763
764 <details>
765 <summary><strong>v0.8.63 — sub-agent budgets, command extraction &amp; reliability</strong></summary>
766
767
768 The v0.8.63 release hardened sub-agent fanout with token-budget governance and
769 queue-and-drain admission, split the TUI command surface into focused modules,
770 and landed reliability fixes for app-server teardown, JavaScript-execution
771 proxying, and DeepSeek thinking tool calls — alongside community contributions.
772
773 - **[donglovejava](https://github.com/donglovejava)** — per-worker sub-agent
774 token-budget enforcement, so a `token_budget`/`max_tokens` on an individual
775 `agent` call bounds that worker mid-run with a clean `budget_exhausted` stop
776 (#3321, harvested)
777 - **[cyq1017](https://github.com/cyq1017)** — `js_execution` proxy-environment
778 handling (#3331), Hugging Face API-key env in the auth probe (#3329), and Codex
779 Responses request retry (#3344) — harvested into the train
780 - **[aboimpinto](https://github.com/aboimpinto)** — FEAT-005 command extraction:
781 core/session command groups split into focused modules via `RegisterCommand`,
782 `/swarm` migration, and Gherkin acceptance coverage (#3330, merged literally
783 with authorship preserved)
784 - **[wuisabel-gif](https://github.com/wuisabel-gif)** — tear down the delegated
785 serve/app-server child process when the dispatcher exits (#3259 / #3317)
786 - **[nightt5879](https://github.com/nightt5879)** — keep the onboarding marker in
787 the codewhale home view (#3302) and branch-hygiene check hardening (#3348)
788 - **[gaord](https://github.com/gaord)** — preserve thinking/tool blocks when
789 seeding a thread from a saved session, plus Hugging Face provider env (#3329)
790 - **[greyfreedom](https://github.com/greyfreedom)** — persist ask-permission rules
791 from approvals and stabilize the CI verifier/provider-registry checks
792 - Reports that shaped fixes: **[lordwedggie](https://github.com/lordwedggie)**
793 (#3331 proxy env), **[Final527](https://github.com/Final527)** (#3240 legacy
794 state migration), **[dxfq](https://github.com/dxfq)** (#3228 sidebar default)
795
796 </details>
797
798 <details>
799 <summary><strong>v0.8.62 — provider/model routing, TOML comment preservation &amp; community closeout</strong></summary>
800
801
802 The v0.8.62 release retuned provider/model routing (GLM-5.2 as the default direct
803 Z.AI model, `type: "explore"` sub-agents defaulting to the cheaper same-family
804 sibling), added TOML comment preservation and the Codewhale-only skill discovery
805 gate, and shipped the static Linux x64 musl binary — alongside a broad community
806 closeout and a retroactive credit reconciliation pass.
807
808 - **[zlh124](https://github.com/zlh124)** — preserve user comments and formatting
809 when rewriting `config.toml`/`settings.toml`/`tui.toml` (with a malformed-file
810 fallback) and Linux build deps in the cargo install guides (#3270)
811 - **[idling11](https://github.com/idling11)** — Kimi `type:object` schema root for
812 all parameter shapes (#3281), `approval_mode` restore on Plan→Agent with a
813 wait-for-user guard (#3279), and workroom metadata draft types
814 - **[LeoLin990405](https://github.com/LeoLin990405)** — Poppler `pdftotext -v`
815 detection (#1667), session persistence before stall/cancel recovery (#2739),
816 and debounced thinking-stream re-renders (#1620)
817 - **[nightt5879](https://github.com/nightt5879)** — Codewhale-only skill discovery
818 gate (`[skills].scan_codewhale_only`) ignoring cross-tool directories (#3296) and
819 app-server no-auth loopback docs
820 - **[reidliu41](https://github.com/reidliu41)** — slash commands exposed as hotbar
821 actions (#3269)
822 - **[wavezhang](https://github.com/wavezhang)** — static Linux x64 (musl) release
823 binaries
824 - **[wuisabel-gif](https://github.com/wuisabel-gif)** — per-tool snapshot gate
825 respecting `[snapshots].enabled` (#3292) and composer history written under
826 `.codewhale`
827 - **[gaord](https://github.com/gaord)** — `workspace_follow_symlinks` setting for
828 symlink-aware tool operations with hardened path handling
829 - **[greyfreedom](https://github.com/greyfreedom)** — ask-permission rules honored
830 at runtime (#3295)
831 - **[aboimpinto](https://github.com/aboimpinto)** — EPIC-001 command-boundary
832 replay and user-registry review feedback
833 - **[h3c-hexin](https://github.com/h3c-hexin)** — volatile workspace path moved
834 out of the static system prefix (prefix-cache hygiene)
835 - **[hongchen1993](https://github.com/hongchen1993)** — heuristic-only auto routing
836 when the flash router is unavailable
837 - **[lucaszhu-hue](https://github.com/lucaszhu-hue)** — Atlas Cloud provider setup
838 docs
839 - Retroactive reconciliation (shipped earlier, credited now):
840 **[manaskarra](https://github.com/manaskarra)** / **[xfy6238](https://github.com/xfy6238)** (#1157),
841 **[djairjr](https://github.com/djairjr)** (#1309 alongside reidliu41),
842 **[Geallier](https://github.com/Geallier)** (#1470),
843 **[quentin-lian](https://github.com/quentin-lian)** / **[k0tran](https://github.com/k0tran)** (#1531 / #1992),
844 **[F1LT3R](https://github.com/F1LT3R)** (#1656),
845 **[cmyyy](https://github.com/cmyyy)** (#1842),
846 **[Final527](https://github.com/Final527)** (#3058)
847
848 </details>
849
850 <details>
851 <summary><strong>v0.8.61 — runtime control plane &amp; community closeout</strong></summary>
852
853
854 The v0.8.61 release was a community closeout: the runtime control plane, provider
855 patches, and TUI fixes landed alongside first-time and returning contributor work.
856
857 - **[idling11](https://github.com/idling11)** — DeepInfra provider support with
858 OpenAI-compatible routing and model registry entries (#3235, closes #3231)
859 - **[greyfreedom](https://github.com/greyfreedom)** — atomic ask-only
860 permission-rule persistence so an execution-policy rule survives the write
861 that triggered the prompt (#3233)
862 - **[VincentCorleone](https://github.com/VincentCorleone)** — WeChat bridge
863 (`integrations/weixin-bridge`) leveraging Feishu + Tencent OpenClaw (#3206)
864 - **[nightt5879](https://github.com/nightt5879)** — whale-accent rename (#3197)
865 and `$skillname` aliases for `/skill` activation (#3241)
866 - **[mvanhorn](https://github.com/mvanhorn)** — non-DeepSeek model pricing
867 coverage (#3201)
868 - **[cyq1017](https://github.com/cyq1017)** — Telegram polling transport
869 (#3195) and VS Code read-only API documentation (#3013)
870 - **[RobertEmprechtinger](https://github.com/RobertEmprechtinger)** — mobile
871 event history (#3220)
872 - **[gaord](https://github.com/gaord)** — runtime-API session save (#3199)
873 - **[hongchen1993](https://github.com/hongchen1993)** — `DEEPSEEK_BASE_URL` /
874 `MODEL` honored in `exec` (#3221)
875
876 </details>
877
878 <details>
879 <summary><strong>Forward track — recent v0.9 work (newest)</strong></summary>
880
881
882 - **[xyuai](https://github.com/xyuai)** — canonical Codewhale settings path,
883 provider persistence, provider picker, logout-scope, and MiMo auth cleanup
884 work (#2730, #2714, #2715, #2717, #2718)
885 - **[shenjackyuanjie](https://github.com/shenjackyuanjie)** — HarmonyOS /
886 OpenHarmony porting work and MatePad Edge validation trail (#2634)
887 - **[ousamabenyounes](https://github.com/ousamabenyounes)** — AZERTY/AltGr
888 composer shortcut fix for Windows keyboard layouts (#2863, #2867)
889 - **[reidliu41](https://github.com/reidliu41)** — hotbar action-registry
890 foundation and Ollama model-completion cleanup for the forward track (#2866,
891 #2742)
892 - **[ljm3790865](https://github.com/ljm3790865)** — multi-tab
893 core/persistence foundation and broader tab collaboration direction (#2864,
894 #2753)
895 - **[sximelon](https://github.com/sximelon)** — saved-session resume footer
896 hint work plus provider-trait metadata registry direction reviewed and
897 harvested for the forward track (#2758, #2760, #2479)
898 - **[aboimpinto](https://github.com/aboimpinto)** — sidebar command polish and
899 pausable custom-command lifecycle direction harvested into the forward track,
900 plus the directly merged command-support boundary cleanup and broader command
901 layer design direction (#2788, #2732, #2871, #2851, #2791)
902 - **[AdityaVG13](https://github.com/AdityaVG13)** — Workflow orchestration
903 and cost-tracking drafts that shaped the maintained workflow IR and
904 TraceStore foundation (#2482, #2486)
905 - **[lbcheng888](https://github.com/lbcheng888)**,
906 **[AiurArtanis](https://github.com/AiurArtanis)**, and
907 **[nasus9527](https://github.com/nasus9527)** — VS Code extension scaffold
908 direction, Agent View request, and IDE plugin request that shaped the
909 official Phase 0 extension (#1022, #1584, #2580)
910 - **[HUQIANTAO](https://github.com/HUQIANTAO)** — `web_run` cache-state
911 lock-splitting, turn-metadata prefix-cache stability, and project-context
912 cache work (#2502, #2517, #2636)
913 - **[idling11](https://github.com/idling11)** — PlanArtifact continuity,
914 dense tool-call transcript collapse, sidebar detail popovers, and
915 HarnessPosture provider/model policy direction (#2733, #2738, #2734,
916 #2741, #2692, #2694, #2693)
917 - **[h3c-hexin](https://github.com/h3c-hexin)** — sub-agent model inheritance,
918 configured `skills_dir` discovery, prompt-environment stability, and static
919 prompt composer direction (#2736, #2737, #2786)
920 - **[gaord](https://github.com/gaord)** — runtime thread workspace updates and
921 completed-thread saved-session API work (#2640, #2639)
922 - **[cyq1017](https://github.com/cyq1017)** — trusted workspace MCP config,
923 provider auth rollback, custom search endpoint, custom completion sound,
924 restore-listing, and pending-input delivery-mode label work (#2751, #2755,
925 #2510, #2512, #2513, #2532, #2054)
926 - **[yusufgurdogan](https://github.com/yusufgurdogan)** — Sofya search
927 provider implementation harvested as a non-default search backend (#2790)
928 - **[LeoAlex0](https://github.com/LeoAlex0)** — runtime prompt metadata cache
929 direction harvested into the maintained prompt/cache path (#2687);
930 `allow_shell` prefix-cache decoupling and `visibility="internal"`
931 explanation for mode-flip stability (#2949, #2951)
932 - **[hongchen1993](https://github.com/hongchen1993)** — Volcengine provider
933 in TUI dispatcher and dispatcher API-key preference (#2923, #2928)
934 - **[NASLXTO](https://github.com/NASLXTO)** and
935 **[wuxixing](https://github.com/wuxixing)** — large-workspace startup
936 reports that shaped the bounded project-context fallback (#697, #1827)
937 - **[shuxiangxuebiancheng](https://github.com/shuxiangxuebiancheng)**,
938 **[hongqitai](https://github.com/hongqitai)**, and
939 **[cyq1017](https://github.com/cyq1017)** — third-party
940 OpenAI-compatible path-suffix report and follow-up review trail (#1874,
941 #2508, #2506)
942
943
944 </details>
945
946 <details>
947 <summary><strong>Recurring &amp; historical contributors</strong></summary>
948
949
950 - **[merchloubna70-dot](https://github.com/merchloubna70-dot)** — 28 PRs spanning features, fixes, and VS Code extension scaffolding (#645–#681)
951 - **[WyxBUPT-22](https://github.com/WyxBUPT-22)** — Markdown rendering for tables, bold/italic, and horizontal rules (#579)
952 - **[loongmiaow-pixel](https://github.com/loongmiaow-pixel)** — Windows + China install documentation (#578)
953 - **[20bytes](https://github.com/20bytes)** — User memory docs and help polish (#569)
954 - **[staryxchen](https://github.com/staryxchen)** — glibc compatibility preflight (#556)
955 - **[Vishnu1837](https://github.com/Vishnu1837)** — glibc compatibility improvements and terminal restoration on SIGINT/SIGTERM (#565, #1586)
956 - **[shentoumengxin](https://github.com/shentoumengxin)** — Shell `cwd` boundary validation (#524)
957 - **[toi500](https://github.com/toi500)** — Windows paste fix report
958 - **[xsstomy](https://github.com/xsstomy)** — Terminal startup repaint report
959 - **[melody0709](https://github.com/melody0709)** — Slash-prefix Enter activation report
960 - **[lloydzhou](https://github.com/lloydzhou)** and **[jeoor](https://github.com/jeoor)** — Compaction cost reports; lloydzhou also contributed deterministic environment context (#813, #922) and KV prefix-cache stabilisation (#1080)
961 - **[Agent-Skill-007](https://github.com/Agent-Skill-007)** — README clarity pass (#685)
962 - **[woyxiang](https://github.com/woyxiang)** — Windows install documentation (#696)
963 - **[wangfeng](mailto:wangfengcsu@qq.com)** — Pricing/discount info update (#692)
964 - **[zichen0116](https://github.com/zichen0116)** — CODE_OF_CONDUCT.md (#686)
965 - **[dfwqdyl-ui](https://github.com/dfwqdyl-ui)** — model ID case-sensitivity compatibility report (#729)
966 - **[Oliver-ZPLiu](https://github.com/Oliver-ZPLiu)** — stale `working...` state bug report, Windows clipboard fallback, MCP Streamable HTTP session fixes, and Homebrew tap automation (#738, #850, #1643, #1631)
967 - **[reidliu41](https://github.com/reidliu41)** — resume hint, workspace trust persistence, Ollama provider support, thinking-block stream finalization, CI cache hardening, streaming wrap, and DeepSeek model completions (#863, #870, #921, #1078, #1603, #1628, #1601)
968 - **[xieshutao](https://github.com/xieshutao)** — plain Markdown skill fallback (#869)
969 - **[GK012](https://github.com/GK012)** — npm wrapper `--version` fallback (#885)
970 - **[y0sif](https://github.com/y0sif)** — parent turn-loop wakeup after direct child sub-agent completion (#901)
971 - **[mac119](https://github.com/mac119)** and **[leo119](https://github.com/leo119)** — `codewhale update` command documentation (#838, #917)
972 - **[dumbjack](https://github.com/dumbjack)** / **浩淼的mac** — command-safety null-byte hardening (#706, #918)
973 - **macworkers** — fork confirmation with the new session id (#600, #919)
974 - **zero** and **[zerx-lab](https://github.com/zerx-lab)** — notification condition config and richer OSC 9 notification body (#820, #920)
975 - **[chnjames](https://github.com/chnjames)** — cached @mention completions, config recovery polish, and Windows UTF-8 shell output (#849, #927, #982, #1018)
976 - **[angziii](https://github.com/angziii)** — config safety, async cleanup, Docker hardening, and command-safety fixes (#822, #824, #827, #831, #833, #835, #837)
977 - **[elowen53](https://github.com/elowen53)** — UTF-8 decoding and deterministic test coverage (#825, #840)
978 - **[wdw8276](https://github.com/wdw8276)** — `/rename` command for custom session titles (#836)
979 - **[banqii](https://github.com/banqii)** — `.cursor/skills` discovery path support (#817)
980 - **[junskyeed](https://github.com/junskyeed)** — dynamic `max_tokens` calculation for API requests (#826)
981 - **Hafeez Pizofreude** — SSRF protection in `fetch_url` and Star History chart
982 - **Unic (YuniqueUnic)** — Schema-driven config UI (TUI + web)
983 - **Jason** — SSRF security hardening
984 - **[axobase001](https://github.com/axobase001)** — snapshot orphan cleanup, npm install guards, session telemetry fixes, model-scope cache clear, symlinked skill support, npm mirror-escape-hatch guidance, proxy preservation for child tasks, mobile runtime control, Docker toolbox docs, large-output receipts, and activity detail context (#975, #1032, #1047, #1049, #1052, #1019, #1051, #1056, #1608, #1968, #2296, #2297, #2298)
985 - **[MengZ-super](https://github.com/MengZ-super)** — `/theme` command foundation and SSE gzip/brotli decompression (#1057, #1061)
986 - **[DI-HUO-MING-YI](https://github.com/DI-HUO-MING-YI)** — Plan-mode read-only sandbox safety fix (#1077)
987 - **[bevis-wong](https://github.com/bevis-wong)** — precise paste-Enter auto-submit reproducer (#1073)
988 - **[Duducoco](https://github.com/Duducoco)** and **[AlphaGogoo](https://github.com/AlphaGogoo)** — skills slash-menu and `/skills` coverage fix (#1068, #1083)
989 - **[ArronAI007](https://github.com/ArronAI007)** — window-resize artifact fix for macOS Terminal.app and ConHost (#993)
990 - **[THINKER-ONLY](https://github.com/THINKER-ONLY)** — OpenRouter and custom-endpoint model-ID preservation (#1066)
991 - **[Jefsky](https://github.com/Jefsky)** — DeepSeek endpoint correction report (#1079, #1084)
992 - **[wlon](https://github.com/wlon)** — NVIDIA NIM provider API-key preference diagnosis (#1081)
993 - **[Horace Liu](https://github.com/liuhq)** — Nix package support and install documentation (#1173)
994 - **[jieshu666](https://github.com/jieshu666)** — terminal repaint flicker reduction (#1563)
995 - **[gordonlu](https://github.com/gordonlu)** — Windows Enter / CSI-u input fix, status picker localization (7 MessageIds), approval dialog localization across 7 locales, and mode picker + composer Vim indicator localization across 7 locales (#1612, #2896, #2891, #2239)
996 - **[mdrkrg](https://github.com/mdrkrg)** — first-run onboarding crash fix when the API key is missing (#1598)
997 - **[Aitensa](https://github.com/Aitensa)** — CJK wrapping propagation for diff and pager output (#1622)
998 - **[qiyan233](https://github.com/qiyan233)** — legacy DeepSeek CN provider alias compatibility (#1645)
999 - **[zlh124](https://github.com/zlh124)** — WSL2/headless startup report, clipboard-init fix, Codewhale tab-title polish, localized context-menu labels, and approval-dialog fixes (#1772, #1773, #2319, #2320, #2325)
1000 - **[aboimpinto](https://github.com/aboimpinto)** — Windows alt-screen
1001 logging, Home/End composer, runtime log follow-ups, sidebar command polish,
1002 and pausable command lifecycle work (#1774, #1776, #1748, #1749, #1782,
1003 #1783, #2788, #2732)
1004 - **[LeoLin990405](https://github.com/LeoLin990405)** — provider model passthrough, reasoning replay, thinking-only turn, and Windows quoting fixes (#1740, #1743, #1742, #1744)
1005 - **[nightt5879](https://github.com/nightt5879)** — Ctrl+C prompt restore, provider registry drift docs, tool-search defaults, footer git branch display, and startup prompt interactivity (#1764, #2274, #2344, #2347, #2373)
1006 - **[donglovejava](https://github.com/donglovejava)** — paste @file consolidation, CJK panic fix, user feedback, RLM routing, edit_file retry, hidden-worktree discovery skip, IME composer routing, and eager shell companion tools (#2154-#2168, #2302, #2329, #2330, #2331)
1007 - **[encyc](https://github.com/encyc)** — session token breakdown in footer and `/status` (#2152)
1008 - **[saieswar237](https://github.com/saieswar237)** — review pipeline docs (#2178)
1009 - **[sximelon](https://github.com/sximelon)** — paste Enter suppression, key handler extraction (#2174, #2042)
1010 - **[nanookclaw](https://github.com/nanookclaw)** — search provider in doctor output (#2135)
1011 - **[Sskift](https://github.com/Sskift)** — CLI default env override prevention and statusline footer clearing (#2119, #2248)
1012 - **[xin1104](https://github.com/xin1104)** — Homebrew codewhale binary install (#2105)
1013 - **[mrluanma](https://github.com/mrluanma)** — Metaso search provider (#2059)
1014 - **[Lellansin](https://github.com/Lellansin)** — skip config merge at home dir (#2055)
1015 - **[zhuangbiaowei](https://github.com/zhuangbiaowei)** — update release channels and legacy MCP SSE fixes (#2145, #2301)
1016 - **[cy2311](https://github.com/cy2311)** — Windows `.bat` launcher for Codewhale (#1861)
1017 - **[LING71671](https://github.com/LING71671)** — effective cost currency context, custom provider docs, and core tool taxonomy prompt block (#1902, #2287, #2292)
1018 - **[dzyuan](https://github.com/dzyuan)** — Volcengine provider support with DeepSeek V4 Pro/Flash models (#1993)
1019 - **[mvanhorn](https://github.com/mvanhorn)** — live request-shape test factories and global `~/.agents/AGENTS.md` fallback (#2107, #2236)
1020 - **[malsony](https://github.com/malsony)** — Matrix-inspired theme and theme picker improvements (#2129)
1021 - **[gaord](https://github.com/gaord)** — external GUI runtime event bridge, session detail serialization, and skills API discovery alignment (#2133, #2265, #2285)
1022 - **[yuanchenglu](https://github.com/yuanchenglu)** — Feishu per-chat model switching (#2149)
1023 - **[HUQIANTAO](https://github.com/HUQIANTAO)** — Xiaomi balance/status work, stalled-turn recovery, approval intent summaries, mobile smoke/QR support, Claude theme, and broad docs/test/CI coverage (#2257, #2267, #2283, #2384, #2385, #2389, #2403, #2440-#2458, #2460)
1024 - **[h3c-hexin](https://github.com/h3c-hexin)** — web-search URL decoding, prompt/instructions override hooks, sub-agent guidance, SSRF fake-IP trust configuration, and prompt-cache-friendly environment placement (#2245, #2311, #2313, #2314, #2354, #2355, #2356)
1025 - **[tdccccc](https://github.com/tdccccc)** — approval prompt key-detail and shell-preview work harvested into the maintained approval path (#1991, #2269)
1026 - **[AresNing](https://github.com/AresNing)** — first-run guide, message-submit hook transform design, and turn-end observer hook work harvested into the maintained hooks path (#2278, #2318, #2434, #2578)
1027 - **[Implementist](https://github.com/Implementist)** — Volcengine Ark search provider and reliability hardening (#2426, #2429, #2439)
1028 - **[lihuan215](https://github.com/lihuan215)** — Unix socket hook sink design harvested into the opt-in hook event path (#2333, #2430)
1029 - **[AdityaVG13](https://github.com/AdityaVG13)** — Xiaomi MiMo provider support (#2246)
1030 - **[New2Niu](https://github.com/New2Niu)** — macOS display notifications (#2260)
1031 - **[AiurArtanis](https://github.com/AiurArtanis)** — Solarized Light theme and
1032 canonical-background regression report (#2270, #4457)
1033 - **[Lee-take](https://github.com/Lee-take)** — task migration and session environment isolation fixes (#2272)
1034 - **[LeoAlex0](https://github.com/LeoAlex0)** — session persistence fixes for message counts and tool-output cache preservation (#2388, #2395)
1035 - **[jimmyzhuu](https://github.com/jimmyzhuu)** — Baidu AI Search backend for `web_search` (#2371)
1036 - **[rockyzhang](https://github.com/rockyzhang)** — RISC-V prebuilt binary support (#2383)
1037 - **[mo-vic](https://github.com/mo-vic)** — `/purge` slash command for agent-driven context pruning (#2387)
1038 - **[hufanexplore](https://github.com/hufanexplore)** — Java and Vue language-server defaults (#2367)
1039 - **[hoclaptrinh33](https://github.com/hoclaptrinh33)** — Vietnamese localization support (#2358)
1040 - **[AccMoment](https://github.com/AccMoment)** — proxy option for the update command (#2281)
1041 - **[idling11](https://github.com/idling11)** — durable debt ledger and `/hunt` rename/trophy-card work (#2161, #2306)
1042 - **[cyq1017](https://github.com/cyq1017)** — runtime event envelope, render-diff debug logging, and deterministic composer history flushing (#2252, #2332, #2375)
1043 - **[hongqitai](https://github.com/hongqitai)** — state schema parent-entry support and clippy/fmt cleanup (#2308, #2432)
1044 - **[BryonGo](https://github.com/BryonGo)** — effective-model compaction budgeting fix (#2437)
1045 - **[xyuai](https://github.com/xyuai)** — provider persistence to config, /logout scope clarification, provider picker key replacement shortcut, MiMo auth state cleanup (#2714, #2715, #2717, #2718)
1046 - **[RefuseOdd](https://github.com/RefuseOdd)** — configurable `path_suffix` for OpenAI-compatible endpoints (#2558)
1047
1048
1049 </details>
1050
1051 <details>
1052 <summary><strong>v0.8.48 — reports, repros &amp; verification (earliest listed)</strong></summary>
1053
1054 Reports, repros, and verification that shaped v0.8.48 also deserve visible
1055 credit: **[@buko](https://github.com/buko)**, **[@yyyCode](https://github.com/yyyCode)**,
1056 **[@gaslebinh-glitch](https://github.com/gaslebinh-glitch)**, **[@Dr3259](https://github.com/Dr3259)**,
1057 **[@lpeng1711694086-lang](https://github.com/lpeng1711694086-lang)**, **[@VerrPower](https://github.com/VerrPower)**,
1058 **[@yan-zay](https://github.com/yan-zay)**, **[@jretz](https://github.com/jretz)**,
1059 **[@Neo-millunnium](https://github.com/Neo-millunnium)**, **[@caeserchen](https://github.com/caeserchen)**,
1060 **[@T-Phuong-Nguyen](https://github.com/T-Phuong-Nguyen)**, **[@zhyuzhyu](https://github.com/zhyuzhyu)**,
1061 **[@0gl20shk0sbt36](https://github.com/0gl20shk0sbt36)**, **[@hatakes](https://github.com/hatakes)**,
1062 **[@goodvecn-dev](https://github.com/goodvecn-dev)**, **[@bevis-wong](https://github.com/bevis-wong)**,
1063 **[@PurplePulse](https://github.com/PurplePulse)**, and **[@nbiish](https://github.com/nbiish)**.
1064
1065 ---
1066
1067 </details>
1068
1069 <details>
1070 <summary><strong>Reconciled credits — earlier contributors restored to the record</strong></summary>
1071
1072 A credit-reconciliation pass mapped every shipped commit author to a GitHub
1073 handle and found these contributors whose merged work was not yet listed here or
1074 in the changelog. Restoring them with thanks — every one shipped real code.
1075
1076 - **[MoriTang](https://github.com/MoriTang)** — account balance status-bar item, with a request timeout, reused HTTP client, stale-balance-on-failure handling, and DeepSeek-gated display
1077 - **[mars-base](https://github.com/mars-base)** — session title shown in the composer border and `gh` discovery across common install paths (#836)
1078 - **[Giggitycountless](https://github.com/Giggitycountless)** — auto-add `.deepseek/` to `.gitignore`, gitignore-check robustness, and `/clear` resetting the Todos panel
1079 - **[Inference1](https://github.com/Inference1)** — vLLM provider support, README pricing/structure clarity, and the Model Studio reasoning route guard: a fail-closed host check so Alibaba's `enable_thinking` never reaches a custom gateway, plus catching that Codewhale was sending a disable switch to the always-thinking `qwen3.8-max` (#737, #776, #5233)
1080 - **[membphis](https://github.com/membphis)** — bordered Markdown table rendering and Shift+Enter newline in the composer (#801)
1081 - **[JasonOA888](https://github.com/JasonOA888)** — `web_run` network-policy enforcement and refusing to snapshot `$HOME` (#798, #800)
1082 - **[tuohai666](https://github.com/tuohai666)** — recursive skills-directory reading plus hook-dispatch and approval-branch test coverage (#811)
1083 - **[xuezhaoyu](https://github.com/xuezhaoyu)** — DEC 2026 synchronized-update flicker fix for GPU terminals, guaranteeing `END_SYNC_UPDATE` even when a draw fails
1084 - **[manaskarra](https://github.com/manaskarra)** — global `~/.deepseek/AGENTS.md` fallback loading (#1157)
1085 - **[gerryqi](https://github.com/gerryqi)** — wrap fire-and-forget `spawn_blocking` calls with a panic dump (#810)
1086 - **[ccomma](https://github.com/ccomma)** — skip snapshots for dangerous workspaces (#804)
1087 - **[AGSaturn](https://github.com/AGSaturn)** — preserve requested model-ID casing in registry resolution (#733)
1088 - **[wucm667](https://github.com/wucm667)** — accept provider-prefixed DeepSeek model IDs (#794)
1089 - **[quentin-lian](https://github.com/quentin-lian)** — portable-pty 0.9 upgrade for LoongArch64 support (#1992)
1090 - **[Beltran12138](https://github.com/Beltran12138)** — treat `deepseek-chat` / `deepseek-reasoner` aliases as reasoning models
1091 - **[chuntseevolving](https://github.com/chuntseevolving)** — send `TurnStarted` before snapshot to prevent WSL2 timeout
1092 - **[lawrencewzen](https://github.com/lawrencewzen)** — preserve UTF-8 while stripping ANSI
1093 - **[hhhaiai](https://github.com/hhhaiai)** — keep workspace skills visible when the prompt budget truncates
1094 - **[khalid-hungerstation](https://github.com/khalid-hungerstation)** — bundle the delegate skill alongside skill-creator
1095 - **[Anyexyz](https://github.com/Anyexyz)** — GitHub Actions workflow to sync with the CNB repo
1096 - **[nightfallsad](https://github.com/nightfallsad)** — clearer `/continue` hint copy
1097 - **[zxyasfas](https://github.com/zxyasfas)** — align Rust MSRV references with the workspace (#739)
1098
1099 _A follow-up audit of harvested commits (work reimplemented onto a maintainer
1100 branch rather than merged) surfaced contributors whose machine-readable credit
1101 was dropped. Restoring them here — every one shipped real code:_
1102
1103 - **[CrepuscularIRIS](https://github.com/CrepuscularIRIS)** — OpenHarmony→Linux npm binary mapping, O(1) job-panel refresh, file-mention UTF-8 boundary safety, Kitty keyboard protocol on Windows, and auto low-motion under Termius/SSH (#1479, #1483, #1494, #1495, #1499, #1475)
1104 - **[MMMarcinho](https://github.com/MMMarcinho)** — `image_analyze` vision tool (#1467)
1105 - **[MeAiRobot](https://github.com/MeAiRobot)** — toast-stack overlay z-order fix (#1485)
1106 - **[NorethSea](https://github.com/NorethSea)** — `update` refreshing the sibling TUI binary (#1492)
1107 - **[SamhandsomeLee](https://github.com/SamhandsomeLee)** — bundled
1108 v4-best-practices skill (#1448) and input-budget-aware compaction trigger
1109 (#4293)
1110 - **[YaYII](https://github.com/YaYII)** — opt-in `/translate` command (#1462)
1111 - **[sandofree](https://github.com/sandofree)** — Tavily and Bocha `web_search` backends (#1294)
1112 - **[tiger-dog](https://github.com/tiger-dog)** — approval one-line banner and Markdown underscore handling (#1455)
1113 - **[Jianfengwu2024](https://github.com/Jianfengwu2024)** — preserving MSVC toolchain vars in the child environment (#1487)
1114 - **[wplll](https://github.com/wplll)** — prompt-cache warmup keys, tool-catalog handling, a dedup test, and pack ordering (#2390, #2391, #2392, #2393)
1115
1116 Additional harvested PRs from the same audit, credited to contributors already
1117 listed above: **[axobase001](https://github.com/axobase001)** (#2400, #2405, #2406, #2407, #2408, #2415), **[cyq1017](https://github.com/cyq1017)** (#2516, #2534, #2540), **[Oliver-ZPLiu](https://github.com/Oliver-ZPLiu)** (#1451, #1456), **[reidliu41](https://github.com/reidliu41)** (#1444, #1493), **[lucaszhu-hue](https://github.com/lucaszhu-hue)** (#1436, #2343), **[h3c-hexin](https://github.com/h3c-hexin)** (#1480), **[Duducoco](https://github.com/Duducoco)** (#1345), **[zhuangbiaowei](https://github.com/zhuangbiaowei)** (#1416), **[wdw8276](https://github.com/wdw8276)** (#1498), and **[buko](https://github.com/buko)** (#2377).
1118
1119 _A further machine-credit pass restored these contributors, missing from both the
1120 list above and the contribution graph (AUTHOR_MAP entries added; logins/IDs
1121 verified against the GitHub user API) — every one shipped real code:_
1122
1123 - **[1Git2Clone](https://github.com/1Git2Clone)** — `Ctrl+P`/`Ctrl+N` slash-menu navigation
1124 - **[rockeverm3m](https://github.com/rockeverm3m)** — community ACP adapter reference in the docs
1125 - **[hxy91819](https://github.com/hxy91819)** — stable MCP tool ordering for prefix-cache stability (#1319)
1126 - **[heloanc](https://github.com/heloanc)** — Home/End keys moving the cursor in the input box (#1246)
1127
1128 **Earlier reports, proposals and reviewed overlap**
1129
1130 - **[dajiaohuang](https://github.com/dajiaohuang)** — independently diagnosed the local-model output-budget problem and submitted a reviewed patch; equivalent behavior had already shipped ([#5883](https://github.com/codewhale-hq/Codewhale/pull/5883)).
1131 - **[Edouard-Legoupil](https://github.com/Edouard-Legoupil)** — proposed user-controlled skill evolution from repeated work and corrections ([#5860](https://github.com/codewhale-hq/Codewhale/issues/5860)).
1132 - **[freedomlovesfrank](https://github.com/freedomlovesfrank)** — proposed an optional Rust allocator alongside the existing default ([#5872](https://github.com/codewhale-hq/Codewhale/issues/5872)).
1133 - **[zyxrealhero](https://github.com/zyxrealhero)** — reported malformed tool-call history after a Runtime restart, with a reproduction and payload analysis ([#5823](https://github.com/codewhale-hq/Codewhale/issues/5823)).
1134 - **[cmdcorp6534](https://github.com/cmdcorp6534)** — reported Chinese IME pre-edit and composer behavior in Windows Terminal, including input shown behind modal dialogs ([#2323](https://github.com/codewhale-hq/Codewhale/issues/2323)).
1135 - **[ivysrono](https://github.com/ivysrono)** — proposed switching to a configured backup profile after provider rate-limit errors ([#855](https://github.com/codewhale-hq/Codewhale/issues/855)).
1136 - **[JoeKerF](https://github.com/JoeKerF)** — proposed desktop project and task workflows with managed runtime startup, recovery, and updates ([#4986](https://github.com/codewhale-hq/Codewhale/issues/4986)).
1137 - **[ShikiSuen](https://github.com/ShikiSuen)** — provided a detailed reproduction of SwiftPM test failures inside the macOS sandbox ([#2617](https://github.com/codewhale-hq/Codewhale/issues/2617)).
1138
1139 </details>
1140
1141 ---
1142
1143 Missed someone? Open an issue or PR — credit is kept current, and names are happily added. See [CONTRIBUTING.md](../CONTRIBUTING.md) to get started.
1144
1144 lines MARKDOWN