# Changelog

## v0.1.3

Following our customer feedback, this release is all about giving you more
control over your stacks: custom domains at scale, live resource monitoring,
faster and safer deploys, and a first-class Developer API.

### New features

#### Custom domains, simplified

- **Wildcard domain zones.** Claim a base domain once, prove ownership with a
  single TXT record, then route any subdomain beneath it without validating
  each one again.
- **Unified domains overview.** DNS records and wildcard zones now live in a
  single table on the settings page, with a subdomain count per zone.
- **Copyable gateway endpoints.** Exposed ports now show their full
  `gateway.infra.composerun.dev:<port>` address: hover to reveal, click to copy.
- **Public ports, with or without a domain.** A port can be exposed publicly
  and routed through a domain at the same time.
- **Jump straight to the stack.** Every domain row links to its stack, and you
  can delete a domain record inline with a confirmation step.

#### Live resource monitoring

See real-time CPU and RAM usage straight from the console. The stack overview
banner shows the aggregate with a per-service breakdown on hover (ASCII memory
bars), and usage now appears on your project's stack cards too.

#### Faster, safer deploys

- **Pre-pulled images.** On redeploy, new images are fetched while your current
  containers keep serving, cutting downtime during the switch. A failed pull
  aborts before the recreate, so your previous stack stays up.
- **Registry credentials verified up front.** Private registry credentials are
  now checked before they are stored, so a bad token fails immediately in the
  deploy modal instead of breaking the next deploy.

#### Backups and restores you can watch

Manual backups and restores now report their status in real time (running,
done, failed) instead of reporting success the moment the job starts. A backup
you trigger completes in the UI within seconds rather than waiting on a
background tick.

#### Developer API

- **API tokens on your resources.** Authenticate project, DNS, billing and
  domain routes with an `Authorization: Bearer <cpr_key_...>` token in addition
  to the session cookie.
- **Scoped keys.** Choose a read or write permission and an access scope when
  creating an API key; the permission shows as a badge in your keys list.
- **Docs at hand.** New Developer API and Security Best Practices cards link
  straight to the reference from the API section.

#### A refreshed dashboard

The overview has been redesigned around a projects summary with recent activity,
plus quick links to the docs and our Discord.

### Fixes and patches

- **Simplified billing.** We removed the unused plans concept. Your project
  limit stays a simple per-organization cap, and your billing history is
  untouched.
- **Stale registry tokens.** Deploy preflight re-checks your registry token even
  when the image is already known, and tells you whether a token is missing or
  simply expired.
- **Public images just work.** Public images no longer trigger a credential
  lookup.
- **Favicon and preview image.** Your custom favicon and preview image now load
  correctly in production.
- **No more domain flash.** Adding a domain no longer briefly shows an
  "unknown domain" label.
- **English notification emails.** Billing and monitoring emails are now in
  English.
