Repository navigation
Releases: JerrettDavis/headroom
Releases · JerrettDavis/headroom
Release list
Release v0.15.0
Release v0.14.5
[0.14.5] - 2026-05-15
Bug Fixes
- tests: widen wrap-e2e openclaw startup timeout to 30s (2febf1b)
- build: shrink Rust extension wheels (strip + thin-LTO + single codegen unit) (ec8e208)
- proxy: unblock Codex WS compression — delete inner-pool + global semaphore (6cf8f7f)
- proxy: record cache reads/writes on backend-routed streaming (headroomlabs-ai#327) (7ddc0ce)
- memory: drop regex-based pref extraction; filter system-reminder noise (refs headroomlabs-ai#464) (1139b21)
- memory: per-project storage so projects can no longer bleed memories (refs headroomlabs-ai#462) (f8ffdbf)
- narrow compressed type for mypy 1.14 in ContentRouter.compress (05fe6c0)
- proxy: F2.2 — per-mode CompressionPolicy tuning fields (294df2b)
- format Kompress tests for ruff (fc0cba7)
- speed up Kompress inference (98f73e3)
- expose compression latency bottlenecks (4e146b0)
Chores
Refactors
- proxy: CompressionDecision contract + 4 missing-gate bug fixes (1699435)
- proxy: collapse 3 stream finalizers onto RequestOutcome.from_stream (af50390)
- proxy: introduce RequestOutcome funnel; collapse 3 streaming finalizers (3762f63)
Documentation
Release v0.14.4
Release v0.14.3
Release v0.14.2
Release v0.14.1
[0.14.1] - 2026-05-11
Bug Fixes
- Compress Codex Responses payloads (d90d2ca)
- Codex ws cancel logging (73b0e56)
- register serena mcp during wrap (44231f6)
- harden learn path handling across platforms (9577ef8)
- make proxy upgrades version-aware (2732ae7)
- proxy: recover SSE usage from truncated final event (b166bd3)
- mcp: auto-register headroom MCP server in wrap claude/codex and init -g (d9d8972)
- content-router,proxy: cache-safe text-block compression and online streaming usage (ecb3e00)
- content-router,proxy: compress text blocks + close DeepSeek metrics gaps (d322e6d)
- add Codex wire debug and WS usage metrics (7c94e72)
- cli: resolve duplicate --code-aware flag breaking proxy import (5dd2ac5)
- vertex,bedrock: remove dead handle_raw_predict, honour X-Forwarded-Proto, cap Bedrock body size (c6ecdc4)
- bedrock: use floor_char_boundary to avoid UTF-8 slice panic in header preview (399cb32)
- ci: update sdist license-packaging invariant test to match new shape (cd89a82)
- cli: proxy/perf/wrap UX cleanup + perf --hours correctness (9ff28e9)
- ci: include NOTICE in sdist + assert License-File metadata matches tarball (fc6b0a0)
- re-enable Codex /v1/responses compression + fix prose-format over-freeze (7aaa4ac)
- ci: pypi publish skip-existing to unblock idempotent re-runs (f94a9d2)
- proxy: inline WebSocket /v1/responses compression via PyO3 (1050e00)
- proxy: hot-fix Codex /v1/responses compression via PyO3 inline call (1a3098a)
- codex: bug 3 — strip requires_openai_auth, restore consistent openai_base_url injection (6c4ddc8)
- harden release gating and clarify pipx Python compatibility (a7e1f93)
- preserve Codex OAuth provider config (7e29a60)
CI/CD
- skip live evals without credentials (2fd4826)
Tests
- init-e2e: expect mcp add in seq_claude_local install sequence (dcc0042)
Other Changes
Release v0.14.0
[0.14.0] - 2026-05-06
Features
- ci: X2 — PR-time release dry-run via path-filtered pull_request trigger (7a06355)
Bug Fixes
- proxy: F2.1 — per-auth-mode CompressionPolicy gates (3b1ee2e)
- PR-E1 + PR-E2 tool array sort + schema-key sort (Phase E) (c8e0b36)
- inject openai_base_url so Codex subscription (ChatGPT plan) routes through proxy (f0b40f1)
- crusher: shim __libc_single_threaded for glibc < 2.32 + extend audit (19a43f0)
- crusher: bridge SmartCrusher row-drop hash to Python compression_store (headroomlabs-ai#389) (e664f11)
- PR-E4 OpenAI prompt_cache_key auto-injection (Phase E) (2fc73d0)
- ci: stage smoke-import script as host file (broke main) (e536d9b)
- telemetry: honour HEADROOM_TELEMETRY=off in /v1/telemetry collector (218821e)
- ci: X1 — smoke-import wheels on customer-representative envs before publish (4745219)
- ci: force-link glibc shim with -Wl,-u for aarch64 (39cb7c4)
- ci: glibc shim — drop alias attribute, forward-declare strtol (af0a960)
- ship glibc 2.38 compat shim + wheel symbol audit (closes headroomlabs-ai#355) (6793adb)
- ci: rebuild sdist on the renamed wheel-matrix host (31bd9f7)
- PR-E3 Anthropic cache_control auto-placement (Phase E) (397c805)
- PR-D4 native Vertex publisher path + ADC (d3c70ac)
Release v0.13.1
[0.13.1] - 2026-05-04
Bug Fixes
- PR-E6 cache-bust drift detector telemetry (Phase E) (41ca054)
- ci: docker per-arch bake needs explicit image name in output (c81755c)
- PR-E5 volatile-content detector + customer warning (Phase E) (d1b836d)
- PR-D3 Bedrock observability + auth-mode integration (Phase D close) (0c46c7e)
- PR headroomlabs-ai#281 — synthesize 5h subscription window after Anthropic reset (no extra polling) (0b77955)
- PR headroomlabs-ai#372 — restore [image] extra on Python 3.13 via rapidocr 3.x adapter (486372b)
- ci: rustls-everywhere — eliminate openssl-sys from build tree (kills the wheel-build cascade) (e731f87)
- ci: vendored OpenSSL must live in headroom-py, not headroom-proxy (f34f95a)
- ci: wheel before-script must work on Debian aarch64-cross container (1323830)
- PR-F1 classify_auth_mode helper (Phase F kickoff) (fb25a26)
- ci: vendor OpenSSL via cargo + drop x86_64 macOS from wheel matrix (20e482d)
- PR-D2 Bedrock streaming via binary EventStream (32a1fd4)
- PR-D1 native Bedrock InvokeModel route + SigV4 (dd1dadf)
- PR-C5 retire responses_converter.py — Rust owns /v1/responses (76c113d)
- ci: unbreak release pipeline — wheel openssl + dead npm artifact downloads (75fa4a4)
- C4 — /v1/responses streaming + Conversations API in Rust (1352f62)
- C3 — /v1/responses Rust HTTP handler + per-item-type passthrough (70cad6c)
- C2 — /v1/chat/completions Rust handler + OpenAI live-zone (f9b4491)
- ci: install patchelf for maturin wheel-link repair (4bf559d)
- C1 — byte-level SSE parser + state machines (f34e0c2)
- Phase A+B realignment — cache safety + live-zone-only compression + production hotfixes (9266ea7)
- proxy: route Codex subscription /backend-api/* catchall to chatgpt.com (4073dcd)
- providers: register claude-opus-4-7 + [1m] tier with 1M context (2e9f52f)
- proxy: cache concurrency lock, multi-worker docs, bounded compre… (51eeaf6)
- rust: wire ICM compressor into Rust proxy on /v1/messages (4c52766)
- rust: port MessageScorer to Rust + parity harness (PR-A) (05f91d9)
- proxy: remove content-keyed TTL walker that conflated content wi… (9129188)
- rust: audit cleanup — DiffCompressor CCR leak, CCR TOCTOU race, … (764b7a8)
- memory: make numpy import optional for proxy boot path (276e92e)
- rust: reformat/offload pipeline + log templates + diff noise (Ph… (a1d62d8)
CI/CD
- native arm64 runners — drop QEMU, cut wheel + docker build time (7350e07)
Refactors
- single-wheel maturin build backend (fixes headroomlabs-ai#355) (aa80ec2)
Other Changes
Release v0.13.0
[0.13.0] - 2026-04-30
Features
- rust: port tag_protector to Rust + 5 bug fixes (Phase 3e.4) (c89182f)
- rust: pipeline traits + orchestrator skeleton (Phase 3g PR1) (0397104)
- rust: port log_compressor + bug fixes (Phase 3e.5) (2228d1b)
- rust: re-land search_compressor port (Phase 3e.2 redux) (d6b9ccd)
- rust: signals trait module + KeywordDetector (Phase 3e.1) (cf3877d)
- telemetry: surface per-strategy compression counters (d11063e)
- proxy: support production multi-worker proxy startup + CLI/env tuning (a1f1683)
Bug Fixes
- traffic-learner: block bogus error_recovery pairs at the source (dd287a8)
- proxy: defer file logging install to create_app() (6801820)
- release image router models after compression (5d1cc84)
- smart_crusher: re-land orphaned audit close-out — CCR knob + scorer fail-loud (5dcecdc)
- smart_crusher: re-attach TOIN learning loop + audit known regressions (33825c3)
- proxy: guard CCR tool injection against frozen prefix to preserve cache (9d5f15b)
Chores
- transforms: retire query_echo (already disabled in production) (84bd992)
- transforms: retire dead text_compressor module (Phase 3e.3) (c6b7f18)
- rust: port unidiff Tier 2 diff detector (Stage 3d PR4) (9b3b9c2)
- rust: port Magika detection (Stage 3d PR3 — Tier 1) (02723fd)
- proxy: per-strategy compression observability (1ee1bb2)
- rust: port ContentDetector to Rust + parity + PyO3 bridge (035fa02)
Other Changes
Release v0.12.0
[0.12.0] - 2026-04-28
Features
- rust: SmartCrusher PR4 — lossless-first default + CCR-Dropped restoration (8e09878)
- rust: SmartCrusher PR2 — lossless-first tabular compaction (00e25d8)
- rust: SmartCrusher extension surface — Constraint, Observer, Builder (5b9cd5f)
Bug Fixes
- memory: resolve Qdrant connection from HEADROOM_QDRANT_* env vars (headroomlabs-ai#31) (7c1cff2)
- memory: collapse and decay error_recovery patterns in MEMORY.md (6dede0c)
- memory: batch onnx embeddings and sqlite-vec ops (32152f5)
CI/CD
- docker: fix Argument list too long when signing bake outputs (e0f372f)
- docker: clean up image tags, signatures, and Latest indicator (b2527a0)
Chores
- rust: SmartCrusher CCR marker injection + walker unification (e4dfa78)
- rust: SmartCrusher CCR storage layer + roundtrip verification (ee79ebb)
- rust: walker semantics in process_value — stringified-JSON + opaque strings (b376012)
- rust: re-land DocumentCompactor walker (squash-merge lost it from main) (7b1ce22)
- renormalize line endings to LF (e635bab)
- deps: bump the npm_and_yarn group across 3 directories with 4 updates (62753e4)
- deps: bump nltk from 3.9.2 to 3.9.4 in the uv group across 1 directory (9aa6487)
Performance
- rust: tier-1 multi-worker wins — GIL release, sharded CCR store, single-serialize CCR write (f81b88b)