Skip to content

v0.20.0 — Clone wizard correctness fixes + dest-picker site counts

Choose a tag to compare

@mwender mwender released this 08 Jul 19:59

Three correctness fixes for the clone wizard, all root-caused from real live incidents, plus a small quality-of-life addition.

Added

  • The clone wizard's existing-server picker now shows each server's current site count. Picking a destination previously showed only provider/region/IP — no sense of how busy a candidate already is. Each row now leads with N site(s).

Fixed

  • The clone wizard no longer routes git-deployed non-WordPress sites through a Bedrock pull. cloneStackFor trusted git.repo alone as "this is Bedrock" — but a git-deployed static site would be routed through composer install/wp-cli anyway, which it can't survive. A conclusive non-WordPress probe (whmcs/laravel/static) now overrides git.repo.
  • The clone wizard no longer silently skips the database for API-mislabeled WordPress sites. Its stack picker read is_wordpress straight from the API, unlike every other view, which corrects that flag against a d probe result. A mislabeled site would default to a files-only pull — filesystem copied, database never touched. The wizard now consults the same probe-corrected classification: probe the site (d) before cloning.
  • wp-cli reads now use the site's own configured PHP version, not the server's system default. wp-cli's shebang resolves through PATH to whichever PHP a server's update-alternatives currently calls default — independent of any site's configured version, and it can be missing extensions that version's CLI never got configured with. This broke the clone wizard's Verify step (v) and the installed plugins & themes view (p) whenever they differed. Verify also now distinguishes "the clone actually differs" from "wp-cli couldn't read one side's database," instead of a wall of misleading ✕ rows.

Notes

  • All three fixes share an operational caveat: probe a site (d) before cloning it so the wizard's Plan step has a corrected classification to consult — an unprobed site falls back to today's heuristics.

Update: bun update -g spinuptui (npm install) or git pull in your checkout (a linked global spinuptui picks it up immediately).

Full changelog: v0.19.1...v0.20.0

🤖 Generated with Claude Code