v0.12.3
Importing a repository is an asynchronous job now, so a large clone or checkout no
longer looks like it succeeded when it did not. Settings can be carried to another
environment in one file, an ecs-ec2 deployment keeps its outbound IP across a rebuild,
and a workspace that could not start — or started slowly — on ecs-ec2 behaves.
- Importing a repository runs as a job you can watch. A clone or checkout that takes minutes was cut off by the load balancer at 60 seconds, and the screen guessed at the outcome from the folder appearing — which for Subversion is true one second in, so an import that later failed or was wiped still reported success. The job’s state is now the only thing that says an import finished. Cancelling asks first, and the repository list no longer fights the running checkout for the working copy.
- Settings can be exported and imported as a single file, under Settings → Workspace: personal preferences, AWS SSM registrations and agent instructions. Connection tokens and API keys are never included, and importing only adds — anything that already exists is skipped with a reason.
- An
ecs-ec2deployment keeps its outbound IP. The NAT gateway’s Elastic IP is the one source address a customer firewall is given, and deleting the stack used to release it. It is retained through any stack operation now, and a rebuild can be pointed at the address the previous one held — see Upgrade notes. - Slots that stay stopped are terminated, returning their root volumes. Stopping a slot only stops the compute; its root volume is billed until the machine is gone, so the disks of stopped slots accumulated to the pool’s limit.
- Tenant limits are validated, and the settings screen says when the tenants add up to more workspaces than the slot pool can hold. A negative limit used to save happily and left that tenant unable to open a workspace at all.
Improved
Section titled “Improved”- Starting a workspace on
ecs-ec2is faster: a task definition already built for a workspace is reused across a Control Plane restart, and the service is pinned to one task per workspace.
- A workspace could be permanently unable to start once the slot pool was full. The machine freed for it could be one it does not fit on, and the placement was then refused forever. Machines that nobody can use are now cleared out and rebuilt when that is what the pool needs.
- The usage chip could report 0% for an account that was well into its limit. It also fixes itself when the path it reads was left pointing at something that no longer exists, instead of quietly reporting nothing.
- A red “costs are not being attributed” warning stayed up on member accounts of an AWS organization, where the split was in fact working and the figures were on screen.
- Circled numbers and similar characters rendered thin and undersized next to Japanese text in diffs and the viewer.
- Middle-clicking a tab did not close it once the tab strip had a scrollbar.
Upgrade notes
Section titled “Upgrade notes”On ecs-ec2, the NAT gateway’s Elastic IP is now retained, which also means teardown
leaves it behind: release the address by hand when you are done with a deployment, or it
keeps costing money unused. NatEipAllocationId is for a new or rebuilt deployment
only — passing it to a stack that is already running replaces the NAT gateway, even when
the address you pass is the one that stack allocated itself.
Agent CLI pins: Claude Code 2.1.246, OpenCode 1.18.23, Antigravity 1.1.21, Kiro 2.19.2. The others are unchanged from 0.12.2.