@@ -7,7 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77
88## [ Unreleased]
99
10- ## [ 0.9.9] - 2026-08-17
10+ ## [ 0.9.9] - 2026-08-18
1111
1212Codewhale v0.9.9 is a truth-and-resilience release: the shell tool can no
1313longer wedge a session when the host runs out of disk or descriptors,
@@ -126,6 +126,11 @@ locales grow to 18 and 8.
126126- CI: the release workflows no longer restore npm/cargo caches after
127127 checking out a caller-supplied SHA — the CodeQL cache-poisoning Highs
128128 #88 –#107 are closed with a contract test over the workflow files (#5463 ).
129+ - Compact TUI rows below 60 columns no longer reserve a hidden session-metrics
130+ strip, so narrow terminals reclaim the row instead of clipping the
131+ transcript (#5486 ).
132+ - Strict ` cargo doc ` builds no longer fail on bare URLs in rustdoc comments;
133+ the remaining links are explicit Markdown targets (#5489 ).
129134
130135### Changed
131136
@@ -148,6 +153,23 @@ locales grow to 18 and 8.
148153 now wraps at the full content width on wide terminals, matching
149154 tool/status cells, instead of stopping at a 105-column rail that left a
150155 dead right margin on ultrawide displays (#5436 ).
156+ - Configured skill prompts are stable across session roots and operating
157+ systems: only custom configured roots hide their physical path, ordinary
158+ workspace/global skills keep a discoverable privacy-safe path, warning
159+ replacements are boundary-aware (including non-UTF-8 Unix paths), and
160+ Windows separators render as ` / ` . The skills prompt is also 50 bytes
161+ leaner without raising a runtime-contract ceiling (#5492 , #5473 ).
162+ - Auto-router classifier requests accept ` [auto.router] timeout_secs ` , while
163+ preserving the existing default when the key is absent (#5494 ).
164+ - Every ` ci.yml ` job now has an explicit 10–90 minute timeout appropriate to
165+ its workload, bounding stale assigned runners instead of inheriting
166+ GitHub's six-hour default (#5495 ).
167+ - The docs shell and shared web components now route localized copy through
168+ the typed dictionary spine; these are two incremental phases of #5337 ,
169+ not completion of the full epic (#5488 , #5490 ).
170+ - Dependency: rusqlite 0.40.2 (#5391 ).
171+ - Documentation: stale A/B/C-tier references, provider defaults, module
172+ descriptions, and line anchors now match the current code (#5481 ).
151173
152174### Added
153175
@@ -188,6 +210,9 @@ locales grow to 18 and 8.
188210- Tests: ` crates/tui/tests/README.md ` states the keyless assembled-journey
189211 rule and maps the Auto-Review guardian acceptance items to the engine
190212 journeys that exercise them (#5361 ).
213+ - OrcaRouter's default endpoint is classified as an aggregator billing
214+ surface, so pricing and session-cost reporting use the correct billing
215+ posture instead of treating it as a first-party provider (#5493 ).
191216- Dependencies: ratatui 0.30.2, thiserror 2.0.20.
192217
193218### Removed
@@ -200,7 +225,10 @@ locales grow to 18 and 8.
200225- hexin (@h3c-hexin ) — a concrete route/offering output limit outranks the
201226 8,192-token compatibility guess for an uncatalogued model (#5461 , closes
202227 #5460 ); web tool results use the noisy soft limit (#5474 ); owned direct
203- model casing resolves safely (#5475 ).
228+ model casing resolves safely (#5475 ); and configured-skill prompts stay
229+ stable across ephemeral roots and operating systems (#5492 , #5473 ).
230+ - Gabriel-Degret (@Gabriel-Degret ) — configurable auto-router classifier
231+ timeout (#5494 ; first contribution).
204232- @asto18089 — diagnosed the Z.ai ` glm-5.2 ` casing collision and wrote the
205233 first provider-scoped fix in Pinvou/CodeWhale #14 (carried upstream in
206234 #5475 ).
0 commit comments