0.24.0 (2026-06-08)
Features
- perf: add --format {text,json,csv} to
headroom perf(#648) (9fe4886) - proxy: show resolved upstream API targets in startup banner (#586) (8dbe7ad), closes #583
- relevance: weight BM25 score_batch by corpus IDF (#646) (88177bd)
- support CLAUDE_CODE_USE_FOUNDRY and custom upstream gateways (#726) (d90cdce)
Bug Fixes
- ci: restore green lint gate on main (fe50f9d)
- codex: auto-enable fail-open on compression timeout in headroom wrap codex (#531) (5f5f261)
- copilot: restore generic endpoint for non-subscription OAuth (#610) (#612) (18925b8)
- deps: move gunicorn to [proxy-prod] extra, add Windows guard (#537) (fa558c5)
- proxy: fail-open on corrupt golden bytes instead of RuntimeError (#603) (2170a1b)
- proxy: route Claude Code model metadata to Anthropic (#627) (30c1ac8)
- security: patch loopback guard, retry None raise, async subprocess, and cache race (06d7cb9)
- security: patch loopback guard, retry None raise, blocking subprocess, and cache stats race (78f3a4d)
- startup: move HF/httpx log suppression before sentence_transformers init (#622) (176d4c7)
- startup: suppress proxy startup log noise (#619) (4555901)
- wrap: report unbindable proxy ports (#602) (6dfcaa8)
[Unreleased]
Bug Fixes
- deps: move
gunicornto[proxy-prod]extra withsys_platform != 'win32'guard; removed from[proxy]to avoid forcing a Unix-only package on dev, CI, and Windows users (#537) - startup: suppress proxy startup log noise — litellm banner, trafilatura parse errors, HuggingFace Hub unauthenticated warnings, tiktoken fallback warning, and httpx INFO lines from sentence_transformers HEAD checks. Affected files:
headroom/providers/litellm.py,headroom/transforms/html_extractor.py,headroom/memory/adapters/embedders.py,headroom/providers/anthropic.py,headroom/providers/registry.py,headroom/image/onnx_router.py,headroom/transforms/kompress_compressor.py.