diff --git a/CHANGELOG.md b/CHANGELOG.md index b2d61d8f..7201ea34 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ All notable changes are documented here. Format: [Keep a Changelog](https://keep ## [Unreleased] +## [0.4.0] - 2026-10-29 + ### Added - Cloud agent governance ([ADR-0034](https://dshakes.github.io/halos/adr/0034-cloud-agent-governance/)) for the Claude Code GitHub Action and cloud sessions, Codex cloud, the Copilot cloud agent, Cursor cloud agents and the Gemini CLI GitHub Action. `halos.yaml` `cloudAgents` sets per vendor: enabled, allowed repositories and models, `maxConcurrent` per user and group, budgets (ADR-0017 fields), sandbox network mode, `identity: workload` (gateway credential through the ADR-0023 exchange instead of a repository secret) and `onOverLimit: alert|pause`; `identities` map GitHub logins to Halos users. `halo cloud-agents render` writes SHA-pinned, `permissions: {}` workflows (`halos-claude.yml`, `halos-gemini.yml`, `copilot-setup-steps.yml`) checked against the never-bypass invariant, and releases carry them signed in `manifest.json` `cloudAgents` (never written by `halod`). halo-server receives GitHub `workflow_run` webhooks (`POST /api/v1/cloud-agents/webhooks/github`, `X-Hub-Signature-256` HMAC, `--cloud-webhook-secret-file`), stores tasks in the audit chain (`cloudagent.task`; finished ones also as session ledger records with source `cloudagents`), raises alerts (`halo_server_cloud_agent_alerts_total`) and, with `onOverLimit: pause`, reversibly disables the workflow or archives the Cursor agent. `GET /api/v1/cloud-agents` (read) and `halo cloud-agents list` show tasks and alerts; `POST /api/v1/cloud-agents/kill` (operate) and `halo cloud-agents kill --scope user|ring|experiment` cancel a user's, ring's or experiment's tasks through the GitHub and Cursor APIs, dry run by default, reason required, audited before any call. An experiment kill reports its users' active cloud tasks. `halo admin plan|export` add the console steps for Claude cloud sessions, Codex cloud, Cursor and Copilot repository access, and read each repository's Copilot cloud agent firewall. diff --git a/deploy/helm/halos/Chart.yaml b/deploy/helm/halos/Chart.yaml index 0f35e4be..91aba4a6 100644 --- a/deploy/helm/halos/Chart.yaml +++ b/deploy/helm/halos/Chart.yaml @@ -2,8 +2,8 @@ apiVersion: v2 name: halos description: Halos control plane (halo-server, halo-proxy, halo-shadow, optional OTel collector and Kong plugin CR) type: application -version: 0.3.0 -appVersion: "0.3.0" +version: 0.4.0 +appVersion: "0.4.0" kubeVersion: ">=1.27.0-0" home: https://github.com/dshakes/halos keywords: [halos, ai-coding, gateway, policy]