⚠️ Breaking change: authentication is now ON by default
agent.auth.enabled defaults to true everywhere. If you ran 0.1.x, flows that
assumed an open API will now get 401 — including plain docker run and any
docker compose up that doesn't set the variable.
Migration — pick one:
- Set a password:
AGENT_AUTH_PASSWORD=<secret>(user defaults toadmin), or
read the random one the app generates and logs once at startup
(docker logs <container>). - Explicitly opt out for local experiments:
AGENT_AUTH_ENABLED=false
(the bundled compose dev/offline-demo stack already does this).
/api/health remains open in every mode. Rationale: the generated-password flow
removed the friction case for off-by-default, and a public, pullable image
changed the stakes — a shell-executing agent should never ship open.
Also in this release: tools receive the acting user (ToolContext), per-user
outbound credentials (CredentialResolver, Cistern first), an Audit panel in
the web UI, and a test-integrity system prompt.
What's Changed
- chore(deps): Bump eclipse-temurin from 21-jdk-jammy to 25-jdk-jammy by @dependabot[bot] in #31
- revert: temurin 25 runtime bump (#31) — Gradle 8.14.5 cannot run on it by @josepharuja in #40
- feat: Parts B and C — identity reaches tools, per-user outbound credentials by @josepharuja in #39
- feat: auth on by default, everywhere by @josepharuja in #42
- feat: audit trail panel in the web UI — see what the agent did, as whom by @josepharuja in #43
- fix: system prompt — tests are specifications, not obstacles (#26) by @josepharuja in #44
- chore: v0.2.0 by @josepharuja in #45
New Contributors
- @dependabot[bot] made their first contribution in #31
Full Changelog: v0.1.2...v0.2.0