| v2.0.0 | v2.0.0 has 37 breaking changes, 11 features and 231 bug fixes since v1.1.0. The full list is in CHANGELOG.md. ## Breaking changes - **Stricter config.** Unknown or retired keys are refused at load, where before they were dropped with a warning. This covers workflow top level, `defaults:`, `chunk_config`, `versions:`, `default_agent_config:` and keys such as `interceptors`, `observe`/`drops` on defaults, `reprompt`, `on_schema_mismatch`, `idempotency_key`, `ephemeral`, `reduce_key`, `policy` and | High | 10/24/2026 |
| v1.1.0 | ### Enhancement or New Feature * A workflow run now prints as a progress stream instead of a log: one line per action, grouped under the dependency step that produced it, with its record count, duration and model. Framework bookkeeping no longer interleaves with it, and the step structure is written to `events.json` for the first time â previously it existed only on the terminal, and was printed twice there. The post-run summary table is removed: it re-rendered every action the stream had alread | High | 9/13/2026 |
| v1.0.0 | ## Highlights - **New: `expect:` validation** â a layer above schema/guards that checks what a value *means*, not just its shape. Deterministic checks (`not_null`, `word_count_between`, forbidden phrases, and more) plus `llm_judge` for arbitrary natural-language rules, with configurable repair policies (`none` / `retry` / `auto` / authored prompt) â works the same in online and batch runs. - **Breaking: `reprompt:` and `on_schema_mismatch:` are retired**, fully replaced by `expect:`. A config s | High | 9/8/2026 |
| v0.3.0 | ### Enhancement or New Feature * Add a top-level required_by_default key to agent_actions.yml to set required-by-default flat-field schema validation project-wide, instead of per schema file. A schema may still override it with its own required_by_default, and explicit per-field required/optional markers win over both. * Preflight warnings now print as one grouped, tree-formatted block per check (dag-fit, prompt-contract, tool-passthrough, resolution) with counts in the header, fields grouped pe | High | 8/8/2026 |
| v0.2.8 | ### Bug Fix * Fix docs dashboard accuracy â expand versioned actions, search agent_io* directories for manifest/runs/logs * Clear node-level disposition when an action begins executing. Eliminates the 'Stale guard-skip disposition' warning that fired on reruns after a prior dependency-skip, and removes the read-side heal block in _resolve_completion_status. * Passthrough namespaces now merge at content level as siblings of the action namespace, so downstream observe and passthrough resolve co | High | 8/2/2026 |
| v0.2.7 | Patch release. Headline fixes since v0.2.6: ### Bug Fixes - **Schema-echo data integrity** â records whose namespace is the framework's compiled JSON schema (rather than LLM output) are now gated at the online result funnel, the checkpoint seam, and the persistence boundary: converted to a queryable parse-error (FAILED) instead of persisting silent corruption. - **source_guid integrity** â a non-empty `source_guid` invariant with no silent fallbacks, a single authority for the exclusion set, an | High | 7/18/2026 |
| v0.2.6 | Hardening sweep + diagnostics polish â 27 PRs since v0.2.5. ## Diagnostics & error UX - Clearer UDF discovery/import errors + `agac inspect` help text â dedicated `UDFLoadErrorFormatter` with install-hint extraction, directory-vs-import disambiguation, and pipeline-context enrichment across `config_pipeline` / `validate-udfs` / `list-udfs` (#720) - Static analyzer surfaces circular deps + template syntax errors (#716) - `agac render save` and scope parsing surface their failures instead of swal | High | 6/21/2026 |
| v0.2.5 | ## What's Changed ### Bug Fix * Unify batch action_name derivation â thread action_name explicitly from orchestrator instead of deriving from Path(output_directory).name (#683) ### Enhancement * Clean up batch JSONL files after processing â input files deleted after provider upload, result files deleted after parsing, --fresh deletes remaining batch artifacts (#684) ### Under the Hood * Make delete_metadata and delete_metadata_prefix required on StorageBackend â future backends must implement | High | 6/14/2026 |
| v0.2.4 | ## Bug Fix * Observe directives on missing fields now skip the record instead of silently injecting None into prompts * Empty dict responses `[{}]` no longer bypass `_is_empty_output` check; reprompt exhaustion now routes through EXHAUSTED disposition instead of SUCCESS ## Under the Hood * Release v0.2.3 â batch changie entries, bump version | High | 6/6/2026 |
| v0.2.3 | ## v0.2.3 - 2026-05-31 ### Enhancement or New Feature * Add incremental checkpointing for online processing â interrupted runs resume from the last checkpoint instead of reprocessing all records * Add field visibility settings panel to HITL review UI â reviewers can configure which fields stay expanded vs collapsed per session ### Under the Hood * Release v0.2.2 â batch changie entries, bump version * Remove dead VendorRegistry class, SINGLE_RESPONSE_CLIENTS empty set, and stale dispatch_task co | High | 5/31/2026 |
| v0.2.2 | ## v0.2.2 - 2026-05-30 ### Bug Fix * Add exponential backoff with jitter to batch retry loop to prevent retry storms when provider is overloaded * Stop silently graduating records on reprompt batch submission failure; transient and permanent errors now handled distinctly with proper metadata * Remove silent os.getenv API key fallbacks in batch client factory â batch clients now raise ConfigurationError when no key is configured instead of silently trying hardcoded vendor env vars * Log recovery | High | 5/30/2026 |
| v0.2.0 | ## v0.2.0 - 2026-05-23 ### Breaking Change * Removed cross-workflow chaining: upstream: config key, --upstream/--downstream CLI flags, WorkflowOrchestrator, and VirtualAction injection. Workflows are self-contained. Users with upstream: in config will see an unknown-key warning. ### Enhancement or New Feature * v0.2.0 Quality Hardening â 25 fixes from comprehensive codebase audit: - Storage errors now propagate instead of silently returning COMPLETED - Schema migration uses ALTER TABLE instead | High | 5/23/2026 |
| v0.1.17 | ## What's new in v0.1.17 **40 commits since v0.1.16** â major reliability, observability, and UI improvements. ### Highlights **Pipeline reliability** - Record-level error isolation and selective retry (#539) - Async batch reprompt recovery loop (#528) - Batch target materialization â DB + disk parity (#527) - Halt workflow when upstream action fails all records (#523) - Unify batch and online guard evaluation, preflight, and lifecycle paths (#531) **Observability** - Reprompt observability | High | 5/16/2026 |
| v0.1.16 | ## What's Changed ### Breaking Changes - **refactor: consolidate on_schema_mismatch into reprompt config** (#493) â Remove top-level `on_schema_mismatch` and `strict_schema` config keys. Schema conformance is now declared inside `reprompt: {on_schema_mismatch: reject/reprompt}` ### Bug Fixes - **fix: return error dict on JSON parse failure instead of raising** (#492) â Return error dict instead of raising `VendorAPIError` on JSON parse failure in ollama cloud and openai online clients, enablin | High | 5/4/2026 |
| v0.1.14 | ## v0.1.14 ### Breaking Changes - `read_target()` now validates `_state` field on all records (fail-closed). Pre-v0.1.14 target data requires deleting `agent_io/target/` and re-running. - `StorageBackend` subclasses must implement `_read_target_raw()` (template method) ### Enhancements - **Record State Machine** â `RecordState` enum (8 states), `RecordEnvelope.transition()` as single lifecycle mutator, executor boundary reset, `derive_disposition()`, schema enforcement - **Unified processing** | High | 5/2/2026 |
| v0.1.13 | ## Framework v0.1.13 ### Architectural Unification - Guard evaluation: 5 entry points â 1 unified evaluate() with GuardBehavior enum - RecordProcessor: 4 independent instantiations â single create() factory - Lineage building: deduplicated across exhausted/passthrough builders - Context builder: 235-line monolith â 4 focused functions (59-line orchestrator) - Dead code deleted: HistoricalNodeDataLoader, BatchProcessor, apply_observe_filter (-2992 lines) ### Data Model Fixes - Fan-in merges all | High | 4/25/2026 |
| v0.1.12 | ## v0.1.12 â 2026-04-19 ### Enhancement or New Feature * Self-reflection feedback strategy for reprompt retries * LLM critique escalation for stubborn reprompt failures ### Under the Hood * Unified online and batch reprompt logic via shared helpers ### Bug Fix * Drop directives now correctly exclude fields from passthrough wildcards * Pass compiled schemas to Groq, Cohere, and Mistral APIs * Retry transient OpenAI 400 JSON parsing errors * Cascade failures report as blocked instead of indepen | High | 4/19/2026 |
| v0.1.11 | ## v0.1.11 ### Enhancement or New Feature * Cross-workflow chaining: `--upstream` and `--downstream` CLI flags, virtual action injection, and orchestrator support for multi-workflow pipelines * FILE-mode record identity: tools receive full records with `node_id`, framework matches outputs to inputs by identity instead of heuristics (**breaking change** for FILE tools â use `record["content"]["field"]` instead of `record["field"]`) * Step-by-step progress display for sequential execution mode * | High | 4/13/2026 |
| v0.1.10 | ### Bug Fixes - fix: HITL FILE granularity + guard pre-filter for FILE mode (#229) - fix: HITL FILE mode truncates lineage to just its own node_id (#231) - fix: resolve false-positive StaticTypeError for Jinja loop variables (#232) - fix: accept cross-workflow dependency syntax, fix 4 crash sites - fix: improve VS Code data card indentation, grammar, and rendering (#223) - fix: improve docs data card indentation, contrast, and grammar (#224) ### Tests - test: deterministic lineage integrity tes | High | 4/11/2026 |
| v0.1.9 | ### Bug Fixes - fix: resolve FileUDFResult lineage by source_mapping index, not source_guid scan (#220) - FILE-mode tools with multiple input records sharing the same source_guid (e.g. after flatten) now produce correct per-record lineage instead of all inheriting the first match - Fixes silent downstream data duplication when using context_scope.observe on pre-flatten ancestors - source_mapping is now fully consumed by the runtime â no longer validated-then-discarded | High | 4/8/2026 |
| v0.1.8 | ### Features - feat: enforce context_scope as sole data gate (#199) - feat: namespace llm_context by action to prevent version data loss (#208) - feat: redesign VS Code data card with 5-section tree view (#215, #216) ### Bug Fixes - fix: deterministic record matcher â exact node_id join, no fallbacks (#195) - fix(vscode): safe JSON injection for card view records (#197) - fix(cla): grant contents write permission for signature commits (#200, #201) - fix: resolve context_scope field prefix patte | Medium | 4/8/2026 |
| v0.1.7 | ### Features - feat(storage): prompt trace storage for compilation-level observability (#184) - feat(workflow): support record_limit on downstream actions (#187) - feat(ui): surface prompt traces in Data Explorer and VS Code extension (#189) ### Bug Fixes - fix(input): remove double-parse of JSON in staging pipeline (#185) - fix: guard error taxonomy and circuit breaker for semantic errors (#186) - fix: preflight guard condition AST validation for unquoted strings (#188) ### Tests - fix(tests) | Medium | 4/6/2026 |
| v0.1.6 | ### Bug Fixes - fix(docs): render images in workflow README tab (#170) - fix(docs): logs badge green when count is zero (#171) - fix(docs): use absolute URLs for README images on PyPI (#173) - fix(validation): scope prompt validator to current workflow (#182) ### Documentation - Add Project Surface and Dependencies to all 17 module manifests - Tighten AGENTS.md link to manifest system (#169) | Medium | 4/5/2026 |
| v0.1.5 | ## What's New - **Rich execution summary** â `agac run` now renders a structured post-execution tree showing per-action status, type badges, provider, and latency - **Configurable seed data path** â set `seed_data_path` in `agent_actions.yml` to rename your seed data directory - **Unified `agac docs` command** â replaces separate `docs generate` + `docs serve` with a single command - **Cleaner CLI output** â demoted 14x "fallback heuristic" spam and other noise to debug level ## Fixes - Place | Medium | 4/4/2026 |
| v0.1.4 | ## What's New - **Runtime tab** added to docs site logs screen - **Gantt-style execution timeline** on runs detail screen - **Action metrics** enriched with latency, provider, cache, and disposition - **Runtime warnings** extracted from events.json into catalog - **Project name** field added to agent_actions.yml - **Retry** failed/skipped actions on workflow re-run - **Pre-flight guard checks** for nullable fields flowing into tool schemas - **ActionStatus enum** and DEFERRED records audit trai | Medium | 4/3/2026 |
| v0.1.3 | ## Added - Record and file limit controls for capped test runs - Clean data card redesign with typography controls - Doc-vs-code audit framework and fix reprompt docs - Centralized data card component ## Fixed - Serialize LSP lifecycle and broaden activation events - Scan all workspace dirs for agac-lsp instead of hardcoded venv names ## Chores - Bump vscode extension to 0.1.5 | Medium | 3/28/2026 |
| v0.1.2 | ## v0.1.2 - 2026-03-28 ### Fixed - Fix `agent_actions.llm.batch` missing from PyPI package (#37) - Root cause: `.gitignore` `batch/` pattern silently excluded the module via hatchling's VCS-awareness - Set `ignore-vcs = true` in hatch build config to decouple packaging from `.gitignore` ### Changed - Convert `agac init` to a command group with proper subcommands (#40) - `agac init list` â list available examples from GitHub - `agac init example <name>` â scaffold from a GitHub example | Medium | 3/28/2026 |
| v0.1.1 | **Description:** ## What's Changed ### Fixes - Fixed missing `agent_actions.llm.batch` module in package build - Fixed VS Code extension LSP server auto-discovery (no manual path needed) - Fixed `seed_data` vs `seed.` reference syntax in workflow skills ### Added - VS Code extension published to marketplace (`runagac.agent-actions`) - `agac-lsp` entrypoint for Language Server Protocol support - New examples: review_analyzer, contract_reviewer, product_listing_enrichment ### | Medium | 3/27/2026 |
| v0.1.0 | **Description:** ## Agent Actions v0.1.0 Declarative framework for orchestrating multi-model LLM pipelines with context engineering and quality gates. ### Highlights - **Declarative YAML workflows** â define multi-step LLM pipelines as configuration, not code - **Context engineering** â per-action control over what each LLM sees via `observe`, `drop`, `passthrough` - **Multi-model support** â OpenAI, Anthropic, Google Gemini, Ollama, Groq, Mistral, Cohere per action - **Parallel | Medium | 3/27/2026 |