Skip to content

v0.9.1

Latest

Choose a tag to compare

@github-actions github-actions released this 24 Jul 17:19
Immutable release. Only release title and notes can be modified.
v0.9.1
fb827cd

RMUX 0.9.1

RMUX 0.9.1 is a security, compatibility, and reliability release for the 0.9 series. It strengthens access control, improves Windows terminal behavior, completes several tmux-compatible
features, and makes SDK pane operations more resilient.

Highlights

  • Added visible pane scrollbars and copy-mode line-number gutters, including styling, geometry, and mouse interaction.
  • Hardened server-access authorization across attaches, control clients, prompts, menus, mode trees, and delayed operations.
  • Improved Windows clipboard, multiline bracketed paste, terminal input, and exclusive-action handling.
  • Strengthened stable pane identity across reindexing, moves, delayed commands, and SDK operations.
  • Improved daemon shutdown, process cleanup, Unix socket recovery, and special-file buffer I/O.
  • Produced signed, immutable, and independently verifiable artifacts through RMUX's exact-candidate release pipeline.

Fixed and Hardened Issues

  • #125 (#125) — Fixed keyboard-driven begin-selection and select-line jumping to a previously cached mouse position. Mouse coordinates are now
    consumed only by commands originating from the applicable mouse event.

  • #92 (#92) — Completed Windows multiline bracketed-paste handling across LF/CRLF input, fragmented reads, isolated leading characters, and
    intervening console key noise.

  • #91 (#91) — Further hardened OSC 52 clipboard handling by binding replies to their originating attach generation and routing queries only
    through eligible attached clients.

  • #94 (#94) — Extended stable-pane identity guarantees beyond snapshots to composite SDK operations, render streams, moves, reindexing, and
    cancelled reads.

Security

  • Revalidate server-access authority during attach and control registration and before delayed or interactive operations execute.
  • Keep Unix socket permissions synchronized with access-control changes and socket rebinding.
  • Prevent late or timed-out OSC 52 replies from satisfying later clipboard requests.
  • Reject Windows batch scripts in structured argv mode, where cmd.exe cannot safely preserve arbitrary argument boundaries.

tmux Compatibility

  • Render pane scrollbars and copy-mode line-number gutters with compatible styles and mouse hit-testing.
  • Implement list-windows -a across sessions.
  • Improve repeated target precedence, sourced-command target resolution, linked-window mutations, lifecycle hooks, and final-window removal.
  • Keep if-shell -F synchronous when combined with -b, matching tmux 3.7b behavior.
  • Keep keyboard copy-mode selections anchored to the keyboard cursor when mouse mode is enabled.
  • Prevent background run-shell and if-shell queues from reusing stale mouse coordinates.
  • Improve get-clipboard, focus-follows-mouse, float comparisons, and linked-pane selection behavior.

SDK and Reliability

  • Pin composite pane operations to stable pane IDs across moves and reindexing.
  • Preserve in-flight render updates when a pending next() call is cancelled.
  • Bind guarded delayed actions to the exact client, session, window occurrence, pane, or output generation they captured.
  • Make special-file buffer I/O cancellable and handle empty-writer FIFOs correctly on macOS.
  • Restore private and custom Unix sockets safely at startup and after SIGUSR1.
  • Join accepted daemon tasks and tracked status-job process trees during shutdown.
  • Fence and reset Windows terminal input around exclusive terminal actions.

Packaging

  • #104 (#104) — Added prefix-aware discovery of private helpers under lib/rmux/libexec, improving compatibility with Arch Linux and other Unix
    package layouts.

  • Publish Linux x86_64 and arm64, macOS Intel and Apple Silicon, Windows x86_64, Debian, RPM, and Snap artifacts.

  • Provide SHA256 checksums, Sigstore release authorization, and SLSA Build Level 2 provenance attestations.

  • The stable tag and GitHub Release are signed and immutable.

Upgrade Notes

RMUX 0.9.1 keeps detached RPC wire version 5 and remains wire-compatible with RMUX 0.9.0.

Restart long-running RMUX servers after upgrading so all fixes take effect:

rmux kill-server

See SECURITY.md (https://github.com/Helvesec/rmux/blob/v0.9.1/SECURITY.md#verifying-releases) for release verification instructions.

Contributor

Thanks to @BarbUk (https://github.com/BarbUk) for the prefix-aware Unix helper discovery contributed through #104 (#104).

Direct downloads, checksums, and signature material are available below.