projmux 0.13.0 → 0.14.0

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/docs/upgrading.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Upgrading
2
2
 
3
+ If an older live app server refuses ordinary commands after upgrading, or npm
4
+ cannot resolve the platform optional dependency, follow
5
+ [Troubleshooting](troubleshooting.md). The canonical marker recovery is the
6
+ exact `projmux config apply --socket <name>` printed by the refusal; ordinary
7
+ runtime commands never backfill missing markers.
8
+
3
9
  projmux has two update surfaces:
4
10
 
5
11
  - `projmux shell` reads the cached release status before opening the app. When
@@ -25,7 +31,9 @@ projmux update apply
25
31
  Use `--dry-run` to see the planned action and `--no-apply` to skip reloading
26
32
  the live tmux config after the binary changes. `--no-apply` suppresses live
27
33
  tmux access only; the new binary still migrates the keymap schema and
28
- marker-owned provider files, then writes the generated config. See
34
+ marker-owned provider files, then writes the generated config. It finishes by
35
+ printing `projmux config apply --socket projmux` as the explicit live
36
+ convergence still required before ordinary mutation. See
29
37
  [Keymap schema migration](#keymap-schema-migration) and
30
38
  [Managed Agent hook producer migration](#managed-agent-hook-producer-migration).
31
39
 
@@ -44,6 +52,21 @@ still requires an explicit `PROJMUX_INSTALLER=github-release`.
44
52
 
45
53
  ## Behavior Changes
46
54
 
55
+ ### Prompted Codex create requires native authority
56
+
57
+ A prompted managed Codex create — provider `codex` with exactly one non-empty
58
+ payload operand — no longer degrades to the plain CLI lane when native authority
59
+ cannot be proven. It refuses at the provider-mutation boundary with zero
60
+ threads, zero Panes, and zero Registry writes, and names `--interactive-only` as
61
+ the explicit way to ask for a plain interactive Codex Agent instead.
62
+
63
+ There is nothing to migrate: no Registry schema, configuration, hook contract,
64
+ or stored Agent changes, and every existing resource keeps working after the
65
+ upgrade. `projmux agent resume`, empty-prompt creates, and the Claude and
66
+ Antigravity providers are unchanged. For the affected calls, the escape hatch,
67
+ and how to verify each claim, see
68
+ [Codex Native-Required Create Migration](codex-native-required-migration.md).
69
+
47
70
  ### Registry schema v2 final Window anchors
48
71
 
49
72
  The unreleased intermediate schema-v2 Window field `primaryPaneRef` has been
@@ -538,10 +561,17 @@ npm install -g projmux
538
561
  For npm-managed installs, `projmux update apply` runs:
539
562
 
540
563
  ```sh
564
+ <current-projmux> config apply --bin <published-projmux> --socket projmux
541
565
  npm install -g projmux@latest
542
566
  projmux config apply
543
567
  ```
544
568
 
569
+ The first apply must succeed before npm publication begins. The final apply is
570
+ post-publication verification by the new binary. Go, GitHub Release, and source
571
+ `make install` use the same pre-converge → publish → verify contract. A failed
572
+ pre-apply prevents publication; a publication or verification failure returns
573
+ non-zero and prints the exact `projmux config apply --socket projmux` recovery.
574
+
545
575
  `npm install -g projmux@latest` is used instead of `npm update -g projmux`
546
576
  because `npm update -g` honors the installed semver range and frequently
547
577
  refuses to move a global install across a newer minor/major release, leaving it
@@ -564,9 +594,10 @@ projmux update apply --no-apply # migrate + write config, skip the live reload
564
594
  projmux update apply --dry-run # print the steps only
565
595
  ```
566
596
 
567
- `projmux update apply` reinstalls via `go install`, atomically replaces the active
568
- file, and reapplies the live tmux config so a running `-L projmux` server picks
569
- up new bindings without a restart.
597
+ `projmux update apply` first converges the live route with the current binary
598
+ and exact eventual executable path, reinstalls via `go install`, then reapplies
599
+ with the published binary so a running `-L projmux` server picks up new bindings
600
+ without a restart.
570
601
 
571
602
  The command reads `PROJMUX_PROJDIR` from the calling shell and memoizes the
572
603
  primary path to `~/.config/projmux/projdir`, so the new binary keeps the same
@@ -585,8 +616,9 @@ PROJMUX_PROJDIR="/main/repos:/secondary/repos" projmux update apply
585
616
 
586
617
  When `PROJMUX_INSTALLER=github-release`, `projmux update apply` downloads the
587
618
  latest matching `projmux_<version>_<goos>_<goarch>.tar.gz` asset from GitHub
588
- Releases, extracts the binary, atomically replaces the current executable, and
589
- then runs the new binary's `projmux config apply` — or `config apply --no-reload`
619
+ Releases, extracts the binary, converges the exact live route, atomically
620
+ replaces the current executable, and then runs the new binary's
621
+ `projmux config apply` — or `config apply --no-reload`
590
622
  when `--no-apply` is set, so the keymap schema migration still happens.
591
623
 
592
624
  Set the installer explicitly if you manage a release binary outside npm or Go:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "projmux",
3
- "version": "0.13.0",
3
+ "version": "0.14.0",
4
4
  "description": "tmux project session manager",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/crevissepartners/projmux#readme",
@@ -28,9 +28,9 @@
28
28
  "package:npm:pack": "scripts/package-npm.sh --pack"
29
29
  },
30
30
  "optionalDependencies": {
31
- "@projmux/linux-x64": "0.13.0",
32
- "@projmux/linux-arm64": "0.13.0",
33
- "@projmux/darwin-x64": "0.13.0",
34
- "@projmux/darwin-arm64": "0.13.0"
31
+ "@projmux/linux-x64": "0.14.0",
32
+ "@projmux/linux-arm64": "0.14.0",
33
+ "@projmux/darwin-x64": "0.14.0",
34
+ "@projmux/darwin-arm64": "0.14.0"
35
35
  }
36
36
  }