spinuptui 0.19.1 → 0.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -11,6 +11,73 @@ versions; such changes are called out here.
11
11
 
12
12
  ## [Unreleased]
13
13
 
14
+ ## [0.20.1] - 2026-07-08
15
+
16
+ ### Changed
17
+ - **README rewritten for readability.** It had grown to 857 lines of dense,
18
+ multi-paragraph feature bullets — hard to skim for someone landing on the
19
+ repo. Added a screenshot gallery (real Dev Mode captures of all five main
20
+ tabs), condensed the Features list to one-liners, and moved all 13 deep-dive
21
+ "how it works" sections into their own pages under `docs/` (linked from the
22
+ README's short pointer paragraphs). No content was removed, only relocated;
23
+ `RELEASING.md`'s "Keep the README current" checklist is updated to match the
24
+ new house style.
25
+ - **Dev Mode's example fleet scaled up** from 4 servers / 6 sites to 12
26
+ servers / ~80 sites / 19 events, generated deterministically (same fleet
27
+ every run) with a realistic spread of EOL Ubuntu/PHP, Standard WP/Bedrock/
28
+ non-WP sites, disabled HTTPS, and missing backups — mainly so the new
29
+ screenshots (and any future ones) show a fleet worth looking at.
30
+
31
+ ## [0.20.0] - 2026-07-08
32
+
33
+ ### Added
34
+ - **The clone wizard's existing-server picker now shows each server's current
35
+ site count.** Picking a destination previously showed only provider/region/
36
+ IP — no sense of how busy a candidate already is. Each row now leads with
37
+ `N site(s)`.
38
+
39
+ ### Fixed
40
+ - **The clone wizard no longer routes git-deployed non-WordPress sites through
41
+ a Bedrock pull.** `cloneStackFor` trusted `git.repo` alone as "this is
42
+ Bedrock" — true often enough (`is_wordpress` is unreliable for git sites),
43
+ but a git-deployed **static** site (confirmed live: a client's static site,
44
+ repo literally named `*-static-site`) would be routed through
45
+ `composer install`/wp-cli anyway, which it can't survive. A conclusive
46
+ non-WordPress probe (`whmcs`/`laravel`/`static`) now overrides `git.repo`;
47
+ a probe saying `bedrock`/`wordpress`, or no probe at all, still trusts it
48
+ (same "probe the site (`d`) before cloning" caveat as the sibling fix
49
+ above).
50
+ - **The clone wizard no longer silently skips the database for API-mislabeled
51
+ WordPress sites.** Its stack picker read `is_wordpress` straight from the
52
+ API, unlike every other view (Stacks, Browser), which corrects that flag
53
+ against a `d` probe result. A site the API wrongly reports as non-WordPress
54
+ (confirmed live against two real client sites) would default to a
55
+ files-only pull — filesystem copied, database never touched, so the
56
+ "clone" wasn't a working WordPress site. The wizard now consults the same
57
+ probe-corrected classification: **probe the site (`d`) before cloning** so
58
+ the wizard picks it up as WordPress.
59
+ - **wp-cli reads now use the site's own configured PHP version, not the
60
+ server's system default.** wp-cli's installed binary shebangs
61
+ `#!/usr/bin/env php`, which resolves through `PATH` to whichever PHP a
62
+ server's `update-alternatives` currently calls default — independent of
63
+ any individual site's configured version, and it can be missing extensions
64
+ that version's CLI never got configured with. Confirmed live: a site
65
+ configured for PHP 8.1 silently ran its wp-cli reads under the server's
66
+ default 8.4, whose CLI was missing `mysqli` — every WordPress-content read
67
+ (posts, pages, users, active plugins, site/home URL) failed silently,
68
+ while file-only or native-MySQL-client commands (`core version`, `db
69
+ export`/`import`/`check`) were unaffected. This broke the clone wizard's
70
+ **Verify** step (`v`) and the **installed plugins & themes** view (`p`) for
71
+ any site whose configured PHP differs from the server's system default —
72
+ both now pin wp-cli to the site's own PHP-CLI binary, falling back to the
73
+ system default only if that specific version isn't installed.
74
+ - **Verify now tells the difference between "the clone actually differs" and
75
+ "wp-cli couldn't read one side's database."** If `core version` succeeds
76
+ (a file read, no DB) but every database-backed fact comes back empty, that's
77
+ the missing-extension failure above, not a real content difference — Verify
78
+ now reports it plainly instead of a wall of misleading ✕ rows implying data
79
+ loss.
80
+
14
81
  ## [0.19.1] - 2026-07-08
15
82
 
16
83
  ### Fixed
@@ -929,7 +996,9 @@ Initial tagged release.
929
996
  ### Notes
930
997
  - Read-only release: works with a SpinupWP **Read Only** API token.
931
998
 
932
- [Unreleased]: https://github.com/mwender/spinupwp-tui/compare/v0.19.1...HEAD
999
+ [Unreleased]: https://github.com/mwender/spinupwp-tui/compare/v0.20.1...HEAD
1000
+ [0.20.1]: https://github.com/mwender/spinupwp-tui/compare/v0.20.0...v0.20.1
1001
+ [0.20.0]: https://github.com/mwender/spinupwp-tui/compare/v0.19.1...v0.20.0
933
1002
  [0.19.1]: https://github.com/mwender/spinupwp-tui/compare/v0.19.0...v0.19.1
934
1003
  [0.19.0]: https://github.com/mwender/spinupwp-tui/compare/v0.18.0...v0.19.0
935
1004
  [0.18.0]: https://github.com/mwender/spinupwp-tui/compare/v0.17.0...v0.18.0