🚀 Release 0.8.0
Added
- Configurable Key Bindings: Added support for customizing all major actions via the
key_bindingssection in the config file. - View Switching with Brackets: Changed default view switching keys to
](forward) and[(reverse) for better reliability across terminals. - Support for SOPS/age encrypted configuration files with automatic key lookup
.sops.yamlfor convenient encryption of config files with SOPS- Log message when encrypted config is decrypted
- NixOS LXC Container Support: Added automatic detection and proper shell access for NixOS containers
- Detects NixOS containers based on
OSTypeconfiguration ("nixos" or "nix") - Uses
pct execwith environment setup for NixOS containers instead of standardpct enter - Automatically sources
/etc/set-environmentif present for proper NixOS environment initialization - Maintains backward compatibility with standard LXC containers
- Enhanced user feedback showing "NixOS LXC container" vs "LXC container" during connection
- Comprehensive test coverage for all container types
- Detects NixOS containers based on
Fixed
- Keybinding Reliability: Overhauled the keybinding system to correctly handle modifier keys (
Ctrl,Alt,Shift), fixing numerous issues with custom shortcuts. - Shell Connection Issues: Fixed VM shell connections that were failing due to broken QEMU guest agent approach.
- GitHub Workflow Fixes: Added
submodules: recursiveto all GitHub Actions checkout steps to properly handle noVNC submodule during builds. - Windows ARM64 Support: Added Windows ARM64 build target to both Makefile and GitHub release workflow.
- VM/Container Restart: Fixed 500 error when restarting VMs and containers by using correct
/status/rebootendpoint (both QEMU and LXC use this endpoint, not/status/restart) - CI Linting: Fixed golangci-lint configuration compatibility issues by migrating to v2 format
- Code Quality: Fixed variable shadowing issues in app initialization and cache tests
- Refresh VNC session
LastUsedtimestamp on all WebSocket proxy traffic to prevent unexpected timeouts - noVNC Files Embedding: Fixed noVNC files to be properly embedded in compiled binary using Go's
//go:embeddirective instead of runtime filesystem access - Windows URL Truncation: Fixed VNC URLs being truncated in Windows browser address bar by replacing
cmd /c startwithrundll32 url.dll,FileProtocolHandlerto avoid command line length limitations
Improved
- Code Quality Workflow: Added
go vetto CI pipeline and development workflow for enhanced static analysis- New
make vettarget for running Go's built-in static analyzer - New
make code-qualitytarget combininggo vetandgolangci-lintfor comprehensive checks - CI now runs
go vetbeforegolangci-lintto catch additional issues early
- New
📦 Downloads
Choose the appropriate binary for your platform:
- Linux AMD64:
proxmox-tui-linux-amd64.tar.gz - Linux ARM64:
proxmox-tui-linux-arm64.tar.gz - macOS Intel:
proxmox-tui-darwin-amd64.tar.gz - macOS Apple Silicon:
proxmox-tui-darwin-arm64.tar.gz - Windows AMD64:
proxmox-tui-windows-amd64.zip - Windows ARM64:
proxmox-tui-windows-arm64.zip
🔐 Verification
Verify your download with the provided checksums.txt file:
shasum -a 256 -c checksums.txt📋 Installation
- Download the appropriate archive for your platform
- Extract the binary:
tar -xzf proxmox-tui-*.tar.gz(or unzip for Windows) - Make executable (Unix):
chmod +x proxmox-tui-* - Run:
./proxmox-tui-* --help