@mmmbuto/nexuscrew 0.8.26 → 0.8.27

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
@@ -2,6 +2,29 @@
2
2
 
3
3
  All notable changes to NexusCrew are tracked here.
4
4
 
5
+ ## 0.8.27 — 2026-07-21 — "Portable Control"
6
+
7
+ - Restores Fleet and shell launches on current Android/Termux builds by preserving only a
8
+ validated, owner-safe `libtermux-exec` preload under the active Termux prefix. The related
9
+ Node-shebang workaround now detects the Termux runtime layout even when Node reports Linux.
10
+ - Surfaces stable, sanitized `ENOENT`/`EACCES` client-spawn diagnostics without exposing command
11
+ paths, arguments, environment values or credentials, and adds an actionable `nexuscrew doctor`
12
+ check for the Termux execution bridge.
13
+ - Keeps macOS LaunchAgents rooted at the stable user home rather than the replaceable runtime
14
+ directory, with a blocking doctor check for stale launchd working directories.
15
+ - Adds viewer-local aliases for routed nodes, keyed by stable instance identity and stored in a
16
+ private local file. Aliases change display text only; remote labels, routes, owners and topology
17
+ remain untouched and the mutation is never federated.
18
+ - Adds **Settings → Diagnostics** with bounded, structured, source-redacted records, temporary
19
+ 5/15/30/60-minute verbose windows, filtering, pause, export, clear and routed read access.
20
+ Warning and error records remain available while verbose mode is off.
21
+ - Uses the logical Fleet cell name as the visible cell title on mobile, desktop overlays and grid
22
+ tiles, while retaining technical route context only as non-primary metadata.
23
+ - Updates the production lock to `body-parser@1.20.6`.
24
+ - Gate: **931 isolated Node tests** (930 pass / 1 platform skip), **70/70 frontend component
25
+ tests**, production PWA build and zero production dependency vulnerabilities in both dependency
26
+ trees.
27
+
5
28
  ## 0.8.26 — 2026-07-20 — "MCP Identity"
6
29
 
7
30
  - Makes MCP caller resolution directly diagnosable through the read-only `nc_identity` tool.
package/README.md CHANGED
@@ -83,6 +83,10 @@ The first run creates the loopback-only runtime, starts it in the background, op
83
83
  and presents the setup wizard. Later runs reuse the configured service, print a compact status,
84
84
  and exit.
85
85
 
86
+ On Android, `nexuscrew doctor` also verifies the Termux execution bridge used by current app
87
+ builds. NexusCrew carries forward only a validated `libtermux-exec` preload from the active
88
+ Termux prefix; arbitrary loader injection remains excluded from Fleet environments.
89
+
86
90
  The preferred port is `41820`. If another process owns it, NexusCrew selects the next free
87
91
  loopback port and records the result.
88
92
 
@@ -203,7 +207,8 @@ can be changed with pointer drag-and-drop or keyboard controls and is saved auto
203
207
 
204
208
  On mobile, locations are independently collapsible and filterable by all, pinned, active, off,
205
209
  or technical sessions. The same owner-qualified ordering model is used by compact and expanded
206
- desktop views.
210
+ desktop views. Managed terminals use the logical Fleet cell name as their visible title; tmux
211
+ session and route identifiers remain technical context rather than the primary heading.
207
212
 
208
213
  <p align="center">
209
214
  <img src="docs/img/fleet-mobile.gif" width="420" alt="NexusCrew mobile Fleet view with managed cells and session controls">
@@ -270,6 +275,10 @@ Their human-readable label has one server-backed source: rename from Settings or
270
275
  same canonical label appears everywhere without changing the technical route name, node identity,
271
276
  credentials, Share state or deck identity.
272
277
 
278
+ For routed nodes that the current installation does not own, Settings → Nodes offers a local
279
+ alias instead of a remote rename. The alias is private to the viewing installation, follows the
280
+ stable instance identity and never changes or federates the remote label, route or owner.
281
+
273
282
  Pairing links contain a short-lived one-time invite and routing fields, but no SSH private key,
274
283
  provider key or PWA token. Node and deck identities remain owner-qualified across the network,
275
284
  and every routed HTTP or WebSocket request rechecks authorization, hop count and cycle rules.
@@ -316,6 +325,17 @@ state and manual controls are available in Settings → System; set
316
325
  On Linux, generated user services use `KillMode=process` so restarting NexusCrew does not stop
317
326
  the shared tmux server. Lifecycle commands fail closed when that protection cannot be verified.
318
327
 
328
+ ## Structured diagnostics
329
+
330
+ Settings → Diagnostics shows a bounded in-memory event buffer for the local installation or an
331
+ authorized routed node. Verbose collection is explicit and expires after 5, 15, 30 or 60 minutes;
332
+ operational warnings and errors remain available when verbose mode is off. The view supports
333
+ level/component filtering, pause, autoscroll, copy, JSON export and explicit clear.
334
+
335
+ Records are structured and redacted before storage. Raw terminal content, prompts, command lines,
336
+ environment values, tokens, credentials and filesystem paths are not accepted as diagnostic
337
+ metadata. The buffer is not a reader for service journals or log files.
338
+
319
339
  ## MCP bridge
320
340
 
321
341
  `nexuscrew mcp` exposes the local authenticated runtime as a dependency-free stdio MCP server.
@@ -434,7 +454,7 @@ See [CHANGELOG.md](CHANGELOG.md) for released changes.
434
454
 
435
455
  ## Status
436
456
 
437
- The current stable release is **v0.8.26** on npm and GitHub.
457
+ The current stable release is **v0.8.27** on npm and GitHub.
438
458
 
439
459
  ## License
440
460