Update ghcr.io/patchmon/patchmon-server Docker tag to v2.1.6 #26
Loading…
Reference in a new issue
No description provided.
Delete branch "renovate/ghcr.io-patchmon-patchmon-server-2.x"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
2.1.3→2.1.6Release Notes
PatchMon/PatchMon (ghcr.io/patchmon/patchmon-server)
v2.1.6: Version 2.1.6Compare Source
A one-fix release: agents install and check in behind Traefik with the CrowdSec bouncer's AppSec enabled. This fix was listed in the 2.1.5 notes but missed that release.
Upgrading
No database or configuration changes. The fix is in the agent: existing hosts receive it through agent auto-update (on at Settings > Agent Updates) at their next restart or daily full report, and new installs get it from the upgraded server.
Fixes
Agent install failed with a 403 behind Traefik and CrowdSec. Behind Traefik with the CrowdSec bouncer's AppSec enabled, the installer's connectivity test failed with
ping request failed with status 403and the agent service was never created. The agent's check-in carried no body length over HTTP/2, which the bouncer blocks by default. The agent now always sends one. Until your agents are updated, settingcrowdsecAppsecUnreadableBodyBlock: falseon the bouncer middleware works around it.Every change in this release
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.
v2.1.5: Version 2.1.5Compare Source
A bug-fix release: patch validation works again when more than five packages are selected, validation on dnf and yum hosts lists the dependencies it would pull in, and the AI assistant's model lists are updated for providers retiring older models.
Upgrading
No database or configuration changes.
The Traefik and CrowdSec agent fix shown in the in-app notes for this release ships in 2.1.6.
Fixes
Run validation did nothing. In 2.1.4, choosing Run validation in the patch wizard did nothing when any host had more than five packages selected, with no error shown. Validation now runs for any selection, as it did in 2.1.3, and Skip validation is always available.
Validation on Fedora, RHEL and Rocky hosts showed no dependencies. On hosts that use dnf or yum, a validation always said "No additional packages", even when the update would install or upgrade other packages alongside the ones you picked. The validation result now lists every package dnf would change, and flags the extra dependencies for review. Validations run before upgrading are not updated; run them again to see the full list.
AI assistant could not connect with a new Google Gemini key. Google now limits Gemini 2.5 to accounts that already used it, so a new key failed Test Connection on every listed model. The Gemini list now offers 3.5 Flash-Lite (the default), 3.6 Flash and 3.8 Flash. OpenAI's
gpt-4-turboand OpenRouter'sgoogle/gemini-2.5-flashare also retired, as both providers are switching them off this month. If you had a retired model saved, the assistant moves to that provider's default; existing Gemini 2.5 users keep their selection.Every change in this release
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.
v2.1.4: Version 2.1.4Compare Source
Windows, Alpine Linux and openSUSE patching, Univention Corporate Server support, security fixes from an internal audit, working in-browser RDP, and many bug fixes.
Security
These issues were found in an internal security audit. Upgrading fixes them.
Behaviour changes
Upgrading
Database migrations run on start. Then update your agents to 2.1.4.
If you use in-browser RDP on Docker, update your
docker-compose.ymlbefore restarting.docker compose pulldoes not change your compose file, and the oldguacdservice cannot open RDP sessions. Theguacdservice now shares the server's network and listens on loopback only, and the server reaches it at127.0.0.1:4822. Either replace your compose file with the newdocker-compose.yml(keeping your own changes), or follow the step-by-step edit in Upgrading to 2.1.4. Then rundocker compose up -d. Installs that don't use RDP need no change.New
Patching on Windows, Alpine Linux and openSUSE, each with a dry run first. Alpine support builds on tekook's work in #863.
Univention Corporate Server (UCS), contributed by furch-services in #869. UCS hosts show their release and errata level, and Patch all installs every errata for the installed release without upgrading to a new UCS release.
Account recovery for admins. Reset a user's two-factor authentication, unlink their SSO identity, and allow superadmin password sign-in while the identity provider is down.
Worth knowing
secdb.alpinelinux.org. Both can be turned off inconfig.yml.Every change in this release
remember=. Scripts now carry the scanned profile's values, and an unresolved variable is marked visibly rather than left blankVERSION_ID, such as Zorin OS, were scanned against content that did not apply to them, with no warning. They now use their base release's contentaptoutput was read in the operator's locale. It is now queried in the C localessg-ubuntu2604-ds.xmlCOMPLIANCE_BODY_LIMITnow applies, defaulting to 20MBAGENT_UPDATE_BODY_LIMITabove 5MB silently did nothingInvalid JSON bodyorInvalid request body. Both endpoints now return 413 naming the limit and the setting that changes itAGENT_PING_BODY_LIMITcan now be changed from the database and the Settings page. It was previously env-onlyAGENT_UPDATE_BODY_LIMITdefault as2mbwhen it has been5mbsince 2.0.2client_max_body_sizeas 16m, 20m and 25m in three places, all below what a real compliance scan needs. It now says 40m throughoutInvalid request bodyon hosts with many disk mounts, such as Kubernetes nodes, and the host silently left inventory. TheAGENT_PING_BODY_LIMITdefault rises from 8KB to 64KBgbvalue set in the environment was ignored forAGENT_PING_BODY_LIMITand fell back to the default, while the same value set in Settings was reduced to the 32MB ceiling. Both now reduce to the ceiling, as the operator guide saysgolang.org/x/net,x/textandx/crypto, clearing 15 reachable advisories in the server and 11 in the agentInvalid request bodywith nothing identifying the cause, and the server logged nothing. It now returns 413 naming the limit and the setting that changes it, and all three agent endpoints log the rejectioncontext deadline exceededat exactly 30 seconds. The download is now bounded by progress, so a slow but healthy link finishesosVersion=Unknown. The agent now falls back toReleaseIdand then the build string/usr/local/bin. It now creates the directory firstdocker-compose.ymlpatchmon_agent_enableline and the pidfile in place. It now removes all of them, and it no longer kills unrelated processes such asjournalctl -u patchmon-agentwhose command line mentions the agentbashhosts.machine_idgains an index (migration 000049).envand regenerated every secret, so the server could no longer reach its own database. An existing.envis now kept and only missing keys are added. The installer's prompts now work when piped throughsudo bash,--updaterestarts only when the pulled image differs from the running one, and Fedora 41 and later (dnf5) can add Docker's repositorytools/diagnostics.sh. It only recognised the retired native Node install, so on every supported deployment it reported that no PatchMon installation was foundjava-17-openjdk, could mark an unrelated package as a security update. Names are now matched in full.envis created, and secrets are hidden in its output/.well-known/openid-configurationfailed discovery. It is now accepted, and the operator guide explains how to trust an internal certificate authority without replacing the public certificate bundlepreferred_usernameand took the part of the email before the@. They now usepreferred_username, falling back to the email when the provider does not send one.envcould be edited under Settings then Environment, appeared to save, and reverted. They now show "Set in .env", and saving tells you whether a restart is neededaptbinary installed (EPEL ships one) was treated as Debian-based and reported no packages, failing with "Packages array is required". The agent now chooses the package manager from the operating systemconfig.yml. The UI shows the config version beside the agent version, flags a mismatch, and warns when two machines appear to share one host's identity (for example a cloned VM or container)FORCE_NEW_HOSTnow splits a cloned host into its own entry even when its agent still works. On Proxmox it accepts container IDs/etc/apk/world, skip held packages, and list packages apk removes because nothing needs them. Builds on tekook's #863libcrypto3withlibssl3repositories.d, so Alpine repositories are listed correctlylua5.4-libs, are no longer cut shortX-Forwarded-Foris read only from a trusted proxy, and every header line is readOps%20Team%20(EU). New roles are stored correctly, existing ones are renamed on upgrade, and their users are signed out onceportfield. Check any log filters built on themWhat 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.
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate CLI.
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.