Dev Engineering
In Progress

v2.0.3 Bug Fixes

Every bug fixed between v2.0.2 and v2.0.3, grouped by the part of PatchMon it affects. Features and internal changes are not listed here, only defects that were corrected.

Where a fix closes a reported GitHub issue, the issue is linked on that line.

Security and access

  1. Improved how the client IP address is determined behind a reverse proxy, so rate limiting, login lockouts and activity log entries are now accurate and consistent. A new trusted proxy setting controls which upstream addresses are believed.
  2. Strengthened validation of the server address and port settings used to generate the agent installer and auto-enrolment scripts.
  3. Strengthened validation of package names before they are passed to the system package manager during a patch run.
  4. Repository credentials are now redacted from agent logs, including when a package update check fails.
  5. Tightened the permission check on live host connection status, so it now covers only hosts within your own account.
  6. Tightened account isolation on PatchMon Cloud for settings changes and automation triggers, so they reach only the intended customer's hosts.

Sign-in and accounts

  1. Linking a Discord or single sign-on identity to an existing PatchMon account now requires a verified email address and explicit confirmation from the account owner, rather than happening automatically on an email match.
  2. Two-factor verification now requires the first sign-in step to be completed successfully before the code is accepted.
  3. Every issued token is now bound to a session, and refresh tokens are no longer accepted in place of a sign-in token. Signing out, revoking a session, changing a password and deactivating an account therefore take effect immediately.
  4. Fixed accounts created through the initial server setup or the sign-up page being impossible to sign out remotely, because their session had no way to be revoked.
  5. Fixed sign-out, session revocation, password changes and account deactivation not taking effect immediately when the idle session timeout setting was turned off.
  6. Fixed a fault condition where an error during single sign-on could assign the wrong role to a newly created account.
  7. Fixed some single sign-on logins being rejected when the identity provider reported email verification status in a different format than expected.
  8. Fixed saving single sign-on settings at the same moment a user was logging in applying the wrong auto-create or role assignment behaviour to that login.
  9. Sign-in messages are now uniform, and no longer vary depending on whether an account exists for the address entered.

Dashboard

  1. Fixed the Errored count on the update status chart not matching the number of hosts shown when that segment was opened.
  2. Fixed the Errored hosts card linking to a host list that did not actually contain those hosts.
  3. Fixed clicking the Errored segment of the update status chart doing nothing.
  4. Fixed the stale hosts card showing "NaN+ minutes" or a wildly inflated time instead of the actual configured update interval.
  5. Fixed clicking the offline and stale hosts summary card clearing the filter and showing every host instead of only the affected ones.
  6. Fixed the patching charts being clickable when empty, navigating to a filtered list as if there were data.
  7. Fixed the Hosts badge in the sidebar showing a static grey count instead of live connected and offline status.
  8. Fixed the dashboard becoming very slow, or timing out, on installations with large numbers of hosts.
  9. Fixed many actions across the app triggering an unnecessary reload of unrelated data, which could also silently wipe unsaved edits in a form while working elsewhere on the same page.

Hosts

  1. Fixed the Hosts page failing to load when sorting by name if a host had no friendly name set.
  2. Fixed clicking the Total Hosts or Needs Reboots stat cards leaving old filters, such as OS version, applied invisibly instead of clearing them.
  3. Fixed the Clear Filters button leaving the table filtered while the filter controls showed "All".
  4. Fixed the server returning a generic error instead of a clean "not found" response when updating the name, notes, connection details or auto-update setting of a host that no longer exists.
  5. Fixed bulk deleting hosts reporting success even for host IDs that did not exist.
  6. Fixed a host silently losing its group memberships, and any patch policies applied through those groups, if a group update only partially succeeded.
  7. Fixed a host's network gateway address being cleared whenever it sent a routine status update that did not include network details.
  8. Fixed the reboot-required indicator sometimes showing with no explanation, or losing its previously recorded explanation, after certain status updates.
  9. Fixed the Hosts, Packages and Repositories pages becoming very slow, or timing out, on installations with large numbers of hosts.

