v1.5.0: network interface binding, SSH fixes, terminal, release script

- Add network interface selection per server (VPN/multi-NIC support)
- Fix "Install Everything" button hanging on error
- Add interactive SSH terminal with PTY (pyte + xterm-256color)
- Add release.py for automated versioning and changelog generation
- Add CLAUDE.md with project instructions
- Add screenshots and release binaries for v1.1–v1.4

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
chrome-storm-c442
2026-02-23 14:06:41 -05:00
parent 0c89e77417
commit a83a97c9d5
33 changed files with 1221 additions and 173 deletions

View File

@@ -1,5 +1,41 @@
# Changelog
## [1.5.0] - 2026-02-23
### Added
- **Network interface binding** — choose which NIC (IP) to use per server (VPN, multi-NIC setups)
- Dropdown in server add/edit dialog (via `psutil.net_if_addrs()`)
- `bind_interface` saved per server, used in SSH connect via `socket.bind()`
- Works on Windows/macOS/Linux without admin rights
- Status checker and terminal automatically use the bound interface
- `psutil` dependency in requirements.txt
### Fixed
- **"Install Everything" button** no longer hangs on error — try/except/finally ensures button always resets
- `generate_ssh_key()` handles missing paramiko gracefully (returns error message instead of crashing thread)
- `install_all()` catches per-step exceptions — all steps run even if one fails
- `_gen_key()` in Setup tab now catches and displays errors in the log
### Changed
- `check_connection()` refactored — uses shared `_connect_client()` instead of duplicated logic
- `_connect_client()` supports `bind_interface` with socket binding and proper socket recreation on auth retry
- Logging added to `install_ssh_script()`, `install_skill()`, `generate_ssh_key()`, `install_all()`
- `build.py` — added `--hidden-import psutil`
- `CLAUDE.md` — added version sync checklist
- `version.py` → 1.5.0
## [1.4.0] - 2026-02-23
### Added
- Interactive SSH terminal with PTY (xterm-256color)
- `pyte` terminal emulator integration
- `ShellSession` class for persistent shell sessions
- Configurable monitoring intervals (30s, 60s, 2min, 5min)
- Skip status check option per server
### Changed
- `version.py` → 1.4.0
## [1.3.0] - 2026-02-23
### Added