Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 39 additions & 11 deletions docs/docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -370,6 +370,7 @@
"group": "Release Notes",
"pages": [
"releases/index",
"releases/v0.17.0",
"releases/v0.16.1",
"releases/v0.16.0",
"releases/v0.15.4.1",
Expand Down Expand Up @@ -413,7 +414,7 @@
"navbar": {
"links": [
{
"label": "v0.16.1 · Lemonade 10.0.0",
"label": "v0.17.0 \u00b7 Lemonade 10.0.0",
"href": "https://github.com/amd/gaia/releases"
},
{
Expand Down Expand Up @@ -448,17 +449,44 @@
"twitter": "https://twitter.com/amd",
"linkedin": "https://linkedin.com/company/amd"
},
"copyright": "Copyright © 2024-2026 Advanced Micro Devices, Inc."
"copyright": "Copyright \u00a9 2024-2026 Advanced Micro Devices, Inc."
},
"redirects": [
{"source": "/cpp", "destination": "/cpp/quickstart"},
{"source": "/guides/cpp", "destination": "/cpp/quickstart"},
{"source": "/guides/cpp/quickstart", "destination": "/cpp/quickstart"},
{"source": "/guides/cpp/overview", "destination": "/cpp/overview"},
{"source": "/guides/cpp/integration", "destination": "/cpp/integration"},
{"source": "/guides/cpp/custom-agent", "destination": "/cpp/custom-agent"},
{"source": "/guides/cpp/wifi-agent", "destination": "/cpp/wifi-agent"},
{"source": "/guides/cpp/process-agent", "destination": "/cpp/process-agent"},
{"source": "/guides/mcp/client", "destination": "/sdk/sdks/mcp"}
{
"source": "/cpp",
"destination": "/cpp/quickstart"
},
{
"source": "/guides/cpp",
"destination": "/cpp/quickstart"
},
{
"source": "/guides/cpp/quickstart",
"destination": "/cpp/quickstart"
},
{
"source": "/guides/cpp/overview",
"destination": "/cpp/overview"
},
{
"source": "/guides/cpp/integration",
"destination": "/cpp/integration"
},
{
"source": "/guides/cpp/custom-agent",
"destination": "/cpp/custom-agent"
},
{
"source": "/guides/cpp/wifi-agent",
"destination": "/cpp/wifi-agent"
},
{
"source": "/guides/cpp/process-agent",
"destination": "/cpp/process-agent"
},
{
"source": "/guides/mcp/client",
"destination": "/sdk/sdks/mcp"
}
]
}
150 changes: 150 additions & 0 deletions docs/releases/v0.17.0.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
---
title: "v0.17.0"
description: "GAIA Agent UI — private local alternative to ChatGPT with document Q&A on AMD hardware"
---

# GAIA v0.17.0 Release Notes

Your documents contain answers — now you can ask questions and get cited responses without anything leaving your machine. GAIA v0.17.0 introduces the **Agent UI**, a desktop chat interface that turns your AMD PC into a private, local alternative to ChatGPT with full document Q&A.

```bash
pip install --upgrade "amd-gaia[ui,rag]"
gaia chat --ui
```

**Why upgrade:**
- **Keep sensitive documents private** — Ask questions about medical records, contracts, financial data, or any of 53+ file types and get answers with page citations. Nothing is uploaded to the cloud — everything runs locally on your AMD hardware
- **Use AI agents you can trust** — Tool guardrails require your approval before the agent executes commands or writes files, so you stay in control of what happens on your machine
- **Works on modest hardware** — A 78% smaller system prompt means GAIA now runs reliably on smaller models like Qwen3.5 without timeouts, so you don't need top-tier hardware to get started
- **Access from anywhere** — Built-in ngrok tunnel lets you chat with your local GAIA instance from your phone or tablet while your data stays on your PC

**Try it in 60 seconds:**
1. `pip install --upgrade "amd-gaia[ui,rag]"`
2. `gaia chat --ui` — opens the Agent UI in your browser
3. Drop a PDF into the chat and ask: "Summarize this document"

---

## What's New

### GAIA Agent UI

A private, local ChatGPT-like experience that runs entirely on your AMD hardware (PR #428). Upload documents, ask questions, and get cited answers — without sending anything to the cloud.

**What you can do:**
- **Ask questions about your documents** — Drag-and-drop PDFs, Word docs, or any of 53+ file formats and get answers with page-level citations, powered by local RAG
- **Access from your phone** — Built-in ngrok tunnel lets you chat with your local GAIA instance from any device
- **Watch the agent think** — Real-time streaming with `<think>` block rendering shows the agent's reasoning process inline
- **Pick up where you left off** — Create, switch, and persist chat sessions with full conversation history
- **Stay in control** — Tool execution guardrails ask before running commands; device detection warns about unsupported hardware
- **Monitor performance** — Hover tooltips show token counts, latency, and throughput metrics per response

**Under the hood:**
- FastAPI backend + React/TypeScript frontend + Electron shell with SSE streaming
- Redesigned Settings modal with system dashboard, model load/download actions, and live MCP server connection status with tool counts
- Terminal-inspired design: typewriter welcome animation, pixelated AMD cursor with red glow, glassmorphism, smooth crossfade transitions (PR #568)
- `prefers-reduced-motion` support — all animations respect OS accessibility settings
- Path traversal prevention, SQL parameterization, and input validation throughout
- 13+ bug fixes across backend, frontend, and integration layers

```bash
# Launch the Agent UI
gaia chat --ui

# Custom port
gaia chat --ui --ui-port 8080
```

See the [Agent UI documentation](/guides/agent-ui) for setup and usage.

---

### Tool Execution Guardrails

AI agents are powerful but can be unpredictable. This release adds a safety layer so you approve every sensitive action before it happens (PR #565):

- **Confirmation popup** — **Allow**, **Deny**, or **Always Allow** before `run_shell_command` and other write/execute tools
- **60-second timeout** — Auto-denies if you don't respond within a minute
- **CLI path unaffected** — Terminal-based usage auto-approves to preserve existing workflow
- **Expanded coverage** — Extended to cover all write/execute tools, not just shell commands (PR #604)

---

### Device Support Detection

Not sure if your hardware is supported? GAIA now tells you upfront and offers workarounds (PR #593):

- **Supported devices** — AMD Ryzen AI Max processors and AMD Radeon GPUs with ≥24 GB VRAM
- **Clear banner messaging** — Shows your processor name and links to a GitHub feature-request
- **`--base-url` flag** — Point to a remote Lemonade Server to use GAIA on any machine
- **`GAIA_SKIP_DEVICE_CHECK=1`** — Environment variable override for advanced users

---

### System Prompt Optimization

If you previously experienced timeouts or slow first responses on smaller models, this release fixes that (PR #617):

- **17,600 → 3,853 tokens (78% reduction)** — Two-tier RAG gating only injects document context when relevant, meaning 4–5× faster prompt processing
- **Qwen3.5 timeouts eliminated** — Smaller prompt fits within context window of constrained models
- **Chat timeout increased to 600s** — Prevents premature timeouts on complex queries

---

## Security

- **Document upload vulnerability fixed** — Closed a TOCTOU race condition that could allow file substitution during upload. Now uses atomic `O_NOFOLLOW` + `fstat` validation and serializes concurrent uploads via per-file `asyncio.Lock` (PR #564)

---

## Bug Fixes

- **LRU eviction silent failure** — Fixed unbounded memory growth: added pre-flight rejection at capacity, logging on all failure paths, and fixed cache-load bug where cached files weren't tracked. New CLI flags: `--max-indexed-files` and `--max-total-chunks` (PR #567)
- **Lemonade v10 device keys** — Updated device key references: `npu` → `amd_npu`, `gpu` → `amd_igpu`/`amd_dgpu`. Fixed NPU detection in Hardware Advisor (PR #548)
- **Agent UI rendering** — Fixed post-tool thinking visibility, FileListView layout, and text spacing (PR #566)
- **Agent UI guardrails & Windows paths** — Tightened JSON safety regex, added platform context to system prompt for native Windows paths, cleared messages before session switch (PR #604)
- **RAG indexing guards** — `gaia init` now installs RAG dependencies for chat/rag/all profiles. Added None guards to 8 RAG tools preventing crashes when dependencies aren't installed (PR #605)
- **Reverted accidental changes** — Restored per-file upload locking, tool confirmation flow, CSS design system, and formatting utilities accidentally reverted during a stale merge (PR #608)
- **v0.16.1 release notes** — Added missing PRs to previous release notes (PR #589)

---

## Upgrade

```bash
# Install/upgrade GAIA
pip install --upgrade amd-gaia

# Include RAG support for document Q&A
pip install --upgrade "amd-gaia[rag]"

# Include UI support for Agent UI
pip install --upgrade "amd-gaia[ui]"

# Build C++ framework
cd cpp
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release
```

---

## Full Changelog

**13 commits** since v0.16.1:

- `2d08088` - fix: reduce system prompt 78% to fix Qwen3.5 timeouts + MCP runtime status (#609) (#617)
- `b7a97e6` - Restore changes reverted by accidental PR #566 merge (#564, #565, #568) (#608)
- `af652d9` - fix: RAG indexing guards, gaia init pip extras, and docs update (#605)
- `95b304f` - Fix Agent UI guardrails, rendering, LRU eviction, and Windows paths (#604)
- `5dd71a2` - feat: guard Agent UI against unsupported devices (#593)
- `cc90935` - Fix Agent UI Round 5: hide post-tool thinking, FileListView, text spacing (#566)
- `8a6452f` - Fix LRU eviction silent failure allowing unbounded memory growth (#449) (#567)
- `3df90ff` - Add tool execution guardrails with confirmation popup (#438) (#565)
- `8c2d24a` - security: fix TOCTOU race condition in document upload endpoint (#448) (#564)
- `bae3a62` - docs(releases): add missing PRs to v0.16.1 release notes (#589)
- `25c6d25` - Agent UI: terminal animations, pixelated cursor, and docs fixes (#568)
- `b2ace80` - Add GAIA Agent UI: privacy-first desktop chat with document Q&A (#428)
- `4015bb2` - Fix Lemonade v10 system-info device key compatibility (#548)

Full Changelog: [v0.16.1...v0.17.0](https://github.com/amd/gaia/compare/v0.16.1...v0.17.0)
Loading