Patching

  1. Fixed the patch wizard sometimes taking you into a live run instead of simply closing when "Done" was clicked after a partially failed submission.
  2. Fixed the patch wizard only approving one of two pending runs on the same host, silently reporting the other as failed with no reason given.
  3. Fixed the "extra dependencies" badge not appearing when a run pulled in packages that were not explicitly requested.
  4. Fixed partially failed patch submissions hiding the runs that had already been created.
  5. Fixed retrying a partially failed patch batch either creating duplicate runs or being blocked entirely.
  6. Fixed a patch run being approved and executed twice when it was approved more than once at the same moment, for example by double-clicking approve or by two approvers acting together.
  7. Fixed the Type column on a host's patching history showing an active sort arrow and re-sorting by date when clicked, despite not controlling any sort.
  8. Fixed changing the rows-per-page setting showing a row count that did not match the footer total.
  9. Fixed patch runs getting stuck showing as "running" indefinitely, with no way to detect that they had actually stalled. The stuck-run cleanup automation also ran without ever clearing them. (#718)
  10. Fixed long-running patching jobs that were still actively working being incorrectly marked as timed out. (#718)
  11. Fixed cancelling a patching job ("Stop Run") discarding the record of which packages had actually been applied before the job was stopped.
  12. Fixed patch, scan and report commands being marked as completed even though they were never actually delivered to an unresponsive agent.

Compliance

  1. Fixed hosts with the Docker integration enabled, but not Docker Bench scanning, appearing in the Docker Bench filtered list.
  2. Fixed clicking OpenSCAP or Docker Bench on the compliance distribution chart showing the same unfiltered host list either way, with no indication a filter was applied.
  3. Fixed Docker Bench hosts being excluded from the compliance hosts list entirely.
  4. Fixed searching scan history only searching the results already loaded on screen, leaving matches on other pages unreachable.
  5. Fixed most columns on the compliance rules table not sorting when clicked, and rows reshuffling between page loads.
  6. Fixed clicking a severity slice on the "Failures by Severity" chart opening the results tab without applying that severity filter.
  7. Fixed scan results sometimes displaying a rule's internal reference code instead of its proper title.
  8. Fixed Docker Bench results silently disappearing because a scan could overwrite a profile's stored type with the wrong value.
  9. Fixed scan submissions occasionally failing when multiple hosts scanned the same profile at the same time.
  10. Fixed the server becoming slow or unresponsive under heavy compliance scanning load, because scan submissions could exhaust available database connections.
  11. Fixed compliance configuration changes reporting success even when made against a host that did not exist.
  12. Fixed installing the compliance scanner unexpectedly upgrading all packages on the host instead of just installing the scanner.

Docker

  1. Fixed container images not showing in the Docker Stacks view.
  2. Fixed the search box on the Docker Stacks tab not filtering anything when typed into.
  3. Fixed searching Docker containers, volumes and networks by hostname not working for hosts with no friendly name set.
  4. Fixed switching from the Containers tab to the Stacks tab keeping a status filter applied with no way to see or clear it, showing wrong running counts and missing services.
  5. Fixed a Docker Ports sub-tab that could never be reached.

Packages and repositories

  1. Fixed the Installations count only counting the current page instead of every matching package.
  2. Fixed the Source Repos column showing a sort arrow and appearing sortable, when clicking it actually sorted by name instead.
  3. Fixed the package host search flickering with every keystroke, by adding a short delay before searching.
  4. Fixed the summary cards on the Repositories page looking clickable but not filtering the list when clicked.
  5. Fixed the Actions column on the Repositories page showing a sort control that silently did nothing.
  6. Fixed a repository priority of zero being cleared when editing a repository, and hidden when viewing its details.
  7. Fixed package search returning a server error in Docker deployments once the package list grew large enough to hit a database memory limit.
  8. Fixed the total package count being capped at 10,000, so installations with more packages than that saw a figure that did not match their database. (#916)
  9. Fixed the UI Cards when the package list is filtered by host - now shows the Host more prominantly

Alerts and automations

  1. Fixed the Agent Reports Cleanup button on the Automations page spinning permanently and staying disabled without ever being clicked.
  2. Fixed clicking a responder on the alert workload chart showing every alert instead of just that responder's.
  3. Fixed navigating between two single-filter links on the alerts page combining their filters instead of replacing them.
  4. Fixed the Individual Hosts option never appearing when scoping an alert channel's rules to specific hosts.
  5. Fixed the host-down alert not firing, and disconnected agents appearing to stay online indefinitely, when an agent stopped responding without properly closing its connection.
  6. Implemented Alerts page pagination server and frontend side.

Notifications and email

  1. Fixed the "Use TLS" tickbox on an SMTP destination defaulting to ticked but never being saved, so STARTTLS was silently skipped. Transport security is now chosen from a dropdown (STARTTLS, implicit TLS, automatic or none) and is saved with the destination. (#870)
  2. Fixed email failing to send against SMTP servers on port 465 that require implicit TLS, which previously failed with an end-of-line or unexpected end-of-file error. (#714)

Users and settings

  1. Fixed editing a user showing a success message and closing the dialog even when the update failed, leaving the table showing the old value.
  2. Fixed resetting a user's password reporting success even when the reset had failed, giving false confidence that the password had changed.
  3. Fixed the metrics settings page reporting success even when saving failed or the session had expired.
  4. Fixed the colour field in the Create and Edit Host Group dialogs not accepting typed input, so only the colour picker swatch worked.
  5. Fixed the agent update interval field snapping to the wrong value while typing, making several valid values impossible to enter.

Agent

  1. Fixed hosts with 32-bit compatibility packages (used by software such as Steam, Wine, and some Oracle or SAP tools) failing to report their patch status at all.
  2. Fixed upgradable packages on Red Hat family systems being counted and reported twice, inflating package and update counts.
  3. Fixed package names containing a version number being incorrectly shortened and confused with a different package, for example python3.11 being reported as python3.
  4. Fixed hosts being shown as fully patched with no pending updates when the agent had actually failed to check for updates, for example due to a broken package manager state or an expired subscription.
  5. Fixed the agent becoming unresponsive, and appearing offline in the dashboard, when an underlying package manager command (including PowerShell on Windows) hung or waited indefinitely for a lock.
  6. Fixed the agent randomly crashing and restarting while sending a report, caused by unsafe simultaneous access to its configuration.

Server and infrastructure

  1. Fixed the server occasionally freezing and losing track of connected agents across the whole fleet on deployments running multiple server instances.
  2. Fixed agents that had already reconnected after a brief network interruption (for example a reverse proxy restart) still being shown as disconnected, which blocked commands such as stopping a patching run from reaching them.
  3. Fixed SSH terminal sessions in the browser occasionally disconnecting with a corrupted connection during normal use.
  4. Fixed background job processing, such as scheduled reports and patch runs, failing silently when Redis TLS was enabled even though the rest of the server connected fine.
  5. Fixed Redis TLS connections failing to start when the CA certificate setting had surrounding whitespace.
  6. Fixed the Docker image failing to build for ARM64 (multi-architecture) systems.
  7. Fixed the application Docker build becoming unreliable due to an unpinned dependency, which could break image builds without warning.

0 Comments

Sign in to comment

No comments yet. Be the first to share your thoughts!