backupchecks/docs/changelog.md

53 KiB
Raw Blame History

v20260109-01-veeam-m365-overall-message

  • Fixed Veeam Backup for Microsoft 365 mail parsing where the overall summary message was not stored.
  • Improved extraction of the overall details message from the mail content, ensuring permission and role warnings are correctly captured.
  • Ensured the extracted overall message is consistently available in job details, run checks, and reporting views.

v20260109-02-object-list-sorting

  • Updated object list sorting logic to improve readability and prioritization.
  • Objects are now grouped by severity in the following order:
    1. Errors
    2. Warnings
    3. All other statuses
  • Within each severity group, objects are sorted alphabetically (AZ).
  • Applied consistent sorting across all relevant views, including Inbox, Job Details, Run Checks, Daily Jobs, and Admin All Mail.

v20260109-03-preserve-ampersand-errors

  • Decode HTML entities (e.g. &) in parsed object fields (name/type/status/error_message) before storing them.
  • Ensures ampersands and other entities are displayed correctly in the UI error messages.

v20260109-04-parsers-page-all-parsers

  • Updated the Parsers overview page to use the central parser registry instead of a static list.
  • All currently available parsers are now automatically displayed on the page.
  • Ensures the Parsers page stays in sync with newly added or removed parsers without manual template updates.
  • Improved maintainability by removing hardcoded parser definitions from the template.

v20260109-05-fix-parsers-route-import

  • Fixed parsers page route startup crash by replacing an invalid absolute import with a package-relative import for the parser registry.
  • Prevented Gunicorn worker boot failure (Bad Gateway) caused by "No module named 'app'" during application initialization.

v20260109-06-user-management-edit-roles

  • Added support to edit user roles directly in the User Management interface.
  • Implemented backend logic to update existing user role assignments without requiring user deletion.
  • Updated validation to ensure role changes are applied immediately and consistently.
  • Ensured role updates are reflected correctly in permissions and access control.

v20260109-07-feedback-open-default-resolved-sort

  • Updated feedback listing to show only Open items by default.
  • Adjusted sorting logic so Resolved items are always placed at the bottom when viewing all items.
  • Preserved existing filtering, searching, and user-controlled sorting behavior.

v20260109-08-ui-ellipsis-and-remove-objects-header

  • Added reusable ellipsis styling for detail fields to prevent long values (e.g., email addresses) from overlapping other UI elements.
  • Implemented click-to-expand for ellipsized fields so the full text becomes visible and selectable; double-click expands and selects all text.
  • Added automatic tooltip (title) showing the full value when the field is truncated.
  • Removed the redundant "Objects" heading above the objects table (table column header remains as the single label).
  • Applied the detail-field truncation behavior consistently across Inbox, Deleted Mail, Run Checks, Daily Jobs, Job Detail, and Admin All Mail popups/pages where long values can occur.

v20260109-09-ellipsis-reset-on-popup-close

  • Reset expanded ellipsis fields when a Bootstrap modal is shown or hidden, so expanded state does not persist between openings.
  • Added the same reset behavior for Bootstrap offcanvas components to keep behavior consistent across popups.

v20260109-10-veeam-cloud-connect-report-parser

  • Updated the Veeam Cloud Connect Report parser to correctly handle object naming by combining User and Repository Name with a "|" separator.
  • Excluded the row containing "TOTAL" from being processed as an object.
  • Adjusted status detection so red rows are interpreted as Errors and yellow/orange rows as Warnings.
  • Ensured the overall status is set to Error when one or more objects are detected as errors.
  • Improved parsing logic to correctly classify mixed-status reports within a single mail.

v20260109-11-ntfs-auditing-audit-parser

  • Added parser support for “NTFS Auditing” with type “Audit”.
  • Implemented job name extraction from the mail subject (e.g. “ file audits”).
  • Handled reports without an overall status by defaulting the result to Success.
  • Ensured existing missing-run logic is applied when no audit report mail is received.
  • Defined that these audit mails contain no objects; object list remains empty.

v20260109-12-ntfs-audit-fqdn-jobname

  • Updated NTFS Auditing (Audit) subject parsing to extract the hostname/FQDN directly from the start of the subject before "file audits".
  • Removed the dependency on a fixed "Bouter " subject prefix, so hosts like dc01.totall-it.local and fs01.totall-it.local are recognized.

v20260109-13-ntfs-audit-jobname-prefix-flex

  • Updated NTFS Auditing (Audit) subject parsing to support both formats:
    • Subjects starting with "Bouter file audits"
    • Subjects starting directly with " file audits"
  • Ensures both btr-dc001/btr-dc002 and dc01/fs01 style hostnames are recognized consistently.

v20260112-01-synology-abb-partial-warning

  • Updated the Synology Active Backup for Business parser to detect “partially completed” jobs as Warning instead of ignoring them.
  • Added support for localized variants of the completion message (including cases without an explicit host in the first line).
  • Improved host detection by extracting the system name from the “From” header when not present in the subject/body.
  • Extended object parsing to recognize per-device backup results and correctly classify them as Success or Error.
  • Fixed the ABB-specific regular expression to prevent parser failures on valid warning mails.

v20260112-02-synology-abb-subject-partial-warning

  • Updated the Synology Active Backup for Business subject matching to also recognize “Virtual machine backup task …” variants.
  • Added subject-based detection for “partially completed / gedeeltelijk voltooid” and map this to Overall status: Warning.
  • Fixed the ABB completion regex (it previously failed to match valid subjects).
  • Improved per-device object parsing by detecting “backup succeeded/failed” device-list variants and mapping them to Success/Error accordingly.

v20260112-03-ntfs-audit-recognize-bouter-hosts

  • Improved NTFS Auditing (Audit) subject parsing to extract the hostname reliably, including subjects with a leading company prefix (e.g. "Bouter ...") and underscores-as-spaces variants.
  • Set overall status to Warning when the subject indicates any detected changes (↑/↓ counts > 0); otherwise Success.
  • Ensured job name is consistently generated as " file audits" for all supported senders.

v20260112-04-remove-runchecks-success-override-button

  • Removed the “Mark success (override)” button from the Run Checks popup.
  • Prevented creation of actual overrides when marking individual runs as success.
  • Simplified override overview by ensuring Run Checks actions no longer affect override administration.

v20260112-05-qnap-firmware-update-info-parser

  • Added parser support for QNAP Firmware Update notifications.
  • Classified firmware update messages as informational warnings.
  • Excluded QNAP firmware update messages from missing-run detection logic.
  • Excluded QNAP firmware update messages from reports and scheduling.
  • Ensured affected NAS devices are only shown in Run Checks when the message occurs.

v20260112-06-veeam-spc-alarm-summary-parser

  • Added support for Veeam Service Provider Console (VSPC) summary daily alarm notification emails.
  • Implemented parsing that aggregates alarms per Company and stores one object per company, with the alarm details in the object error message.
  • Derived overall status from the worst status found across all companies (Failed > Warning > Success).
  • Registered "Service Provider Console" as a supported Veeam backup type for consistent reporting.

v20260112-07-veeam-vspc-active-alarms-parser

  • Improved detection for VSPC “Active Alarms” summary emails based on HTML content to prevent fallback to other Veeam parsers.
  • Implemented parsing of alarms per Company and per alarm row, creating objects named “ |