Skip to content

Record the tmux 3.3a core minimum - #150

Draft
tony wants to merge 3 commits into
mainfrom
bump-min-tmux-000
Draft

tony wants to merge 3 commits into
mainfrom
bump-min-tmux-000

Conversation

@tony

@tony tony commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

Move every page, example prerequisite and install note that states a tmux minimum to 3.3a, and add a tmux support guide that states the version rules. The libraries judge the connected daemon, compare patch letters (3.3 is below 3.3a), and refuse an older daemon before the requested operation has any effect.

  • Shared and per-port content, the generated example introductions, the home quickstart prerequisites and the Julia install note now say 3.3a. The JVM "3.2a through 3.7c" range becomes "3.3a through 3.7c", and Ruby's "3.3 or newer" becomes 3.3a.
  • Each workspace compatibility page and the Python, Go and Rust MCP entry pages say that a daemon older than 3.3a is refused before any effect, and link the new guide.
  • The new guides/tmux-support page covers daemon versus client version checks, absent endpoints, replacement daemons, raw commands, batches, MCP and workspace entry points, the standalone -V and -h diagnostics, and the built-in command assumption.
  • A new check (site/test/tmux-minimum.test.ts) requires every "tmux X or newer", "tmux X+" and "tmux X through Y" statement to name 3.3a.
  • Left alone on purpose: the tmux 3.2a manual and C reference archive, example runs recorded on 3.2a and 3.7c, tmux facts such as the release that added a hook, and staged port guides and API data under site/src/data. Those come from pinned port revisions and change when each port publishes its own floor.

Validation (Node 26.5.1, pnpm 12.7.0, local; pnpm test:medium was not usable because its ten-second budget was exceeded on a loaded host, so its components ran separately):

  • Vitest for api-model, theme and site without the outer suites passes; the site run needed two test updates (guides card count, and the manual-link requirement the new guide satisfies).
  • pnpm run type-check reports zero errors. pnpm run --recursive lint and oxlint scripts report only existing warnings. check-api-links, check-nav, gen-mentions --check (Ruby and Lua guides staged from source first), gen-shell-ports --check and gen-brand-css --check pass.
  • Deliberate break: restoring one "tmux 3.2a or newer" line in topics/traversal.md makes the new check fail naming that file; restoring the fix passes (docs/deliberate-break-floor-gate.log in the evidence folder).

Not run: the assembled-site build and publication audit (pnpm test:publication), which need the port checkouts and run in hosted CI.

Closes #146.

tony added 2 commits October 17, 2026 04:23
why: The libtmux ports, MCP servers and workspace builders now support
tmux 3.3a and newer, judged by the connected daemon. Pages, example
prerequisites and port install notes still said 3.2 or 3.2a, so a
reader on 3.2a would follow instructions the libraries refuse.

what:
- Move every "tmux 3.2 or newer" and "3.2a or newer" statement in the
  shared and per-port content to 3.3a, including the JVM "3.2a through
  3.7c" range and Ruby's "3.3 or newer" so 3.3 no longer reads as
  supported
- Update the generated example introductions, home quickstart
  prerequisites and the Julia install note to the same floor
- State on each workspace compatibility page and the MCP entry pages
  that a daemon older than 3.3a is refused before any effect
- Add a tmux support guide that gives the version rules and links
  from the guides index
- Leave historical records alone: manual archives for 3.2a, example
  runs on 3.2a and 3.7c, and tmux facts such as the 3.2 hook origin

Port guides and API data under site/src/data come from pinned port
revisions and change when those ports publish their own floor.

Verified: gen-mentions output is unchanged; test results follow.
why: Scattered "tmux X or newer" statements across content,
example prerequisites and install notes had no check, so a page could
keep an old floor after the support contract moved.

what:
- Scan the content, home quickstart data, port install notes and example
  introductions for "tmux X or newer", "tmux X+" and "tmux X through Y"
  and require X to be 3.3a
- Skip facts about tmux itself, which follow "on", and staged port
  guides, which carry the pinned port's own floor
- Reword the legacy 88-colour flag note so it states a tmux fact and not
  a minimum

Verified: the check passes; restoring one "tmux 3.2a or newer" line in
topics/traversal.md makes it fail naming that file, and restoring the
line makes it pass.
@tony
tony force-pushed the bump-min-tmux-000 branch from 2a58002 to 99df2a3 Compare October 17, 2026 13:38
why: The assembled-site link check failed on PR #150 with 11 broken
links. Port pages linked `/guides/tmux-support/`, which resolves inside
each port's own docs (`/en/<port>/latest/guides/tmux-support/`), and no
port has its own copy of that guide. Shared guides are served under
`/en/tmux/guides/`, which existing port pages reach by relative path.

what:
- Point the workspace compatibility pages at
  `../../../../../tmux/guides/tmux-support/`
- Point the Python, Go and Rust MCP entry pages at
  `../../../tmux/guides/tmux-support/`
tony added a commit that referenced this pull request Oct 17, 2026
why: The assembled-site link check failed on PR #150 with 11 broken
links. Port pages linked `/guides/tmux-support/`, which resolves inside
each port's own docs (`/en/<port>/latest/guides/tmux-support/`), and no
port has its own copy of that guide. Shared guides are served under
`/en/tmux/guides/`, which existing port pages reach by relative path.

what:
- Point the workspace compatibility pages at
  `../../../../../tmux/guides/tmux-support/`
- Point the Python, Go and Rust MCP entry pages at
  `../../../tmux/guides/tmux-support/`
tony added a commit that referenced this pull request Oct 17, 2026
why: The assembled-site link check failed on PR #150 with 11 broken
links. Port pages linked `/guides/tmux-support/`, which resolves inside
each port's own docs (`/en/<port>/latest/guides/tmux-support/`), and no
port has its own copy of that guide. Shared guides are served under
`/en/tmux/guides/`, which existing port pages reach by relative path.

what:
- Point the workspace compatibility pages at
  `../../../../../tmux/guides/tmux-support/`
- Point the Python, Go and Rust MCP entry pages at
  `../../../tmux/guides/tmux-support/`
@tony
tony force-pushed the bump-min-tmux-000 branch 2 times, most recently from 7a7a677 to 4d5d622 Compare October 17, 2026 18:53

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Record the tmux 3.3a core support contract

1 participant