Source: https://crabglamp.com/docs/changelog
Last updated: 2026-06-12
Type: cross-cutting

Entries are listed newest-first. Each links to the relevant docs section so you can read up on the surface area the change touched.

## 2026-06-12 — App VM DX: private registries, env at create, custom volume paths

[App VMs](/docs/app-vms/tutorial/get-started) gained several improvements for working with real production images. Registry credentials are now account-level and reusable across Apps — create one on the Registry credentials page and select it at App creation or in the Configuration card. Image access is verified before the App is created, so a bad reference or rejected token fails immediately rather than producing a broken App. Environment variables (including secrets) can be set in the create dialog and apply from the first start. The persistent volume mount path is now customer-configurable (previously fixed at `/var/lib/app/data`). Apps in an `error` state after a failed first deploy can now be recovered by redeploying from the detail page without destroying and recreating. The configuration card lets you edit the container port, health path, registry credential, and volume settings after creation.

## 2026-06-11 — Consistent lifecycle controls across compute products

Agents, [Plain VMs](/docs/plain-vms/reference), and [App VMs](/docs/app-vms/reference) now share the same dashboard controls. Each VM has a settings page that holds transfer, billing-type switching, custom domains (Agents: Hetzner-hosted only), and destroy — and App VMs add resize there too. Plain VMs and App VMs gained dashboard buttons for transfer, billing-type switching, and restart. App VMs also gained a **Redeploy current image** button that re-pulls the current tag, separate from restart, which only power-cycles the VM.

## 2026-06-04 — App VMs and custom domains

[App VMs](/docs/app-vms/tutorial/get-started) shipped as a third compute product: deploy a container image to a dedicated managed VM behind an auto-TLS edge, with zero-downtime deploys, rollback, environment variables and secrets, private-registry pulls, an optional persistent volume, and live logs. Pricing per size matches Agents, with pay-as-you-go and subscribe-and-save billing. The same release added [custom domains](/docs/app-vms/how-to/add-a-custom-domain) — bring your own hostname with automatic TLS on App VMs and Agents, or a DNS-only A record on Plain VMs.

## 2026-05-28 — Developer documentation site at /docs

Diátaxis-structured developer documentation site shipped at [/docs](/docs). Five product surfaces (Agents, Plain VMs, GlampHub, LLM proxy and voice, App integrations) each carry the four Diátaxis types. Six cross-cutting sections (Account and billing, Security, Limits, Glossary, Changelog, Status) live alongside. Every page ships a plain-markdown companion at `{url}.md`, and the site root publishes `/llms.txt` and `/llms-full.txt` for AI assistants.

## 2026-05-14 — Plain VMs

Plain VMs shipped as a second compute product. Customers SSH directly into a Hetzner VM, pick tier, region, OS image, hostname, and access method (Vault key or generated one-time password or both). Per-VM customer-editable firewall. PAYG and subscribe-and-save billing both supported.

## 2026-05-09 — Region-aware compute pricing

Compute prices are now keyed per (tier, region). Tier names changed from `hermit_crab/king_crab/coconut_crab` to `small/medium/large`. US and EU cells price independently.

## 2026-04-22 — Hetzner migration

New Agents provision on Hetzner via Cloudflare Tunnels — each Agent gets a public URL with zero inbound ports. Existing Fly-hosted Agents keep their lifecycle unchanged.
