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:
@@ -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.
|
||||||
@@ -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
@@ -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" }
|
||||||
|
|||||||
Reference in New Issue
Block a user