Skip to content

Releases: devnullvoid/pvetui

v1.0.6

13 Sep 18:26
552570c

Choose a tag to compare

πŸš€ Release v1.0.6

Added

  • VM Action Protection System: Comprehensive protection mechanism to prevent VM actions while operations are pending
    • Context Menu Protection: Lifecycle actions (start, stop, restart, delete, migrate) are hidden when VMs have pending operations
    • Keyboard Shortcut Protection: Shell, VNC, and context menu shortcuts are blocked for VMs with pending operations
    • Visual Indicators: Pending VMs show dimmed status with special indicators
    • Menu Title Updates: Context menu titles show current pending operation status (e.g., "Guest Actions (Starting)")
    • Snapshot Protection: Create, delete, and rollback snapshot operations are blocked while VMs have pending operations
    • Configuration Protection: VM config editing and storage resizing are blocked during pending operations
    • Migration Protection: Migration dialog is blocked for VMs with pending operations
    • Refresh Protection: Individual VM refresh and global refresh are blocked while operations are pending
    • Auto-Refresh Protection: Auto-refresh cannot be enabled while there are pending operations
    • Helper Functions: Added CanVMPerformActions() and GetVMPendingOperation() for easier pending state checking
    • Thread-Safe Operations: All pending state operations use proper mutex protection for concurrent access

Fixed

  • VM Pending State Timing: Fixed visual glitch where deleted VMs would briefly return to "normal" state before being removed
    • Delete Operations: VMs now stay in pending state until refresh completes and they're removed from the UI
    • Migration Operations: VMs stay in pending state until refresh shows them in their new location
    • Consistent Behavior: All operations now maintain pending state until refresh operations complete
    • Better User Experience: Users can see VMs remain in pending state until operations truly complete

Dependencies

  • Core Dependencies: Updated key dependencies to latest versions
    • github.com/stretchr/testify: bumped from 1.10.0 to 1.11.1
    • github.com/rivo/tview: bumped to 0.42.0
    • github.com/spf13/cobra: bumped from 1.9.1 to 1.10.1
    • golang.org/x/term: bumped from 0.34.0 to 0.35.0
    • github.com/gdamore/tcell/v2: bumped from 2.8.1 to 2.9.0
  • Build Dependencies: Updated build and CI dependencies
    • golang: bumped from 1.24.5-alpine to 1.25.1-alpine
    • actions/setup-go: bumped from 5 to 6
    • actions/checkout: bumped from 4 to 5

Refactored

  • VM Migration Code Organization: Moved migration-specific functions to dedicated file
    • New File: vm_migration.go created to house all VM migration functionality
    • Moved Functions: showMigrationDialog() and performMigrationOperation() relocated from dialogs.go
    • Clean Separation: Migration logic now properly separated from general dialog functions
    • Better Maintainability: Migration features can now be developed and maintained independently

v1.0.5

25 Aug 01:21
39f6b21

Choose a tag to compare

πŸš€ Release v1.0.5

MAJOR BREAKING CHANGE

  • Project Renamed to pvetui
    • Rename was necessary in order to remain compliant with Proxmox trademark
    • Old paths referencing proxmox-tui must be renamed to pvetui. For example:
      mv ~/.config/proxmox-tui ~/.config/pvetui
      
    • Additional migration steps:
      • Update any shell aliases or scripts referencing the old binary name
      • Update any systemd service files or cron jobs
      • Update any documentation or bookmarks referencing the old project name
      • Environment Variables: Change prefix from PROXMOX_ to PVETUI_ (e.g., PROXMOX_HOST β†’ PVETUI_HOST)
    • Impact: This change affects configuration paths, binary names, environment variables, and all project references

Added

  • 32-bit builds: Add official 32-bit binaries by request in #25
    • Linux: linux/386
    • Windows: windows/386
    • Included in GoReleaser config and local Makefile release target
  • DEB/RPM Packages: Traditional Linux package formats automatically generated by GoReleaser

