# Starwind UI V3 Migration

Starwind Pro's current registry targets Starwind UI v3. Migrate an older Astro project before you
install or update current Pro blocks.

```bash
pnpm dlx starwind@latest migrate
```

The guided migration can back up existing Starwind component folders, replace registered V2
components, preserve unrelated custom folders, install Runtime packages, and write the current
`starwind.config.json` format. Review the final `Migrated`, `Skipped`, `Custom`, and `Legacy`
sections. Resolve every entry with `source: "legacy"` before installing V3 Pro blocks.

After migration, test customized forms, overlays, carousels, theme controls, and Astro navigation.
Searchable selects now use Combobox. V3 interactive code uses public slots, `data-sw-*` discovery
attributes, and events such as `starwind:value-change` and `starwind:theme-change`.

See the current [Starwind UI migration guide](https://starwind.dev/docs/getting-started/migration/)
for prompt and report details.

## Frozen V2 registry

The frozen V2 registry is an escape hatch for projects that must remain on Starwind UI v2. It is
the last Pro source verified for UI major 2. It does not provide a V1 compatibility promise.

| Resource | URL |
| --- | --- |
| Block | `https://pro.starwind.dev/r/starwind-ui-v2/{name}` |
| Manifest | `https://pro.starwind.dev/r/starwind-ui-v2/manifest.json` |

The archive is immutable and does not receive block fixes or new releases. Its served manifest
contains the source commit, compatibility metadata, dependency lists, and
`cliSupport: "requires-version-aware-client"`. Archived blocks use `installCommand: null` because
their client must select the V2 route explicitly. Current `/r/{name}` routes always serve V3 blocks.

> **Caution:** The current CLI version flag is planned as a separate CLI update. Until that release is available,
use the frozen route only through tooling that supports a custom Pro registry path.