Skip to content

Changelog

All notable changes to this project will be documented in this file.

This changelog is automatically generated by release-please.

2.1.0 (2026-03-08)

Features

  • scoring: add create_critic() preset factory with three MVP presets (#308) (ac59411)

Bug Fixes

  • contracts: address code review findings in protocol contract tests (30d7deb)
  • docs: correct broken API references in extension point guides (af20038)

Documentation

  • contributing: add extension point guides for ComponentHandler and AgentProvider (#312) (af20038)
  • docstrings: resolve all 41 docvet findings and upgrade to v1.11.0 (30d7deb)
  • planning: add tech debt note for critic preset parallel dicts (ac59411)

2.0.0 (2026-03-07)

⚠ BREAKING CHANGES

  • api: optional parameters for evolve(), evolve_group(), and evolve_workflow() are now keyword-only after positional required args. Callers passing optional args positionally will get TypeError.

Features

  • api: add pre-flight validation enhancements (#299) (b019f7a)
  • api: add universal sync wrapper and keyword-only signatures (#300) (0befe0a)
  • domain: add default credential redaction keys to TrajectoryConfig (#304) (1cb9ef1)
  • domain: add display methods and original_components to evolution results (#297) (66cc7a4)
  • domain: add result serialization with to_dict/from_dict (6589a0b)
  • domain: add StopReason enum and schema versioning to evolution results (536073a)
  • engine: add graceful interrupt handling with partial results (#298) (e892fc0)
  • engine: add mutation rationale capture to iteration records (#302) (151a89f)
  • engine: add seed-based determinism for reproducible evolution (#301) (e1241dc)

Bug Fixes

  • api: address code review findings for pre-flight validation (b019f7a)
  • docs: correct MkDocs cross-references to scoring sub-package (e1b38e4)
  • engine: remove misleading reasoning fallback and add integration (151a89f)
  • test: strengthen interrupt test assertions and reduce duplication (e892fc0)

Documentation

  • examples: fix runtime errors and audit all examples for 2.0 (#306) (3f0d526)
  • fix broken imports, migrate evolve_sync, and update for 2.0 release (#305) (e1b38e4)

1.0.1 (2026-03-04)

Bug Fixes

  • engine: correct stale docstrings from review of ty workaround (05b1e54)

Code Refactoring

  • engine: eliminate all 7 ty type-narrowing workarounds (#274) (05b1e54)

1.0.0 (2026-03-04)

Features

  • ci: add hexagonal boundary enforcement scripts and CI workflow (#261) (c0130cb)
  • compat: lower ADK dependency floor to 1.20.0 with CI version matrix (#264) (0f26e57)
  • ports: define EvolutionResultProtocol for unified result types (#259) (ff343ac)

Bug Fixes

  • ci: add explicit target-branch and full bootstrap-sha (f4cf65b)
  • ci: adopt TestPyPI staging publish pipeline (0cf9bac)
  • ci: remove unsafe-best-match index strategy from smoke test (68afeea)
  • release: guard fromJSON with short-circuit to prevent empty parse (#258) (7b930ef)

Code Refactoring

  • adapters: reorganize into concern-based sub-packages (#255) (21f2951)
  • arch: fix all 7 pre-existing hexagonal boundary violations (1e430ba)
  • ports: split selector.py into one-Protocol-per-file modules (#253) (f8d900e)

Documentation

  • architecture: add architecture and UX specifications (7f06990)
  • epics: add Story 1B.6 trunk-based migration and 1.0.0 release (d081dd5)
  • planning: add BMAD planning artifacts for gepa-adk (#252) (7f06990)
  • research: add domain, market, and technical research (7f06990)
  • sprint: add sprint planning artifacts (7f06990)
  • sprint: add Story 1B.3 for ty type-check cleanup (#254) (9164e57)

Maintenance

  • release: bootstrap release-please for 1.0.0 (b6bf54d)

0.3.5 (2026-01-28)

Bug Fixes

  • api: propagate runner app_name to AgentExecutor (#240) (aa1102b), closes #239

0.3.4 (2026-01-27)

Features

  • api: add multimodal input support for video files (#236) (d5f092e)

0.3.3 (2026-01-25)

Features

  • api: add App/Runner pattern for evolution infrastructure integration (#232) (4ab4186)
  • api: expose session_service parameter (#229) (0a7d64f)

Documentation

  • audit static documentation for accuracy and consistency (#233) (3404b56)
  • concepts: fix import paths and model patterns in code examples (3404b56)
  • guides: rewrite single-agent, multi-agent, critic-agents, (3404b56)
  • reference: fix StateGuard link path (3404b56)

0.3.2 (2026-01-24)

Features

  • api: add round_robin flag to evolve_workflow() (#225) (7c97025), closes #214
  • schema: add schema constraints for output schema evolution (#208) (505b2ab), closes #190
  • workflow: preserve structure during evolution (#228) (62a210c)

Bug Fixes

  • executor: add get-or-create session semantics (#222) (cb19b13)
  • utils: return LAST final response in extract_final_output (#223) (25703f4)

Documentation

  • concepts: add Diátaxis explanation section (#221) (643467d)

0.3.1 (2026-01-22)

Features

  • engine: integrate stop_callbacks into AsyncGEPAEngine (#196) (#206) (50488e6)
  • ports: add StopperProtocol for pluggable stop conditions (#198) (6a0c160)
  • stoppers: add MaxEvaluationsStopper and FileStopper (#207) (86fcba7), closes #197
  • stoppers: add SignalStopper for graceful Ctrl+C termination (#204) (2727d49), closes #194
  • stoppers: implement CompositeStopper for combining stop conditions (#205) (f188ba9)
  • stoppers: implement ScoreThresholdStopper (#203) (74c4be2)
  • stoppers: implement TimeoutStopper (#192) (#200) (f44f605)

Bug Fixes

  • tests: rename mock_ fixtures to test_ in multi-agent routing (#202) (9e1315a)

0.3.0 (2026-01-22)

⚠ BREAKING CHANGES

  • adapter: evolve_group() now requires agents as dict[str, LlmAgent] instead of list[LlmAgent]. The evolved_components dict now uses qualified names (agent.component) instead of just agent names.

Features

  • adapter: add per-agent component routing for multi-agent evolution (#178) (50bb4f3)
  • adapter: implement per-agent trajectory extraction from SequentialAgent events (#187) (6a7b419), closes #46
  • types: add multi-agent component addressing scheme (#176) (51a4469), closes #165

Bug Fixes

  • adapter: wrap exceptions in EvaluationError per ADR-009 (#189) (10d0995)
  • api: use component handlers for seed candidate building (#182) (ee01d04)
  • api: wrap reflection_model with LiteLlm for non-native providers (#185) (6674885), closes #173
  • tests: update assertions to use qualified component names (6674885)

Documentation

  • adapter: clarify _build_pipeline execution flow (#183) (ac3317a)
  • guides: add migration guide for multi-agent v0.3 API (50bb4f3)
  • readme: streamline for lowest-friction usage (50bb4f3)

0.2.2 (2026-01-21)

Features

  • handlers: add ComponentHandler protocol and registry for component management (#170) (bdd8489)
  • handlers: add generate_content_config evolution support (#175) (e2472ac)
  • reflection: add component-aware reflection with schema validation (#167) (31dd288), closes #83 #133
  • utils: add validate_output_schema tool for reflection agents (31dd288)

Code Refactoring

  • adapters: use ComponentHandler registry for candidate application (#174) (ebf219f)

Documentation

  • guides: add schema evolution section to single-agent guide (31dd288)

0.2.1 (2026-01-20)

Features

  • adapter: add unified AgentExecutor for consistent session management (#138) (bfa1fae)
  • adapter: add unified executor to MultiAgentAdapter and evolve_group (#139) (8b042fb)
  • adapters: standardize critic feedback schema with normalization (#160) (32e43e7), closes #141
  • models: add evolved_components dictionary for multi-component tracking (#142) (a4eee45)
  • schema: enable output_schema evolution as a component (#132) (9bfd3e3), closes #83
  • tests: enhance contract tests for evolve_group() executor creation and logging (96faaef)

Bug Fixes

  • api: wrap reflection model in LiteLlm for consistency (32e43e7)
  • logging: standardize logger initialization to use name (#149) (1762b71)
  • publish: update attestations action to use 'paths' instead of 'attestations' (aaf09d2)
  • reflection: use REFLECTION_INSTRUCTION as default fallback (#158) (995287a)
  • utils: add cross-platform encoding support for Windows consoles (#130) (75430c6)

Code Refactoring

  • adapter: remove legacy execution paths and require AgentExecutor (#145) (9b8ebd9)
  • reflection: deprecate direct LiteLLM reflection in favor of ADK agents (#151) (97b3819), closes #144
  • reflection: remove deprecated LiteLLM reflection path (#156) (a4ef3cb)
  • tests: consolidate MockAdapter variants into factory pattern (#153) (d4d4fc1), closes #147
  • tests: consolidate MockScorer into shared fixture (#152) (af46a5c), closes #146
  • tests: improve error message clarity in ADKAdapter reflection tests (5e2bb2a)
  • trial-builder: consolidate trial-building logic into shared TrialBuilder class (#154) (a6567ef)

Documentation

  • adr: document shared test utilities in ADR-005 (af46a5c)
  • guides: add output schema evolution section to single-agent guide (9bfd3e3)

0.2.0 (2026-01-18)

⚠ BREAKING CHANGES

  • engine: IterationRecord.instructioncomponent_text, EvolutionResult.evolved_instructionevolved_component_text, MultiAgentEvolutionResult.evolved_instructionsevolved_components

Features

  • docs: integrate mkdocs-ezglossary for cross-referenced glossary (#123) (8f01dac), closes #114
  • engine: add ADK session state template substitution (#115) (d738b51)
  • reflection: add ADK session state management for reflection agent (#128) (39baef5), closes #100

Bug Fixes

  • tests: improve pytest marker and skip logic for external service tests (#126) (0b75304)

Code Refactoring

  • api: fix line-too-long lint errors (055c8db)
  • ci: replace deprecation detection workflow with pytest filterwarnings (#122) (b28cb17), closes #98
  • docstrings: improve Note section clarity in changed files (d738b51)
  • tests: clean up conftest.py warning handling (b28cb17)

Documentation

  • contributing: add deprecation warning handling section (b28cb17)
  • glossary: add ADK integration concepts and terminology scope (39baef5)
  • index: add GEPA paper reference (8f01dac)
  • reference: add glossary for terminology consistency (d738b51)
  • security: add SECURITY.md (055c8db)

0.1.2 (2026-01-18)

Features

  • engine: add ADK reflection agents with component_text/trials terminology (#101) (567a4ff)

Documentation

  • update PR template to clarify scope formatting guidelines (116d8af)

0.1.1 (2026-01-17)

Features

  • 032-reflection-prompt-config: add reflection_prompt configuration (#93) (ef9b369)
  • adapters: wire reflection_model config to proposer (#92) (85eafbd)
  • add changelog sections to release-please config (43326cd)
  • add project management workflow documentation (a31ef68)
  • ci: add maintainer guidance to issue templates (#91) (f92bcae)
  • ci: add release-please for automated releases and changelogs (3c49646)
  • utils: add shared extract_final_output utility for ADK event extraction (#96) (7f1d341)

Bug Fixes

  • ensure 'include-component-in-tag' is set to false in release-please config (5760099)

Foundation (0.x Series)

The 0.x series established the core architecture and capabilities of gepa-adk:

  • Hexagonal Architecture (ADR-000) — Clean separation into domain, ports, adapters, and engine layers with CI-enforced boundary checking
  • Async-First Design (ADR-001) — All core APIs are async with sync wrappers only at the API surface
  • Protocol-Based Ports — All interfaces use typing.Protocol with @runtime_checkable for structural subtyping
  • Single-Agent Evolution — Evolve agent instructions, output schemas, and generation configs using training sets and scorers
  • Multi-Agent Evolutionevolve_group() and evolve_workflow() for multi-agent and workflow topology evolution
  • Pareto Frontier — Multi-objective optimization tracking across evolution runs
  • ADK 1.20.0+ Compatibility — Supports google-adk 1.20.0 through latest with version-adaptive imports
  • CI Quality Gates — Automated testing (85% coverage), type checking (ty), docstring coverage (interrogate + docvet), boundary enforcement, and protocol coverage
  • 12 Architecture Decision Records — Documented design decisions across domain, testing, logging, and integration

For detailed version history, see individual release tags.