Skip to content

Release v0.29.0

Latest

Choose a tag to compare

@chopratejas chopratejas released this 03 Jul 06:30
660fa8c

What's Changed

  • fix(opencode): route native providers + load transport plugin, fix Serena context by @chopratejas in #1573
  • fix(pricing): resolve MiniMax-M3 (provider prefix + pre-registration) by @shreyassks in #1186
  • fix(learn): aggregate verbosity baselines across projects instead of overwriting by @gglucass in #1288
  • fix: preserve anthropic passthrough tool order by @aivinay in #1427
  • fix(mcp): show lifetime totals and label rolling session scope in headroom_stats by @rodboev in #1428
  • fix(opencode): preserve custom OpenAI gateway paths by @rodboev in #1596
  • docs: clarify the headroom CLI is pip-only; npm headroom-ai is the TS SDK by @tenderdeve in #1585
  • fix: skip Magika backend on x86 CPUs without AVX2 by @dwizzle204 in #1162
  • fix(savings): count cache-read tokens in input cost estimate by @gglucass in #1429
  • fix(proxy): fail open when kompress saturation would exhaust pre-upstream budget by @rodboev in #1430
  • fix(codex): avoid duplicate headroom provider config by @rudironsoni in #1431
  • fix(proxy): handle streaming CCR retrieval by @aivinay in #1451
  • fix(wrap): detach the shared proxy on Windows so it survives an ungraceful agent close by @quentinmaisonneuve in #1464
  • fix(cortex-code): migrate to current Cortex REST API endpoints + add e2e benchmarks by @sfc-gh-nashukla in #1474
  • fix(wrap): preserve custom Vertex base URL by @aivinay in #1477
  • fix(openclaw): detect uv-installed headroom binary in ~/.local/bin by @Ru0k3 in #1459
  • ci: guard against committed merge-conflict markers by @wolph in #1505
  • fix(dashboard): derive per-project setup URL from live origin by @rodboev in #1511
  • fix(evals): CJK-aware F1 tokenization + token estimation by @lifeodyssey in #1527
  • fix(proxy): preserve Responses passthrough bytes by @aivinay in #1598
  • fix(proxy): include system/tools/sampling in cache key by @inix-x in #1473
  • fix(compression): reject lossy unmarked tool output in unit router path by @rodboev in #1479
  • feat(proxy): add --force-kompress-all to route all content through kompress-v2-base by @chopratejas in #1613
  • chore: add CODEOWNERS with maintainer catch-all by @chopratejas in #1622
  • fix(detection): contain unidiff panic on orphaned +++ target line by @tenderdeve in #1548
  • fix(memory): cap local embedder CPU thread oversubscription (#198) by @Krishnachaitanyakc in #1559
  • fix(install): use Windows-safe PID liveness probe in runtime_status (#1544) by @Parideboy in #1560
  • chore(deps): bump transformers from 5.0.0 to 5.3.0 in the uv group across 1 directory by @dependabot[bot] in #1662
  • fix(ccr): honor workspace dir for sqlite store by @rodboev in #1564
  • fix(transforms): bound native content detection with a Windows watchdog (#575) by @Parideboy in #1563
  • fix(bedrock): fail fast when session-token auth lacks botocore by @tenderdeve in #1553
  • fix: Vertex AI support for Claude Code with ANTHROPIC_VERTEX_BASE_URL by @vladgrish in #1393
  • fix(proxy): honor x-headroom-base-url in dedicated OpenAI handlers by @ShutovKS in #1502
  • fix(install): close parent log fd in start_detached_agent by @abhay-codes07 in #1576
  • fix(claude): surface Remote Control proxy incompatibility by @rodboev in #1610
  • fix(proxy): wire --compression-max-workers / HEADROOM_COMPRESSION_MAX_WORKERS by @gglucass in #1632
  • fix(cli): stop advertising unwired compression tuning env vars in banner by @gglucass in #1634
  • fix(learn): honor CLAUDE_CONFIG_DIR when locating Claude logs and memory by @tenderdeve in #1642
  • fix(proxy): expose persistent savings metrics by @aivinay in #1647
  • fix(dashboard): align token savings headline denominator by @chris-yyau in #1653
  • fix(proxy): strip Codex lite header on the HTTP /responses path by @gglucass in #1663
  • docs(proxy): correct --code-aware default to disabled by @Parideboy in #1710
  • feat(stats): surface Codex WS compression counters in /stats summary by @gglucass in #1680
  • fix(proxy/auth): match real Anthropic OAuth token prefix (sk-ant-oat) by @abhay-codes07 in #1672
  • fix(transforms/content-router): detect on inner tool-output payload by @chopratejas in #1717
  • fix(memory): singleflight LocalBackend init to stop cold-start races by @tenderdeve in #1691
  • fix(transforms/content-router): route grep/log output away from HTML extractor by @chopratejas in #1719
  • feat(proxy): add --lossless no-CCR mode with format-native compaction by @chopratejas in #1721
  • fix(bedrock): route ARNs via converse, named AWS profiles, and au. re… by @mhaitana in #1456
  • perf(proxy): offload image compression off event loop by @inix-x in #1612
  • fix(wrap): remove rtk instructions from Codex AGENTS.md on unwrap by @abhay-codes07 in #1604
  • feat(transforms): adaptive Otsu KEEP/DROP threshold (+ land relevance split on main) by @chopratejas in #1726
  • chore: release main by @github-actions[bot] in #1574

New Contributors

Full Changelog: v0.28.0...v0.29.0