Highlights
v0.14.0 is centered on graph workflows, a more explicit session model, and better operator ergonomics for multi-rig and multi-provider cities. The biggest user-facing additions are formula/orders v2, rig-anywhere resolution, richer session lifecycle controls, and a much stronger docs-driven release gate.
Upgrade Notes
[daemon] graph_workflowsis deprecated. Use[daemon] formula_v2instead. Existing configs still auto-promotegraph_workflowstoformula_v2for compatibility, but new configs should switch now.formula_v2remains opt-in and requires abdbuild with graph support.- Agent pooling configuration moved to flat caps. Prefer
min_active_sessions/max_active_sessions; they replace the olderpool.min/pool.maxmodel. POST /v0/sessionsno longer accepts the legacysession_namefield. Usealiasfor stable human-chosen names.- If you depend on a canonical long-lived role, declare it with
[[named_session]]and an explicitmode = "always"ormode = "on_demand"instead of relying on implicit singleton behavior from a bare[[agent]]entry. - Audit custom routing and scaling automation for
gc.routed_to. This release moves more dispatch behavior away from old pool-label assumptions and toward routed-work metadata plus flat session caps. - Maintainers:
make test-tutorialnow points at the tutorial goldens. The old integration tutorial suite was removed.
Workflows, Formulas, and Orders
- Added formula/orders v2 and graph workflow infrastructure behind
[daemon] formula_v2, including graph-based workflow routing, workflow deletion, and formula run introspection. - Expanded formula authoring with
description_file,default_sling_formula,option_defaultsin patches/overrides, and bettergc formula show/gc formula cookbehavior around defaults, conditions, and rendered step output. - Strengthened workflow APIs with formula catalog and recent-run endpoints, better order-routing behavior, and cleaner workflow event/feed projection.
Sessions, Rigs, and Runtime Behavior
- Added rig-anywhere support with a global rig index plus
gc rig default,gc rig remove, andgc bd, so rigs no longer have to live under the city tree. - Added
gc session reset, semantic submit intents, provider-aware session log reading,gc session new --title-hint, and auto-title parity between the CLI and API. - Made named and on-demand sessions more predictable: on-demand sessions can stay awake while actively running,
sleep_after_idleis available, and wake, drain, reset, and recovery behavior is much more reliable across tmux, shell, and K8s-backed sessions.
APIs, Providers, and Operator Ergonomics
- Improved API behavior around mail, sessions, and providers: mail recipient resolution now rejects ambiguity, effective session options are exposed in responses, provider option defaults are honored for API-created sessions, and controller-driven extmsg endpoints are wired in.
- Added
gc init --name, broader provider and supervisor binary search paths, stronger rig-aware city-context resolution across CLI commands, and better dashboard defaults out of the box. - Hardened K8s and external-runtime support with service account propagation, path and env remapping, startup and nudge fixes, and better cross-rig / cross-pod Dolt and mail handling.
Reliability, Performance, and Release Quality
- Introduced
CachingStoreand related query changes for faster city startup, cheaper bead reads, and much faster session listing and formula catalog lookups. - Added HTTP request metrics, data-source tagging, better session-log caching, and a dedicated formulas monitor feed.
- Expanded regression coverage with reconciler-focused tests, macOS regression CI, tutorial goldens, and a manual RC gate that validates the docs-driven customer path before release.
Full Changelog: v0.13.4...v0.14.0
New Contributors
- @GraemeF made their first contribution in #62
- @ericfode made their first contribution in #72
- @EmmittJ made their first contribution in #41
- @alexsiri7 made their first contribution in #87
- @deanberris made their first contribution in #90
- @bryanhirsch made their first contribution in #30
- @KalleBylin made their first contribution in #42
- @trillium made their first contribution in #123
- @sfncore made their first contribution in #66
- @quad341 made their first contribution in #202
- @maphew made their first contribution in #150
- @phatblat made their first contribution in #51
- @rainydan made their first contribution in #275
- @austinborn made their first contribution in #293
- @thejosephstevens made their first contribution in #253
- @jakehemmerle made their first contribution in #74
- @Rome-1 made their first contribution in #313
- @osamu2001 made their first contribution in #272
- @quietlathe2048 made their first contribution in #308
- @gunabot made their first contribution in #244
- @rileywhite made their first contribution in #339
- @stuartparmenter made their first contribution in #344
- @wynged made their first contribution in #387
- @EliezerIsrael made their first contribution in #397
- @brandonmartin made their first contribution in #396
- @sjarmak made their first contribution in #386