Changelog

What shipped in each IBEX Harness release — features, fixes, and breaking changes, grouped by year.

New versions are proposed weekly (Sundays 08:00 UTC) and published when the release PR merges. See RELEASING.md for the process.

2026 Q3

v0.1.4 release notes

GitHub release

  • dbmemory_labels multi-label join table (m2.5.G5.M2)#586
  • dbtemporal validity foundation on memories (m2.5.G5.M1)#581
  • embedderadd tei gpu embedding backend#561
  • embedderhosted-API embedding backend (OpenAI default, Cohere alternate) (m2.5.G4.M3)#576
  • embedderinterface registry and Python ABC (m2.5.G4.M1)#557
  • embedderredis content-hash embedding cache (m2.5.G4.M4)#579
  • mcpmcp server skeleton with stub tools and auth boundary (m2.5.G6.M1)#590
  • obsphase 2.5 exit gate with local LGTM stack (m2.5.G7)#592
  • proxyadd model capability registry for per-model context and features (m2.5.G1.M2)#541
  • proxyanthropic provider adapter (2.5.G1.M1)#538
  • proxynon-streaming response pipeline seam (m2.5.G3.M1)#551
  • proxyopenaicompatible adapter for self-hosted LLM backends (m2.5.G1.M3)#544
  • schemamemory_relationships graph foundation (m2.5.G5.M3)#588
  • tokenizerper-family token counting registry (m2.5.G2.M1)#548

v0.1.3 release notes

GitHub release

  • authequalize ValidateToken miss cost and rate-limit peers#445
  • authrequire CreateToken agent_id/user_id same-org bind#440
  • authrequire CreateToken permissions subset of caller#437
  • ciunblock semantic-pr-title on release PRs#404
  • dbenforce composite org FKs on token subjects#443

v0.1.2 release notes

GitHub release

  • clickhousetyped batch writer for llm_traces#381
  • dbdirectives and directive_versions schema#356
  • dbsessions and checkpoints schema#366
  • infraclickhouse llm_traces table schema#378
  • proxy,authtoken revocation propagation via Redis pub/sub#353
  • proxyasync trace emitter — ClickHouse integration in LLM handler#383
  • proxyauth cache — bloom filter + in-process LRU for token validation#350
  • proxycentralise provider error mapping to stable envelope#348
  • proxydirective resolver with Redis cache and Postgres fallback#360
  • proxyidempotency-key Redis dedupe for provider retries#388
  • proxym2.1.3 OpenAI SSE streaming dual-write forwarder#342
  • proxyprovider routing middleware — selects provider by model#345
  • proxysession idle-timeout sweeper marks abandoned sessions#375
  • proxysession lifecycle management in LLM request handler#372
  • proxysession store — create, checkpoint, close#368
  • proxysystem prompt injection with configurable strategy#363
  • cichangelog deploy, daily benches, faster profiles#294
  • ciexclude CI-only lockfiles from Syft SBOM for Grype#324
  • ciresolve SonarQube workflow security hotspots#320
  • depsoverride js-yaml to clear GHSA-52cp-r559-cp3m#311
  • securitygrpc bump, CodeQL alignment, dependabot go-git ignore#326
  • webshow desktop theme segmented control on cold load#297

v0.1.1 release notes

GitHub release

  • webpaper/ink landing, blog, changelog, and roadmap redesign#280
  • webredesign changelog page with curated release notes#243
  • cirepair Tagged Release workflow_dispatch startup#240
  • ciresolve tagged release job outputs from step context#242
  • cirun version release on merge to create release tag#238
  • ciskip DCO on merge commits; strip CR in PR tracking#275
  • cisplit tagged release docker job to fix workflow_dispatch#246
  • cistop Vitest hang from blocking web deploy#282
  • ciuse cosign bundle format for SBOM signing#247
  • ciweekly bench publish, every-PR comments, cosign sigstore upload#248
  • webrestore landing marquee and fix mobile overflow#286

v0.1.0 release notes

