github tmux-python/tmuxp v1.68.0
v1.68.0 - Improved docs, libtmux bump

3 hours ago

What's Changed

tmuxp 1.68.0 refreshes the documentation stack and developer workflow for the next release train. The docs now sit on the shared gp-sphinx platform, the API pages pick up the newer gp-furo visual language, and the test suite avoids paying for each contributor's interactive shell startup. The release also raises the libtmux floor so tmuxp shell users can script against the expanded tmux command wrapper surface.

Documentation platform refresh

tmuxp's docs were reshaped around a CLI-first frontend: a standalone homepage, clearer install and YAML examples, a stronger CLI reference, new exit-code and recipe pages, topic/project sections, redirects for moved pages, and the Python API moved under internals with clearer expectations for end users. See the 1.68.0 documentation notes.

The site now inherits shared gp-sphinx infrastructure instead of carrying repo-local Sphinx extension copies: Furo-based theme defaults, IBM Plex typography, packaged argparse documentation helpers, API badge styling, MyST-aware object references, and the sphinx-vite-builder asset pipeline. That keeps tmuxp aligned with the surrounding tmux-python docs while reducing custom docs plumbing in this repo.

Shell examples were standardized to one console command per block with $ prompts and continuation lines for long commands, so commands are easier to read and copy from the rendered docs. See the command-block notes.

libtmux 0.56.0

tmuxp now requires libtmux~=0.56.0, picking up libtmux 0.55.1's test-socket cleanup and libtmux 0.56.0's broad command-coverage release. tmuxp's runtime imports stay on stable APIs, while tmuxp shell users can reach more upstream wrappers for interactive tmux commands, buffer I/O, key bindings, shell execution, and window/pane manipulation without falling back to raw cmd() calls. See the dependency notes and the libtmux 0.56.0 release.

Faster local tests

The pytest suite now pins $SHELL=/bin/sh while tests run, so tmux panes created by fixtures skip zsh/bash profile startup and other local interactive shell work. On the measured local suite this reduced uv run py.test wall time from about 76 seconds to about 36 seconds, with no tmuxp runtime behavior change. See the development notes.

Release-note cleanup

CHANGES was rewritten end to end in the new release-note style, preserving the full tmuxp history while making old and current entries easier to scan from the rendered history page.

Pull requests

  • docs(style): refine typography, headings, TOC, and body by @tony in #1021
  • docs: self-host fonts, eliminate layout shift, add SPA navigation by @tony in #1022
  • test(docs[sphinx_fonts]): add tests for sphinx_fonts extension by @tony in #1023
  • docs(style[shell]): standardize shell code blocks by @tony in #1024
  • docs(redesign): restructure documentation to CLI Frontend Skeleton pattern by @tony in #1029
  • docs(sphinx_fonts): add multi-subset support, Mono weights, and latin-ext by @tony in #1034
  • docs: migrate to gp-sphinx workspace packages by @tony in #1033
  • docs(feat[api-style]): improve API docs through gp-sphinx by @tony in #1035
  • chore(docs): adopt gp-sphinx v0.0.1a8 by @tony in #1036
  • chore(docs): bump gp-sphinx to 0.0.1a16 for sphinx-vite-builder consolidation by @tony in #1037
  • py(deps): bump libtmux to 0.56.0 by @tony in #1038
  • tests(perf[conftest]): pin $SHELL=/bin/sh for a faster suite by @tony in #1041
  • docs(CHANGES): rewrite release history for May 2026 refresh by @tony in #1042

Full Changelog: v1.67.0...v1.68.0

Don't miss a new tmuxp release

NewReleases is sending notifications on new releases.