Skip to content

v0.21.2

Latest

Choose a tag to compare

@github-actions github-actions released this 19 Jun 00:41
· 7 commits to main since this release
a89a8d8

GAIA v0.21.2 Release Notes

GAIA v0.21.2 is a feature-packed patch on top of v0.21.1. A new native gaia-bash coding agent joins the lineup, the email agent gets smarter — it learns which senders matter to you and now returns a 5-bucket triage taxonomy with a concrete suggested action per message — and the desktop app now lets you roll back to a previous release whenever you want. Early Agent Hub plumbing also lands as a work in progress. The rest of the release clears a batch of email, connector, UI, and installer bugs.

Why upgrade:

  • A new native coding agentgaia-bash is a fast, self-contained C++ bash agent with an interactive TUI, CLI, REST API, and MCP server, usable on its own or from Claude Code / OpenCode.
  • Your inbox, learned and better sortedgaia email now remembers which senders matter to you and sorts mail into five intuitive buckets, each with a suggested next action.
  • Roll back to a previous version anytime — Settings → About now lists published releases and rolls the app back to one you pick, pausing auto-update so it can't silently re-upgrade past your choice.
  • Agent Hub — work in progress — the publish pipeline, catalog, and redesigned site are taking shape as the foundation for a hub to browse and install agents. Still in active development and not yet live.

What's New

A native bash coding agent — gaia-bash

gaia-bash joins GAIA's native C++ agents (alongside the WiFi, health, and process agents) as a fully native binary coding agent for the shell. It offers five ways to use it — an interactive TUI, a one-shot CLI query, pipe mode, an OpenAI-compatible REST API server, and an MCP stdio server, so external tools like Claude Code and OpenCode can drive it directly. It ships with file I/O, git, and shell-execution tools on the reusable C++ framework any future native agent can build on (PR #985).


Sharper inbox triage — gaia email

