@@ -7,6 +7,82 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77
88## [ Unreleased]
99
10+ ## [ 0.8.58] - 2026-06-11
11+
12+ ### Added
13+
14+ - ** Native Anthropic provider.** A dedicated Messages API adapter
15+ (` /v1/messages ` with ` x-api-key ` auth) replaces OpenAI-dialect shims for
16+ Claude models: adaptive thinking with ` output_config.effort ` shaping,
17+ prompt-cache breakpoints (capped at 4, earliest dropped), signed-thinking
18+ replay via ` signature_delta ` , normalized cache-hit/miss usage telemetry,
19+ and SSE error envelopes. ` claude-opus-4-8 ` , ` claude-sonnet-4-6 ` , and
20+ ` claude-haiku-4-5 ` join the model registry; configure with
21+ ` ANTHROPIC_API_KEY ` (#3014 ).
22+ - ** Hooks v2.** ` tool_call_before ` hooks can now return a JSON decision —
23+ `{"decision": "allow"|"deny"|"ask", "reason", "updatedInput",
24+ "additionalContext"}` — with deny > ask > allow precedence across multiple
25+ hooks, last-writer-wins input rewriting, and concatenated context. Exit
26+ code 2 remains a legacy hard deny. Hooks support glob matchers and
27+ project-local ` .codewhale/hooks.toml ` (#3026 ).
28+ - ** Clickable sidebar.** Background-job rows show/cancel on click, the
29+ Ctrl+K hint row runs ` /jobs cancel-all ` , and agent rows open ` /subagents ` ;
30+ row actions are built in the same pass as the rendered lines so a click
31+ can never target the wrong job (#3028 ).
32+ - OSC 8 out-of-band hyperlink infrastructure with per-region open/close
33+ sequences that survive partial redraws (#3029 ).
34+ - ` codewhale exec ` gains ` --allowed-tools ` , ` --disallowed-tools ` (deny wins),
35+ ` --max-turns ` , and ` --append-system-prompt ` (#3027 ).
36+ - Constitution prompt source: YAML source-of-truth plus Python renderer for
37+ the system prompt, with the active prompt now served from
38+ ` constitution.md ` (#3015 , renderer reconciliation still tracked).
39+ - Agent-task issue template, labels, and runner protocol (#3021 ); remote
40+ smoke-test droplet loop hardening — gh CLI, swapfile, agent sessions
41+ (#3022 ).
42+
43+ ### Changed
44+
45+ - ** Sub-agent routing is provider-aware.** DeepSeek ids are no longer
46+ hardcoded into model validation; routing works from per-provider
47+ big/cheap candidates, the network router is skipped when a provider has
48+ no cheap tier, and spawn-time model requests are validated against the
49+ active provider (#3018 ).
50+ - Model-specific facts in the system prompt (context window, sub-agent
51+ pricing, thinking notes, architecture characteristics) are now templated
52+ per-model instead of hardcoded DeepSeek V4 claims, in both ` base.md ` and
53+ ` constitution.md ` (#3025 ).
54+ - Provider capability lookups for Moonshot/OpenAI/Atlascloud resolve from
55+ per-model registry rows (bare and vendor-prefixed ids) instead of
56+ hardcoded 64K-era floors (#3023 ).
57+ - Reasoning-effort now reaches Atlascloud (DeepSeek dialect), Moonshot
58+ (` thinking ` enable/disable), and Ollama (` think ` param) (#3024 ); Moonshot/
59+ Kimi models joined the reasoning-content provider and model gates (#3016 ).
60+ - Transcript polish: compact tool-call cells without boilerplate (#3031 ),
61+ internal turn/agent ids hidden behind stable labels (#3030 ), and Ctrl+B
62+ now backgrounds the running foreground shell directly instead of opening
63+ a menu (#3032 ).
64+ - The Tasks sidebar separates "Model reasoning" from "Background commands",
65+ and ` auth list ` reports the same active-credential source as
66+ ` auth status ` for openai-codex.
67+
68+ ### Fixed
69+
70+ - ** TUI freeze under sub-agent load.** Rapid ` AgentProgress ` events
71+ saturated the render loop and starved terminal input; progress-driven
72+ repaints are now throttled to one per 100ms (#3033 ).
73+ - ** Hooks on Windows.** Hook commands were passed to ` cmd /C ` through
74+ CRT-style argument quoting, which injected literal ` \" ` sequences that
75+ cmd.exe never unescapes — JSON decisions could not parse. Commands now
76+ reach cmd.exe verbatim via ` raw_arg ` .
77+ - Codex Responses: assistant tool results are converted to
78+ ` function_call_output ` items (multi-turn tool calling previously broke),
79+ tool schemas are sanitized for the Responses API, and ` maximum ` effort
80+ maps to ` xhigh ` (#3019 , #3017 — both partially; retry/backoff and
81+ per-tool strict mode remain open).
82+ - Better tool-denial and provider error messages harvested from PR #2933
83+ (#3020 ).
84+
85+
1086## [ 0.8.57] - 2026-06-10
1187
1288### Added
@@ -1636,7 +1712,8 @@ overflow report and `/theme` picker edge-wrapping patch in #1814.
16361712
16371713Older releases (v0.8.39 and earlier) are archived in [ docs/CHANGELOG_ARCHIVE.md] ( docs/CHANGELOG_ARCHIVE.md ) .
16381714
1639- [ Unreleased ] : https://github.com/Hmbown/CodeWhale/compare/v0.8.57...HEAD
1715+ [ Unreleased ] : https://github.com/Hmbown/CodeWhale/compare/v0.8.58...HEAD
1716+ [ 0.8.58 ] : https://github.com/Hmbown/CodeWhale/compare/v0.8.57...v0.8.58
16401717[ 0.8.57 ] : https://github.com/Hmbown/CodeWhale/compare/v0.8.56...v0.8.57
16411718[ 0.8.56 ] : https://github.com/Hmbown/CodeWhale/compare/v0.8.55...v0.8.56
16421719[ 0.8.55 ] : https://github.com/Hmbown/CodeWhale/compare/v0.8.54...v0.8.55
0 commit comments