Releases
v0.27.0
Compare
Sorry, something went wrong.
No results found
0.27.0 (2026-06-22)
Features
cli: add headroom doctor setup diagnostics (#926 ) (e45cf4e )
cli: add headroom update command and release banner (#1088 ) (26be2c3 )
compression extraction — Rust knob exposure, CCR hardening, traffic audits (#818 ) (b7be381 )
measure and surface token throughput (tokens/sec) through the proxy (#983 ) (0d89c67 )
output-token reduction — verbosity shaper, per-user learning, counterfactual savings (#965 ) (a99dc61 )
policy: decay P_alive from idle time near cache TTL (#856 P3b) (#1028 ) (fe4f9ee )
providers: add Cortex Code (Snowflake CoCo) as a supported agent (#1190 ) (d9d0bf4 )
proxy: cc-switch reconciler — keep Headroom in the request path alongside cc-switch (#1030 ) (e8fc8a0 )
proxy: hot-reload live env knobs so a reused proxy picks them up without a restart (#1090 ) (6904d47 )
proxy: make COMPRESSION_TIMEOUT_SECONDS configurable via env (#946 ) (#991 ) (addebdb )
transforms: tabular + spreadsheet (.xlsx/.xls) compression (#1128 ) (d789a7c )
vertex: turnkey Claude Code + Vertex compression (+ fixes from the Vertex review) (#1113 ) (0e05915 )
Bug Fixes
ccr: accept 12-char SmartCrusher hashes in tool injection (#1095 ) (#1141 ) (9f7f3ad )
ccr: return stored content when headroom_retrieve query matches nothing (#1213 ) (#1236 ) (08fb845 )
content-router: honor target_ratio in compression cache + add proxy --target-ratio flag (#1108 ) (8894ee0 )
dashboard: light-mode backgrounds + aligned savings tables (#1064 ) (5eae32b )
deps: make litellm optional on Python 3.14 (#956 ) (#993 ) (b2f04e4 )
e2e: align Codex wrap e2e with global-only RTK guidance (#1240 ) (#1254 ) (bc12ace )
init: set ENABLE_TOOL_SEARCH=true so Claude Code keeps deferring tools (#746 ) (#995 ) (500ec2b )
kompress: never block the request path on the cold-cache model download (#1161 ) (3fc2a78 )
memory: use ONNX embedder for wrap --memory sync (#1092 ) (#1262 ) (4f9feda )
openclaw: wrap plugin export as {register} object for OpenClaw 2026.x compatibility (#1218 ) (2e6c442 )
providers: update DeepSeek V3 context limit from 128K to 1M (#1038 ) (#1137 ) (bcabc5c )
proxy: allow disabling periodic TOIN stats logging (#1265 ) (b5f63d8 )
proxy: honor HEADROOM_EXCLUDE_TOOLS for Codex /v1/responses tool outputs (#940 ) (#1053 ) (f03e77b )
proxy: preserve byte-faithful Anthropic tool forwarding (#1222 ) (1f18d59 )
proxy: route Codex OAuth image requests (#1215 ) (381d771 )
proxy: scope CORS to loopback + gate operator/content endpoints (#1226 ) (bd55a42 )
proxy: stamp X-Client: codex on Responses endpoint for unidentified callers (#1036 ) (b0cd032 )
proxy: treat NODE_EXTRA_CA_CERTS as additive, not replacement (#998 ) (#1031 ) (c987283 )
telemetry: switch anonymous telemetry to opt-in (off by default) (#1223 ) (b998697 )
tokenizers: bound tiktoken vocab load so a stalled download cannot hang requests (#956 ) (#994 ) (7e86baf )
unwrap: remove ANTHROPIC_BASE_URL + ENABLE_TOOL_SEARCH and init hooks on unwrap (#992 ) (5b84691 )
wrap: keep Codex RTK guidance global (#1240 ) (7c26a54 )
wrap: percent-encode non-ASCII cwd names in X-Headroom-Project header (#1071 ) (9f712cc )
wrap: write env.ANTHROPIC_BASE_URL to settings.json so daemon-spawned conversations inherit proxy (#951 ) (#1078 ) (a554c3a )
You can’t perform that action at this time.