Release v2.1.4
Version 2.0 is an architectural refactor that provides comprehensive utility frameworks, standardizes script behavior across the entire codebase, and adds remote cluster management capabilities.
Key Improvements:
Unified Utility Framework
- ArgumentParser.sh - Standardized argument parsing with built-in validation, automatic help text generation, and support for common types (vmid, string, integer, boolean, range)
- BulkOperations.sh - Unified framework for bulk VM/LXC operations with consistent error handling, progress reporting, and operation summaries
- Operations.sh (formerly ProxmoxAPI.sh) - Centralized Proxmox API wrapper functions for VM/LXC operations, disk management, and pool operations
- Network.sh - Network utility functions for IP validation, manipulation, and network configuration
- TestFramework.sh - Comprehensive testing framework with unit testing, integration testing, and automated testing
Remote Cluster Management
- Execute scripts on single or multiple Proxmox nodes without re-downloading the repository
- Temporary multi-remote mode supporting IP ranges (192.168.1.100-200) or VMID ranges
- Dual log output with separate
.logand.debug.logfiles for structured logging (local and remote) - Debug flag support (
./GUI.sh -d) for detailed remote execution logging - Interrupt handling (Ctrl+C) cleanly cancels remaining nodes during remote operations
Comprehensive Testing System
- Test suites for all major utility frameworks (_TestArgumentParser.sh, _TestBulkOperations.sh, _TestNetwork.sh, _TestOperations.sh, _TestStateManager.sh)
- RunAllTests.sh for automated test execution across all utilities
- Integration test examples demonstrating proper framework usage
- Unit testing capabilities with assertion functions and result reporting
Script Compliance Standards
- All scripts refactored with consistent headers: shebang -> documentation -> Function Index ->
set -euo pipefail-> code - Standardized
set -euo pipefailfor robust error handling (fixed duplicates and misplaced commands) - All bulk operation scripts (80+ files) migrated to use ArgumentParser and BulkOperations frameworks
- Consistent error handling and user feedback across entire codebase
- Automated source dependency verification with VerifySourceCalls.py
Quality Assurance Tools
- Enhanced .check/_RunChecks.sh with better validation and reporting
- UpdateUtilityDocumentation.py for automatic utility function documentation
- VerifySourceCalls.py with fix mode for adding/removing dependencies and shellcheck directives
- _ScriptComplianceChecklist.md for code quality verification
Cross-Platform GUI Improvements
- Auto-detects package manager (apt, dnf, yum, zypper, pacman) for any Linux distribution
- Polymorphic menu system with centralized common operations (settings, help, back, exit)
- Branch management accessible from all menus
- Simplified navigation with consistent input prompts
- Parameter history with readline shortcuts
New Utility Scripts
- VirtualMachines/Operations/BulkHibernate.sh, BulkSuspend.sh, BulkResume.sh
- VirtualMachines/Hardware/BulkToggleTabletPointer.sh
- VirtualMachines/Storage/BulkConfigureDisk.sh
- Storage/AddStorage.sh (NFS, SMB/CIFS, PBS support)
- Storage/RemoveStorage.sh (safe removal with usage checks)
Commit: 918e79f