Repository navigation
Before you upgrade
- A deploy whose backup failed now stops. It used to carry on with nothing to roll back to.
--no-backupis the explicit way past. aegis initis stricter. It refuses brackets it used to pass through (database[mysql],redis[x]), and a persistent scheduler on a database of another engine, asaegis addalready did.health probecan fail now. It used to pass whenever the process was up. It exits 1 when the API doesn't answer or a component is unhealthy, while a warning still passes. Check anything that uses it as a gate.- The health API's
statuscan bewarningorinfoon/health/detailedand/health/dashboard, and it now covers host metrics. health statusreads/health/detailed. From a worker or scheduler container in production it gets a 401 or 404, as--detailedalready did. Run it from the webserver container there.
Highlights
Calls for the public. Whether a mount's users may call is now its own switch, ChatSurface.calls, so a signed-out visitor can call without the model and voice controls, and never sees the engine or what the call costs. Existing mounts behave as before.
Bounded calls. For when someone other than the operator pays for the minutes. longest_call cues the assistant to wrap up and then ends the call, idle_seconds sets the mount's own quiet, call_check is asked after each saved turn, and on_call_end runs once for every call the gate let through. The page shows why the call ended, and the same conversation carries on in text.
aegis menu: the generator's menu as JSON. It prints every component and service, what its brackets take, and what each requires, recommends and conflicts with. Give it a selection and it answers the init command that builds it, or the rules that refuse it and the components that would satisfy them. Each GitHub release now carries a menu.json.
A cleaner chat trail. With AI_CHAT_SHOW_CALLS off, a chat's step trail says what each step is doing rather than showing its raw call, live and on reload, on every surface.
Overseer > Resources. The stack and free split moves into the CPU and memory chart headers, legends remember hidden lines, a needs-attention card replaces the containers table, and a bar chart shows what each part costs to load.
For developers. A chat mount can declare its pages (ChatSurface.pages), each with the parts an agent may scroll to, highlight or act on, and only a declared page offers the agent a page_action tool. No mount declares a page by default.
Fixed
- A fresh SQLite stack creates every table. With AI and the scheduler, the scheduler used to come up unhealthy.
health statustells a warning from unhealthy, and its tree stays intact at every depth.- Overseer's section nav fits a phone: one scrolling row with the current section in view.
- Deploy commands tell a failed call from a no.
storage check,deploy-backupsand Overseer's backups, history and events give the reason instead of reading a failure as "none". aegis deployno longer skips the backup as a first deploy when the connection drops, andaegis deploy-rollbackchecks the backup beforecompose down.- An arq queue no longer reads Offline while it works, and Waiting no longer counts running jobs.
- Running falls as jobs finish, not at the next refresh.
- Overseer Code leaves out a folder it can't open instead of returning a 500, and backups are out of the code page, the source index and RAG.
- Sessions name iOS browsers.
- A changed image or video gets a new URL, so it no longer plays the old file after a hard reload.
- The Worker and Scheduler pages hold up at narrow widths, and Status stays in view.
aegis init,add-serviceanddeployprint the Overseer link at the portmake servewill publish.- A new Overseer page opens at its top, and a pager, filter or chart window keeps your place.
Known issues
These are for the next release.
- A project with ingress and TLS has
DOMAINandACME_EMAILin.env.example, whichSettingsrejects, so a.envcopied from it stops the app at import. Delete the two lines from your.env. (#1977) aegis add htmxon an existing project leaves out the web frontend's PNGs, so the favicon returns 404. (#1975)- A project created on 0.18 has no
(job_id, started_at)index onjob_execution. (#1973) make check-queriescan fail on Postgres projects, on scheduler debt the baseline already records. (#1974)
The changelog lists every change.