GitHub release

  • authtoken creation and management#47
  • authvalidate PAT against Postgres#16
  • benchbuild world-class benchmark pipeline and IBEX dashboard
  • benchdata pipeline and docs benchmarks section#176
  • dbusers and agents schema, token FK constraints#57
  • docsapply Matte Graphite design tokens (D.2.2)#104
  • docsASCII text-only Mermaid diagrams#129
  • docsbootstrap Fumadocs app at docs/app (D.2.1)#101
  • docsMDX component catalogue (D.2.3)#108
  • docsmigrate to Cloudflare Pages static export#143
  • docsnavigation shell (D.2.7)#106
  • docsunified landing and docs on ibexharness.com#189
  • docswave 14 mobile nav, perf, and mermaid ASCII fix#137
  • docsWave 4–5 milestones (D.2.4–D.3.1)#114
  • infragraceful shutdown with connection draining for auth and proxy#68
  • proxyadd llm provider interface and registry
  • proxyagent identity verification via gRPC ValidateAgent#64
  • proxyauth gRPC client
  • proxyinput validation and stable error envelope#55
  • proxyopenai non-streaming HTTP client#211
  • proxyrate limit skeleton#62
  • proxyrequest ID generation and context correlation middleware#66
  • proxyrequest normalization
  • webrestore warm landing visuals site-wide#195
  • authcorrect ListTokens keyset cursor pagination
  • benchdeploy dashboard via GitHub Actions Pages#175
  • benchk6 v0.53 parsing, real proxy benches, and Matte Graphite dashboard
  • benchpre-PR benchmark publish and static docs embed
  • benchresolve baseline_sha from published history when schema unset#179
  • benchsecure benchmark bot integration and fix dispatch payload#178
  • benchshow sub-ms stage latencies and validate go microbench data#184
  • benchunblock k6 export and CI load profile#173
  • ciallow .github markdown in repo layout guard
  • cicomplete workflow hardening and Sonar review fixes#158
  • cicorrect codecov pin and gitleaks allowlist for test fixture
  • cidrop production HTTP smoke from docs deploy#148
  • ciexclude infra from handwritten coverage gate scope
  • ciharden version release workflow reporting#230
  • ciimprove workflow visibility and standardize release flow#169
  • cimake codecov upload non-blocking and annotate integration grpc tests
  • cipost semantic-pr-title on version release PRs#234
  • cirepair action SHAs, Scorecard permissions, and pin guard#167
  • cirepair SBOM Grype install and OpenSSF scorecard gaps#213
  • ciresolve release PR number from release-please pr JSON#236
  • cirun gitleaks full-repo scan to avoid root-commit range error
  • cistabilize docker-publish and benchmark history#168
  • cistabilize integration coverage and resolve lint/secrets
  • cistabilize SEC4 rate-limit probe; sync CURRENT_STATE after [#92](https://github.com/Rick1330/ibex-harness/issues/92)#93
  • ciunblock proxy config tests, lower coverage gate to 80%
  • ciuse valid gocovmerge pseudo-version
  • dockerbump golang build image to 1.25.12 for CVE-2026-39822#198
  • docsdeploy with Node 22 and pnpm wrangler on main#131
  • docshoisted pnpm for OpenNext Workers runtime#132
  • docsmove fumadocs CSS import before Tailwind directives#103
  • docsrepair Cmd+K search and cut over domain to Pages#144
  • docsrepair static export Cmd+K search on Pages#146
  • docsrestore 3-column layout broken by page-enter wrapper#119
  • docsroute brand to marketing site and align cross-domain SEO#153
  • docsscan JS chunks in deploy smoke for search index URL#145
  • docsserve search index as static public asset#142
  • docsskip filesystem mtime on Cloudflare Workers#133
  • docsunblock deploy, order CI jobs, optimize nav logo#147
  • docsuse static Orama search for Cloudflare Workers
  • docswave 14 quality gates remediation (re-land [#137](https://github.com/Rick1330/ibex-harness/issues/137))#139
  • dxlocal dev smoke, db-seed on Windows, and migration repair
  • move integration helpers into repository_test; gofmt chat cases
  • proxyclose burst probe bodies and serialize integration tests in CI
  • releaseenforce pre-1.0 versioning standard
  • remove unused authMessageTestCases helper
  • remove unused field from uuid test cases
  • testremove hanging run test and cover config nil pointer redaction
  • use full semgrep nosemgrep id for test gRPC servers
  • websanitize RSC prefetch txt files on static export#197
  • docsreduce CLS and enforce static doc pages#116