# PSProxmox v2025.05.30.2323 Release Notes ## Major Improvements ### ⚡ Performance Optimization - **Added `-IncludeGuestAgent` parameter** to Get-ProxmoxVM cmdlet for optional guest agent data retrieval - **Significant performance improvement** for normal VM queries (guest agent data no longer fetched by default) - **Flexible querying**: Choose between fast queries or detailed guest agent information as needed - **Backward compatibility**: Existing scripts work unchanged but run faster ### 🎉 VM Guest Agent Support - **Enhanced Get-ProxmoxVM cmdlet** with comprehensive guest agent data retrieval (when requested) - **New ProxmoxVMGuestAgent model** with detailed network interface information - **IPv4 and IPv6 address arrays** for each network interface detected by guest agent - **Guest agent status checking** with robust error handling for VMs without guest agent - **Complete VM network visibility** from within the guest operating system ### 🔧 Complete Codebase Stabilization - **Fixed ALL 41 compilation errors** (100% success rate) that were present in the codebase - **Eliminated ALL compilation warnings** for completely clean builds - **Standardized API patterns** across all cmdlets for consistency and reliability - **Enhanced type safety** throughout the entire codebase - **Modern C# best practices** applied consistently - **Clean binary module structure** with proper packaging ### 🚀 Enhanced Reliability - **Robust error handling** for guest agent operations - **Improved API client usage** with proper parameter handling - **Better JSON processing** with strongly-typed objects instead of dynamic types - **Consistent parameter validation** across all cmdlets ## Usage Examples ### ⚡ Performance Optimization Examples ```powershell # Connect to Proxmox Connect-ProxmoxServer -Server "proxmox.example.com" -Credential (Get-Credential) # Fast queries (default behavior - NEW!) $vms = Get-ProxmoxVM # Fast - no guest agent data $vm = Get-ProxmoxVM -VMID 100 # Fast - no guest agent data # Detailed queries (when you need guest agent info) $vm = Get-ProxmoxVM -VMID 100 -IncludeGuestAgent # Detailed - with guest agent # Performance comparison Measure-Command { $fast = Get-ProxmoxVM } # Fast Measure-Command { $detailed = Get-ProxmoxVM -IncludeGuestAgent } # Slower but detailed ``` ### 🔍 VM Guest Agent Information ```powershell # Get VM with guest agent information (use -IncludeGuestAgent) $vm = Get-ProxmoxVM -VMID 100 -IncludeGuestAgent # Access guest agent data if ($vm.GuestAgent -and $vm.GuestAgent.Status -eq "running") { Write-Host "Guest Agent is running" # Display network interfaces from guest agent foreach ($interface in $vm.GuestAgent.NetIf) { Write-Host "Interface: $($interface.Name)" Write-Host " IPv4 Addresses: $($interface.IPv4Addresses -join ', ')" Write-Host " IPv6 Addresses: $($interface.IPv6Addresses -join ', ')" Write-Host " MAC Address: $($interface.MacAddress)" } } else { Write-Host "Guest Agent not available or not running" } # Get all VMs with guest agent information $vmsWithGuestAgent = Get-ProxmoxVM -IncludeGuestAgent | Where-Object { $_.GuestAgent -and $_.GuestAgent.Status -eq "running" } ``` ### 🔧 Clean Build and Development ```powershell # The module now builds completely clean with no errors or warnings dotnet build PSProxmox\PSProxmox.csproj # Build succeeded with 0 error(s) and 0 warning(s) ``` ## Installation 1. Download the ZIP file 2. Extract the contents to a directory in your PowerShell module path 3. Import the module using `Import-Module PSProxmox` ## Requirements - PowerShell 5.1 or later - Windows PowerShell or PowerShell Core