Skip to content

Tags: albiol2004/gaia

Tags

v0.17.1

Toggle v0.17.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
fix: upgrade npm to 11.5.1+ for OIDC trusted publishing (amd#683)

## Summary
- Node 22 ships with npm 10.9.4, which does **not** support OIDC trusted
publishing
- The npm publish workflow fails with `ENEEDAUTH` because npm 10.x can't
authenticate via OIDC
- Adds an explicit `npm install -g npm@latest` step to get npm 11.5.1+
which supports OIDC

## Context
Trusted publishing was configured correctly on npmjs.com (`amd/gaia` →
`publish-npm-ui.yml` → `npm` environment), and the workflow had
`id-token: write` + `--provenance`. The only missing piece was the npm
CLI version.

From the [failed run
logs](https://github.com/amd/gaia/actions/runs/23814112600):
```
npm: 10.9.4   ← too old, needs 11.5.1+
npm error code ENEEDAUTH
```

## Test plan
- [ ] Merge this PR
- [ ] Re-tag `v0.17.1` (or create `v0.17.2`) to trigger the publish
workflow
- [ ] Verify the publish job prints npm 11.5.1+ and `@amd-gaia/agent-ui`
publishes successfully

v0.17.1-rc.1

Toggle v0.17.1-rc.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
fix: switch npm publish to OIDC trusted publishing (amd#638)

## Summary
- Remove `NPM_TOKEN` secret, use OIDC trusted publishing instead
- Bump Node to 22 for npm 11.5.1+ (required for trusted publishing)  
- Bump version to `0.17.1-rc.1` to test trusted publishing pipeline

## Context
The npm publish workflow was failing with E403 because it required
2FA/OTP. Trusted publishing via OIDC eliminates the need for stored
tokens entirely — GitHub Actions authenticates directly with npm using
short-lived OIDC credentials.

Trusted publisher has been configured on npmjs.com for this workflow +
environment.

## Test plan
- [ ] Merge this PR
- [ ] Tag `v0.17.1-rc.1` and push to trigger the publish workflow
- [ ] Verify `@amd-gaia/agent-ui@0.17.1-rc.1` appears on npm

v0.17.0

Toggle v0.17.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
docs: fix v0.17.0 release notes — npm install, gaia-ui CLI (amd#636)

## Summary

The v0.17.0 release PR (amd#626) auto-merged before the final revision
landed. This fixes the release notes to use the correct install flow and
terminology.

### Changes
- **npm install** as primary install path (`npm install -g
@amd-gaia/agent-ui` / `gaia-ui`)
- **Removed all pip install** references from user-facing content
- **Removed all "chat" references** — Agent UI is a task-oriented
desktop app, not a conversational interface
- **Removed vendor product comparisons** (ChatGPT, etc.)
- **Links to Agent UI guide** (`/guides/agent-ui`) as primary entry
point
- **Task-oriented framing** throughout (analyze documents, execute
tools, accomplish tasks)

### Files Changed
- `docs/releases/v0.17.0.mdx` — Updated release notes

## Test plan
- [x] Zero occurrences of "chat", "ChatGPT", "pip install"
- [x] npm package and gaia-ui CLI referenced correctly
- [x] Agent UI guide linked from TL;DR and feature section
- [x] CI validation requirements met (frontmatter, Whats New, Full
Changelog, compare link)

v0.16.1

Toggle v0.16.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Release v0.16.1 (amd#516)

## Summary
- Bump version from `0.16.0` to `0.16.1` in `src/gaia/version.py`
- Add v0.16.1 release notes highlighting C++ tool security, gaia init
fixes, and CI improvements
- Update `docs/docs.json` with new release entry and navbar version
label
- **Release workflow hardening:** `publish_installer.yml` now validates
release notes, version consistency, and docs.json before publishing —
and uses the pre-written `docs/releases/` MDX file as the GitHub release
body instead of auto-generating a changelog
- **Claude fallback:** `claude.yml` release-notes job skips AI
generation when notes already exist on main, using the pre-written MDX
file instead
- **Validator update:** `validate_release_notes.py` uses regex for
section matching (supports emoji-prefixed headers) and drops `##
Overview` as required

## Release Highlights
- **C++ Tool Security** — Policy-based tool execution with confirmation
prompts, allowlisting, and argument validation
- **`gaia init` reliability** — Fixed version checks and MSI installer
reliability
- **Lemonade Server v10.0.0** — Updated to latest release
- **CI: Doc link checker** — Automated broken link detection across
documentation
- **CI: Scoped workflow triggers** — Workflows only run when relevant
files change
- **Fix: Linux CLI test** — Resolved hanging test in merge queue

## Release Workflow Changes

The `Publish GAIA Release` workflow now enforces a **"release notes
first"** approach:

1. **`validate-release` job** runs first and gates everything:
   - `docs/releases/v{version}.mdx` must exist
   - `src/gaia/version.py` `__version__` must match the tag
- `docs/docs.json` must have the release entry and correct navbar
version
- Release notes must pass structural validation (frontmatter, required
sections, changelog link)
2. **`publish-release` job** reads the MDX file (strips frontmatter) and
uses it as the GitHub release body
3. If any validation fails, the release is blocked with clear error
messages explaining what to fix

The `claude.yml` release-notes job now checks if notes already exist and
skips Claude AI generation + docs.json/version.py updates when they do,
since all of that is now handled in the release PR.

## Test plan
- [ ] Verify `docs.json` is valid JSON
- [ ] Verify release notes render correctly on Mintlify
- [ ] Verify version string is correct in `version.py`
- [ ] Verify `validate_release_notes.py` passes for v0.16.1, v0.16.0,
v0.15.4
- [ ] Review `publish_installer.yml` validate-release job logic
- [ ] Review `claude.yml` notes_check gating logic

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

v0.16.0

Toggle v0.16.0's commit message
Release v0.16.0

v0.15.4.1

Toggle v0.15.4.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Release v0.15.4.1 (amd#350)

## Summary

- Add release notes for v0.15.4.1 (`docs/releases/v0.15.4.1.mdx`)
- Bump `__version__` from `0.15.4` → `0.15.4.1` in `src/gaia/version.py`
- Add `releases/v0.15.4.1` to nav and update navbar label in
`docs/docs.json`

Closes amd#336, amd#339, amd#344, amd#345, amd#342, amd#348, amd#346

> **Note:** Do not tag `v0.15.4.1` until after this PR merges.

---------

Co-authored-by: Tomasz Iniewicz <infancy_shred.0d@icloud.com>

v0.15.4

Toggle v0.15.4's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Add release notes for v0.15.4 and bump version (amd#337)

## Summary
- Add release notes for v0.15.4 documenting MCP client support and other
enhancements
- Bump version from 0.15.3.2 to 0.15.4

## Context
The release notes commit was made after PR amd#277 (MCP Client Support) was
merged and needs to be brought into main separately.

## Changes
- `docs/releases/v0.15.4.mdx` — new release notes page
- `docs/docs.json` — add v0.15.4 to navigation
- `src/gaia/version.py` — bump version to 0.15.4

---------

Co-authored-by: Kalin Ovtcharov <kalin@extropolis.ai>

v0.15.3.2

Toggle v0.15.3.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Fix missing packages, broken entry points, and add packaging CI tests (

…amd#309)

## Summary

Fixes package registration issues that caused `ModuleNotFoundError` on
non-editable installs, plus CI improvements and bug fixes.

**Version bump**: v0.15.3.1 → v0.15.3.2

### Package Registration Fixes
- Add 5 missing packages to setup.py (`gaia.vlm`, `gaia.apps.docker`,
`gaia.apps.jira`, `gaia.apps.summarize.templates`,
`gaia.eval.fix_code_testbench`)
- Create missing `__init__.py` for `gaia.mcp`, `gaia.eval`, `gaia.talk`,
`gaia.apps.summarize`

### Entry Point Fixes
- Add `main()` to `mcp_bridge.py` so `gaia-mcp` entry point works
- Remove broken `gaia-mcp-atlassian` entry point (file doesn't exist)

### Bug Fixes
- **Fix `gaia init` blocking on Lemonade install**: Previously stopped
at step 1/4 if user declined installation. Now continues to step 2
(health check) which properly verifies connectivity for remote servers,
manual installs, or `LEMONADE_BASE_URL` setups.

### Code Cleanup
- Remove dead `ChatApp` import from `agents/__init__.py`
- Fix unused variable warnings in `batch_experiment.py`
- Fix trailing whitespace and encoding in `eval.py`
- Re-enable 13 pylint checks after fixing all violations

### CI Improvements
- **Fix release notes bug**: `pypi.yml` was overwriting release notes
with empty string due to race condition with `publish_installer.yml`.
Now checks if release exists before creating.
- **Add packaging integrity tests**: New `test_packaging.py` with 6
tests to catch missing packages, `__init__.py` files, and broken entry
points
- **Update lint config**: Add pre-existing warning codes to
`DISABLED_CHECKS` (exposed when new `__init__.py` files made pylint scan
`gaia.eval` and `gaia.mcp`)
- **Fix flaky chat SDK memory test**: The 'say I don't know' system
prompt instruction was confusing the small 0.6B model - it would say 'I
don't know' even when the answer was in conversation history. Changed to
'answer based on conversation history' which works reliably.

### Release Notes
- Added `docs/releases/v0.15.3.2.mdx` with full release notes
- Updated `docs/docs.json` navbar to show v0.15.3.2 · Lemonade 9.3.0

## Test plan
- [x] All 316 unit tests pass locally
- [x] New `test_packaging.py` (6 tests) validates package/entry point
integrity
- [x] `util/lint.py --all` passes (5 passed, 2 non-blocking warnings)
- [ ] CI runs packaging tests before other unit tests
- [ ] Chat SDK integration tests pass

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

v0.15.3.1

Toggle v0.15.3.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Improve Linux init: apt install and minimal profile optimization (amd…

…#302)

## Summary

### Linux Installation Improvements
- **apt/dpkg install:** `gaia init` now uses `apt install
./lemonade-*.deb` on Linux for proper dependency resolution
- **Fix apt 404 errors:** Run `apt update` before install to avoid stale
package cache issues
- **Clean up PATH handling:** Remove unnecessary PATH manipulation on
Linux (standard paths are already available)

### Minimal Profile Optimization
- **Switch to Qwen3-0.6B:** Changed minimal profile from
`Qwen3-4B-Instruct-2507-GGUF` (2.5 GB) to `Qwen3-0.6B-GGUF` (400 MB)
- **Updated docs:** All references in cli.mdx, quickstart.mdx,
installer.mdx reflect new size
- **Better UX:** Added `--force-models` hint when incomplete downloads
are detected

### CLI Improvements  
- **Cleaner help output:** Removed irrelevant global options from `gaia
init -h` (no more --use-claude, --model, --trace, etc.)
- **Conditional logging:** Made logging level setup conditional to
support commands without parent_parser

### CPU-only PyTorch (unchanged)
- **Linux guidance:** Added `--extra-index-url
https://download.pytorch.org/whl/cpu` to all doc install commands to
avoid ~2GB CUDA deps

## Test plan
- [x] `gaia init --profile minimal` installs Qwen3-0.6B (400 MB) via apt
on Linux
- [x] Windows MSI install still works
- [x] Unit tests pass: `python -m pytest
tests/unit/test_init_command.py`
- [x] `gaia init -h` shows only relevant options (no global params)
- [x] Incomplete download shows `--force-models` hint

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>

v0.15.3

Toggle v0.15.3's commit message
version bump to v0.15.3