Skip to content

Releases: managoat/fountain

v0.17.0

Choose a tag to compare

@github-actions github-actions released this 14 Sep 11:36
2e99b23

What's Changed

  • docs(swift): install from v0.16.0 by @jhgaylor in #1456
  • docs(adr-0038): record the production walk, verification to reply in 35s by @jhgaylor in #1458
  • feat(sdk): a typed Swift client beside the untyped one by @jhgaylor in #1457
  • fix(runtimes): take managoat_runtimes 0.1.1, opencode's google key by its real name by @jhgaylor in #1461
  • docs(libraries): record the no-Fountain consumer by @jhgaylor in #1465
  • docs(adr-0016): update the governance boundary by @jhgaylor in #1466
  • fix(credits): bill gemini platform inference (#1459) by @jhgaylor in #1467
  • refactor(conversations): the connection and output persistence out, and what the process keeps by @jhgaylor in #1463
  • Take managoat_sandbox 0.2.0: a close before the exit frame is an error, not exit 0 by @jhgaylor in #1470
  • deps: bump hackney to 4.7.4, closing four advisories (#1468) by @jhgaylor in #1472
  • fix(conversations): recover orphaned running turns by @jhgaylor in #1473
  • test(activation): bind the fixture timestamp once (#1471) by @jhgaylor in #1478
  • fix(buzz): make harness teardown deterministic by @jhgaylor in #1475
  • feat(integrations): put Fountain behind LiteLLM by @jhgaylor in #1479
  • ci: gate Hex advisories without blocking retirements by @jhgaylor in #1480
  • chore(precommit): assemble the prod release (#1477) by @jhgaylor in #1482
  • docs(broker): correct the substitution scope, measured against gemini-cli by @jhgaylor in #1483
  • feat(broker): stored egress log and metrics for the native backend by @BinaryBourbon in #1490
  • fix(broker): brokered clones, by not waiting for the proxy's 407 by @jhgaylor in #1492
  • chore(broker): delete the Agent Vault client, and accept ADR 0019 by @jhgaylor in #1494
  • fix(broker): BROKER_TOKEN only warns, it does not stop boot by @jhgaylor in #1495
  • chore: add Fountain project gardener skill by @jhgaylor in #1491
  • feat(broker): the connect-outcome metric, and managoat_broker 0.1.2 by @jhgaylor in #1497
  • docs(connections): Node stdio MCP servers need NODE_USE_ENV_PROXY by @jhgaylor in #1498
  • docs(adr-0043): define the first-party Fountain extension boundary around Buzz (#1504) by @jhgaylor in #1512
  • fix(acp): send the substituted MCP configuration on session/new (#1404) by @jhgaylor in #1511
  • fix(api): interrupt answers 409 for a conversation it can see (#1179) by @jhgaylor in #1500
  • feat(credits): telemetry for the workers and for the ledger (#1169) by @jhgaylor in #1513
  • fix(billing): price comms messages from a row that cannot be dropped (#1143) by @jhgaylor in #1514
  • feat(buzz): cap and gate hosted agents, and stop them at a zero balance (#1017) by @jhgaylor in #1502
  • feat(admin): show running Buzz runtimes by @jhgaylor in #1519
  • feat(dashboards): put the credit machinery on the finance dashboard (#1169) by @jhgaylor in #1521
  • feat(extensions): authenticated API dispatch and conversation MCP contributions (#1505) by @jhgaylor in #1515
  • feat(extensions): compose migrations and OpenAPI paths (#1506) by @jhgaylor in #1517
  • feat(buzz): move the hosted-agent server into apps/fountain_buzz (#1507) by @jhgaylor in #1523
  • fix(broker): take managoat_broker 0.1.3, so a query string stops reaching the egress log by @jhgaylor in #1527
  • feat(broker): take managoat_broker 0.11.0 and close the Agent Vault parity gaps by @jhgaylor in #1531
  • feat(support): move problem reports into apps/fountain_support (#1528) by @jhgaylor in #1535
  • feat(buzz): the extension owns its supply chain, and BUNDLE_BUZZ builds a core image (#1509) by @jhgaylor in #1534
  • fix(schema-guard): see an extension's responses, and declare what they render (#1536) by @jhgaylor in #1540
  • feat(dist): the core distribution becomes a gate, and the switch covers every extension (#1510) by @jhgaylor in #1541
  • fix(cli): stop a cached pass hiding a red examples test (#1542) by @jhgaylor in #1543
  • feat(release): publish the core image beside the bundled one (#1510) by @jhgaylor in #1545
  • feat(buzz): the provider moves to the extension, and actually ships (#1508) by @jhgaylor in #1546
  • fix(buzz): wait for the registry before asserting on it (#1544) by @jhgaylor in #1547
  • feat(docs): an extension owns its slice of the manual (#1510) by @jhgaylor in #1548
  • feat(broker): BROKER_TENANTS takes *, so the ratchet has an end state by @jhgaylor in #1553
  • feat(marketing): core copy declares the extension it needs (#1525) by @jhgaylor in #1552
  • fix(swift): stop cancelling URLSessionTasks that have already finished (#1410) by @jhgaylor in #1554
  • docs(adr-0043): an extension contributes HTTP servers, never stdio (#1529) by @jhgaylor in #1549
  • perf(ci): stop npm ci waiting on the advisories endpoint by @jhgaylor in #1556
  • perf(ci): split the checks job into four that share nothing by @jhgaylor in #1559
  • docs(broker): brokered credentials are on for every account by @jhgaylor in #1561
  • chore(deps-dev): bump @types/node from 22.20.1 to 26.4.0 in /sdk/typescript by @dependabot[bot] in #1558
  • chore(deps): bump the actions group with 4 updates by @dependabot[bot] in #1560
  • chore(mix): stop using the deprecated --app in mix cmd (#1526) by @jhgaylor in #1563
  • fix(buzz): drain the registry, not only the supervisor, at teardown (#1533) by @jhgaylor in #1567
  • feat(api): claimable principals, so a computer survives registration (#1551) by @jhgaylor in #1564
  • fix(conversations): the settle window always looks twice (#1429) by @jhgaylor in #1570
  • fix(test): the sandbox connection is a queue, so let it queue (#1524, #1568) by @jhgaylor in #1573
  • fix(test): the -core marketing assertions run only in a -core VM (#1574) by @jhgaylor in #1576
  • fix(test): the rate-limit window test no longer races its own window (#1575) by @jhgaylor in #1577
  • fix(deps): mint 1.10.0 closes two DoS advisories by @jhgaylor in #1589
  • fix(test): pin the clock the dashboard turn-hours tile is read against (#1586) by @jhgaylor in #1587
  • fix(buzz): await_stopped waits on the row the count reads (#1590) by @jhgaylor in #1591
  • fix(test): give the verify-pending advances a real deadline (#1592) by @jhgaylor in #1594
  • deps: bump mint to 1.10.0 in the Elixir SDK's lock too by @jhgaylor in #1588
  • fix(ops): deduplicate gauges and tag turns by provider by @jhgaylor in #1597
  • fix(api): render OpenAI envelopes for sandbox conflicts by @jhgaylor in #1598
  • fix(sdk): keep npm latest on the newest stable release by @jhgaylor in #1599
  • Lead with apps and refresh runtime and provider docs by @jhgaylor in #1600
  • fix(api): report the authenticated key expiry by @jhgaylor in #1601
  • fix(swift): stop status reads after run cancellation by @jhgaylor in #1603
  • docs(ops): distinguish portable and hosted alert coverage by @jhgaylor in #1604
  • fix(manifest): reject unknown spec keys before applying resources by @jhgaylor in #1605
  • fix(cli): render published code changes and system notices by @jhgaylor in #1602
    *...
Read more

v0.16.0

Choose a tag to compare

@github-actions github-actions released this 03 Sep 04:37
fbe833f

What's Changed

  • docs(quickstart): give Linux the release binary, not only brew by @jhgaylor in #1327
  • Speak to builders on the open-source launch page by @jhgaylor in #1328
  • feat(connections): registry of remote MCP servers verified with discovery by @jhgaylor in #1323
  • ci(release): open the bump as a PR and tag on merge by @jhgaylor in #1332
  • docs(decisions): ADR 0037, component libraries extracted umbrella-first by @jhgaylor in #1346
  • feat(libraries): managoat_substitution, the first umbrella library app by @jhgaylor in #1347
  • feat(libraries): managoat_sandbox, the sandbox behaviour, three adapters and the conformance suite by @jhgaylor in #1349
  • feat(libraries): managoat_mcp_auth, MCP authorization discovery and the URL guard by @jhgaylor in #1350
  • feat(libraries): managoat_runner, the runner wire protocol, connection and adapter behind a host behaviour by @jhgaylor in #1352
  • feat(libraries): managoat_docs, the compile-time manual, its renderer and its guardrails by @jhgaylor in #1354
  • feat(libraries): managoat_oauth, the code+PKCE and device-grant state machine behind a host behaviour by @jhgaylor in #1356
  • feat(libraries): managoat_broker, the egress credential proxy from #1148 as a library by @jhgaylor in #1355
  • feat(broker): native broker backend beside Agent Vault, selected by BROKER_LISTEN_PORT by @jhgaylor in #1357
  • feat(libraries): managoat_acp, the ACP peer, permission policy and blocks behind a writer callback by @jhgaylor in #1358
  • docs(contributing): the one-VM trap for library test helpers by @jhgaylor in #1353
  • chore(deps): bump golang from 1.26-bookworm to 1.27-bookworm by @dependabot[bot] in #1330
  • chore(deps): bump softprops/action-gh-release from 3.0.2 to 3.0.3 in the actions group by @dependabot[bot] in #1331
  • chore(sandbox): take the Sprites client from hex, pinned to 0.2.0 by @jhgaylor in #1360
  • fix(libraries): two things the stand-alone gates found before graduation by @jhgaylor in #1367
  • chore(libraries): managoat_substitution from hex by @jhgaylor in #1366
  • feat(libraries): the graduation template, script and recipe by @jhgaylor in #1362
  • chore(libraries): managoat_mcp_auth from hex by @jhgaylor in #1378
  • chore(libraries): managoat_oauth from hex by @jhgaylor in #1379
  • chore(libraries): managoat_acp from hex by @jhgaylor in #1380
  • chore(libraries): managoat_sandbox from hex by @jhgaylor in #1381
  • chore(libraries): managoat_docs from hex by @jhgaylor in #1382
  • chore(libraries): managoat_broker from hex by @jhgaylor in #1383
  • chore(libraries): managoat_runner from hex by @jhgaylor in #1385
  • refactor(conversations): the size ratchet and honest section headers by @jhgaylor in #1384
  • refactor(conversations): MCP server list and callback key out (McpServers, CallbackKey) by @jhgaylor in #1386
  • docs(decisions): ADR 0038, onboarding is the path from verified to first reply by @jhgaylor in #1394
  • feat(libraries): managoat_runtimes, how a coding agent gets into a sandbox speaking ACP by @jhgaylor in #1387
  • chore(scripts): graduate-library keeps a library's extra package files by @jhgaylor in #1396
  • refactor(conversations): sprite environment assembly and runtime file writes out (SpriteEnv, Provisioning) by @jhgaylor in #1395
  • feat(api): sandbox files and git diff, read-only (ADR 0039) by @jhgaylor in #1397
  • refactor(conversations): egress brokerage and connection secrets out (Egress) by @jhgaylor in #1398
  • chore(libraries): managoat_runtimes from hex by @jhgaylor in #1400
  • refactor(conversations): the turn machinery and peer reports as a state machine (TurnMachine) by @jhgaylor in #1401
  • refactor(conversations): pending permissions and parked caller tools out (Pending) by @jhgaylor in #1402
  • refactor(conversations): sandbox reclaim actions into Lifecycle by @jhgaylor in #1403
  • feat(sdk): add Elixir client by @jhgaylor in #1409
  • feat(sdk): add Swift client by @jhgaylor in #1408
  • feat(sdk): add Python client by @jhgaylor in #1407
  • feat(funnel): activation is the first conversation with a reply by @jhgaylor in #1416
  • feat(sdk): make OpenAPI the canonical wire contract for every client by @jhgaylor in #1417
  • feat(billing): platform inference keys, metered against credits (#1388) by @jhgaylor in #1419
  • feat(onboarding): a default agent in every account at verification by @jhgaylor in #1420
  • feat(sdk): a shared cross-language behavioural conformance suite by @jhgaylor in #1425
  • test: scratch paths two concurrent suites cannot collide on by @jhgaylor in #1428
  • feat(onboarding): the verified landing is a key, one request, the reply by @jhgaylor in #1426
  • test(api): guard the schema against its own controller by @jhgaylor in #1442
  • refactor(onboarding): drop users.onboarding_state (#1393) by @jhgaylor in #1447
  • feat(cli): auth register waits for verification; quickstart runs the request by @jhgaylor in #1443
  • docs(sandbox): ADR 0040 for Render, and the Render column in platform-requirements by @jhgaylor in #1449
  • fix(api): LogEvent renders state and stage as null, not "" by @jhgaylor in #1445
  • copy(docs): tighten sandbox platform requirements by @jhgaylor in #1450
  • docs(sandbox): mark Render Sandboxes as early access by @jhgaylor in #1451
  • fix(api): one shape for every 422 by @jhgaylor in #1448
  • fix(funnel): re-decompose the stalled breakdown around the starter agent (#1421) by @jhgaylor in #1453
  • ci(sdk): publish the Elixir package from Actions by @jhgaylor in #1452
  • fix(sdk): make the Swift package release-ready by @jhgaylor in #1454
  • chore(release): v0.16.0 by @jhgaylor in #1455

Full Changelog: v0.15.0...v0.16.0

v0.15.0

Choose a tag to compare

@github-actions github-actions released this 01 Sep 20:04
a9c27c5

What's Changed

  • docs: drop the MIT-through-v0.12.0 history from the README and the open-source page by @jhgaylor in #1192
  • feat: Open Graph and Twitter cards on every page by @jhgaylor in #1193
  • feat(brand): BRAND_ASSETS_URL serves the icon, favicons and card from any static host by @jhgaylor in #1194
  • feat(marketing): rewrite the homepage above the pricing section by @jhgaylor in #1195
  • chore(deps): Bump github.com/coder/websocket from 1.8.12 to 1.8.15 in /cli in the go-deps group by @dependabot[bot] in #1189
  • fix(conversations): wake a dead server before giving up on interrupt by @BinaryBourbon in #1180
  • feat(api): agent config versions and conversation provenance over the API by @jhgaylor in #1056
  • feat(api): OpenAI-compatible /v1/chat/completions where the model is an agent by @jhgaylor in #1199
  • fix(provision): retry the runtime config write, and fail cleanly if it still cannot land by @jhgaylor in #1200
  • feat(examples): Deep Agents orchestrator with Fountain agents as subagents by @jhgaylor in #1201
  • feat(api): tool bridge on /v1/chat/completions and AG-UI, the caller's tools come back as tool_calls by @jhgaylor in #1203
  • fix(conversations): the caller's tools ride on the attach create path too (#1202) by @jhgaylor in #1204
  • feat(marketing): an integrations page, the protocols Fountain speaks and what speaks them by @jhgaylor in #1207
  • docs(openbot): the tool bridge exists now, say so by @jhgaylor in #1208
  • docs: client-side search over titles and headings (#1009) by @geekyNads in #1210
  • feat(marketing): a gallery of what people built on the API, at /built-with by @jhgaylor in #1211
  • feat(marketing): a landing page for running it yourself, at /self-hosted by @jhgaylor in #1212
  • copy(marketing): a headline for /self-hosted that is true and sells something by @jhgaylor in #1213
  • fix(compose): forward the four app-facing vars, and guard what a guide tells you to set by @jhgaylor in #1215
  • fix(test): async modules must not write global application env by @jhgaylor in #1214
  • docs(deploy): the prerequisites an operator needs, and a cold start that is not a failure by @jhgaylor in #1216
  • fix(compose): the features /self-hosted says you switch on are now reachable by @jhgaylor in #1217
  • copy(marketing): /self-hosted sells the platform, not the machine by @jhgaylor in #1218
  • feat(marketing): a case study, an estate that answers its own alerts by @jhgaylor in #1220
  • copy(marketing): the three apps we build ourselves lead the pages by @jhgaylor in #1219
  • copy(case-study): the headline concedes the pager and drops "him" by @techietequila in #1221
  • copy(marketing): the homepage becomes a funnel, lane by lane by @lex00 in #1222
  • fix(test): the caller-tool stage row is read after the server has written it by @jhgaylor in #1223
  • refactor(runner): what a sandbox is made of becomes a Backend by @jhgaylor in #1224
  • feat(runner): a Firecracker microVM for each sandbox by @jhgaylor in #1225
  • docs(runner): the Firecracker backend is verified on hardware, and a broker tenant cannot use a runner by @jhgaylor in #1226
  • fix(runner): a microVM's sandbox path is /home/sprite, not the host's state directory by @jhgaylor in #1227
  • copy(marketing): the self-healing case study says the same thing in fewer words by @jhgaylor in #1228
  • feat(marketing): a code review bot, whole, on one screen by @jhgaylor in #1229
  • docs(primitives): redraw the diagram as three stages, and pin its two copies by @jhgaylor in #1230
  • copy(marketing): unlist /code-review-bot until somebody has run it by @jhgaylor in #1231
  • copy(marketing): every line of the case study defends itself, or changes by @jhgaylor in #1232
  • design(tokens): brand color matches the managoat logo's blue by @beauregardhenry in #1233
  • copy(marketing): trim the self-hosted hero to one line before the CTA by @beauregardhenry in #1234
  • feat(marketing): /self-hosted leads with the bring-up by @jhgaylor in #1235
  • design(marketing): the footer wraps into groups instead of one long row by @jhgaylor in #1237
  • copy(marketing): the homepage sells infrastructure to builders by @jhgaylor in #1236
  • The docs stop sounding like an assistant wrote them by @jhgaylor in #1239
  • Docs CI: a third prose gate, for AI-writing tells (re-target of #1240) by @jhgaylor in #1242
  • docs: name the three prose gates on the contribute page by @jhgaylor in #1243
  • feat(deploy): a Render blueprint, for an instance that is not ours by @jhgaylor in #1244
  • copy: say what Fountain is before saying what it saves you by @jhgaylor in #1246
  • chore: drop .sops.public-key, missed when SOPS left by @jhgaylor in #1245
  • The demo suite moved to *.demo.managoat.com by @jhgaylor in #1247
  • Take Reflex off /built-with, and finish the URL move #1247 left half-done by @jhgaylor in #1248
  • feat(deploy): Fly, Coolify, and a name for the hosts that do not work by @jhgaylor in #1249
  • copy: rework the problem lead-in, cut the teammate contact section by @jhgaylor in #1250
  • feat(marketing): one page for the questions, at /faq by @jhgaylor in #1251
  • Restructure /self-hosted around the bring-up by @beauregardhenry in #1253
  • chore(destink): switch to the published sentences package, drop the vendor tree by @lex00 in #1254
  • copy: say each thing once on the homepage by @jhgaylor in #1255
  • copy(marketing): the homepage sells an outcome, and shows the manifest by @jhgaylor in #1257
  • design(marketing): the homepage gets a shape, and the tokens get a guard by @jhgaylor in #1258
  • fix(web): version the tokens.css URL, so a deploy cannot land on a cached one by @jhgaylor in #1259
  • design(marketing): the site on paper by @jhgaylor in #1260
  • copy(marketing): one grammar for the six cards, one job for the subhead by @jhgaylor in #1261
  • copy(marketing): the setup h2 says what you get for writing it by @jhgaylor in #1262
  • copy(marketing): the homepage titles itself by @jhgaylor in #1263
  • copy(marketing): the case study callout says cluster by @jhgaylor in #1264
  • copy(marketing): agents are started, not hired by @jhgaylor in #1266
  • docs: credit the sentences package in the prose-check table by @lex00 in #1256
  • copy(marketing): the case study card ends on the credential, and stops underselling the estate by @jhgaylor in #1267
  • marketing: the limits move to the FAQ, and the homepage becomes two forks by @jhgaylor in #1268
  • copy(marketing): the foot of the homepage, in one voice by @jhgaylor in #1271
  • Sharpen the homepage argument by @jhgaylor in #1272
  • Refine self-hosted marketing copy by @jhgaylor in #1273
  • Fix self-hosted ownership timeline artifact by @jhgaylor in #1274
  • Clarify the self-hosted first boot sequence by @jhgaylor in https://gith...
Read more

v0.14.0

Choose a tag to compare

@github-actions github-actions released this 25 Aug 21:43

What's Changed

  • docs: the manual catches up with the sandbox, team and contact APIs by @jhgaylor in #1173
  • fix(web): env edit page 500s when a package value is not a list by @jhgaylor in #1174
  • fix(broker): brokered sandboxes trust the MITM CA across uv/pip/cargo, not just Node by @jhgaylor in #1175
  • dev: register the reflex OAuth client by @jhgaylor in #1176
  • feat(connections): Gmail via OAuth — tenant signs in once, Fountain holds the credential (#1178) by @jhgaylor in #1182
  • fix(connections): gmail_search 500 — Gmail's multi-valued params are repeated keys by @jhgaylor in #1183
  • fix(broker): a refused vault create is checked against the vault list before it fails a prepare by @jhgaylor in #1184
  • The hosted Fountain is managoat.com (#1177) by @jhgaylor in #1188
  • docs: Open source page + ADR 0034, the project has no site of its own by @jhgaylor in #1190
  • changelog: roll [Unreleased] into 0.14.0 by @jhgaylor in #1191

Full Changelog: v0.13.0...v0.14.0

v0.13.0

Choose a tag to compare

@github-actions github-actions released this 25 Aug 11:01

What's Changed

  • chore(buzz-acp): repin the fork to carry block/buzz#6101 (owner commands with mention text) by @jhgaylor in #787
  • feat(acp): honour _meta.freshSession — !rotate opens a new channel conversation; repin buzz-acp to fountain.3 by @jhgaylor in #788
  • fix: a lost reuse wake race drops the prompt instead of handing it off (#667) by @jhgaylor in #786
  • fix(buzz): honor the desktop's respond_to policy on a hosted harness by @jhgaylor in #791
  • chore(buzz-acp): repin to fountain.4 — publish the kind:10100 directory entry (block/buzz#6097) by @jhgaylor in #792
  • feat(buzz): set who may @-mention a hosted agent after deploy — PATCH /api/buzz/agents/:id + fountain buzz agents set-access by @jhgaylor in #794
  • docs: a fountain acp reference page, and "Operating a hosted agent" on the Buzz page by @jhgaylor in #795
  • fix(billing): suspend-aware usage metering — parked time no longer inflates sandbox-minutes (#665) by @BinaryBourbon in #789
  • docs: say where the nav is mirrored, at the two places a docs editor actually looks by @jhgaylor in #796
  • fix(conversations): a transient provider error no longer retires a live sandbox (#799) by @jhgaylor in #801
  • fix(conversations): a wake onto a fresh sandbox starts a new runtime session (#778) by @jhgaylor in #802
  • feat(team): a messaging-style team page — agents as teammates, one conversation each by @jhgaylor in #804
  • fix(conversations): a prompt that finds a pending sandbox waits for its server instead of racing it (#800) by @jhgaylor in #803
  • feat(team): name a teammate and pick its environment and vault when adding it by @jhgaylor in #807
  • feat(team): schedules — a cron that runs a teammate with a prompt, in its thread or on a one-off computer by @jhgaylor in #808
  • fix(team): a teammate keeps its agent's name — no generated summary over a team conversation's title by @jhgaylor in #809
  • feat(api): the team over the API — /api/team, one SSE stream for the whole team, opt-in CORS by @jhgaylor in #811
  • fix(api): the team stream sends a first byte before anything else by @jhgaylor in #812
  • feat(api): blocks over the API, and every conversation on one SSE stream by @jhgaylor in #814
  • feat(api): GET /api/catalog and POST /api/avatars/generate by @jhgaylor in #816
  • feat(auth): "Sign in with Fountain" — OAuth 2.0 code + PKCE for the browser apps by @jhgaylor in #819
  • feat(integrations): Hermes Agent plugin — Fountain agents as Hermes tools by @jhgaylor in #824
  • feat(api): team schedules over the API (#825) by @jhgaylor in #828
  • feat(api): token usage per turn and per conversation (#827) by @jhgaylor in #829
  • feat(api): GET /api/search across a user's conversations and turns (#826) by @jhgaylor in #830
  • feat(sandbox): self-hosted runner provider — a user's own machine as a backend (ADR 0022) by @jhgaylor in #833
  • feat(api): rename a teammate and list its history (#831, #832) by @jhgaylor in #835
  • feat(team): presence and roster fields for runner-backed teammates (#834) by @jhgaylor in #836
  • fix(acp/claude): make MCP servers actually work — provision into the sandbox (#837) by @jhgaylor in #838
  • fix(team): a pending conversation on a ready sandbox is online, not "starting computer" by @jhgaylor in #839
  • feat(team): a fresh conversation on the same computer — POST /api/team/:agent_id/conversations by @jhgaylor in #840
  • feat(onboarding): ask for Anthropic only; collect other providers' keys when a model first needs them (#841) by @jhgaylor in #842
  • feat(support): POST /api/support/reports — "Report a problem" with context, forwarded to the operator (#843) by @jhgaylor in #844
  • fix(agents): deliver the system prompt to the runtime (#848) by @jhgaylor in #849
  • feat(team): teammates that know each other — the fountain-team MCP — and a bundled /create-team skill (#851) by @jhgaylor in #852
  • feat(team): a teammate with its own email address and phone number (PoC, flag team_comms) by @jhgaylor in #850
  • team: a from-line that states the trust boundary on teammate messages by @jhgaylor in #853
  • fix(team): AgentMail client_id without a colon; provider refusals are 424, not 502 by @jhgaylor in #854
  • team: wait_for_teammate — block for a teammate's reply instead of polling by @jhgaylor in #855
  • ci: skip the main re-run when the merged PR already tested this exact tree by @jhgaylor in #856
  • feat(team): change a teammate's prompt number without re-buying; texts carry the trust line by @jhgaylor in #857
  • fix(team): an AgentPhone persona per teammate number; voice calls declined; provider errors described by @jhgaylor in #858
  • feat(team): SMS opt-in consent on the contact form; STOP/START/HELP honoured inbound (A2P/10DLC) by @jhgaylor in #859
  • oauth: register the dns-desk client by @jhgaylor in #862
  • fix(agents): re-wire system-prompt delivery lost in #850's merge by @jhgaylor in #863
  • k8s: admit the demo-suite origins (CORS + OAuth clients) by @jhgaylor in #864
  • api: first_prompt on conversation JSON by @jhgaylor in #865
  • k8s: admit mend.inevitable.fyi (CORS + OAuth client) by @jhgaylor in #867
  • apps: one place that knows where the browser apps live by @jhgaylor in #866
  • docs: the two app URL vars the config guard asked for by @jhgaylor in #868
  • The web UI is a console by @jhgaylor in #869
  • docs: tell a self-hoster where the conversation UI went by @jhgaylor in #870
  • Usage on the console's dashboard by @jhgaylor in #871
  • k8s: admit rounds.inevitable.fyi (CORS + OAuth client) by @jhgaylor in #872
  • The tokens tile counted a rounding error by @jhgaylor in #874
  • Promote the account menu into the sidebar by @jhgaylor in #875
  • A TypeScript SDK: fountain.run(prompt, {agent, environment, vault}) by @jhgaylor in #876
  • The SDK surface the applications actually use, over generated types by @jhgaylor in #877
  • The docs theme painted a box behind every line of code by @jhgaylor in #879
  • Bake the highlighter's parsers into the image by @jhgaylor in #883
  • The image build cannot read a doc snippet it was never given by @jhgaylor in #884
  • feat(agui): Fountain speaks AG-UI, so an OpenBot coworker can be a Fountain agent by @jhgaylor in #873
  • One Integrations section held two unrelated jobs by @jhgaylor in #889
  • A docs typo ran the whole Elixir suite, and no docs check at all by @jhgaylor in #891
  • An orphaned sleep held CI's pipe open for five minutes a run by @jhgaylor in #892
  • The bot messenger everyone is cloning, minus the half that is hard by @jhgaylor in #893
  • Write the build pages like a person by @jhgaylor in #896
  • Six test partitions, because the slowest one is the wall-clock by @jhgaylor in #895
  • The nav was written twice and only checked by a test that looked unrelated by @jhgaylor in #894
  • The image should not claim to be a commit by @jhgaylor in #897
  • k8s: drop all c...
Read more

v0.12.0

Choose a tag to compare

@github-actions github-actions released this 17 Aug 05:22

What's Changed

  • ci(build): docs/ and CHANGELOG.md changes build the image — they are in it by @jhgaylor in #770
  • docs(openclaw): scope the two-conversations limit and the proof to versions actually run by @jhgaylor in #771
  • fix(acp): a turn in flight across a deploy no longer hangs on reattach by @jhgaylor in #772
  • fix(buzz): resolve a harness's launch in the child start, not in the Horde spec by @jhgaylor in #773
  • feat(conversations): channel-bound conversations — resume by channel_id, forwarded from ACP _meta (#774) by @jhgaylor in #775
  • chore(buzz-acp): point the fork pin at #776 by @jhgaylor in #777
  • fix(buzz): a harness that loses a Horde name conflict stops instead of running unregistered by @jhgaylor in #780
  • test(acp): settle/1 tolerates a peer that stopped between the alive check and the sync by @jhgaylor in #782
  • feat(conversations): per-launch environment override — environment_id on create, --environment on acp/run, Buzz passthrough (#783) by @jhgaylor in #784
  • docs(changelog): roll [Unreleased] into 0.12.0 by @jhgaylor in #785

Full Changelog: v0.11.0...v0.12.0

buzz-acp v0.5.14-fountain.4

Choose a tag to compare

@github-actions github-actions released this 18 Aug 02:52
bf00b28

buzz-acp and buzz built from jhgaylor/buzz 5bbad010f234ac71533f1afd120f44b75d9117dd for linux/amd64 and linux/arm64. See ADR 0020 / #743 / #737. Upstream is Apache-2.0.

buzz-acp v0.5.14-fountain.3

Choose a tag to compare

@github-actions github-actions released this 17 Aug 07:33
0583c1c

buzz-acp and buzz built from jhgaylor/buzz f98c2a7f2d0882d632d0f03a67e2cb687101ccd4 for linux/amd64 and linux/arm64. See ADR 0020 / #743 / #737. Upstream is Apache-2.0.

buzz-acp v0.5.14-fountain.2

Choose a tag to compare

@github-actions github-actions released this 17 Aug 06:49
b1945d3

buzz-acp and buzz built from jhgaylor/buzz 0bb9e5af7713ca6946b6eb5a332d817897024a31 for linux/amd64 and linux/arm64. See ADR 0020 / #743 / #737. Upstream is Apache-2.0.

v0.11.0

Choose a tag to compare

@github-actions github-actions released this 16 Aug 13:32

What's Changed

  • docs: 0016's status stops listing built things as missing by @jhgaylor in #733
  • docs: ADR 0020 — Buzz as a client of the ACP gateway by @jhgaylor in #734
  • feat(buzz): BuzzIdentity primitive + hosted buzz-acp Harness (ADR 0020 gate 2, increment 1) by @jhgaylor in #739
  • feat(buzz): Horde supervisor + Manager + boot sweep for hosted harnesses (ADR 0020 gate 2, increment 2a) by @jhgaylor in #740
  • docs: decisions/ is an OKF bundle, validated in CI by @jhgaylor in #741
  • feat(buzz): bake buzz-acp + fountain CLI into the image (ADR 0020 gate 2, increment 2b-i) by @jhgaylor in #742
  • ci(buzz): workflow to build & publish arm64+amd64 buzz-acp (#743) by @jhgaylor in #744
  • feat(buzz): image bakes our own buzz-acp for both arches (#743) by @jhgaylor in #745
  • fix(buzz): reap buzz-acp on stop via a port middleman — no more orphans (#736) by @jhgaylor in #746
  • feat(buzz): surface buzz-acp output on the Logger (#736) by @jhgaylor in #747
  • ci(buzz): publish the buzz CLI alongside buzz-acp (gate 3, #737) by @jhgaylor in #748
  • feat(buzz): bake the buzz CLI into the image (gate 3, #737) by @jhgaylor in #749
  • feat(buzz): MCP tool layer for the reply path (#737) by @jhgaylor in #750
  • feat(buzz): HTTP MCP endpoint for the reply path (#737) by @jhgaylor in #751
  • feat(buzz): give the sandboxed agent the reply tools (#737) by @jhgaylor in #752
  • feat(buzz): provision_identity/2 — the Fountain side of the provider deploy (#738) by @jhgaylor in #753
  • feat(buzz): REST API for hosted Buzz agents (#738) by @jhgaylor in #754
  • feat(buzz): buzz-backend-fountain remote-agents provider (#738) by @jhgaylor in #755
  • fix(buzz): set BUZZ_ACP_RELAY_OBSERVER so the desktop's ACP activity panel populates by @jhgaylor in #756
  • docs: OpenClaw as an ACP client of fountain acp (0015 addendum) by @jhgaylor in #757
  • docs(0015): OpenClaw acpx smoke verified on Node 24 (residual #1 closed) by @jhgaylor in #758
  • fix(acp): accept session/set_config_option instead of rejecting it by @jhgaylor in #759
  • docs: Buzz integration page + in-app diagram rendering by @jhgaylor in #761
  • docs(0020): refresh status — Phases 1-3 built, PDP gating is not by @jhgaylor in #763
  • Migrate markdown rendering from Earmark to MDEx (#762) by @jhgaylor in #764
  • docs: heading ids on the trusted markdown path so #anchor links resolve (#765) by @jhgaylor in #766
  • fix(acp): set_config_option reply advertises no config-option list — OpenClaw gateway round trip green (#760) by @jhgaylor in #767
  • docs(changelog): v0.11.0 — hosted Buzz agents, OpenClaw, MDEx by @jhgaylor in #768
  • docs(openclaw): OpenClaw-side agent, allowedAgents, persistent mode, verification tell by @jhgaylor in #769

Full Changelog: v0.10.2...v0.11.0