Update docker.io/rcourtman/pulse Docker tag to v5.1.17
No problems upgrading the Docker container with a Docker compose yaml file by means of Watchtower DevOps resp. GitOps with dependency update facilitated by Mend's Renovate Bot.
Including updating all docker and host agents manually.
This MR contains the following updates:
| Package | Update | Change |
|---|---|---|
| docker.io/rcourtman/pulse | patch | 5.1.14 β 5.1.17 |
Release Notes
rcourtman/Pulse (docker.io/rcourtman/pulse)
v5.1.17: Pulse v5.1.17
β Release Asset Validation (Post-Publish): PASSED
Assets were revalidated after publication due to a release edit.
Status: Live release assets re-validated β
Validated: 2026-03-02 20:18:19 UTC
Workflow: Pulse Release Pipeline #β169
Validation Summary
- All required assets present β
- Checksums verified β
- Version strings correct β
- Binary architectures validated β
Bug Fixes
-
fix(api): store TLS fingerprint during auto-registration (#β1303) β The auto-register endpoint captured TLS fingerprints but never persisted them to the node config. Nodes with self-signed or internal CA certificates registered via the agent would fail with
x509: certificate signed by unknown authorityorcannot validate certificate ... because it doesn't contain any IP SANson subsequent polls. Fingerprints are now stored in all add/update paths, with a guard to prevent erasing valid fingerprints when capture fails. -
fix(memory): skip meminfo-derived when balloon lacks cache metrics (#β1302) β Linux VMs showed wildly inflated RAM usage (e.g., 93% instead of 21%) when the balloon driver reported
Freememory but notBuffersorCached. Thememinfo-derivedfallback computedmemAvailable = Free + 0 + 0, counting all reclaimable page cache as used. Now requires at least one cache metric before using that path, falling through to more accurate RRD or guest-agent sources. -
fix(api): return 404 from undismiss endpoint for invalid finding IDs (#β1300) β The undismiss handler always returned success even when the finding ID didn't exist. Now returns HTTP 404 when the finding is not found in either the patrol or unified store.
Improvements
-
feat(ui): add host removal action to hosts table β Hosts can now be removed directly from the hosts table UI.
-
fix(installer): remove config backup that filled disk on upgrades β The installer's config backup step could fill disk space on repeated upgrades.
Installation
Docker (recommended):
docker pull rcourtman/pulse:5.1.17
Docker Compose:
Update your docker-compose.yml to use rcourtman/pulse:5.1.17
See the Installation Guide for complete setup instructions.
v5.1.16: Pulse v5.1.16
β Release Asset Validation (Post-Publish): PASSED
Assets were revalidated after publication due to a release edit.
Status: Live release assets re-validated β
Validated: 2026-03-01 23:15:41 UTC
Workflow: Pulse Release Pipeline #β168
Validation Summary
- All required assets present β
- Checksums verified β
- Version strings correct β
- Binary architectures validated β
Bug Fixes
-
fix(ai): record patrol token usage in cost store for budget enforcement β Patrol runs, evaluation passes, and QuickAnalysis calls were consuming tokens without recording them in the cost store, making the
cost_budget_usd_30dbudget setting ineffective. Token usage is now tracked on all code paths including partial runs that error out. -
fix(proxmox): make monitor reload synchronous after auto-registration (#β1303) β Auto-registered Proxmox nodes appeared in Settings but not on the main Proxmox tab because the monitor reload ran asynchronously and could fail silently. Now matches the manual add path.
-
fix(ai): route OpenRouter slash-delimited models to OpenAI provider (#β1296) β Models like
google/gemini-2.5-flashorgoogle/gemini-2.0-flash:freefailed because the provider routing only handledprovider:modelcolon format. Slash-delimited OpenRouter model IDs are now correctly routed to the OpenAI-compatible provider. -
fix(ui): show PULSE_PUBLIC_URL value in settings and expand node tables to full width (#β1305, #β1304) β The settings API wasn't exposing the public URL from runtime config, and PVE/PBS/PMG node tables were missing the
w-fullCSS class. -
fix(patrol): clarify wearout semantics so AI knows 100% = healthy (#β1300) β Renamed the wearout JSON field to
ssd_life_remaining_pctand updated patrol context so 100% is correctly interpreted as fully healthy. -
fix(installer): avoid "No space left on device" on QNAP β Write agent binary to persistent storage instead of tmpfs on QNAP QTS/QuTS hero systems.
-
fix(docs): audit and fix agent docs vs install script discrepancies (#β1299) β Corrected
--enable-*=falseflags to--disable-*and other doc/script mismatches.
New Features
- feat(api): add POST /api/ai/patrol/undismiss endpoint (#β1300) β Users can now revert dismissed or suppressed findings. Previously the
Undismiss()method existed internally but was never exposed via the API.
Installation
Docker (recommended):
docker pull rcourtman/pulse:5.1.16
Docker Compose:
Update your docker-compose.yml to use rcourtman/pulse:5.1.16
See the Installation Guide for complete setup instructions.
v5.1.15: Pulse v5.1.15
β Release Asset Validation (Post-Publish): PASSED
Assets were revalidated after publication due to a release edit.
Status: Live release assets re-validated β
Validated: 2026-02-27 15:20:09 UTC
Workflow: Pulse Release Pipeline #β167
Validation Summary
- All required assets present β
- Checksums verified β
- Version strings correct β
- Binary architectures validated β
What's Changed
Bug Fixes
- Orphaned backup false positives β Backup alerts no longer fire for PVE instances that haven't been polled yet. Detection is now scoped per-instance rather than globally, preventing false positives during staggered polling. (#β1286)
- SSH authorized_keys symlink destroyed on Proxmox β The sensor setup script now resolves symlinks before editing
authorized_keys, preserving the Proxmox/etc/pve/priv/symlink. Also fixes broken quoting in the SSH key entry. (#β1297) - Orphaned backup alerts during startup β Backup alerts no longer race against initial inventory polling on service start. (#β1286)
- Escalation notifications sent to all channels β Escalation notifications are now routed only to the channels selected in the notification rule, not broadcast to all configured channels. (#β1259)
- OpenRouter model false warnings β Gemini and other models used via OpenRouter no longer trigger incorrect "unknown provider" warnings. (#β1296)
New Features
- QNAP QTS/QuTS hero agent support β The installer now detects QNAP systems and handles the ephemeral
/etc/init.dby storing the agent on a persistent data volume withautorun.shboot persistence. (#β1253)
UI
- Pro badge on Reporting tab β The Reporting nav item now shows a Pro badge for clarity. (#β1285)
- Reduced patrol trigger log noise β Patrol trigger logging is less verbose in normal operation. (#β1258)
Installation
Docker (recommended):
docker pull rcourtman/pulse:5.1.15
Docker Compose:
Update your docker-compose.yml to use rcourtman/pulse:5.1.15
See the Installation Guide for complete setup instructions.