Changelog¶
All notable changes to Keelgate are recorded here. The format follows Keep a Changelog, and the project follows Semantic Versioning as described in docs/versioning.md.
Entries after 0.1.0 are generated by release-please from Conventional Commits when a release pull request is merged.
0.2.0 (2026-10-12)¶
⚠ BREAKING CHANGES¶
- deep imports such as 'from keelgate.llm.types import LLMRequest' no longer work; import from the package root ('from keelgate.llm import LLMRequest').
Features¶
- a generated, test-enforced API contract and consumer contract tests (18b767d)
- evals: markdown summary, run_suite and a float-tolerant baseline comparison (0a5ef98)
- evals: unit, trajectory and red-team suites, outcome-metric plugins, reports and the keelgate CLI (93b710f)
- examples: export the research-loop trace to Jaeger (cdc5218)
- examples: governed LangGraph agent, MCP server for Claude Desktop and Cursor, custom policy pack, tutorial script (096f870)
- keelgate quickstart, migrate-imports, release-please, versioning and deprecation policy (0fbfdae)
- loop: rebuild a run from its trace id and replay recorded tool outputs (d0b3210)
- telemetry: GenAI spans, per-tenant cost tracking, PII redaction and OTLP setup (48d1791)
- telemetry: one trace per loop run, with tool, policy, approval and memory spans (9b573b6)
Bug fixes¶
- release: tag releases as vX.Y.Z (c4d8d56)
- release: tag releases as vX.Y.Z so the publish workflow triggers (4fbe4bb)
Refactoring¶
- underscore every module outside the public contract (27ebd5c)
Documentation¶
- ADR-0005 and a telemetry/replay/evals guide; K3 security rows and gaps G19-G23 (76aee8a)
- api: give every public symbol a docstring of its own; fix temporal sandbox import (6dbf029)
- docs site (concepts, tutorial, guides, reference), Pages workflow, demo script (ef7d4c7)
- finalize the integration contract and test that it names every public symbol (9274613)
0.1.0 (2026-10-07)¶
The first publication, and a snapshot rather than a contract. It contains the safety core (tools, capabilities, policy, audit, approvals), the durable loop, context, memory, the LLM client layer, the MCP, LangGraph, OpenAI Agents, Claude Agent SDK, A2A and Temporal adapters, and the testing kit. It has no telemetry, replay or eval framework, and every module was importable by its internal path.
Nothing in 0.1.0 carried a stability promise beyond what the integration contract said at the time. 0.2.0 is the first release with an enforced public API; see the migration guide (docs/migrating-to-0.2.md).