v0.11.0
Tenant administrators register their own GitHub and Bitbucket OAuth apps, the Control
Plane can run on Graviton, and a set of ecs-ec2 workspaces that hung on “starting” or
quietly kept costing money now behave.
- Tenant administrators register the git OAuth apps themselves. “Connect with OAuth” used one app per deployment, configured by the operator in environment variables, even though the app lives in the tenant’s own GitHub org or Bitbucket workspace. It is now a tenant setting, and Bitbucket’s token refresh runs on the Control Plane, so the tenant’s client secret is no longer copied into every member’s workspace. The environment variables are no longer read — see Upgrade notes.
- The Control Plane image ships for arm64 as well as x86_64, and
CpArchpicks which one the service runs on. The workspace image is still x86_64 only, so Graviton slots still need an arm64 workspace image you build yourself. - Everyday actions have direct Alt keys next to the leader chords: close a tab or
pane, close them all, start a session, memo, working set, read aloud, filter the rail,
settings, and the next/previous tab. Text size is on
Alt+=/Alt+-/Alt+0, and applies to whichever surface the active pane belongs to. - The admin pool screen shows a golden snapshot being baked: the phase, how long it has been going, the candidate’s progress, and the slots the reserved workspaces hold. When nothing is baking it says why — waiting for free slots, given up after two failures, or switched off.
Improved
Section titled “Improved”- Learned quick replies can be swept of one-timers: a single control removes the phrases learned exactly once and leaves the ones you use and anything pinned.
- Bringing an
ecs-ec2deployment up, pausing it and tearing it down are scripts underdeploy/aws/ecs/, pointed at a deployment by AWS profile, instead of a runbook to follow by hand.
- Antigravity sessions could run a different model than the one you picked, and be billed for it, with the only complaint a line inside the CLI’s own screen. The pin moved to 1.1.19, its self-update no longer slips past the pin, and both layouts of its model list are understood.
- Free
ecs-ec2slots never went to sleep. A slot that lost its workspace — to an eviction, a size change or a destroy — dropped out of the sweep that stops idle machines and stayed running, billed as if it were in use.Ec2SlotSleepSec=0now means “never sleep”, as its description always said. - Changing a member’s machine class could leave their workspace unable to start again. Saving a member’s settings also looked as though it had not taken; the roster now shows the machine each member runs on.
- A workspace stuck in “starting” could not be stopped from the Console, and never said why. Some placements are refused forever, so it never left that state, and the power control only offered “start”. It stops now, and the reason is on screen.
- Restarting the Control Plane broke three things until each workspace was
restarted: saving a Bitbucket OAuth connection, every
af_*tool, and notifications, which reported themselves as offline. - A fresh
ecs-ec2deployment of 0.10.0 always rolled back at the last step of the slot pool stack. - Another session’s to-do strip stayed pinned over the mirror, and another copy piled up each time a pane changed session.
- Pinch-zooming the mirror on a phone dragged the composer into the middle of the screen and pulled the view back whenever you panned.
- Smaller
ecs-ec2repairs: a golden snapshot could be baked from a candidate of the other architecture, and the admin screen could show a running workspace as idle.
Upgrade notes
Section titled “Upgrade notes”The git OAuth apps have to be registered again, by each tenant.
GITHUB_OAUTH_CLIENT_ID in the workspace environment and BITBUCKET_OAUTH_KEY /
BITBUCKET_OAUTH_SECRET on the Control Plane are no longer read, not even as a
fallback, so “Connect with OAuth” stays hidden until a tenant administrator enters the
app in the tenant’s settings. (GITHUB_OAUTH_CLIENT_ID keeps its other job, signing
in.) One additive migration adds the table. A workspace that was already running when
you upgrade needs one stop → start before Bitbucket refresh works; the Control Plane
says so rather than reporting a configuration error.
On ecs-ec2, 30-ingress gained CpArch — x86_64 by default, so re-deploying moves
nothing — and the slot pool stack no longer refuses to create itself when no arm64 AMI
is given. The Control Plane image is a manifest list now, which a local docker pull /
docker tag cannot carry: use crane copy to mirror it into your own registry.
Agent CLI pins: Claude Code 2.1.241, OpenCode 1.18.21, Antigravity 1.1.19. The others are unchanged from 0.10.0.