Triage used to return four flat buckets with no next-step. The email agent now sorts mail into five intuitive categories — URGENT, NEEDS_RESPONSE, FYI, PROMOTIONAL, PERSONAL — and attaches a concrete suggested_action (reply, archive, or none) to every message, so the result maps to how you actually clear an inbox. Spam and phishing stay independent flags, kept separate from priority (PRs #1690, #1696). Try it: gaia email.


The email agent learns your inbox — gaia email

gaia email no longer treats every inbox the same. It now profiles your mailbox and learns which senders you actually engage with, prioritizing them in future triage runs — and remembers those preferences across sessions instead of relearning from scratch each time. It all runs locally, so nothing about your mail leaves your machine (PRs #1633, #1642, #1643).


Roll back to a previous version — Agent UI

Switching back to an earlier release used to mean hunting down an old installer yourself. The Agent UI now has Settings → About → "Roll back to a previous version": pick an older published release, confirm, and the app downloads it and restarts into it. After a manual rollback it pauses auto-update so the next scheduled check can't silently re-upgrade past your choice — resume forward updates from the same panel when you're ready (PR #1711).


Recover failed document indexing — Agent UI

Documents that failed to index used to leave you with no detail and no way to retry. Failed documents now persist their last error, and a reindex API lets you retry them without re-adding the file (PR #1749).


Web research via Tavily — connector groundwork

Agents could previously only reach the web through keyless DuckDuckGo scraping. This release adds a Tavily connector and a gaia.web.tavily wrapper — proper search/extract from a single keyring-stored API key, with result caching, a credit budget, and an automatic DuckDuckGo fallback. It's not yet wired into an agent (the Knowledge Agent that consumes it lands in a later phase), so treat this as the plumbing rather than a user-facing feature (PR #1234).


Agent Hub — work in progress

The Agent Hub is moving from code toward a real service for browsing and installing agents. This release lands foundational pieces — a one-command publish pipeline producing immutable, checksummed agent versions, a catalog, and a redesigned website shared across GAIA surfaces, with gaia:// "Open in GAIA" deep links as the intended primary flow. It's still in active development and not yet live; this is the infrastructure it will run on (PRs #1564, #1705).


Bug Fixes

  • Agent UI served a stale frontend after an upgrade (PR #1741) — the frontend dist path was cached at startup, so an in-place upgrade could keep serving the old UI; it's now resolved per request.
  • MCP couldn't reliably activate an Agent UI session (PR #1750) — MCP→Agent UI session activation is now reliable and errors are normalized into actionable messages.
  • Archive-undo dropped messages on multi-mailbox inboxes (PR #1752) — undoing an archive now restores both Outlook and Gmail messages instead of only one.
  • One ungranted mailbox aborted the whole scan (PR #1753) — a single mailbox you haven't granted no longer kills triage across all your other connected mailboxes.
  • Email actions could hit the wrong mailbox (PR #1735) — multi-mailbox message actions are now routed by each message's recorded source account.
  • Calendar picked the wrong backend (PR #1736) — the calendar backend is now chosen by the connected, scoped provider rather than defaulting to Google.
  • Quarantine-undo and slot-proposal meetings mishandled (PR #1737) — slot-proposal meetings are now detected, and undoing a quarantine restores the message to INBOX.
  • File Browser row-click only previewed (PR #1734) — clicking a row in the File Browser now selects the file, not just previews it.
  • Triage hung when Lemonade was down (PR #1678) — email triage now fails fast with an actionable error when Lemonade is unreachable.
  • Email summary truncated by a tool docstring (PR #1668) — an oversized pre_scan_inbox docstring no longer eats into the Gemma-4-E4B summary budget.
  • Agent UI broke when the hub was unreachable (PR #1698) — the Agent UI stays usable when the hub can't be reached and nothing is cached.
  • Backend install failed behind a TLS-inspecting proxy (PRs #1575, #1694) — the network pre-check now trusts system/proxy CAs and honors HTTPS_PROXY, and backend install retries with --native-tls on a TLS trust failure.
  • Chat runs died on New Task (PR #1656) — starting a New Task keeps existing chat runs alive and shows a running indicator.
  • Forwarded grant agents imported unchecked (PR #1674) — forwarded grant agents are now validated before import.
  • API debug logs leaked request bodies (PR #1679) — API debug request logging is now redacted.

Full Changelog

48 commits since v0.21.1:

  • 3677a504 — feat(website): Agent Factory homepage redesign (#1730)
  • 4ac6a5fd — fix(mcp): post-merge review fixes for #1750 (error envelope + session nav) (#1756)
  • 5bedec4a — docs(hub): agent publishing guide + standalone-sidecar example fixes (#1713)
  • c3131be0 — fix(mcp): reliable MCP->Agent UI session activation + error normalization (#1750)
  • bd155faa — fix(webui): serve frontend dist resolved per-request, not cached at startup (#1741)
  • bbe23cf1 — feat(documents): persist last_error + reindex API for failed docs (#1749)
  • d78572a9 — fix(email): restore both Outlook and Gmail messages on archive-undo (#1738) (#1752)
  • 292f7080 — fix(email): one ungranted mailbox no longer aborts the whole multi-mailbox scan (#1739) (#1753)
  • 1304b222 — fix(webui): File Browser row-click selects the file, not just preview (#1734)
  • aa6fa7e9 — fix(email): route multi-mailbox message actions by recorded provenance (#1707) (#1735)
  • 03f88011 — fix(email): select calendar backend by connected+scoped provider, not a Google default (#1708) (#1736)
  • 13bc65cf — fix(email): detect slot-proposal meetings; restore INBOX on quarantine-undo (#1709) (#1737)
  • 6876369c — feat(agent-ui): in-app rollback to a previous release (#1711)
  • 894d9783 — feat(email): schema 2.0 contract amendments — typed action items, usage metrics, request context (#1538/#1540/#1541) (#1696)
  • a1000cfd — ci(windows): run Gemma on a persistent Lemonade server (fix Windows integration jobs) (#1733)
  • aa1b4303 — docs(specs): land canonical skill auto-synthesis spec (#887) (#1732)
  • d9f929db — ci(windows): pull Gemma via server API, not the lemonade CLI (#1715)
  • e334b9e2 — ci(windows): pull Gemma-4-E4B instead of legacy Llama-3.2-3B-Hybrid (#1712)
  • 6cc43eaf — feat(hub): auto-populate website from live hub + ship email README (#1705)
  • 59359ba8 — chore(deps): bump Lemonade Server to v10.7.0 (#1571)
  • cfd2e414 — fix(installer): retry backend install with --native-tls on TLS trust failure (#1694)
  • 921872be — fix(installer): trust system/proxy CA + honor HTTPS_PROXY in network pre-check (#1575)
  • 79e27a64 — fix(agent-ui): match renamed --danger token in error-border test (#1704)
  • 7ca62daf — ci(email-release): approval gate + env-secret + Intel build/verify split (#1702)
  • 2c93c5bc — fix(agent-ui): stub getActiveRuns in ChatView test mock (#1701)
  • e045a514 — feat(hub): Agent Hub launch — Railway deployment, publish pipeline, website redesign (#1564)
  • 5c982c74 — ci(email-release): publish binaries through the Agent Hub Worker, not rclone (#1699)
  • 2e5bac22 — feat(knowledge): Tavily connector + web-research wrapper with caching (#1234)
  • 4a024eda — docs(spec): restructure the SKILL.md format spec on the Agent Skills standard (#691) (#1695)
  • 2145472a — feat(email-release): publish frozen binaries to R2 via rclone (#1688)
  • 0b3dcc93 — fix(hub): keep Agent UI usable when the hub is unreachable with no cache (#1698)
  • 3cc2551d — feat(email): schema 2.0 — 5-bucket triage taxonomy + suggested_action (#1690)
  • 077aa156 — ci(agents): build agent wheels on tags only, not on every PR (#1687)
  • efe8d582 — feat(cpp): gaia-bash — native C++ bash coding agent with TUI, API server, MCP server (#985)
  • 797118bb — docs(email): Email Agent specification (#1628)
  • df5db4ab — Redact API debug request logging (#1679)
  • 433cad33 — docs(plans): registry-driven package publishing architecture (#1686)
  • d69bbaba — feat(agents): tool loader Part 1 — selection + dual-path filtering (#1449) (#1629)
  • 4546e113 — fix(email): triage fails fast when Lemonade is unreachable (#1678)
  • cb4b0c52 — Validate forwarded grant agents before import (#1674)
  • cb0e8b40 — feat(email-packaging): no-Python email-agent binary + thin @amd-gaia/agent-email npm client (#1654)
  • 77aaee21 — feat(email): behavioral learning for sender prioritization (#1290) (#1643)
  • be47293c — fix(email): stop pre_scan_inbox docstring from truncating the gemma-4-e4b summary (#1668)
  • ff5ee371 — feat(email): inbox profiling from memory (#1289) (#1642)
  • 95fea565 — ci(behavior-e2e): install [dev,ui] so gaia.ui.server can boot (#1640)
  • c27a87c2 — feat(email): persist triage preferences across sessions (#1288) (#1633)
  • 41e67d39 — fix(agent-ui): keep chat runs alive after New Task + show running indicator (#1580) (#1656)
  • a2b2ff08 — chore(context7): claim GAIA library on Context7 (#1673)

Full Changelog: v0.21.1...v0.21.2


Installation

Desktop installer (recommended for end users)

Download the installer for your platform from the assets below:

  • Windowsgaia-agent-ui-*-x64-setup.exe (NSIS installer, autostart on by default)
  • macOSgaia-agent-ui-*-arm64.dmg (drag to Applications, Apple Silicon only)
  • Linuxgaia-agent-ui-*-amd64.deb (Debian/Ubuntu) or gaia-agent-ui-*-x86_64.AppImage (any distro)

On first launch the app sets up its Python backend automatically (~5–10 minutes for the minimal profile, depends on your internet speed).

See the installation guide for setup details and troubleshooting.

Developer install (Python CLI)

Install GAIA using pip:

pip install amd-gaia

Or using uv:

uv pip install amd-gaia

Or via npm:

npm install -g @amd-gaia/agent-ui