spinuptui 0.24.0 → 0.24.2

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,31 @@ versions; such changes are called out here.
11
11
 
12
12
  ## [Unreleased]
13
13
 
14
+ ## [0.24.2] - 2026-08-06
15
+
16
+ ### Fixed
17
+ - **Crash on toast dismissal: `remove expects a renderable child object`.**
18
+ `@opentui/core` changed the signature of its internal `remove()` method
19
+ starting at `0.4.3` (it now requires the renderable object itself, not an
20
+ id string), and the toast library we depend on hasn't published a release
21
+ that matches. Our own dependency range (`^0.4.1`) let a fresh install with
22
+ no lockfile — e.g. a global `bun add -g` on a machine that had never
23
+ installed spinuptui before — resolve to a broken later patch and crash the
24
+ first time a toast (PHP upgrade, reboot, cache purge, etc.) tried to
25
+ dismiss itself. `@opentui/core` and `@opentui/react` are now pinned to the
26
+ exact last known-good patch (`0.4.2`) until the toast library ships a fix.
27
+
28
+ ## [0.24.1] - 2026-08-06
29
+
30
+ ### Fixed
31
+ - **`bun update -g spinuptui` no longer silently fails to update.** While
32
+ spinuptui is pre-1.0, a package-manager global install records a caret
33
+ version range (e.g. `^0.22.2`) that, under semver, only matches patch
34
+ releases — every later minor release fell outside it, so `update -g`
35
+ reported success without actually updating anything. The documented and
36
+ in-app update command (Help/About panel, README) is now
37
+ `bun add -g spinuptui@latest`, which always pulls the true latest version.
38
+
14
39
  ## [0.24.0] - 2026-07-15
15
40
 
16
41
  ### Added
@@ -1239,7 +1264,9 @@ Initial tagged release.
1239
1264
  ### Notes
1240
1265
  - Read-only release: works with a SpinupWP **Read Only** API token.
1241
1266
 
1242
- [Unreleased]: https://github.com/mwender/spinupwp-tui/compare/v0.24.0...HEAD
1267
+ [Unreleased]: https://github.com/mwender/spinupwp-tui/compare/v0.24.2...HEAD
1268
+ [0.24.2]: https://github.com/mwender/spinupwp-tui/compare/v0.24.1...v0.24.2
1269
+ [0.24.1]: https://github.com/mwender/spinupwp-tui/compare/v0.24.0...v0.24.1
1243
1270
  [0.24.0]: https://github.com/mwender/spinupwp-tui/compare/v0.23.0...v0.24.0
1244
1271
  [0.23.0]: https://github.com/mwender/spinupwp-tui/compare/v0.22.3...v0.23.0
1245
1272
  [0.22.3]: https://github.com/mwender/spinupwp-tui/compare/v0.22.2...v0.22.3
package/README.md CHANGED
@@ -150,8 +150,10 @@ bun run build:binary # produces ./spinuptui — move it onto your PATH
150
150
  The app tells you when a newer release exists — a gold `✦ vX.Y.Z` appears next
151
151
  to the version in the header (and in the `?` About panel).
152
152
 
153
- - **Package install:** `bun update -g spinuptui` (the About panel shows the
154
- same command).
153
+ - **Package install:** `bun add -g spinuptui@latest` (the About panel shows
154
+ the same command). Don't use `bun update -g` — while spinuptui is pre-1.0,
155
+ it records a caret range (e.g. `^0.22.2`) that excludes every later minor
156
+ release, so `update -g` reports success but silently doesn't update.
155
157
  - **Source checkout:** press **`u`** in the About panel to update in place
156
158
  (`git pull --ff-only`; refuses if you have uncommitted changes, and never
157
159
  merges/rebases). It can't hot-reload the already-running process, so it tells
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spinuptui",
3
- "version": "0.24.0",
3
+ "version": "0.24.2",
4
4
  "description": "SpinupTUI — a terminal dashboard for browsing, monitoring, and managing your SpinupWP servers and sites.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -42,8 +42,8 @@
42
42
  "license": "MIT",
43
43
  "dependencies": {
44
44
  "@opentui-ui/toast": "^0.0.5",
45
- "@opentui/core": "^0.4.1",
46
- "@opentui/react": "^0.4.1",
45
+ "@opentui/core": "0.4.2",
46
+ "@opentui/react": "0.4.2",
47
47
  "react": "^19.0.0",
48
48
  "socket.io-client": "^4.8.3"
49
49
  },
@@ -139,7 +139,17 @@ export function installChannel(): InstallChannel {
139
139
 
140
140
  // The one-liner Help shows for a package install (also used by runSelfUpdate's
141
141
  // "not a checkout" message so every path names the same command).
142
- export const PACKAGE_UPDATE_CMD = "bun update -g spinuptui"
142
+ //
143
+ // Deliberately `add ... @latest`, not `update -g`: while spinuptui is pre-1.0,
144
+ // `bun add -g spinuptui` (no version) records a caret range like `^0.22.2`,
145
+ // which per semver only matches 0.22.x. Every minor release (0.23.0, 0.24.0, ...)
146
+ // falls outside that range, so `bun update -g` silently no-ops forever — it
147
+ // re-resolves within the stale range and finds nothing newer. `@latest` bypasses
148
+ // the recorded range entirely and rewrites it to match, so the *next* update
149
+ // hits the same wall until the following minor bump. Verified live against a
150
+ // real stale install (0.22.2 -> 0.24.0): `update -g` exited 0 without updating,
151
+ // `add -g spinuptui@latest` updated correctly.
152
+ export const PACKAGE_UPDATE_CMD = "bun add -g spinuptui@latest"
143
153
 
144
154
  // The real checkout directory, resolved through Bun's module system rather
145
155
  // than process.cwd() — `spinuptui` is typically a global symlink invoked from