Download Latest Version patchmon-agent-windows-amd64.exe (13.2 MB)
Home / v2.1.7
Name Modified Size InfoDownloads / Week
Parent folder
patchmon-agent-freebsd-386 2026-11-03 11.7 MB
patchmon-agent-freebsd-amd64 2026-11-03 12.3 MB
patchmon-agent-freebsd-arm 2026-11-03 11.9 MB
patchmon-agent-freebsd-arm64 2026-11-03 11.4 MB
patchmon-agent-linux-386 2026-11-03 12.0 MB
patchmon-agent-linux-amd64 2026-11-03 12.5 MB
patchmon-agent-linux-arm 2026-11-03 11.9 MB
patchmon-agent-linux-arm64 2026-11-03 11.5 MB
patchmon-agent-windows-amd64.exe 2026-11-03 13.2 MB
patchmon-agent-windows-arm64.exe 2026-11-03 12.0 MB
patchmon-server-linux-386 2026-11-03 46.8 MB
patchmon-server-linux-amd64 2026-11-03 49.4 MB
patchmon-server-linux-arm 2026-11-03 46.8 MB
patchmon-server-linux-arm64 2026-11-03 46.6 MB
sbom-source.cdx.json 2026-11-03 498.5 kB
SHA256SUMS 2026-11-03 1.3 kB
README.md 2026-11-01 6.3 kB
Version 2.1.7 source code.tar.gz 2026-11-01 5.6 MB
Version 2.1.7 source code.zip 2026-11-01 6.3 MB
Totals: 19 Items   322.5 MB 0

A bug-fix and security release: RDP survives a host reboot, Patch selected works for packages with spaces in their names, enrolment reruns stop creating duplicate hosts, compliance scanner installs no longer stall or show as failed, and the server and agent are built with Go 1.26.10.

Upgrading

:::bash
docker compose pull
docker compose up -d

No compose changes. A migration adds two job history indexes at startup. Agents update through auto-update. If you set JWT_EXPIRES_IN, see Worth knowing.

Fixes

RDP stopped working after a host reboot, with guacd shown as Exited. The server now waits for the database and Redis at startup instead of exiting. On older versions, docker compose up -d brings guacd back.

Patch selected said "No hosts have a pending update for these packages". This happened for package names containing a space or +, such as Windows cumulative updates. The hosts that need the update are now listed.

Rerunning an enrolment script in a container created a second host. Hosts without /etc/machine-id now keep a stable ID, so reruns are recognised as the same host.

Security: Go 1.26.10. Fixes GO-2026-6809, where certificate verification trusted a set of compromised intermediate certificates. Upgrading is all that is needed.

Compliance scanner installs that never ran, or showed as failed while running. Pressing Apply on a host whose compliance flags were already on now installs the missing scanner. Hosts in Enabled mode that have no scanner get one automatic install when the agent starts. While an install runs, the host shows Installing rather than Installation Failed. Installs behind a reverse proxy that sets X-Forwarded-Host no longer time out after five minutes.

A compliance scan with no rules was recorded as a clean pass. A scan that evaluated no rules is now stored as failed with "No rules available for this OS", and the host's Compliance tab says so.

Worth knowing

  • Check JWT_EXPIRES_IN if you set it: only a number followed by m, h or d is accepted. Anything else now means 1 hour instead of 30 days.
  • Duplicate compliance profiles already stored stay listed: new scans no longer create them.
  • Ubuntu 26.04 cannot be compliance-scanned yet: the scanner installs, but the upstream ComplianceAsCode content for 26.04 publishes no CIS profile, so scans report "No rules available for this OS" until upstream ships one.
  • One alert per failed scan: when every scan in a submission fails, the "scan completed" notification is no longer sent alongside the failure.

Every change in this release

Issue PR Change
#1182 #1183 Server waits for the database and Redis at startup, so guacd is no longer left stopped after a reboot.
#1183 Enrolment scripts keep a stable machine ID on hosts without /etc/machine-id.
#1183 A finished recurring job no longer overwrites earlier runs in Agent Activity.
#1183 An invalid JWT_EXPIRES_IN falls back to 1 hour, not 30 days, and Settings rejects it.
#1183 Faster Agent Activity on large installs.
#1183 Built with Go 1.26.10 (GO-2026-6809).
#1183 Sidebar Links menu links to the Trust Centre.
#1194 #1197 A compliance benchmark is recorded under one profile, not two.
#1188 #1203 Patch selected finds hosts for packages with a space or + in their name.
#1196 New guide for deploying the Windows agent with Microsoft Intune.
#1209 Server image base moved to Alpine 3.24; Go modules, npm packages and build tooling updated.
#1213 Apply installs the compliance scanner when compliance was already on but the scanner was missing.
#1213 Compliance status reads Installing while a scanner install runs, instead of Installation Failed.
#1213 Hosts in Enabled compliance mode without a scanner get one automatic install when the agent starts.
#1213 Scanner installs behind a reverse proxy that sets X-Forwarded-Host no longer time out.
#1213 The agent refuses a scanner install when compliance is disabled in its config.yml, and reports why.
#1213 A compliance scan that evaluated no rules is stored as failed with "No rules available for this OS", shown on the host's Compliance tab.
#1213 A new scan replaces the host's previous completed or failed scan for that profile; no "scan completed" alert when every scan failed.
#1213 follow-redirects 1.16.2 (GHSA-mrwp-f3q8-3g9p).

What is coming next

Bug fixes are tracked in GitHub milestones. Feature requests live on feedback.patchmon.net, where you can propose an idea, vote on existing ones, and see what has been accepted onto the roadmap.

Questions about this release

This release has its own thread under New Release Discussions. Open a new issue for a reproducible bug not already covered.

Source: README.md, updated 2026-11-01