v0.2.0
Highlights
- Unified Task model — single polymorphic
/api/tasksHTTP resource covering Repo Tasks, Repo Task blueprints, and Standalone Tasks - Standalone Tasks (Agent Workflows) — agent runs with no repo checkout,
{{PARAM}}prompt templates, four trigger types (manual / schedule / webhook / ticket), isolated pod execution, WebSocket log streaming, auto-retry, clone, visual editors, search and filters - Connections — external service integrations via MCP with built-in providers (Notion, GitHub, Slack, Linear, PostgreSQL, Sentry, Filesystem) plus custom MCP servers and HTTP APIs
- Reconciliation control plane (shadow mode) — K8s-style reconciler for task and pod state
- StatefulSets for repo pods, Jobs for workflow pods
- Generic OIDC OAuth provider — self-hosted SSO
- OpenTelemetry + Fastify HTTP metrics
- OpenAPI spec + Swagger UI at
/docs— Zod type-provider migration across all routes - Workspace-level audit log and activity feed
- Outbound webhooks on workflow run events
- Multi-arch image publishing — amd64 + arm64 for all service and agent images
- OpenClaw agent runtime; OpenCode custom OpenAI-compatible endpoints
- Planning mode and message bar improvements
Added
- Ticket trigger UI and ticket-provider auth failure handling with auto-disable
- Stale Claude OAuth token detection before 401s
nodeSelectorand tolerations for api, web, optio, postgres, redis, and agent podsOPTIO_ALLOW_PRIVATE_URLS— SSRF-check bypass for private network integrations- Expanded dashboard analytics — performance, agents, and failure insights
Changed
- Overview panel redesign — reordered sections, side-by-side recent tasks and pods, responsive grid
- Replaced connections modal with inline form
- Renamed "Workflows" to "Agent Workflows" in UI; docs consolidate Schedules + Workflows into unified Tasks
- Removed redundant templates and schedules — superseded by agent workflows
Removed
- Top Failures and Performance dashboard panels
- "N tasks failed today" dashboard banner
Fixed
- Classify agent auth failures as run failures rather than global failures
- Escalate repo tasks to
needs_attentionwhen the agent completes without opening a PR - Prevent false task failures when agent creates a PR but exits non-zero
- Detect and clean up zombie
workflow_runswith terminated pods - Six K8s infra bugs blocking standalone/scheduled runs and repo pods
- Pod
securityContextand explicit UID for PVC permissions on GKE - Re-read task state before orphan reconciliation transitions
- Persist workflow run logs and publish to per-run channel
- Treat empty-string env vars as missing in
parseIntparsing - Health check passes when ClusterRole is not deployed
- Record GitHub 401s to
auth_events; dismiss and clear stale auth-failure banners - Replace Drizzle
migrate()with hash-based runner; add missing 0046 migration entry to Drizzle journal
See CHANGELOG.md for the full list.