v0.4.40
Signedpublished September 15, 2026What changed
-
Workspaces now come with Google's Antigravity CLI instead of Gemini CLI. Google has retired Gemini CLI in favour of Antigravity, so
geminiis gone from the workspace image andagytakes its place — the same account, a different command. Typeagyin the terminal to start it. It is a compiled binary rather than an npm package now, so it installs into your own~/.local/binand keeps itself up to date from there. Existing workspaces are untouched until you recreate them —geministays where it is, for as long as Google keeps answering it. -
Guides now start by saying what DevGrail is. Every guide so far assumed you already knew what a workspace, a project, a script, a skill and an API key were — the words the rest of the dashboard is written in. A new What DevGrail is guide defines those five in one page, alongside what the product actually runs and what an agent holding one of your keys can reach. It sits first under Guides, hands you on to the get-started walkthroughs, and is offered beside them on the panel a brand-new install lands on — where the walkthroughs now say plainly that they are the agent route. It also answers the question a developer arrives with — why run an agent here rather than on the laptop — in a paragraph, and then at length: a workspace per branch instead of two agents fighting over one checkout, port 3000 and one local database; approvals asked once instead of at every step of a forty-file change; the dev server reachable on a real HTTPS URL you can send to someone; test suites and builds that carry on after you close the lid; a toolchain that is a script rather than a machine that drifted, on the same Linux the code deploys to; and an agent whose reach is the key you handed it rather than every repo and credential on your disk.
-
DevGrail now describes itself without borrowing another product's name. The sign-in page, the guides and the instructions every workspace hands its agent all led with “cPanel for AI developers” — a description that only lands if you happen to have run cPanel. They now say the same thing in plain words: a machine of its own for every coding agent, self-hosted on a single server you control.
-
A brand-new install now sees one thing, and the same thing everywhere. Before you have a workspace, the dashboard led with meters of an idle host and two empty "heaviest workspaces" lists, and the invitation to make your first one sat underneath them. That invitation is now the whole page — the capacity cards, the usage lists and the header's "New Container" button stay away until you have something to measure. Containers shows the same panel, pointing at the getting-started guide rather than only offering a bare container: the tab strip, the view toggle and that page's own header button all stand aside for it, so a first install has one thing to read and one thing to do. Volumes and Re-add come back with your first workspace, along with everything else.
Container images
Installer files
Signature
One signature covers every artifact above. It is made off this host, and neither this site nor the registry behind it can check it — that is the point, and it is why verifying it catches things a checksum from the same server cannot. How to verify it.
curl -fsSL https://web-dev.trixibot.com/api/registry/releases/v0.4.40 -o release.json
# -j, not -r: -r appends a newline the signer never saw, and the check fails.
jq -j '.signature.payload' release.json > payload
jq -r '.signature.signature' release.json | base64 -d > payload.sig
openssl dgst -sha256 -verify devgrail-release.pem -signature payload.sig payload
# -> Verified OK
# The payload must name this release, so an older signed one cannot be replayed.
head -2 payload
# ...and it must name this exact file. -qxF: whole line, literal.
grep -qxF 'image devgrail-container 32 amd64 d6790d94e449088d214e6416d586cf88b94847632c9f20f964bfcbbd93fea612' payload && echo "digest is covered by the signature"The signed payload — shown for reading, not for verifying
Copy this from the manifest with jq -j, never from this page: the signature covers exact bytes, and rendering here drops the trailing newline the signer included.
devgrail-release-signature-v1
release v0.4.40
asset docker-compose.yml 48 24e32d13fc76c78de5495f59636f1bf4c651692761d4c575c09776f27cb5a029
asset install.sh 48 ee5052c1552dd5c34c2d33716aa92f6384ca7464b59ff224785ab986a102f466
asset traefik-dynamic-http.yml 47 e344c8efd13c7d84996e2ebfbc75dcee2d995d8538c8a245c89c0e44fad0089b
asset traefik-dynamic.yml 48 d18fa561b8eb7d53b015284e0246b2d05953bf281b65269c1fae3d6883530db6
asset uninstall.sh 48 abe80c2eaab7a8dd0c23073939f58487a4a0bca5a6aef303e489b2ecb2ceca40
image devgrail-container 32 amd64 d6790d94e449088d214e6416d586cf88b94847632c9f20f964bfcbbd93fea612
image devgrail-container 32 arm64 848718e58c4824bb6e56b062bd8b204ad373997145565e129f5c104b7e443e11
image devgrail-server 60 amd64 48d835b467e385db9273119022fe07fec543d1e6afe832f5fe7f53253bf991aa
image devgrail-server 60 arm64 48f24e35d6b774edbbcf8374b73542b97a3aa84766f21ff26ae201e1063cf52e