Repository navigation
Build the port examples against the 0.1.0 releases - #212
Merged
Merged
Conversation
why: The homepage example and the attaching guide told readers to install
the published alpha with Mix.install([{:libtmux, "== 0.0.1-alpha.1"}]).
Hex now carries libtmux 0.1.0, and the libtmux-elixir README documents the
"~> 0.1" form.
what:
- Change the Mix.install requirement to "~> 0.1" in the homepage program
and its concise, errors and cleanup views, and in connect.exs on the
attaching-to-tmux guide; reword the "published alpha" sentence.
- Point sourceRevision and sourceTree at release commit cac4252b and its
tree; refresh the file, clipboard and excerpt hashes and the attach hash.
- Record the tmux versions that ran as 3.3a and 3.8a.
- Native runs with fresh MIX_HOME, HEX_HOME and MIX_INSTALL_DIR resolved
libtmux 0.1.0 from Hex: all four homepage views on both tmux versions and the attach guide
passed (Elixir 1.20.4, OTP 29, tmux 3.3a and 3.8a).
why: The homepage example cloned libtmux-ruby at a pinned commit and bundled it as a path gem, so its Gemfile.lock showed libtmux (0.1.0.alpha.1) from a local path. libtmux 0.1.0 is on RubyGems, so the example installs it from there with no clone. what: - Gemfile now reads gem "libtmux", "~> 0.1" from rubygems.org; drop the git init, fetch and checkout setup lines and Git from the prerequisites. - Replace Gemfile.lock with the one bundle install wrote against rubygems.org (libtmux 0.1.0 with its checksum, no PATH block). - Point sourceRevision and sourceTree at release commit c8b83959 and its tree; refresh the Gemfile and Gemfile.lock hashes in every view and the shellRecipe. - Record tmuxVersions 3.3a and 3.8a. - Native runs with a fresh GEM_HOME and BUNDLE_PATH: all four homepage views passed on tmux 3.3a and on 3.8a (Ruby 4.0.7, Bundler 4.0.20).
….1.0 from NuGet why: The C# and F# homepage examples cloned libtmux-dotnet and packed an alpha.18 package from source, and the MCP pages pinned 0.0.0-alpha.20. LibTmux, LibTmux.FSharp and LibTmux.Mcp 0.1.0 are on nuget.org, so readers can restore them directly. what: - Pin LibTmux and LibTmux.FSharp [0.1.0] in the homepage projects, drop the source clone, pack step and NuGet.config, and move global.json and FSharp.Core to the SDK 10.0.303 and 10.1.303 the 0.1.0 tag uses - Point the homepage receipts and the MCP receipts at libtmux-dotnet v0.1.0 (472c2bcf, tree 4ef96f46) and record the new recipes, hashes and toolchain - Install LibTmux.Mcp --version 0.1.0 and reference LibTmux 0.1.0 on the list-sessions and run-command examples and the connect-client guide, and move their source links to the tag - State that run_shell_command needs tmux 3.4 on the run-command example - Record tmux 3.3a and 3.7c for C# and 3.4 and 3.7c for F# (0.1.0 refuses 3.2a; F# pane runs need 3.4); the MCP examples ran on 3.3a and 3.7c (list sessions) and 3.4 and 3.7c (run command) - Ran scripts/check-example-prose.py natively on every homepage view with an empty NUGET_PACKAGES (.NET SDK 10.0.303, tmux 3.3a, 3.4 and 3.7c): all passed; ran both MCP examples and the connect-client commands by hand
…rerelease why: LibTmux 0.1.0 is on the PowerShell Gallery, so the homepage recipe no longer needs -Prerelease or the 0.1.0-alpha2 pin. what: - Run Save-PSResource -Version 0.1.0 without -Prerelease; the program still imports modules/LibTmux/0.1.0/LibTmux.psd1, which the save creates - Point the homepage receipt at libtmux-powershell v0.1.0 (2c30121b, tree 3752a58d) with the new recipe, and record tmux 3.8 as the version that ran - Ran scripts/check-example-prose.py natively on all four views (PowerShell 7.4.20, tmux 3.8, scratch HOME): all passed, saving LibTmux 0.1.0 from the Gallery
why: The Go examples still installed the v0.0.1-alpha modules and a git checkout of an unreleased revision, so readers copied pins that are no longer the published release. what: - Install libtmux-mcp v0.1.0 and require libtmux-go v0.1.0 in the MCP inspect-sessions and run-command examples; the connect-client guide now reports libtmux-mcp v0.1.0. - Resolve the workspace example from the registry (libtmux-go and libtmux-go/workspace v0.1.0) instead of a fetched checkout with replace directives. - Point source links and the receipts at c21afc69 (core) and 59aed98c (mcp, workspace); receipts record tmux 3.3a and 3.7c. - Native runs: Go 1.26.5, tmux 3.3a, 3.7c and 3.8a, all passed; tmux 3.2a is below the 0.1.0 floor and is refused by the library.
why: The homepage example built a git checkout whose Cargo.lock named libtmux 0.1.0-alpha.15, and the MCP pages installed an alpha-era git revision and printed an alpha version, so readers copied pins that are not the published release. what: - Homepage rs example depends on `libtmux = "0.1.0"`; Cargo.lock comes from a real `cargo generate-lockfile` against crates.io (libtmux 0.1.0), and the git clone step and Git prerequisite are gone. - Point sourceRevision and sourceTree at ce7610a3 / its tree and refresh the Cargo.toml and Cargo.lock hashes in every view of the receipt. - tmux-mcp connect-client installs `tmux-mcp@0.1.0` from crates.io and shows `tmux-mcp 0.1.0` (verified by installing it). - The MCP inspect-sessions example uses libtmux and tmux-mcp 0.1.0 from crates.io instead of git revisions. - Receipts record tmux 3.3a and 3.7c; 3.2a is below the 0.1.0 floor and the library refuses it. - Native runs: Rust 1.97.1, tmux 3.3a and 3.7c (homepage full, concise, errors, cleanup; inspect-sessions), all passed.
why: libtmux-java 0.1.0 is on Maven Central, but the Java homepage example, the MCP example and the workspace internals pages still showed an alpha or SNAPSHOT pin and included the library from a source checkout, so a reader could not build them from the registry. what: - Pin `libtmux` 0.1.0, `libtmux-mcp` 0.1.0, `libtmux-workspace` 0.1.0 and `libtmux-bom` 0.1.0, and drop `includeBuild` from the displayed settings. - Keep the clone of the v0.1.0 release commit only as the Gradle wrapper source, and say so on each page. - Point the home and product receipts at the release commit and tree, rehash the displayed files, and record tmux 3.3a and 3.7c, the 0.1.0 floor and the newest supported release (3.2a is below the 0.1.0 floor and is dropped). - Native runs: `check-example-prose.py --example home --port java` for all four views on tmux 3.3a and 3.7c, JDK 25.0.3, Gradle 9.7.0, all passed. The MCP and workspace examples have no checker; their displayed steps were run by hand in fresh directories on both tmux versions and printed the documented output, as did the workspace guide against the 0.1.0 BOM.
why: libtmux-kotlin 0.1.0 is on Maven Central, but the Kotlin homepage example and pages still pinned `0.0.1-alpha.17-SNAPSHOT` and substituted the library from a source checkout with `includeBuild`, so a reader could not build them from the registry. what: - Pin `libtmux-kotlin` 0.1.0 and drop `includeBuild` from every displayed `settings.gradle.kts`; the clone of the v0.1.0 release commit remains only as the Gradle wrapper source, and the prose says so. - Point the home, concept, capture and attach receipts at the release commit and tree, rehash the displayed files and recipes, and record tmux 3.3a and 3.7c (3.2a is below the 0.1.0 floor and is dropped). - Note on the transports page that managed control needs tmux 3.7 or newer, with a tmux-minimum exemption for that per-feature floor; its receipt lists 3.7c only, because the control program fails on 3.3a. - Native runs: `check-example-prose.py` for the home example (four views), the four concept pages, the capture example and the attach guide, on tmux 3.3a and 3.7c, JDK 25.0.3, Gradle 9.7.0, all passed except the transports control program on 3.3a, which is refused as documented.
why: libtmux-scala_3 0.1.0 is on Maven Central, but the Scala homepage example and pages still pinned `0.0.1-alpha.17-SNAPSHOT` and substituted the library from a source checkout with `includeBuild`, so a reader could not build them from the registry. what: - Pin `libtmux-scala_3` 0.1.0 and drop the `includeBuild` substitution block from every displayed `settings.gradle.kts`; the clone of the v0.1.0 release commit remains only as the Gradle wrapper source, and the prose says so. - Point the home, concept, capture and attach receipts at the release commit and tree, rehash the displayed files and recipes, and record tmux 3.3a and 3.7c (3.2a is below the 0.1.0 floor and is dropped). - Note on the transports page that managed control needs tmux 3.7 or newer, with a tmux-minimum exemption for that per-feature floor; its receipt lists 3.7c only, because the control program fails on 3.3a. - Native runs: `check-example-prose.py` for the home example (four views), the four concept pages, the capture example and the attach guide, on tmux 3.3a and 3.7c, JDK 25.0.3, Gradle 9.7.0, all passed except the transports control program on 3.3a, which is refused as documented.
tony
added a commit
that referenced
this pull request
Oct 27, 2026
why: The publisher-pin wave at ab9f3ce stopped because Python's native pages failed the docs build on an undeclared CSS variable. This train carries that fix, the reference and sidebar fixes reported since, and the port examples moved from alpha pins to the 0.1.0 releases, so one CI run gates them and one wave publishes them. what: - Native Python pages declare --native-class-row-height, so inject-shell's check passes; a test covers every --native-* variable - Mixed-mark sidebars such as MCP draw the guide line under the parent label instead of through the row's own text - "API reference", the tmux and MCP section titles and "Symbol index" render in the sans face - Glossary links in page content wait 1 s before their preview card opens, and Escape cancels a card that has not opened yet - Tab from the footer's inventory help link reaches its tooltip link - The root API probe expects only objects-full.inv, matching the footer since #166 - #212: Elixir, Ruby, C# and F#, PowerShell, Rust, Java, Kotlin and Scala examples, and the Go MCP and workspace examples, install 0.1.0 from their registries; the Go homepage example still builds from a source checkout, and a follow-up converts it
tony
temporarily deployed
to
docs-preview-cleanup
October 27, 2026 22:07 — with
GitHub Actions
Inactive
This was referenced Oct 28, 2026
tony
added a commit
to libtmux/libtmux-rs
that referenced
this pull request
Oct 28, 2026
why: The site still presented libtmux as an alpha: badges, notices, install commands and examples carried alpha pins and prerelease flags, and a docs channel stood for a release state that no libtmux release has. A Sphinx project had no inventory to link to, tmux commands and cross-port links sat in small rows under each declaration, TypeScript aliases showed no declaration, and native Python documentation pages listed every page in one flat sidebar column. what: - Publish `objects.inv` and `targets.json` at the root of each port version, naming the pages, headings, workspace table rows, MCP schema fields, command options and API declarations the build rendered, and stop the build when an API declaration has no rendered target (`inventory.ts`, `inventory-publisher.ts`, `inventory-targets.ts`, `targets.ts`; libtmux/docs#166) - Link the footer of a port page to the inventory of its port version, to the full inventory and to a guide on linking from Sphinx, and list the same inventory and target files in the `docs.json` manifest (`SiteFooter.astro`, `inventory-links.ts`, `docs.json.ts`; libtmux/docs#166) - Export the rows of the shared workspace command and configuration tables as Sphinx option, setting and environment variable targets, and keep a page's identity across a move through `inventoryId` and `inventoryAliases` in its frontmatter (`rehype-row-anchors.ts`, `load.md`, `panes.md`, `environment.md`, `content.config.ts`; libtmux/docs#166) - Link the AI policy, which the root site publishes at `/meta/ai-policy/`, from the footer (`SiteFooter.astro`, `ai-policy.md`; libtmux/docs#194) - Show a final release on its badge as its series, 0.x for 0.1.0, with the line "Released; the API may change.", and replace the alpha notice with an early-release notice that returns once for a reader who dismissed it (`ports.ts`, `registry.json`, `PrereleaseNotice.astro`; libtmux/docs#200) - Remove the stable docs channel: a release tag publishes at its own version, a prerelease also as `next`, and the newest final release tag is the default and indexed version, or `latest` while the port has none; an older tag pushed later does not take the default (`port-docs-identity.sh`, `publish-plan.mjs`, `gen-versions.mjs`, `versions.ts`; libtmux/docs#201) - Leave a release-numbering label such as 0.1.N plain in prose instead of resolving it as an API name (`resolver.ts`; libtmux/docs#204) - Give a symbol's tmux commands, tmux C declarations, hooks, options and formats, Guides and equivalents in other ports their own sections on its API reference page and in its Markdown export, ahead of Related types (`api-tmux-sections.ts`, `ApiTmuxSections.astro`, `ApiReference.astro`; libtmux/docs#202) - Draw the nested guide line in every sidebar layout, set Grouped's group headings bold as Outline's are, and make the API glossary the last row of the reference sidebar and the last search result (`api-tree.css`, `ApiTree.astro`, `api-tree.ts`; libtmux/docs#208) - Open the preview card of a glossary link only after the pointer rests on it for a second, and let Escape cancel a card that has not opened (`link-preview-browser.ts`; libtmux/docs#211) - Let Tab move from the footer's inventory help link to the link in its tooltip at once (`SiteFooter.astro`; libtmux/docs#211) - Set the title of an index-style reference page, such as API reference, in the sans face (`ApiReference.astro`; libtmux/docs#211) - Show the typed fields of a Rust struct or payload variant in a Name, Type and Description table, beside the member list when the struct has methods (`api-sections.ts`, `ApiScalarMembers.astro`, `ApiReference.astro`; libtmux/docs#197) - Add the crates of each Rust example with `cargo add` from crates.io at the workspace version the revision declares, instead of building from a clone, and state the minimum Rust version in place of a pinned toolchain file (`rust-examples.ts`; libtmux/docs#196) - Install the Rust workspace CLI and MCP server with `cargo install` and no alpha version, and say on the workspace internals page that releases are numbered 0.1.N and any release may change the API (`ports.ts`, `install-matrix.ts`, `index.md`; libtmux/docs#200) - Show a Rust type alias on its reference page as a declaration line, type Name = Value (`api-sections.ts`; libtmux/docs#205) - Install the Rust MCP server with `tmux-mcp@0.1.0`, and depend on libtmux and tmux-mcp 0.1.0 in the MCP inspect-sessions example in place of git revisions (`connect-client.md`, `inspect-sessions.md`; libtmux/docs#212) - Set the section titles of the MCP reference in the sans face, and keep its sidebar guide line under the parent label and not through the row's own text (`ProtocolReference.astro`, `api-tree.css`; libtmux/docs#211) Shared source: libtmux/docs From: 00045828e6457d142d58933f603665a2ead35811 To: e1ab401f7d6fca5ac9c418bc6c77ca382320cd2e
tony
added a commit
to libtmux/libtmux-go
that referenced
this pull request
Oct 28, 2026
why: The site still presented libtmux as an alpha: badges, notices, install commands and examples carried alpha pins and prerelease flags, and a docs channel stood for a release state that no libtmux release has. A Sphinx project had no inventory to link to, tmux commands and cross-port links sat in small rows under each declaration, TypeScript aliases showed no declaration, and native Python documentation pages listed every page in one flat sidebar column. what: - Publish `objects.inv` and `targets.json` at the root of each port version, naming the pages, headings, workspace table rows, MCP schema fields, command options and API declarations the build rendered, and stop the build when an API declaration has no rendered target (`inventory.ts`, `inventory-publisher.ts`, `inventory-targets.ts`, `targets.ts`; libtmux/docs#166) - Link the footer of a port page to the inventory of its port version, to the full inventory and to a guide on linking from Sphinx, and list the same inventory and target files in the `docs.json` manifest (`SiteFooter.astro`, `inventory-links.ts`, `docs.json.ts`; libtmux/docs#166) - Export the rows of the shared workspace command and configuration tables as Sphinx option, setting and environment variable targets, and keep a page's identity across a move through `inventoryId` and `inventoryAliases` in its frontmatter (`rehype-row-anchors.ts`, `load.md`, `panes.md`, `environment.md`, `content.config.ts`; libtmux/docs#166) - Link the AI policy, which the root site publishes at `/meta/ai-policy/`, from the footer (`SiteFooter.astro`, `ai-policy.md`; libtmux/docs#194) - Show a final release on its badge as its series, 0.x for 0.1.0, with the line "Released; the API may change.", and replace the alpha notice with an early-release notice that returns once for a reader who dismissed it (`ports.ts`, `registry.json`, `PrereleaseNotice.astro`; libtmux/docs#200) - Remove the stable docs channel: a release tag publishes at its own version, a prerelease also as `next`, and the newest final release tag is the default and indexed version, or `latest` while the port has none; an older tag pushed later does not take the default (`port-docs-identity.sh`, `publish-plan.mjs`, `gen-versions.mjs`, `versions.ts`; libtmux/docs#201) - Leave a release-numbering label such as 0.1.N plain in prose instead of resolving it as an API name (`resolver.ts`; libtmux/docs#204) - Give a symbol's tmux commands, tmux C declarations, hooks, options and formats, Guides and equivalents in other ports their own sections on its API reference page and in its Markdown export, ahead of Related types (`api-tmux-sections.ts`, `ApiTmuxSections.astro`, `ApiReference.astro`; libtmux/docs#202) - Draw the nested guide line in every sidebar layout, set Grouped's group headings bold as Outline's are, and make the API glossary the last row of the reference sidebar and the last search result (`api-tree.css`, `ApiTree.astro`, `api-tree.ts`; libtmux/docs#208) - Open the preview card of a glossary link only after the pointer rests on it for a second, and let Escape cancel a card that has not opened (`link-preview-browser.ts`; libtmux/docs#211) - Let Tab move from the footer's inventory help link to the link in its tooltip at once (`SiteFooter.astro`; libtmux/docs#211) - Set the title of an index-style reference page, such as API reference, in the sans face (`ApiReference.astro`; libtmux/docs#211) - Add the module of each Go example with `go get` from the Go proxy, instead of building from a clone of the repository with a `replace` directive (`go-examples.ts`; libtmux/docs#196), and keep the retired step anchors of the attach-and-send-keys example resolving as inventory headings (`attach-and-send-keys.md`; libtmux/docs#166) - Install libtmux-mcp at `v0.1.0` and require libtmux-go v0.1.0 in the Go MCP examples (`connect-client.md`, `inspect-sessions.md`, `run-command.md`; libtmux/docs#212) - Resolve libtmux-go and its workspace module v0.1.0 from the Go proxy in the workspace internals example, with no source checkout and no replace lines (`examples.md`; libtmux/docs#212) - Set the section titles of the MCP reference in the sans face, and keep its sidebar guide line under the parent label and not through the row's own text (`ProtocolReference.astro`, `api-tree.css`; libtmux/docs#211) Shared source: libtmux/docs From: 00045828e6457d142d58933f603665a2ead35811 To: e1ab401f7d6fca5ac9c418bc6c77ca382320cd2e
tony
added a commit
to libtmux/libtmux-java
that referenced
this pull request
Oct 28, 2026
why: The site still presented libtmux as an alpha: badges, notices, install commands and examples carried alpha pins and prerelease flags, and a docs channel stood for a release state that no libtmux release has. A Sphinx project had no inventory to link to, tmux commands and cross-port links sat in small rows under each declaration, TypeScript aliases showed no declaration, and native Python documentation pages listed every page in one flat sidebar column. what: - Publish `objects.inv` and `targets.json` at the root of each port version, naming the pages, headings, workspace table rows, MCP schema fields, command options and API declarations the build rendered, and stop the build when an API declaration has no rendered target (`inventory.ts`, `inventory-publisher.ts`, `inventory-targets.ts`, `targets.ts`; libtmux/docs#166) - Link the footer of a port page to the inventory of its port version, to the full inventory and to a guide on linking from Sphinx, and list the same inventory and target files in the `docs.json` manifest (`SiteFooter.astro`, `inventory-links.ts`, `docs.json.ts`; libtmux/docs#166) - Export the rows of the shared workspace command and configuration tables as Sphinx option, setting and environment variable targets, and keep a page's identity across a move through `inventoryId` and `inventoryAliases` in its frontmatter (`rehype-row-anchors.ts`, `load.md`, `panes.md`, `environment.md`, `content.config.ts`; libtmux/docs#166) - Link the AI policy, which the root site publishes at `/meta/ai-policy/`, from the footer (`SiteFooter.astro`, `ai-policy.md`; libtmux/docs#194) - Show a final release on its badge as its series, 0.x for 0.1.0, with the line "Released; the API may change.", and replace the alpha notice with an early-release notice that returns once for a reader who dismissed it (`ports.ts`, `registry.json`, `PrereleaseNotice.astro`; libtmux/docs#200) - Remove the stable docs channel: a release tag publishes at its own version, a prerelease also as `next`, and the newest final release tag is the default and indexed version, or `latest` while the port has none; an older tag pushed later does not take the default (`port-docs-identity.sh`, `publish-plan.mjs`, `gen-versions.mjs`, `versions.ts`; libtmux/docs#201) - Leave a release-numbering label such as 0.1.N plain in prose instead of resolving it as an API name (`resolver.ts`; libtmux/docs#204) - Give a symbol's tmux commands, tmux C declarations, hooks, options and formats, Guides and equivalents in other ports their own sections on its API reference page and in its Markdown export, ahead of Related types (`api-tmux-sections.ts`, `ApiTmuxSections.astro`, `ApiReference.astro`; libtmux/docs#202) - Draw the nested guide line in every sidebar layout, set Grouped's group headings bold as Outline's are, and make the API glossary the last row of the reference sidebar and the last search result (`api-tree.css`, `ApiTree.astro`, `api-tree.ts`; libtmux/docs#208) - Open the preview card of a glossary link only after the pointer rests on it for a second, and let Escape cancel a card that has not opened (`link-preview-browser.ts`; libtmux/docs#211) - Let Tab move from the footer's inventory help link to the link in its tooltip at once (`SiteFooter.astro`; libtmux/docs#211) - Set the title of an index-style reference page, such as API reference, in the sans face (`ApiReference.astro`; libtmux/docs#211) - Depend the Java, Kotlin and Scala examples on the Maven Central release named by the newest release tag in the documented revision, instead of building from a checkout, and leave the source build out of `settings.gradle.kts` (`jvm-examples.ts`; libtmux/docs#196) - Name the 0.1.0 BOM in the Gradle and Maven setup of the Java library (`ports.ts`; libtmux/docs#200) - Depend the Java MCP and workspace examples, the Java BOM guide, and the Kotlin and Scala concept, capture and attach pages on 0.1.0 from Maven Central, keeping the release checkout only as the Gradle wrapper source (`examples.md`, `queries.md`; libtmux/docs#212) - Say on the Kotlin and Scala transports pages that managed control needs tmux 3.7 or newer (`transports.md`; libtmux/docs#212) - Set the section titles of the MCP reference in the sans face, and keep its sidebar guide line under the parent label and not through the row's own text (`ProtocolReference.astro`, `api-tree.css`; libtmux/docs#211) Shared source: libtmux/docs From: 00045828e6457d142d58933f603665a2ead35811 To: e1ab401f7d6fca5ac9c418bc6c77ca382320cd2e
tony
added a commit
to libtmux/libtmux-dotnet
that referenced
this pull request
Oct 28, 2026
why: The site still presented libtmux as an alpha: badges, notices, install commands and examples carried alpha pins and prerelease flags, and a docs channel stood for a release state that no libtmux release has. A Sphinx project had no inventory to link to, tmux commands and cross-port links sat in small rows under each declaration, TypeScript aliases showed no declaration, and native Python documentation pages listed every page in one flat sidebar column. what: - Publish `objects.inv` and `targets.json` at the root of each port version, naming the pages, headings, workspace table rows, MCP schema fields, command options and API declarations the build rendered, and stop the build when an API declaration has no rendered target (`inventory.ts`, `inventory-publisher.ts`, `inventory-targets.ts`, `targets.ts`; libtmux/docs#166) - Link the footer of a port page to the inventory of its port version, to the full inventory and to a guide on linking from Sphinx, and list the same inventory and target files in the `docs.json` manifest (`SiteFooter.astro`, `inventory-links.ts`, `docs.json.ts`; libtmux/docs#166) - Export the rows of the shared workspace command and configuration tables as Sphinx option, setting and environment variable targets, and keep a page's identity across a move through `inventoryId` and `inventoryAliases` in its frontmatter (`rehype-row-anchors.ts`, `load.md`, `panes.md`, `environment.md`, `content.config.ts`; libtmux/docs#166) - Link the AI policy, which the root site publishes at `/meta/ai-policy/`, from the footer (`SiteFooter.astro`, `ai-policy.md`; libtmux/docs#194) - Show a final release on its badge as its series, 0.x for 0.1.0, with the line "Released; the API may change.", and replace the alpha notice with an early-release notice that returns once for a reader who dismissed it (`ports.ts`, `registry.json`, `PrereleaseNotice.astro`; libtmux/docs#200) - Remove the stable docs channel: a release tag publishes at its own version, a prerelease also as `next`, and the newest final release tag is the default and indexed version, or `latest` while the port has none; an older tag pushed later does not take the default (`port-docs-identity.sh`, `publish-plan.mjs`, `gen-versions.mjs`, `versions.ts`; libtmux/docs#201) - Leave a release-numbering label such as 0.1.N plain in prose instead of resolving it as an API name (`resolver.ts`; libtmux/docs#204) - Give a symbol's tmux commands, tmux C declarations, hooks, options and formats, Guides and equivalents in other ports their own sections on its API reference page and in its Markdown export, ahead of Related types (`api-tmux-sections.ts`, `ApiTmuxSections.astro`, `ApiReference.astro`; libtmux/docs#202) - Draw the nested guide line in every sidebar layout, set Grouped's group headings bold as Outline's are, and make the API glossary the last row of the reference sidebar and the last search result (`api-tree.css`, `ApiTree.astro`, `api-tree.ts`; libtmux/docs#208) - Open the preview card of a glossary link only after the pointer rests on it for a second, and let Escape cancel a card that has not opened (`link-preview-browser.ts`; libtmux/docs#211) - Let Tab move from the footer's inventory help link to the link in its tooltip at once (`SiteFooter.astro`; libtmux/docs#211) - Set the title of an index-style reference page, such as API reference, in the sans face (`ApiReference.astro`; libtmux/docs#211) - Restore `LibTmux` for the C# and F# examples from NuGet at the exact release their project file names, instead of building from a local package feed and a source build (`csharp-examples.ts`, `fsharp-examples.ts`; libtmux/docs#196) - Install the C# package with `dotnet package add` and the workspace and MCP tools with `dotnet tool install` and `dnx`, none with `--prerelease`, and say on the C# workspace internals page that public contracts can change between 0.1.N releases (`ports.ts`, `install-matrix.ts`, `index.md`; libtmux/docs#200) - Record the tmux commands that the C# methods send at LibTmux 0.1.0, with their source lines (`csharp.json`; libtmux/docs#204) - Install LibTmux.Mcp 0.1.0 on the C# MCP pages, and state on run-command that it needs tmux 3.4 or newer (`connect-client.md`, `run-command.md`; libtmux/docs#212) - Set the section titles of the MCP reference in the sans face, and keep its sidebar guide line under the parent label and not through the row's own text (`ProtocolReference.astro`, `api-tree.css`; libtmux/docs#211) Shared source: libtmux/docs From: 00045828e6457d142d58933f603665a2ead35811 To: e1ab401f7d6fca5ac9c418bc6c77ca382320cd2e
tony
added a commit
to libtmux/libtmux-elixir
that referenced
this pull request
Oct 28, 2026
why: The site still presented libtmux as an alpha: badges, notices, install commands and examples carried alpha pins and prerelease flags, and a docs channel stood for a release state that no libtmux release has. A Sphinx project had no inventory to link to, tmux commands and cross-port links sat in small rows under each declaration, TypeScript aliases showed no declaration, and native Python documentation pages listed every page in one flat sidebar column. what: - Publish `objects.inv` and `targets.json` at the root of each port version, naming the pages, headings, workspace table rows, MCP schema fields, command options and API declarations the build rendered, and stop the build when an API declaration has no rendered target (`inventory.ts`, `inventory-publisher.ts`, `inventory-targets.ts`, `targets.ts`; libtmux/docs#166) - Link the footer of a port page to the inventory of its port version, to the full inventory and to a guide on linking from Sphinx, and list the same inventory and target files in the `docs.json` manifest (`SiteFooter.astro`, `inventory-links.ts`, `docs.json.ts`; libtmux/docs#166) - Export the rows of the shared workspace command and configuration tables as Sphinx option, setting and environment variable targets, and keep a page's identity across a move through `inventoryId` and `inventoryAliases` in its frontmatter (`rehype-row-anchors.ts`, `load.md`, `panes.md`, `environment.md`, `content.config.ts`; libtmux/docs#166) - Link the AI policy, which the root site publishes at `/meta/ai-policy/`, from the footer (`SiteFooter.astro`, `ai-policy.md`; libtmux/docs#194) - Show a final release on its badge as its series, 0.x for 0.1.0, with the line "Released; the API may change.", and replace the alpha notice with an early-release notice that returns once for a reader who dismissed it (`ports.ts`, `registry.json`, `PrereleaseNotice.astro`; libtmux/docs#200) - Remove the stable docs channel: a release tag publishes at its own version, a prerelease also as `next`, and the newest final release tag is the default and indexed version, or `latest` while the port has none; an older tag pushed later does not take the default (`port-docs-identity.sh`, `publish-plan.mjs`, `gen-versions.mjs`, `versions.ts`; libtmux/docs#201) - Leave a release-numbering label such as 0.1.N plain in prose instead of resolving it as an API name (`resolver.ts`; libtmux/docs#204) - Give a symbol's tmux commands, tmux C declarations, hooks, options and formats, Guides and equivalents in other ports their own sections on its API reference page and in its Markdown export, ahead of Related types (`api-tmux-sections.ts`, `ApiTmuxSections.astro`, `ApiReference.astro`; libtmux/docs#202) - Draw the nested guide line in every sidebar layout, set Grouped's group headings bold as Outline's are, and make the API glossary the last row of the reference sidebar and the last search result (`api-tree.css`, `ApiTree.astro`, `api-tree.ts`; libtmux/docs#208) - Open the preview card of a glossary link only after the pointer rests on it for a second, and let Escape cancel a card that has not opened (`link-preview-browser.ts`; libtmux/docs#211) - Let Tab move from the footer's inventory help link to the link in its tooltip at once (`SiteFooter.astro`; libtmux/docs#211) - Set the title of an index-style reference page, such as API reference, in the sans face (`ApiReference.astro`; libtmux/docs#211) - Require Elixir's libtmux in `mix.exs` with a `~>` requirement on the release, which accepts every 0.1.N release, in place of an exact pin (`ports.ts`; libtmux/docs#200) - Install libtmux from Hex with the 0.1 requirement in the Elixir attaching guide, in place of an exact alpha pin (`attaching-to-tmux.md`; libtmux/docs#212) Shared source: libtmux/docs From: 00045828e6457d142d58933f603665a2ead35811 To: e1ab401f7d6fca5ac9c418bc6c77ca382320cd2e
tony
added a commit
that referenced
this pull request
Oct 28, 2026
why: #212 moved the port examples to the 0.1.0 releases, but merged with four review findings open: the Go homepage still built from a source checkout, the Elixir guide misdescribed its version requirement, the C# run-command page stated two tmux floors, and three receipts named tmux branches. Ship the fixes to the homepage now; the port pages follow with the next publisher pin. what: - The Go homepage example installs libtmux-go v0.1.0 from the Go proxy and runs the release's quickstart; every view uses a per-run socket, so running it twice works - The Elixir attaching guide says ~> 0.1 accepts any release from 0.1.0 up to, but not including, 1.0.0 - The C# MCP run-command example states one tmux floor, 3.4; the tmux minimum check scopes the F# homepage exemption to the F# example - The Elixir, Ruby and Julia homepage receipts record tagged tmux versions, each re-run natively
This branch was previously deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes: no issue; this finishes the docs half of the 0.1.0 releases after #200, which merged through train #207.
What changed, and why:
The ports published
0.1.0to their registries, but after #207 the landing-page examples and several hand-written port pages still showed readers alpha pins,-SNAPSHOTversions,-Prerelease, and source checkouts standing in for the published package. Each example below now installs0.1.0from its registry, its receipt matches the new files, and it passed a native re-run in a fresh home directory. One commit per port.Elixir (
docs(ports[elixir])): the homepage example andports/elixir/guides/attaching-to-tmuxuseMix.install([{:libtmux, "~> 0.1"}])instead of== 0.0.1-alpha.1. Ran on Elixir 1.20.4 and OTP 29 under tmux 3.3a and 3.8a.Ruby (
docs(ports[ruby])): the homepage Gemfile readsgem "libtmux", "~> 0.1"fromhttps://rubygems.org, the lockfile comes from a real resolve (libtmux 0.1.0), and the git clone steps are gone. All four views passed on Ruby 4.0.7 and Bundler 4.0.20 under tmux 3.3a and 3.8a.C# and F# (
docs(ports[csharp])):LibTmuxandLibTmux.FSharp[0.1.0]from NuGet. The source clone,dotnet packand the localNuGet.configare gone.global.jsonpins SDK 10.0.303. F# pinsFSharp.Core[10.1.303].OTHER_FLOORSentry intmux-minimum.test.ts.LibTmux.Mcp0.1.0, andrun-commandstates its tmux 3.4 requirement.NUGET_PACKAGES. The MCP examples and the connect-client steps were run by hand: initialize reported 0.1.0 andtools/listreturned the server's tools.PowerShell (
docs(ports[powershell])): the homepage savesSave-PSResource -Name LibTmux -Version 0.1.0 -Path ./modules -TrustRepository, without-Prerelease. All four views passed on PowerShell 7.4.20 under tmux 3.8.Go (
docs(ports[go])):inspect-sessionsandrun-commandexamples installlibtmux-mcp@v0.1.0and requirelibtmux-go v0.1.0.connect-clientreportslibtmux-mcp v0.1.0.libtmux-goandlibtmux-go/workspacev0.1.0 from the Go proxy, with no checkout orreplacelines.Rust (
docs(ports[rs])):Cargo.tomlreadslibtmux = "0.1.0", and itsCargo.lockcomes fromcargo generate-lockfileagainst crates.io.connect-clientguide installscargo install --locked tmux-mcp@0.1.0and showstmux-mcp 0.1.0.inspect-sessionsdepends on libtmux and tmux-mcp0.1.0instead of git revisions.Java, Kotlin and Scala (
docs(ports[java]),docs(ports[kotlin]),docs(ports[scala])):0.0.1-alpha.*and-SNAPSHOTpins become0.1.0forlibtmux,libtmux-kotlin,libtmux-scala_3,libtmux-mcp,libtmux-workspaceandlibtmux-bom.includeBuild("libtmux-source")is gone from every displayedsettings.gradle.kts, so Gradle resolves from Maven Central. The clone of the v0.1.0 release commit stays only as the Gradle wrapper source, and the prose says so.ControlAcquisition.supports). Their receipts list 3.7c only, and the floor has anOTHER_FLOORSentry.Receipts: the
sourceRevisionandsourceTreefields point at each port's 0.1.0 release commit. Go and Rust also drop tmux 3.2a from their receipts, because libtmux 0.1.0 refuses 3.2a on those ports. Java, Kotlin and Scala drop it for the same reason, and their capture check records move frompositive-3.2atopositive-3.3a.Not in this pull request:
0.1.0-alpha.15tree, andports/rs/concepts/transportsnames that revision with a pinned link.verificationScopeprose inapi-examples.jsonstill names alphas for several ports. Readers don't see that prose.Checks run:
pnpm -C site exec vitest run: 204 files and 6450 tests pass, 351 skipped.pnpm run lintandpnpm run type-checkpass.pnpm test:mediumstep passes when run on its own:packages/api-model(1221 tests),packages/theme(36),check-api-links,check-nav,check-example-blocksand its negative check, thegen-*--checkfreshness checks,oxlint scriptsandlint:python. The loop as a whole exceeds its 10-second budget on this host.home-examples.jsonand the six receipt fixtures finds nothing, against 19 matches onab9f3cee9.scripts/check-example-prose.pywith the tmux builds named above.Tool use: Claude Code planned the change and split it across four Sonnet sub-agents. The sub-agents rewrote the examples and receipts and ran them natively. Claude Code reviewed each commit, corrected the Kotlin and Scala control-floor wording and its test exemption, ran the checks, and opened this pull request. The maintainer reviews it before merge.