Releases: rcourtman/Pulse
helm-chart-4.32.1
Helm chart for deploying the Pulse hub and optional Docker monitoring agent.
Pulse v4.31.0
✅ Release Asset Validation (Post-Publish): PASSED
Assets were revalidated after publication due to a release edit.
Status: Live release assets re-validated ✅
Validated: 2025-11-14 00:19:26 UTC
Workflow: Validate Release Assets #32
Validation Summary
- All required assets present ✓
- Checksums verified ✓
- Version strings correct ✓
- Binary architectures validated ✓
What's Changed
New Features
- Added HTTP mode to
pulse-sensor-proxy, letting proxies register via the API and receive temperature polling over HTTPS for multi-instance deployments (#571). - Sensor-proxy installer now auto-populates
allowed_nodesso temperature monitoring works immediately after installation, even on clustered Proxmox deployments.
Bug Fixes
- Restored temperature monitoring for standalone Proxmox, clustered nodes, and LXC environments by fixing detection logic and SSH fallbacks (#571).
- Added context deadlines so local temperature collectors cannot hang the proxy when a node stops responding (#571).
- Hardened the security fallback so the proxy never drops into a permissive mode; localhost-only access is enforced during degraded scenarios and Codex security review findings are addressed.
- Improved Windows host agent installer logging and diagnostics for cleaner upgrades (related to #709).
Improvements
- Raised startup rate limits so Pulse can handle large bursts of telemetry connections without throttling.
- Expanded sensor-proxy diagnostics and tests to surface registration issues earlier.
- Cleaned up documentation (removed the obsolete installer-v2 rollout plan and CONTRIBUTING-SCRIPTS notes).
Breaking Changes
None.
Installation
Quick Install (systemd / LXC / Proxmox VE):
curl -fsSL https://raw.githubusercontent.com/rcourtman/Pulse/main/install.sh | bashDocker:
docker pull rcourtman/pulse:v4.31.0 docker stop pulse && docker rm pulse || true docker run -d --name pulse \ --restart unless-stopped \ -p 7655:7655 -p 7656:7656 \ -v /opt/pulse/data:/data \ rcourtman/pulse:v4.31.0Manual Binary (amd64 example):
curl -LO https://github.com/rcourtman/Pulse/releases/download/v4.31.0/pulse-v4.31.0-linux-amd64.tar.gz sudo systemctl stop pulse sudo tar -xzf pulse-v4.31.0-linux-amd64.tar.gz -C /usr/local/bin pulse sudo systemctl start pulseHelm:
helm upgrade --install pulse oci://ghcr.io/rcourtman/pulse-chart \ --version 4.31.0 \ --namespace pulse \ --create-namespaceDownloads
- Universal tarball with auto-detected architecture:
pulse-v4.31.0.tar.gz - Architecture-specific server builds:
pulse-v4.31.0-linux-{amd64,arm64,armv7,armv6,386}.tar.gz - Docker/VM installer script:
install.shwith companion SHA256 files - Host agent packages for macOS (amd64/arm64) and Windows (386/amd64/arm64)
- Helm chart:
pulse-4.31.0.tgz - SHA256 manifests:
checksums.txtplus per-file.sha256
Notes
- Re-run the sensor-proxy installer to switch existing deployments to HTTP mode; the installer now auto-registers allowed nodes and enforces localhost-only fallbacks.
- Docker images
rcourtman/pulse:v4.31.0andrcourtman/pulse-docker-agent:v4.31.0are already pushed for amd64 and arm64. - If you manage Windows hosts, expect clearer installer logs when upgrading to this release.
Pulse v4.29.5
✅ Release Asset Validation (Post-Publish): PASSED
Assets were revalidated after publication due to a release edit.
Status: Live release assets re-validated ✅
Validated: 2025-11-12 17:34:40 UTC
Workflow: Validate Release Assets #30
Validation Summary
- All required assets present ✓
- Checksums verified ✓
- Version strings correct ✓
- Binary architectures validated ✓
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
What's Changed
New Features
Host Agent Docker Support: Added Snap Docker support to the host-agent installer for improved container monitoring on systems using Snap-packaged Docker.
Kubernetes Helm Chart: Added production-grade Helm chart with GitHub Pages repository distribution and OCI annotations for improved discoverability and package management.
Bug Fixes
Security - Path Traversal: Fixed a path traversal vulnerability in the host-agent download endpoint (#669).
Temperature Monitoring: Fixed temperature monitoring on standalone Proxmox nodes (#571).
Guest Agent Compatibility: Fixed guest agent OS info calls that were causing OpenBSD VM crashes (#692).
Host Agent Downloads: Fixed Windows and macOS host agent downloads for bare metal installs (#684).
Disk Metrics: Filtered read-only filesystems from host agent disk metrics (#690).
Update Checker: Fixed update checker to skip draft releases, preventing malformed download URLs.
Notification Manager: Fixed deadlock in notification manager Stop() function.
CSRF Token Validation: Fixed CSRF token validation failure in Settings diagnostics endpoints (#600).
Sensor Proxy in LXC: Fixed pulse-sensor-proxy pvecm errors when running in LXC containers (#600).
SELinux Compatibility: Fixed SELinux compatibility in host agent installer.
Release Asset Checksums: Fixed checksum file generation for backward compatibility with both old and new release formats.
Frontend Authentication: Fixed router to allow frontend pages without authentication for diagnostic purposes.
Improvements
Diagnostic Capabilities: Enhanced diagnostics to capture DOM structure, JavaScript errors, and browser API access; added comprehensive diagnostic test for login issues.
Integration Tests: Improved integration test suite with pre-built Docker images, health check waits, container logging, and port mapping verification.
Update Service: Refactored update service to eliminate polling and race conditions, with improved consistency handling.
Demo Server Updates: Added manual trigger support and improved asset checking with redirect following.
Release Automation: Added release workflow validation gates and improved asset management by reducing duplicate downloads.
Docker Images: Added OCI labels to Docker images and --version flag to docker-agent for better version tracking.
Breaking Changes
None
Installation
Quick Install (systemd / LXC / Proxmox VE):
curl -fsSL https://raw.githubusercontent.com/rcourtman/Pulse/main/install.sh | bashDocker:
docker pull rcourtman/pulse:v4.29.5 docker stop pulse && docker rm pulse docker run -d --name pulse \ --restart unless-stopped \ -p 7655:7655 -p 7656:7656 \ -v /opt/pulse/data:/data \ rcourtman/pulse:v4.29.5Manual Binary (amd64 example):
curl -LO https://github.com/rcourtman/Pulse/releases/download/v4.29.5/pulse-v4.29.5-linux-amd64.tar.gz sudo systemctl stop pulse sudo tar -xzf pulse-v4.29.5-linux-amd64.tar.gz -C /usr/local/bin pulse sudo systemctl start pulseHelm:
helm upgrade --install pulse oci://ghcr.io/rcourtman/pulse-chart \ --version 4.29.5 \ --namespace pulse \ --create-namespaceDownloads
- Universal tarball (auto-detects architecture):
pulse-v4.29.5.tar.gz - Architecture-specific:
amd64,arm64,armv7,armv6,386 - Host agent packages: macOS (amd64/arm64), Windows (amd64/arm64/386), Linux (amd64/arm64/armv7/armv6/386)
- Sensor proxy: Linux (amd64/arm64/armv7/armv6/386)
- Helm chart:
pulse-4.29.5.tgz - SHA256 checksums:
checksums.txt
Notes
- Security Update: This release includes a critical security fix for a path traversal vulnerability in the host-agent download endpoint. Update recommended.
- Improved Compatibility: Fixed issues affecting OpenBSD VMs, standalone Proxmox nodes, and LXC containers for broader environment support.
- Helm Chart Available: Production-ready Kubernetes deployment now available via GitHub Pages Helm repository for easier cluster installations.
- Enhanced Diagnostics: Improved troubleshooting capabilities with better diagnostic tools to help identify and resolve issues.
helm-chart-4.29.5
Helm chart for deploying the Pulse hub and optional Docker monitoring agent.
Pulse v4.28.0
What's Changed
New Features
- Sparkline visualization mode: Added new sparklines view for metrics, providing compact time-series graphs alongside traditional table views for CPU, memory, disk, and network metrics (#886368ec4)
- mdadm RAID monitoring: Host agents now detect and monitor mdadm RAID arrays, reporting array status, device health, and degraded states (#bb7ca93c1)
- Webhook private IP allowlist: Added configurable allowlist for webhook notifications to private IP addresses, preventing SSRF attacks while allowing legitimate internal webhooks (#673)
- Expanded architecture support: Added linux-386, linux-armv6, and windows-386 builds for broader device compatibility, including older systems and 32-bit Windows (#674)
Bug Fixes
- API token persistence: Fixed dark mode toggle wiping API tokens; made api_tokens.json the authoritative source for token storage (#685)
- Offline alert thresholds: Fixed offline alert state not displaying correctly in thresholds UI (#683)
- Bootstrap token paths: Fixed bootstrap-token command to use correct environment variable and default paths in Docker deployments (#680)
- Temperature monitoring: Fixed persistent temperature monitoring issues for standalone Proxmox nodes, ensuring sensors remain active across restarts (#571)
- Docker host display names: Fixed custom display names not showing in main Docker tab RESOURCE column (#662)
- Upgrade path authentication: Fixed upgrade path when DISABLE_AUTH detected but no credentials exist, preventing setup loop (#678)
- LXC diagnostics: Fixed diagnostics incorrectly warning about /run mount in Docker containers (#600)
- Sensor proxy LXC: Fixed pulse-sensor-proxy configuration not being applied in LXC containers (#600)
- Temperature proxy installation: Fixed unbound variable error in temperature proxy installation script (#438d3b6b7)
Improvements
- Bootstrap token UI: Added Proxmox LXC-specific instructions to bootstrap token UI, clarifying setup for container deployments
- Update error visibility: Update errors now surface to the UI instead of failing silently, providing better feedback when auto-updates encounter issues (#671)
- Table and sparkline layout: Improved table column widths and sparkline visibility for better data density and readability
- Documentation: Added webhook allowlist configuration guide and sponsorship information
Breaking Changes
None
Installation
Quick Install (systemd / LXC / Proxmox VE):
curl -fsSL https://raw.githubusercontent.com/rcourtman/Pulse/main/install.sh | bashDocker:
docker pull rcourtman/pulse:v4.28.0 docker stop pulse && docker rm pulse docker run -d --name pulse \ --restart unless-stopped \ -p 7655:7655 -p 7656:7656 \ -v /opt/pulse/data:/data \ rcourtman/pulse:v4.28.0Manual Binary (amd64 example):
curl -LO https://github.com/rcourtman/Pulse/releases/download/v4.28.0/pulse-v4.28.0-linux-amd64.tar.gz sudo systemctl stop pulse sudo tar -xzf pulse-v4.28.0-linux-amd64.tar.gz -C /usr/local/bin pulse sudo systemctl start pulseHelm:
helm upgrade --install pulse oci://ghcr.io/rcourtman/pulse-chart \ --version 4.28.0 \ --namespace pulse \ --create-namespaceDownloads
- Universal tarball (auto-detects architecture):
pulse-v4.28.0.tar.gz - Architecture-specific:
amd64,arm64,armv7,armv6,386 - Host agent packages: macOS (amd64/arm64), Windows (amd64/arm64/386), Linux (amd64/arm64/armv7/armv6/386)
- Sensor proxy: Linux (amd64/arm64/armv7/armv6/386)
- Helm chart:
pulse-4.28.0.tgz - SHA256 checksums:
checksums.txt
Notes
- Sparklines: Toggle between table and sparklines view using the new view switcher in the metrics interface
- RAID monitoring: mdadm arrays are automatically detected on hosts running pulse-host-agent
- Webhook security: Review the documentation for configuring the webhook private IP allowlist if you need to send notifications to internal services
- Architecture expansion: Older devices can now use the 386 and armv6 builds for better compatibility
4.26.4
Helm chart for deploying the Pulse hub and optional Docker monitoring agent.
helm-chart-4.28.0
Helm chart for deploying the Pulse hub and optional Docker monitoring agent.
v4.27.1
What's Changed
New Features
- Add temperature collection to pulse-host-agent for bare metal monitoring (#661)
Bug Fixes
- Fix SMART temperature collection on smartctl 7.4+ by parsing new output format (#672)
- Fix CRITICAL bug where UpdateProgressModal polling never started, leaving users stuck on update screen (#671)
- Fix storage/disk/backup disappearing for clusters with VerifySSL enabled by preserving TLS validation state
- Fix updater auto-refresh for all open tabs to show consistent state (#671)
- Fix install.sh auto-update download timeout on slow DNS networks by increasing timeout (#669)
- Fix Proxmox 9.x RRD parameter incompatibility causing cluster health issues by adapting to new API format
- Fix CSRF token parsing in config export/import that prevented restoring configurations (#646)
- Fix Pushover webhook custom field overrides not applying to notifications (#665)
- Fix Docker host custom display name not persisting in UI after refresh (#662)
- Fix pulse-host-agent temperature collection on all Linux distros by detecting diverse sensor paths (#661)
- Fix setup script fmt.Sprintf argument misalignment causing incorrect log output (#663)
- Fix Windows host agent installer reliability by improving path handling (#654)
- Fix config backup/restore by enforcing 12-char minimum password for encryption (#646)
Improvements
- Bulletproof the update auto-refresh with fallback mechanisms to prevent hanging (#671)
- Improve backup-age alerts to show VM/CT names in multi-cluster setups for easier identification (#668)
- Clarify Docker agent cycling troubleshooting for cloned VMs/LXCs in documentation (#648)
Breaking Changes
None
Installation
Quick Install (systemd / LXC / Proxmox VE):
curl -fsSL https://raw.githubusercontent.com/rcourtman/Pulse/main/install.sh | bashDocker:
docker pull rcourtman/pulse:v4.27.1 docker stop pulse && docker rm pulse docker run -d --name pulse \ --restart unless-stopped \ -p 7655:7655 -p 7656:7656 \ -v /opt/pulse/data:/data \ rcourtman/pulse:v4.27.1Manual Binary (amd64 example):
curl -LO https://github.com/rcourtman/Pulse/releases/download/v4.27.1/pulse-v4.27.1-linux-amd64.tar.gz sudo systemctl stop pulse sudo tar -xzf pulse-v4.27.1-linux-amd64.tar.gz -C /usr/local/bin pulse sudo systemctl start pulseHelm:
helm upgrade --install pulse oci://ghcr.io/rcourtman/pulse-chart \ --version 4.27.1 \ --namespace pulse \ --create-namespaceDownloads
- Universal tarball (auto-detects architecture):
pulse-v4.27.1.tar.gz - Architecture-specific:
amd64,arm64,armv7 - Host agent packages: macOS, Windows, Linux
- Helm chart:
pulse-4.27.1.tgz - SHA256 checksums:
checksums.txt
Notes
v4.27.1 is an emergency patch release. The original v4.27.0 release had checksum mismatches that prevented updates. This release contains identical functionality but with properly verified artifacts.
This release includes a major new feature for bare metal monitoring (temperature collection via pulse-host-agent) and several critical bug fixes for the update modal, storage monitoring, and SMART temperature collection.
Pulse v4.26.5
What's Changed
Bug Fixes
- Fix config restore for CLI exports (#646)
- Fix storage disappearing after upgrade by preserving TLS validation
- Fix Docker host display bug when multiple agents share API tokens (#658)
- Fix Windows VM disk accumulation bug by normalizing drive letters
- Fix install.sh to deploy host agent binaries (#651)
- Fix update modal hanging indefinitely after completion (#628)
- Silence broken pipe error in sensor proxy self-heal script (#628)
- Fix critical notification system bugs and security issues
- Fix critical P0 security and crash issues in API/WebSocket layer
- Fix critical P0 infrastructure concurrency issues
- Fix critical alert system concurrency and memory leak issues
- Fix critical monitoring system issues and add robustness improvements
- Fix P1 resource leaks in Recovery Tokens, Rate Limiter, and OIDC Service
- Fix P1 Config Persistence transaction field synchronization
- Fix P1 infrastructure issues: panic recovery and optimizations
- Fix test failures from API signature changes
- Fix Helm chart workflow 403 errors
New Features
- Add Windows ARM64 support for host agent (#654)
- Add SMART temperature collection for physical disks (#652)
- Add capability-based authorization for security
- Add GID authorization enforcement
- Add SSH output limits and improve host key management
- Add range-based rate limiting
- Add node allowlist validation to prevent SSRF attacks
- Add WebSocket Hub shutdown mechanism
- Add container detection warning to pulse-sensor-proxy startup (#628)
- Add encryption status to notification health endpoint
- Implement queue cancellation and atomic DB operations
Improvements
- Enforce Docker agent API token uniqueness (#658)
- Enhance systemd hardening directives for security
- Change socket mount to read-only for improved security
- Improve Docker temperature monitoring documentation (#600)
- Add troubleshooting entries for Docker agent token issues (#648)
- Add notification system documentation
- Document layered retry semantics
- Add comprehensive security audit documentation
Breaking Changes
None
Installation
Docker
docker pull rcourtman/pulse:v4.26.5Manual Install
Download the universal package that auto-detects your architecture:
pulse-v4.26.5.tar.gz
Or choose architecture-specific:
pulse-v4.26.5-linux-amd64.tar.gz- Intel/AMD 64-bitpulse-v4.26.5-linux-arm64.tar.gz- ARM 64-bitpulse-v4.26.5-linux-armv7.tar.gz- ARM 32-bit
Notes
- This release includes significant security enhancements and bug fixes
- All release artifacts include SHA256 checksums for verification
- Full Changelog: v4.26.4...v4.26.5
Pulse v4.26.4
Patch release with bug fixes, UI improvements, and enhanced agent installation reliability.
What's Fixed
- Webhook alerts persisting when disabled: Fixed alerts continuing to fire after
DisableAllAlertsorDisableAllWebhooksflags were enabled. - Guest agent disk data on Proxmox 8.3+: Restored disk metrics that regressed with Proxmox VE 8.3 guest agent changes.
- Config backup/restore failures: Fixed backup restoration errors that prevented configuration recovery (#646).
- Docker host row dimming: Corrected status indicator display for degraded Docker hosts.
- Agent installation scripts: Fixed install.sh to properly deploy all agent installation scripts in Docker images (#644).
- Build script checksum duplicates: Eliminated duplicate checksums in release artifacts caused by glob pattern overlap.
- Dashboard table overflow: Fixed Proxmox dashboard table rendering on wide displays (#643).
Improvements
- Expanded layout to utilize wide displays for better dashboard visibility (#643).
- Enhanced bootstrap token UX with clearer discovery and display in install.sh completion messages.
- Improved alert reliability documentation including DLQ API reference.
Installation
New installations or upgrades:
curl -sL https://github.com/rcourtman/Pulse/releases/latest/download/install.sh | bashDocker:
docker pull rcourtman/pulse:v4.26.4 # Recreate your container with the new imageHelm:
helm upgrade --install pulse oci://ghcr.io/rcourtman/pulse-chart \ --version 4.26.4 \ --namespace pulse --create-namespaceDocker Tags
rcourtman/pulse:v4.26.4 rcourtman/pulse:4.26.4 rcourtman/pulse:4.26 rcourtman/pulse:4 rcourtman/pulse:latest Downloads
- Multi-arch Linux tarballs (amd64/arm64/armv7)
- Standalone host-agent binaries (Linux, macOS, Windows)
- Standalone sensor-proxy binaries (Linux amd64/arm64/armv7)
- Helm chart (pulse-4.26.4.tgz)
- SHA256 checksums (checksums.txt and individual .sha256 files)