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