chore: release prep v0.1.1 — version bump, changelog, README update

Bump version 0.1.0 → 0.1.1. Add CHANGELOG.md covering all changes
since initial release. Update README clipboard section to reflect
native xterm.js paste handling.
This commit is contained in:
Brian Krabach
2026-04-07 10:01:34 -07:00
parent 12ad92986e
commit 9335964494
3 changed files with 38 additions and 3 deletions
+35
View File
@@ -0,0 +1,35 @@
# Changelog
## v0.1.1 (2026-04-07)
### Features
- **TLS/HTTPS support** — `muxplex setup-tls` auto-detects Tailscale → mkcert → self-signed certificates
- **TLS nudge** in `doctor` and `service install` when clipboard requires HTTPS
- **Session device selector** — create sessions on remote devices when multi-device enabled
- **Activity count in page title** — browser tab shows `(2) hostname - muxplex` for unseen bells
- **Favicon activity badge** — amber dot overlay on favicon for unseen notifications
- **Terminal search** — Ctrl+F to search scrollback (xterm-addon-search)
- **Clickable URLs** — Ctrl+Click / Cmd+Click opens URLs in terminal output (xterm-addon-web-links)
- **Inline image rendering** — Sixel and iTerm2 graphic protocols (xterm-addon-image)
### Bug Fixes
- **Federation SSL** — federation client accepts self-signed TLS certificates on remote instances
- **Federation empty key** — skip Authorization header when federation key is empty
- **Federation WebSocket SSL** — WebSocket proxy accepts self-signed certs on wss:// remotes
- **Remote session connect** — terminal reconnect uses federation connect path for remote sessions
- **Remote session restore** — persist `active_remote_id` in state for page refresh restore
- **Bell clearing for remote sessions** — federation bell-clear endpoint + unique sessionKey
- **Service crash-loop prevention** — kill stale port holders on startup, TimeoutStopSec in systemd
- **UTF-8 terminal display** — decode WebSocket output with TextDecoder before xterm.js write
- **Clean clipboard handling** — removed custom paste handlers per COE review, native xterm.js paste
- **Guard empty session name** — openSession bails on empty name from unreachable federation tiles
- **Clean Ctrl+C exit** — `muxplex service logs` exits cleanly on keyboard interrupt
### Infrastructure
- **PyPI publish** — available as `pip install muxplex`
- **GitHub Actions CI** — tests run on push/PR (Python 3.11-3.13)
- **Self-hosted vendor libs** — eliminates Edge Tracking Prevention console noise
## v0.1.0 (2026-04-04)
Initial release.
+2 -2
View File
@@ -21,7 +21,7 @@
### Terminal ### Terminal
- **Full interactive terminal** — powered by xterm.js + ttyd - **Full interactive terminal** — powered by xterm.js + ttyd
- **Native clipboard** — Ctrl+Shift+C to copy, Ctrl+Shift+V to paste - **Native clipboard** — Ctrl+Shift+C to copy, Cmd+V (macOS) / Ctrl+Shift+V (Linux) to paste
- **Mouse select auto-copy** — selecting text copies to system clipboard on release - **Mouse select auto-copy** — selecting text copies to system clipboard on release
- **OSC 52 tmux clipboard bridge** — tmux copy mode selections go to system clipboard - **OSC 52 tmux clipboard bridge** — tmux copy mode selections go to system clipboard
- **Search** — Ctrl+F opens a search bar to find text in terminal scrollback (xterm-addon-search) - **Search** — Ctrl+F opens a search bar to find text in terminal scrollback (xterm-addon-search)
@@ -254,7 +254,7 @@ All settings are stored in `~/.config/muxplex/settings.json`.
| Shortcut | Action | | Shortcut | Action |
|---|---| |---|---|
| Ctrl+Shift+C | Copy terminal selection to system clipboard | | Ctrl+Shift+C | Copy terminal selection to system clipboard |
| Ctrl+Shift+V | Paste from system clipboard into terminal | | Cmd+V / Ctrl+Shift+V | Paste from system clipboard (native browser paste) |
| Ctrl+F | Open terminal search bar | | Ctrl+F | Open terminal search bar |
| Enter / Shift+Enter | Next / previous search match | | Enter / Shift+Enter | Next / previous search match |
| Ctrl+Click (Cmd+Click) | Open URL in new tab | | Ctrl+Click (Cmd+Click) | Open URL in new tab |
+1 -1
View File
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
[project] [project]
name = "muxplex" name = "muxplex"
version = "0.1.0" version = "0.1.1"
description = "Web-based tmux session dashboard — access all your tmux sessions from any browser" description = "Web-based tmux session dashboard — access all your tmux sessions from any browser"
readme = "README.md" readme = "README.md"
license = { text = "MIT" } license = { text = "MIT" }