Releases: rcourtman/Pulse
v4.15.0-rc.2
What's Changed
Security Improvements
- Fixed path traversal vulnerability in API endpoints
- Implemented secure token comparison to prevent timing attacks
- Enhanced security logging for audit trails
New Features
- ZFS Pool Monitoring (Experimental) - Monitor ZFS pool health and usage (addresses #423)
- PMG Backup Detection - Properly identifies Proxmox Mail Gateway host backups (addresses #359)
Bug Fixes
- VM Disk Monitoring - Fixed disk usage showing 0% for VMs with guest agents (addresses #414, #416, #348, #367, #425)
- Duplicate mount points no longer inflate disk totals
- Better fallback to allocated disk size when guest agent unavailable
- Comprehensive logging for debugging disk monitoring issues
- PBS Connection Handling - Improved timeout handling to prevent "context deadline exceeded" errors (addresses #424)
- Cluster Health Checks - Enhanced cluster health detection and error handling (addresses #405)
- TypeScript Fixes - Resolved type comparison errors in backup VMID handling
Diagnostic Tools
New diagnostic script for troubleshooting VM disk issues:
# Run on your Pulse host /opt/pulse/scripts/test-vm-disk.sh <VMID>Testing v4.15.0-rc.2
ProxmoxVE LXC: Type update in console
Docker:
docker pull rcourtman/pulse:v4.15.0-rc.2 docker run -d --name pulse -p 7655:7655 -v pulse-data:/etc/pulse rcourtman/pulse:v4.15.0-rc.2Install Script:
curl -fsSL https://raw.githubusercontent.com/rcourtman/Pulse/main/install.sh | bash -s -- --version v4.15.0-rc.2Downloads
Pre-built binaries available below for linux-amd64, linux-arm64, and linux-armv7.
Please test and report any issues, especially with VM disk monitoring and ZFS pools.
v4.15.0-rc.1
What's Changed
New Features
- ZFS Pool Monitoring - Complete implementation of ZFS pool health monitoring for Proxmox VE nodes
- Automatic detection of ZFS storage pools
- Health status monitoring (ONLINE, DEGRADED, FAULTED states)
- Error tracking for read, write, and checksum errors
- Individual device monitoring within pools
- Alert generation for degraded pools and device errors
- Frontend display showing ZFS issues inline with storage information
Security Improvements
- Path Traversal Protection - Added comprehensive path traversal attack prevention
- Secure Token Comparison - Implemented secure token comparison to prevent timing attacks
- Enhanced Request Validation - Added proper HTTP status codes for different security scenarios
- Security Event Logging - Added comprehensive logging for security events
Bug Fixes
- PMG Backup Detection - Comprehensive improvements to PMG backup detection system
- Fixed VMID=0 host config backup identification
- Added debug mode for troubleshooting backup detection issues
- More robust detection for various PMG backup configurations
- Guest Agent Disk Stats - Restored guest agent disk statistics in optimized monitor (addresses #414)
- PBS Connection Timeouts - Improved PBS connection handling with granular timeout settings (addresses #424)
- Cluster Health Checks - Enhanced cluster health checks and VMFileSystem error handling (addresses #405)
- TypeScript Type Safety - Fixed type comparison errors in backup VMID handling
Improvements
- Error Resilience - Better error handling across PBS and cluster operations
- Debug Capabilities - Enhanced debugging tools for backup detection and monitoring
- Performance - Optimized monitoring operations with better timeout management
Installation
Testing v4.15.0-rc.1:
# Install script curl -fsSL https://raw.githubusercontent.com/rcourtman/Pulse/main/install.sh | bash -s -- --version v4.15.0-rc.1 # Docker docker pull rcourtman/pulse:v4.15.0-rc.1 docker run -d --name pulse -p 7655:7655 -v pulse-data:/etc/pulse rcourtman/pulse:v4.15.0-rc.1Downloads
Pre-built binaries available below for linux-amd64, linux-arm64, and linux-armv7.
v4.14.0
What's Changed
Improvements
- Better handling of unavailable storage resources
- Improved cluster connectivity handling when endpoints are not resolvable
- Yellow status indicator for degraded cluster connectivity
- Skip Windows System Reserved partitions in disk usage calculation
- Auto-detect public URL for webhook notifications when not explicitly configured
- Added Pushover notification template
Bug Fixes
- Attempted to address fresh PVE installations without VMs in installer
- Attempted to address rate limiting on essential real-time endpoints
- Attempted to address webhook header inputs losing focus after keystroke
- Attempted to address password changes when behind proxy Basic Auth
- Attempted to address VM-specific errors marking cluster nodes unhealthy
- Attempted to address QEMU agent errors affecting cluster health status
- Attempted to address webhook JSON parsing errors across services
- Attempted to address 404 errors when updating or deleting webhooks
- Attempted to address Gotify webhook links to use full Pulse URL
- Attempted to address storage timeouts by increasing from 60s to 120s
- Attempted to address PBS storage showing on wrong nodes
- Attempted to address VMID 0 PBS backups identification
- Attempted to address alert acknowledgment routing path
- Attempted to address PBS backup monitoring enablement
- Attempted to address username storage during login for password changes
- Attempted to address "no healthy nodes available" storage error
UI Enhancements
- Deduplicate identical storage entries in 'by storage' view
- Properly handle shared vs local storage deduplication
- Custom headers UI for webhook configuration
- Test button for webhook creation form
- Professional webhook templates without emojis
Installation
Install/Update:
# Install script (ProxmoxVE/LXC/systemd) curl -fsSL https://raw.githubusercontent.com/rcourtman/Pulse/main/install.sh | bash # Docker docker pull rcourtman/pulse:latest docker run -d --name pulse -p 7655:7655 -v pulse-data:/etc/pulse rcourtman/pulse:latestDownloads
Pre-built binaries available below for linux-amd64, linux-arm64, and linux-armv7.
v4.14.0-rc.2
What's Changed
This RC addresses several issues reported by users, particularly around webhook functionality and cluster node health monitoring.
Bug Fixes
- Potential fix for webhook header inputs losing focus when typing (addresses #412)
- Potential fix for password changes when behind proxy Basic Auth (addresses #407)
- Potential fix for VM-specific QEMU agent errors incorrectly marking cluster nodes as unhealthy (addresses #405)
- Potential fix for rate limiting on essential real-time endpoints like status and metrics (addresses #419)
- Fixed webhook form not closing after successfully adding a webhook
- Fixed 404 errors when updating or deleting webhooks
- Fixed JSON parsing errors in webhook notifications for all services (Discord, Telegram, ntfy, Gotify)
- Fixed ntfy webhook header handling to prevent template syntax errors
New Features
- Added test button to webhook creation form for testing webhook configurations before saving
Improvements
- Auto-detect public URL for webhook notifications when not explicitly configured
- Enhanced webhook templates for better reliability (removed emojis for professional appearance)
- Improved Gotify webhook links to use full Pulse URL instead of relative paths (addresses #415)
Testing v4.14.0-rc.2:
# Install script curl -fsSL https://raw.githubusercontent.com/rcourtman/Pulse/main/install.sh | bash -s -- --version v4.14.0-rc.2 # Docker docker pull rcourtman/pulse:v4.14.0-rc.2 docker run -d --name pulse -p 7655:7655 -v pulse-data:/etc/pulse rcourtman/pulse:v4.14.0-rc.2Downloads
Pre-built binaries available below for linux-amd64, linux-arm64, and linux-armv7.
v4.14.0-rc.1
What's Changed
New Features
- Custom headers support for webhook notifications
- Pushover notification template integration
- Yellow status indicator for degraded cluster connectivity
- Password reset functionality with secure documentation
Improvements
- Enhanced Gotify and ntfy notifications with full Pulse URLs
- Storage deduplication in 'by storage' view
- Better PBS storage simulation in mock data
- Increased timeout for storage operations (60s to 120s)
- Skip Windows System Reserved partitions in disk usage calculation
Bug Fixes
- Attempted to address storage operations failing with 'no healthy nodes' error
- Potential fix for PBS storage showing on wrong nodes
- Attempted fix for password change returning 401 error
- Potential fix for alert acknowledgment routing path mismatch
- PBS backups with VMID 0 now correctly identified as Host type
- PBS backup monitoring enabled for all PBS instances
- Corrected handling of non-shared local storage in 'by storage' view
- Fixed PBS storage shared status detection
Testing v4.14.0-rc.1
Install script:
curl -fsSL https://raw.githubusercontent.com/rcourtman/Pulse/main/install.sh | bash -s -- --version v4.14.0-rc.1Docker:
docker pull rcourtman/pulse:v4.14.0-rc.1 docker run -d --name pulse -p 7655:7655 -v pulse-data:/etc/pulse rcourtman/pulse:v4.14.0-rc.1Downloads
Pre-built binaries available below for linux-amd64, linux-arm64, and linux-armv7.
v4.13.0
What's Changed
Improvements
- Enhanced storage display with node names when grouped by storage
- Improved mobile responsiveness for Settings and Guest URLs pages
- Optimized default alert schedule settings for production use
- Better alert acknowledgment synchronization across the UI
- Increased API timeout to prevent deadline exceeded errors
- Enhanced Gotify and ntfy webhook notifications with richer message details
- Improved mock data system for development and testing
Bug Fixes
- Attempted to address storage display issues with proper padding and borders (#410, #411, #385)
- Potential fix for binary replacement reliability during updates (#406)
- Attempted to address change password button not responding to clicks (#396)
- Improved node disk stats reliability when GetNodeStatus fails (#402)
- Fixed visual gaps in table rows with alert borders
- Corrected tag indicator colors to update immediately on theme switching
- Clarified update settings to indicate manual installation is required (#404)
Documentation
- Added comprehensive VM disk stats troubleshooting guide
- Updated webhook configuration documentation for Gotify and ntfy
- Improved testing framework documentation
Installation
Install/Update:
# Install script (ProxmoxVE/LXC/systemd) curl -fsSL https://raw.githubusercontent.com/rcourtman/Pulse/main/install.sh | bash # Docker docker pull rcourtman/pulse:latest docker run -d --name pulse -p 7655:7655 -v pulse-data:/etc/pulse rcourtman/pulse:latestDownloads
Pre-built binaries available below for linux-amd64, linux-arm64, and linux-armv7.
v4.12.1
What's Changed
Improvements
- Performance - Parallel node polling for improved performance at scale
- Installation - Improved install script reliability in unprivileged containers with better timeout handling
Bug Fixes
- Attempted to address storage tab showing empty due to incorrect cluster storage filtering
- Potential fix for install script hanging in certain network conditions
Documentation
- Improved Telegram webhook configuration instructions and formatting
Installation
Install/Update:
# Install script (ProxmoxVE/LXC/systemd) curl -fsSL https://raw.githubusercontent.com/rcourtman/Pulse/main/install.sh | bash # Docker docker pull rcourtman/pulse:latest docker run -d --name pulse -p 7655:7655 -v pulse-data:/etc/pulse rcourtman/pulse:latestDownloads
Pre-built binaries available below for linux-amd64, linux-arm64, and linux-armv7.
v4.12.0
What's Changed
New Features
- ntfy.sh Webhook Support - Added support for ntfy.sh push notifications, allowing real-time alerts to mobile devices and desktop via the ntfy service (addresses discussion #228)
Improvements
- Enhanced Diagnostics Export - Diagnostics now include comprehensive storage and backup information for better troubleshooting
- Better Node Status Tracking - Improved connection status tracking for nodes (addresses #385)
- VM Disk Usage Detection - Better detection of VM disk usage from guest agent data (addresses #367)
Bug Fixes
- Potential fix for alert acknowledgement with special characters in IDs (addresses #380)
- Fixed alert acknowledgement URL parsing issues
- Fixed ntfy webhook to send plain text instead of JSON for proper compatibility
- Fixed tag indicators to only show for guests that actually have tags
- Fixed mock mode to prevent wiping production node configuration
- Fixed alert checking for mock mode data (addresses #399)
Installation
Install/Update:
# Install script (ProxmoxVE/LXC/systemd) curl -fsSL https://raw.githubusercontent.com/rcourtman/Pulse/main/install.sh | bash # Docker docker pull rcourtman/pulse:latest docker run -d --name pulse -p 7655:7655 -v pulse-data:/etc/pulse rcourtman/pulse:latestDownloads
Pre-built binaries available below for linux-amd64, linux-arm64, and linux-armv7.
v4.11.0
What's Changed
New Features
- VLAN Support in Installer - Added optional VLAN configuration during installation for network-isolated setups
Bug Fixes
- Attempted to address false positive alerts for powered-off VMs - Alerts should no longer trigger for stopped/paused VMs
- Potential fix for storage timeout errors - Improved handling of slow storage operations with retry logic and configurable timeouts
- Attempted to address password change issues - Password change now properly validates current password before allowing changes
- Potential fix for storage/backup visibility - Enhanced storage polling to continue even when cluster API calls fail
- Attempted to address webhook payload persistence - Custom payloads now clear when switching between webhook types
- Potential fix for alert acknowledgment counts - Alert counts should update correctly after acknowledgment
- Attempted to address HTTPS detection behind reverse proxy - Better protocol detection for Quick Security Setup
- Potential fix for proxy auth privileges - Enforced admin requirements for write operations with proxy authentication
- Attempted to address duplicate update prompts - Fixed issue where answering "No" to updates would prompt again
- Fixed installer issues - Resolved duplicate main function and unbound variable errors
Improvements
- Better Storage Monitoring - Increased default timeout to 45s and added CONNECTION_TIMEOUT environment variable for slow storage systems
- Enhanced Logging - Added comprehensive storage polling logs to help diagnose issues
- Clearer Installer Prompts - CIDR notation requirements are now explicitly stated in IP prompts
Installation
Install/Update:
# Install script (ProxmoxVE/LXC/systemd) curl -fsSL https://raw.githubusercontent.com/rcourtman/Pulse/main/install.sh | bash # Docker docker pull rcourtman/pulse:latest docker run -d --name pulse -p 7655:7655 -v pulse-data:/etc/pulse rcourtman/pulse:latestDownloads
Pre-built binaries available below for linux-amd64, linux-arm64, and linux-armv7.
v4.10.2
What's Changed
Bug Fixes
- Offline Node Handling - Added checks to prevent 595 authentication errors when accessing offline cluster nodes (addresses #379)
- LXC Container Parsing - Fixed container status parsing and timeout issues
- Auto-Update Setup - Fixed configuration when jq is not installed
- UI Animations - Removed vertical translate animation that caused border misalignment
Improvements
- Mobile UI - Improved responsive design for better mobile experience
- Node Selection - Enhanced visual feedback when selecting nodes in summary table
- Documentation - Updated screenshots and simplified project naming
Installation
Install/Update:
# Install script (ProxmoxVE/LXC/systemd) curl -fsSL https://raw.githubusercontent.com/rcourtman/Pulse/main/install.sh | bash # Docker docker pull rcourtman/pulse:latest docker run -d --name pulse -p 7655:7655 -v pulse-data:/etc/pulse rcourtman/pulse:latestDownloads
Pre-built binaries available below for linux-amd64, linux-arm64, and linux-armv7.