Migrations & Upgrades
How Archibald versions reach your project, and what to run when you move between them.
Versions and dist-tags
Which version you get depends on the npm dist-tag you install from: latest is the current stable, next is the version to upgrade to next, rc is the release candidate being stabilized, and latest-<N> is the newest release of an older, still-maintained major. See Releasing and dist-tags for the full contract.
Codemods
Each major version ships automated migrations through the @archibald/codemod package. Run the interactive catalog from your project root:
pnpx @archibald/codemod .
Codemods come in three kinds — transform (rewrites source), config (rewrites JSON config), and detect (report-only; flags call sites that need manual migration, never writes). See Codemods.
Diffing against the template
The CLI's archibald upgrade-diff command (alias ud) shows what changed in the project template between two versions. It bootstraps two throwaway projects in your temp directory — one at --base (default latest), one at --target (default next), from the shop or basic template — commits the base into a git repository, overlays the target on top, and shows the result as a git status diff (optionally opened in VS Code). Unix/WSL only.
Guides in this section
- Upgrading to v9 — the breaking changes and codemods of the current major.
- Deprecated — every deprecation per version, with its replacement.
- Migrating to the Archibald router
- Migrating from password login to OIDC