Skip to content

Releases: JerrettDavis/headroom

Release v0.15.0

Choose a tag to compare

@github-actions github-actions released this 18 May 17:48
1058043

[0.15.0] - 2026-05-18

Features

  • proxy: add --exclude-tools flag + HEADROOM_EXCLUDE_TOOLS env var (1058043)

Bug Fixes

  • proxy: thread tags into 13 outcome sites; synthesize /v1/models for ChatGPT auth (6d62985)
  • proxy: surface CompressionDecision.passthrough_reason in tags (88983ad)

Release v0.14.5

Choose a tag to compare

@github-actions github-actions released this 15 May 21:30
1699435

[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

  • add cache TTL cost analysis script (a8a1ba4)
  • sync plugin versions to 0.21.33 (07bcda2)

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

  • improve discoverability for AI agents and search crawlers (bcf5517)
  • readme: redesign with lean-ctx-style crispness (0f6df1f)
  • add README redesign spec (lean-ctx parity + Headroom-first blend) (3432ee3)

Release v0.14.4

Choose a tag to compare

@github-actions github-actions released this 12 May 02:32
71348f4

[0.14.4] - 2026-05-12

Bug Fixes

  • proxy,dashboard: correct savings reporting (71348f4)
  • Windows ORT builds and Docker signing retries (5cc3fd4)

CI/CD

  • correct live checks when credentials are missing (f34748d)

Other Changes

  • [codex] Add lean-ctx context tool support (5f96b83)
  • [codex] Populate Codex WS dashboard performance metrics (d49edda)

Release v0.14.3

Choose a tag to compare

@github-actions github-actions released this 11 May 20:08

[0.14.3] - 2026-05-11

Tests

  • fix websocket lifecycle import order (7057227)

Release v0.14.2

Choose a tag to compare

@github-actions github-actions released this 11 May 19:14
e6a9604

[0.14.2] - 2026-05-11

Release v0.14.1

Choose a tag to compare

@github-actions github-actions released this 11 May 18:53

[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

  • Sync Codex MCP proxy config during wrap (4a88c69)
  • Combine rtk and compression savings in dashboard (7afb301)
  • export code-aware flag in proxy (2f982ad)

Release v0.14.0

Choose a tag to compare

@github-actions github-actions released this 06 May 01:42
3b1ee2e

[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

Choose a tag to compare

@github-actions github-actions released this 04 May 23:22
41ca054

[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

Other Changes

  • Rust message scorer port (f726d0e)
  • Rust stage 3g pr2 smartcrusher offload (3319030)

Release v0.13.0

Choose a tag to compare

@github-actions github-actions released this 30 Apr 17:31
dd287a8

[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

  • Rust stage 3d pr4 unidiff detector (d15afdf)
  • diag(proxy): plumb request_id and exception type into compression failure logs (1812695)

Release v0.12.0

Choose a tag to compare

@github-actions github-actions released this 28 Apr 16:48
f81b88b

[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)

Other Changes

  • Rust stage 3c smart crusher (5aba517)
  • rust stage 3 (a+b): diff_compressor port + retire python via pyo3 + dotenv test hygiene (fcef84f)
  • Rust stage 2 tokenizer (ab7b191)
  • Rust stage 2 tokenizer (342a6a4)
  • phase-0: rust workspace scaffolding + parity harness (68c506d)