Documentation

  • README Updates: Fixed CLI argument conventions and improved documentation
    • Updated all CLI examples to use correct double-dash format (--config instead of -config)
    • Added comprehensive CLI reference table with all available flags and short versions
    • Fixed broken anchor links in navigation for better user experience
    • Replaced problematic emojis with compatible ones for consistent anchor generation
    • Updated project title to 'TUI for Proxmox Virtual Environment' for trademark compliance
    • Added trademark disclaimer to clarify non-affiliation with Proxmox Server Solutions GmbH
    • Enhanced demo section with both GIF (GitHub compatible) and WebM (high quality) options
    • Fixed CLI examples throughout all documentation files for consistency

v1.0.4

19 Aug 13:56

Choose a tag to compare

πŸš€ Release v1.0.4

Added

  • Guest name editing: Added ability to change QEMU VM names and LXC container hostnames from the config page
    • QEMU VMs: Edit the "name" field which updates the VM display name
    • LXC containers: Edit the "hostname" field which updates the container hostname
    • Real-time title updates show the new name as you type
    • Changes are saved to Proxmox and reflected immediately in the UI
    • Input validation prevents invalid hostname characters (underscores, spaces, special chars)
    • Validates hostname format (no leading/trailing hyphens, proper length limits)
    • Fixed UI refresh issue with professional polling approach that verifies API changes before refreshing
    • Added loading indicators during API propagation delay for better user experience
    • Enhanced header component with ShowWarning method for better user feedback
    • Refactored polling functionality into dedicated function for improved maintainability
    • Fixed race condition by polling both config and cluster resources endpoints to ensure complete propagation
  • Cross-platform config and cache paths: Added native support for Windows config/cache directories
    • Windows: Config in %APPDATA%/proxmox-tui, Cache in %LOCALAPPDATA%/proxmox-tui
    • macOS: Uses XDG-style paths (~/.config/proxmox-tui, ~/.cache/proxmox-tui) for consistency with other TUI applications
    • Linux: Maintains existing XDG support (~/.config/proxmox-tui, ~/.cache/proxmox-tui)
    • Maintains backward compatibility with existing XDG functions
    • Environment variables still override platform defaults when set

Breaking Changes

  • Windows users only: Existing config files in XDG-style paths need to be moved to new platform-specific locations
    • Windows: Move from ~/.config/proxmox-tui/ to %APPDATA%/proxmox-tui/
    • macOS/Linux: No changes required - existing paths continue to work
    • The application will automatically use the new paths on first run after this update

Fixed

  • Community Scripts: returning from installation no longer blanks the screen. The selector now closes before refresh and a brief post-resume delay ensures stable UI restore.
  • Data Refresh: new containers/VMs created by community scripts are shown immediately without restarting. After install we trigger a hard refresh (cache cleared) and the manual refresh rebuilds the guest list from fresh cluster data.
  • Header: eliminated brief spinner flash that could reappear after success/error messages.
  • Manual Refresh stability: VM list now rebuilt strictly from cluster resources; filtering preserved across consecutive refreshes; removed VM details flicker and selection jump by stabilizing selection and suppressing programmatic callbacks during list rebuild.
  • VM delete selection fallback: after deleting a VM, selection now moves to the first remaining VM and the details panel updates accordingly; clears details when the list becomes empty.
  • Manual Refresh optimization: refactored complex refresh logic into separate functions for better maintainability; reduced UI update calls and improved incremental node enrichment; fixed regression where VM list would become empty after refresh due to enriched nodes not preserving VM data from original cluster resources.

v1.0.3

09 Aug 20:09

Choose a tag to compare

πŸš€ Release v1.0.3

Added

  • Guest power actions: Added Shutdown (graceful), Stop (force), and Reset (hard, QEMU-only) alongside Restart/Start in the guest context menu, with clear confirmations and shortcuts.

Fixed

  • Windows: Saving profiles could fail with "The system cannot find the path specified"
    • Ensure config directory creation uses OS-agnostic path handling when saving from the config/profile wizards and menu actions.
    • Fixes saving when adding/editing profiles and when setting default profile on Windows.
  • Windows: Locally built binaries sometimes failed to start
    • Align local Windows builds with release artifacts by disabling CGO and using baseline CPU target.
    • Scoped compatibility flags to Windows/amd64 only to avoid affecting other platforms.
  • UI: Reduce noisy page removal errors in logs
    • Remove pages only when present to avoid benign "Failed to remove … page" errors.

v1.0.2

08 Aug 03:48

Choose a tag to compare

πŸš€ Release 1.0.2

