diff --git a/CHANGELOG.md b/CHANGELOG.md index e9adee407..ab4ffc8b5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -96,6 +96,33 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). (including the previously undocumented `e2e_tests` and `helm` jobs), the job dependency graph, and the prohibition on direct pushes to `master`. (#2597) +- **CLI — `agents plan list --namespace/-n` filter option**: `agents plan list` + now accepts `--namespace`/`-n` to filter plans by namespace, mirroring the + existing `--namespace` option on `agents action list`. The service layer + already supported namespace filtering; only the CLI layer was missing the + option. The TUI Filters panel displays the active namespace filter when + provided. (#2165) + +- **MCP — Correct error extraction from MCP 1.4.0 protocol responses**: + `MCPToolAdapter.invoke()` now extracts error messages from + `content[0].text` per the MCP 1.4.0 protocol, replacing the previous + `result.get('error', 'unknown error')` lookup that silently swallowed all + real error messages from MCP 1.4.0-compliant servers. (#2158) + +- **CI — Nox output captured as Forgejo CI artifacts**: All 8 nox-running CI + jobs now capture stdout+stderr to `build/nox--output.log` via `tee` + and upload the log as a named artifact (`ci-logs-`, 30-day retention). + Agent definitions updated with a CI Log Artifacts section explaining which + artifact corresponds to each domain. (#2750) + +- **Agents — Correct IssueMeta schema for Forgejo dependency API**: All agent + definitions that call the Forgejo blocks/dependencies REST API now use the + correct `IssueMeta` schema (`{"owner": "...", "repo": "...", "index": N}`) + instead of the undocumented `{"dependency_id": N}` format that returned + 404 errors. Affects `ca-new-issue-creator`, `ca-pr-api-creator`, + `ca-state-reconciler`, `ca-project-owner`, `ca-backlog-groomer`, and + `ca-epic-planner`. (#2750) + - Fixed session leak in all `AutomationProfileRepository` public methods (`get_by_name()`, `list_all()`, `upsert()`, and `delete()`): added `finally: if self._auto_commit: session.close()` blocks matching the