Fixed

  • Profile Switching: Separate Active vs Default profile
    • Introduced a non-persisted runtime ActiveProfile distinct from the persisted default_profile in config.
    • Switching profiles in the UI now updates only the active profile; the default indicator and config file are not overwritten.
    • UI header shows the active profile, while the profiles menu star correctly marks the persisted default.
    • Validation prefers the active profile when set, falling back to the default profile.
  • VNC Profile Switching: Fixed VNC sessions not updating when switching connection profiles
    • VNC service now properly closes all existing sessions when switching profiles
    • Ensures new VNC connections use the updated client connection
    • Prevents VNC sessions from trying to connect to old servers after profile changes
    • Maintains session management integrity across profile switches
  • VNC Browser Opening on Linux: Fixed VNC connection issues when xdg-open is not available
    • Added detection for missing xdg-open command before attempting to open browser
    • Shows helpful error dialog with shortened VNC URL when browser cannot be opened automatically
    • Implements URL forwarding system: shortened URLs (e.g., http://localhost:45167/vnc-forward) automatically redirect to full VNC sessions
    • Uses scrollable text area for long VNC URLs to prevent UI overflow and improve readability
    • Improved dialog positioning and width to properly display long URLs without truncation
    • Enhanced button focus and keyboard handling (Enter/Escape) for proper dialog dismissal
    • Clarifies that the VNC server is still running and ready for connection
    • Prevents confusing situation where VNC server starts but browser doesn't open
    • Provides clear instructions for manual connection with the VNC URL
    • Especially important for WSL and minimal Linux distributions that don't include xdg-open
  • Config Wizard Theme Integration: Fixed config wizard to use the same theme colors as the main application
    • Config wizard now applies custom theme configuration before setting tview styles
    • Ensures consistent visual appearance between main app and config wizard
    • Fixed input field colors to match the default theme (black instead of blue)
    • Applied to both standalone config wizard and embedded profile wizard
  • Config Wizard Loading Issues: Fixed config wizard to properly load existing configuration files
    • Fixed config wizard to load from default locations (~/.config/proxmox-tui/config.yml)
    • Added profile resolution and application logic to config wizard flow
    • Ensured both --config-wizard flag and config-wizard subcommand work consistently
    • Fixed issue where config wizard wouldn't load existing profiles when no config file specified
  • Profile Wizard Validation: Fixed profile wizard to properly recognize filled authentication fields
    • Fixed profile wizard to create profile entries in memory for new profiles
    • Ensured form fields and validation logic work with the same data structure
    • Fixed validation to properly detect when password or token authentication is provided
    • Resolved issue where profile wizard wouldn't recognize filled authentication information
  • Profile Deletion Deadlock: Fixed deadlock when deleting connection profiles
    • Removed nested QueueUpdateDraw calls that caused deadlocks
    • Fixed profile deletion modal to close properly after operation completion
    • Used direct UI updates instead of queued updates to prevent deadlocks
    • Ensured proper focus restoration after profile deletion operations
  • Shell Connection Deadlock: Fixed deadlock when opening shell to VM without IP address
    • Added showMessageSafe function that doesn't use QueueUpdateDraw to avoid deadlocks
    • Updated shell functions to use CreateErrorDialog for errors and showMessageSafe for info messages
    • Fixed issue where screen would flash without showing error message to user
    • Provide clear error message explaining why connection failed and how to fix it
    • Follow same pattern as VNC functions to ensure consistency and prevent deadlocks
  • noVNC Extra Keys Display: Fixed broken 'extra keys' image display in embedded noVNC client
    • Updated noVNC submodule from v1.6.0 to v1.6.0-11-g4cb5aa4 (11 commits ahead)
    • Includes upstream fix for extra keys image display bug
    • Resolves issue where extra keys button images would not display correctly
  • Guest List Search Selection Mismatch: Fixed issue where selected item's details didn't match the selected item when searching/filtering
    • Fixed programmatic selection not triggering VM/node changed callbacks
    • Ensures details panel always shows correct information for selected item
    • Applied to search filtering, selection restoration, and VM operations
    • Resolves issue where details panel would show stale information after filtering
  • showMessage Deadlock Prevention: Updated showMessage calls to use showMessageSafe to prevent deadlocks
    • Fixed showMessage calls in button handlers, event callbacks, and goroutines
    • Applied to VM config forms, snapshot operations, script selector, and connection profiles
    • Prevents UI deadlocks when showing error messages from async operations
    • Ensures consistent user experience without blocking the interface

v1.0.1

06 Aug 12:38

Choose a tag to compare

πŸš€ Release 1.0.1

Added

  • Cobra CLI Framework: Migrated from Go's standard flag package to cobra for enhanced CLI experience
    • Much better help text formatting with proper descriptions and organization
    • Environment variable support with automatic binding to PROXMOX_* variables
    • Subcommand architecture for future extensibility (config-wizard subcommand)
    • Professional CLI interface with improved error handling and validation
    • Maintains 100% backward compatibility with existing functionality
  • Task List Refresh: Automatically refresh tasks list when VM operations complete
    • Ensures tasks created by VM operations are immediately visible
    • Provides better visibility into operation progress and completion
    • Applied to start/stop/restart operations
    • Delete and migration operations already refresh tasks via manualRefresh()

Fixed

  • Data Refresh Issues: Improved data refresh after volume resize and snapshot rollback operations
    • Volume resize now shows updated volume size immediately and displays the resize task
    • Snapshot rollback now shows updated VM status and displays the rollback task
    • Especially important for LXC containers that get shut down after rollback
    • Extracted reusable refreshVMDataAndTasks function for consistent behavior
    • Added 2-second delay to allow Proxmox API to update config data before refresh
    • Prevents UI lockup by using non-blocking goroutine for delay
  • VM Selection Preservation: Fixed selection jumping during pending operations
    • Preserve selected VM by ID and node instead of index position
    • Fixes issue where selected guest would change during pending status
    • Ensures consistent user experience during long-running operations
    • Applied to VM operations (start/stop/restart) and migration operations
  • Makefile Cross-Platform Build: Fixed hardcoded GOOS/GOARCH in build target (#19)
    • Now builds for host platform by default instead of forcing Linux/amd64
    • Allows environment variable override for cross-compilation
    • Enables native development on macOS, Windows, and other platforms
    • Thanks to @unclesp1d3r for the detailed report and solution
  • Go Install Documentation: Fixed incorrect installation instructions and improved macOS guidance (#20)
    • Removed non-functional go install @latest command (git submodule limitation)
    • Renamed misleading install-remote Makefile target to install-go for clarity
    • Added macOS Gatekeeper warning in README with direct link to troubleshooting guide
    • Updated troubleshooting documentation with correct installation methods
    • Thanks to @unclesp1d3r for reporting macOS Gatekeeper issues
  • First-Run Configuration Issues: Fixed app failing to launch without config file (#21)
    • Fixed bootstrap flow to handle config wizard before profile resolution
    • Fixed profile resolution to not assume 'default' profile when no profiles exist
    • Improved onboarding flow with clear user guidance after config creation
    • Ensured --config-wizard flag and config-wizard subcommand work without existing config
    • Maintained full SOPS functionality for encrypted configuration support
    • Thanks to @BenRachmiel for the detailed bug report and reproduction steps

πŸ“¦ 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

  1. Download the appropriate archive for your platform
  2. Extract the binary: tar -xzf proxmox-tui-*.tar.gz (or unzip for Windows)
  3. Make executable (Unix): chmod +x proxmox-tui-*
  4. Run: ./proxmox-tui-* --help

v1.0.0

03 Aug 04:38

Choose a tag to compare

πŸš€ Release 1.0.0

Added

  • Snapshot Management: Added comprehensive snapshot management for VMs and containers
    • Full CRUD operations: create, delete, and rollback snapshots
    • Proper API integration with Proxmox snapshot endpoints
    • QEMU vs LXC support with VM state handling (QEMU only)
    • Theme-consistent UI with proper keyboard navigation
    • Escape key support for all dialogs and forms
    • Proper handling of 'current' state display as 'NOW'
    • Comprehensive error handling and user feedback
  • Connection Profile Management: Added comprehensive profile management system for multiple Proxmox connections
    • Profile switching, editing, and persistence with validation
    • Automatic migration from legacy single-connection config
  • Global Menu: Added comprehensive global menu with intuitive letter-based shortcuts
  • Quit Confirmation: Added consistent quit confirmation dialog for both hotkey and menu with VNC session awareness
  • Flexible Theming System: Added comprehensive theming support with automatic terminal emulator adaptation
    • Semantic Color Constants: Centralized color management with semantic meaning across themes
    • Terminal Theme Adaptation: Automatic adaptation to popular terminal themes (Dracula, Nord, Solarized, etc.)
    • Configuration Options: Theme settings in config file with use_terminal_colors and color_scheme options
    • Documentation: Comprehensive theming guide with setup instructions for popular terminal emulators
    • Zero Configuration: Works out of the box with most terminal emulators while maintaining semantic consistency
  • Display Node Storage Pools: Added node storage pools to node details panel
  • Added comprehensive custom theming support:
    • Users can override all semantic UI colors via the config file (theme.colors).
    • Supports hex codes, ANSI color names, and the special value default.
    • All themeable color keys are documented in docs/THEMING.md.
    • use_terminal_colors config option controls whether to use terminal palette or custom colors.
    • See docs/THEMING.md for full details and configuration examples.
  • Built-in themes: default, dracula, catppuccin-mocha, gruvbox, nord, rose-pine, tokyonight, solarized, kanagawa, everforest. Users can select a built-in theme with theme.name in the config and override any color.
  • Interactive Config Wizard and Editor:
    • Added a full-screen, interactive TUI wizard for creating and editing the main config file.
    • Automatically launches on first run if no config is found, or can be invoked at any time with --config-wizard.
    • Pre-fills fields from existing config, validates input, and provides clear error/success feedback.
    • Supports both password and token authentication, and SOPS/age-encrypted configs with opt-in re-encryption.
    • All onboarding and config editing flows now use consistent, user-friendly modals and prompts.

Changed

  • Major Code Refactoring: Comprehensive refactoring to improve code organization and maintainability
    • Split large UI component files into focused, single-responsibility modules
    • Improved separation of concerns across all UI components
    • Enhanced maintainability and testability while preserving all functionality
  • Logger Architecture Improvements: Enhanced logging system with better error handling and circular import resolution
  • Configuration Package Split: Modularized configuration management with separate profile and file operation modules
  • UI Simplification: Removed redundant Global menu hotkey from footer display since Esc opens the global menu

Fixed

  • Node details panel and API now support displaying multiple storage pools per node, instead of only one. All storage pools are shown with usage stats and theming.
  • FormButton Theming: Fixed FormButton styling to use proper theme colors instead of hardcoded tview.Styles colors, ensuring consistent appearance with other UI elements
  • FormButton Refactoring: Refactored FormButton to embed a real tview.Button, providing proper button styling, behavior, and theme consistency
  • FormButton Sizing: Fixed FormButton to properly size and center the button instead of taking up the entire width
  • FormButton Alignment: Added configurable positioning options (center, left, right, custom) for FormButton alignment within forms
  • GolangCI-Lint Configuration: Updated golangci-lint configuration to be compatible with newer versions, fixed GitHub Actions CI failures, and implemented conservative linting with zero errors while maintaining essential code quality checks

πŸ“¦ 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

  1. Download the appropriate archive for your platform
  2. Extract the binary: tar -xzf proxmox-tui-*.tar.gz (or unzip for Windows)
  3. Make executable (Unix): chmod +x proxmox-tui-*
  4. Run: ./proxmox-tui-* --help

v0.9.0

16 Jul 04:55

Choose a tag to compare

πŸš€ Release 0.9.0

Changed

  • Major Refactor: Split context menu, VM operations, and refresh logic into separate files for improved maintainability and DRYness.
  • Improved form and modal UX, including better keyboard navigation and consistent input handling.
  • Async feedback and pending state for all VM operations, including migration, with robust UI refresh and error handling.
  • Robust selection restoration for both node and VM lists after refresh (fixes selection jump issues).
  • Fixed linter/code-quality issues and removed duplicate or unused code.
  • Updated and consolidated helpers for refresh and selection logic.
  • All changes maintain code quality and pass all tests.

Added

  • Guest configuration editor: Edit CPU, memory, and description for both QEMU and LXC guests.
  • Storage volume resize: Resize disks from the config editor, with robust filtering for resizable volumes only.
  • Interactive First-Run Setup: Added user-friendly configuration wizard for new users
    • Automatically detects when configuration is missing or incomplete
    • Prompts users to create a default configuration file in the XDG config directory
    • Embeds the configuration template directly in the binary for offline setup
    • Provides clear, friendly messaging with proper spacing and visual indicators
    • Supports both .yml and .yaml file extensions for configuration discovery
    • Eliminates the need for users to manually create configuration files or read documentation first
  • Startup Connectivity Verification: Added comprehensive startup sequence with real-time feedback
    • Tests network connectivity and authentication before loading the main interface
    • Clear console progress messages showing each startup step (config loading, client initialization, connection testing, authentication verification)
    • Intelligent error categorization with specific suggestions for different failure types
    • Prevents users from waiting at "Loading..." screens when configuration issues exist
    • Helpful error messages pointing users to the exact config file and suggesting fixes for connection or authentication problems
  • Added a reusable custom FormItem (FormButton) for use in forms.

Fixed

  • VNC Connectivity: Fixed issue where VNC failed to connect when using SSH port forwarding (e.g., in VS Code). The noVNC client now uses a relative URL, allowing it to connect correctly through forwarded ports.
  • Fixed: Auto-refresh countdown and periodic refresh now work correctly after a manual refresh or config edit. Enabling auto-refresh after a manual refresh no longer leaves the UI stuck in 'Refreshing...' state.
  • Cleaned up auto-refresh logic: startAutoRefresh only starts ticker/goroutines if not already running, and toggleAutoRefresh only calls stopAutoRefresh when disabling.
  • Fixed: Node details (kernel version, CPU model, load average, version) are now preserved after a manual refresh, matching auto-refresh behavior. Previously, these fields would disappear after manual refresh.

πŸ“¦ 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

  1. Download the appropriate archive for your platform
  2. Extract the binary: tar -xzf proxmox-tui-*.tar.gz (or unzip for Windows)
  3. Make executable (Unix): chmod +x proxmox-tui-*
  4. Run: ./proxmox-tui-* --help

v0.8.1

11 Jul 01:18

Choose a tag to compare

πŸš€ Release 0.8.1

Added

  • Docker Image: Added openssh-client to support the shell feature.

Fixed

  • Configuration: The application now automatically discovers and loads the default configuration file (config.yml or config.yaml) from the XDG config directory (~/.config/proxmox-tui/) without requiring the --config flag.
  • Search: Pressing ESC in the search bar now clears the filter text in addition to closing the bar, providing a more intuitive, VIM-like experience.

Improved

  • Docker: The Docker instructions have been completely revamped for clarity and correctness, now recommending docker compose run --rm proxmox-tui for an improved user experience.
  • Robust selection restoration for both VM and Node lists after per-item and global refreshes. Selection is now always restored by name, not index, fixing issues with selection jumping to the top after refreshes.

πŸ“¦ 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

  1. Download the appropriate archive for your platform
  2. Extract the binary: tar -xzf proxmox-tui-*.tar.gz (or unzip for Windows)
  3. Make executable (Unix): chmod +x proxmox-tui-*
  4. Run: ./proxmox-tui-* --help

v0.8.0

08 Jul 23:43

Choose a tag to compare

πŸš€ Release 0.8.0

Added

  • Configurable Key Bindings: Added support for customizing all major actions via the key_bindings section 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.yaml for 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 OSType configuration ("nixos" or "nix")
    • Uses pct exec with environment setup for NixOS containers instead of standard pct enter
    • Automatically sources /etc/set-environment if 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

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: recursive to 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/reboot endpoint (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 LastUsed timestamp 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:embed directive instead of runtime filesystem access
  • Windows URL Truncation: Fixed VNC URLs being truncated in Windows browser address bar by replacing cmd /c start with rundll32 url.dll,FileProtocolHandler to avoid command line length limitations

Improved

  • Code Quality Workflow: Added go vet to CI pipeline and development workflow for enhanced static analysis
    • New make vet target for running Go's built-in static analyzer
    • New make code-quality target combining go vet and golangci-lint for comprehensive checks
    • CI now runs go vet before golangci-lint to catch additional issues early

πŸ“¦ 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

  1. Download the appropriate archive for your platform
  2. Extract the binary: tar -xzf proxmox-tui-*.tar.gz (or unzip for Windows)
  3. Make executable (Unix): chmod +x proxmox-tui-*
  4. Run: ./proxmox-tui-* --help