diff --git a/containers/backupchecks/src/backend/app/changelog.py b/containers/backupchecks/src/backend/app/changelog.py index dec1a1e..bdb7518 100644 --- a/containers/backupchecks/src/backend/app/changelog.py +++ b/containers/backupchecks/src/backend/app/changelog.py @@ -339,5 +339,532 @@ CHANGELOG = [ ] } ] + }, + { + "version": "v0.1.19", + "date": "2026-01-10", + "summary": "This release delivers a broad set of improvements focused on reliability, transparency, and operational control across mail processing, administrative auditing, and Run Checks workflows.", + "sections": [ + { + "title": "Mail Import Reliability and Data Integrity", + "type": "improvement", + "changes": [ + "Updated the mail import flow so messages are only moved to the processed folder after a successful database store and commit", + "Prevented Graph emails from being moved when parsing, storing, or committing data fails", + "Added explicit commit and rollback handling to guarantee database consistency", + "Improved logging around import, commit, and rollback failures" + ] + }, + { + "title": "Administrative Mail Auditing and Visibility", + "type": "feature", + "changes": [ + "Introduced an admin-only \"All Mail\" audit page", + "Implemented pagination with a fixed page size of 50 items", + "Added always-visible search filters (From, Subject, Backup, Type, Job name, date range)", + "Added \"Only unlinked\" filter to identify messages not associated with any job" + ] + }, + { + "title": "Run Checks Usability and Control", + "type": "improvement", + "changes": [ + "Added copy-to-clipboard icon next to ticket numbers", + "Introduced manual \"Success (override)\" action for Operators and Admins", + "Updated UI indicators for overridden runs with blue success status", + "Improved mail rendering with fallback to text bodies and EML extraction" + ] + }, + { + "title": "Parser Enhancements", + "type": "improvement", + "changes": [ + "Added parser support for 3CX SSL Certificate notification emails", + "Added detection for Synology DSM automatic update cancellation messages" + ] + } + ] + }, + { + "version": "v0.1.18", + "date": "2026-01-05", + "summary": "This release focuses on improving ticket reuse, scoping, and visibility across jobs, runs, and history views.", + "sections": [ + { + "title": "Ticket Linking and Reuse", + "type": "improvement", + "changes": [ + "Updated ticket linking logic to allow the same ticket number across multiple jobs and runs", + "Prevented duplicate ticket creation errors when reusing existing ticket codes", + "Ensured existing tickets are consistently reused and linked" + ] + }, + { + "title": "Job History Enhancements", + "type": "feature", + "changes": [ + "Added Tickets and Remarks section to Job History mail popup", + "Enabled viewing and managing tickets/remarks directly from Job History", + "Aligned ticket handling with Run Checks popup behavior" + ] + } + ] + }, + { + "version": "v0.1.17", + "date": "2025-12-30", + "summary": "This release focuses on improving job normalization, ticket and remark handling, UI usability, and the robustness of run and object detection.", + "sections": [ + { + "title": "Job Normalization and Aggregation", + "type": "improvement", + "changes": [ + "Veeam job names now normalized to prevent duplicates (Combined/Full suffixes merged)", + "Added support for archiving inactive jobs" + ] + }, + { + "title": "Inbox and Bulk Operations", + "type": "feature", + "changes": [ + "Introduced multi-select inbox functionality for Operator and Admin roles", + "Added bulk \"Delete selected\" action with validation and audit logging" + ] + }, + { + "title": "Tickets and Remarks", + "type": "improvement", + "changes": [ + "Ticket creation now uses user-provided codes with strict validation", + "Editing of tickets/remarks disabled; must be resolved and recreated", + "Removed ticket description fields to prevent inconsistent data" + ] + } + ] + }, + { + "version": "v0.1.16", + "date": "2025-12-25", + "summary": "This release significantly expands and stabilizes the reporting functionality, focusing on configurability, correctness, and richer output formats.", + "sections": [ + { + "title": "Reporting Enhancements", + "type": "feature", + "changes": [ + "Reports now job-aggregated instead of object-level", + "Full report lifecycle management added", + "Advanced reporting foundations with configurable definitions", + "Multiple export formats: CSV, HTML, and PDF", + "Extensive column selection with drag-and-drop ordering", + "Job-level aggregated metrics and success rate charts" + ] + } + ] + }, + { + "version": "v0.1.15", + "date": "2025-12-20", + "summary": "This release focused on improving operational clarity and usability by strengthening dashboard guidance and introducing reporting foundation.", + "sections": [ + { + "title": "Dashboard and User Guidance", + "type": "improvement", + "changes": [ + "Added comprehensive explanatory section to Dashboard", + "Implemented automatic redirection to Dashboard on first daily visit", + "Refactored Settings area into clearly separated sections" + ] + }, + { + "title": "Dashboard News", + "type": "feature", + "changes": [ + "Added per-user Dashboard News section with read/unread tracking", + "Full admin management of news items" + ] + }, + { + "title": "Run Checks Multi-Select", + "type": "improvement", + "changes": [ + "Added Shift-click multi-selection for efficient bulk review", + "Fixed edge cases with selection and checkbox synchronization" + ] + } + ] + }, + { + "version": "v0.1.14", + "date": "2025-12-15", + "summary": "Focused on improving sorting, parsing, and override functionality.", + "sections": [ + { + "title": "Daily Jobs Sorting", + "type": "improvement", + "changes": [ + "Consistent multi-level sort: Customer → Backup Software → Type → Job Name", + "Fixed backend ordering to ensure server-side consistency" + ] + }, + { + "title": "Overrides Configuration", + "type": "improvement", + "changes": [ + "Replaced free-text inputs with dropdowns for Backup Software and Type", + "Made newly created overrides apply immediately and retroactively", + "Added full support for editing existing overrides" + ] + }, + { + "title": "Overrides UI Indicators", + "type": "feature", + "changes": [ + "Introduced blue status indicator for runs with overrides applied", + "Added persistent override reporting metadata to job runs" + ] + } + ] + }, + { + "version": "v0.1.13", + "date": "2025-12-10", + "summary": "Focused on improving visibility and consistency of Tickets and Remarks.", + "sections": [ + { + "title": "Tickets and Remarks Visibility", + "type": "improvement", + "changes": [ + "Added clear visual indicators for active Tickets and Remarks in Run Checks", + "Enhanced Job Details to display actual ticket numbers and remark messages", + "Improved navigation with direct \"Job page\" links" + ] + }, + { + "title": "Missed Run Detection", + "type": "improvement", + "changes": [ + "Now includes ±1 hour tolerance window", + "Respects configured UI timezone" + ] + } + ] + }, + { + "version": "v0.1.12", + "date": "2025-12-05", + "summary": "Dashboard improvements, inbox soft-delete, and enhanced parser support.", + "sections": [ + { + "title": "Dashboard and UI", + "type": "improvement", + "changes": [ + "Corrected dashboard counters for Expected, Missed, and Success (override) statuses", + "Fixed layout issues and improved label wrapping", + "Extended Job History with weekday labels and review metadata" + ] + }, + { + "title": "Inbox Soft-Delete", + "type": "feature", + "changes": [ + "Introduced soft-delete for Inbox messages", + "Added Admin-only \"Deleted mails\" page with audit details", + "Added popup previews for deleted mails" + ] + }, + { + "title": "Parser Enhancements", + "type": "improvement", + "changes": [ + "Improved Veeam parsing (Health Check, License Key)", + "Added Synology support (Active Backup, R-Sync, Account Protection)", + "Added R-Drive Image and Syncovery parsers" + ] + } + ] + }, + { + "version": "v0.1.11", + "date": "2025-11-30", + "summary": "Major stability fixes and introduction of Run Checks page.", + "sections": [ + { + "title": "Stability and Bug Fixes", + "type": "fixed", + "changes": [ + "Fixed multiple page crashes caused by missing imports", + "Resolved Jinja2 template errors and SQL/runtime issues" + ] + }, + { + "title": "Run Checks Page", + "type": "feature", + "changes": [ + "Introduced new Run Checks page to review job runs independently", + "Displays all unreviewed runs with no time-based filtering", + "Supports bulk review actions and per-job review via popups", + "Added admin-only features for audit and review management" + ] + }, + { + "title": "Timezone Support", + "type": "feature", + "changes": [ + "Added configurable timezone setting in Settings", + "Updated all frontend date/time rendering to use configured timezone" + ] + } + ] + }, + { + "version": "v0.1.10", + "date": "2025-11-25", + "summary": "Performance improvements and batch processing for large datasets.", + "sections": [ + { + "title": "Performance and Stability", + "type": "improvement", + "changes": [ + "Reworked Re-parse all to process in controlled batches", + "Added execution time guards to prevent timeouts", + "Optimized job-matching queries and database operations" + ] + }, + { + "title": "Job Matching and Parsing", + "type": "improvement", + "changes": [ + "Fixed approved job imports to persist from_address", + "Improved Veeam Backup Job parsing with multi-line warnings/errors", + "Fixed regressions in backup object detection and storage" + ] + }, + { + "title": "Tickets and Overrides", + "type": "improvement", + "changes": [ + "Introduced run-date scoped ticket activity", + "Implemented scoping for remarks", + "Improved override handling with immediate application" + ] + } + ] + }, + { + "version": "v0.1.9", + "date": "2025-11-20", + "summary": "Changelog system improvements and code refactoring.", + "sections": [ + { + "title": "Changelog System", + "type": "improvement", + "changes": [ + "Migrated to structured, non-markdown format", + "Simplified rendering logic", + "Standardized formatting across all versions" + ] + }, + { + "title": "Code Refactoring", + "type": "improvement", + "changes": [ + "Refactored large routes.py into multiple smaller modules", + "Introduced shared routes module for common imports", + "Fixed NameError issues after refactoring" + ] + } + ] + }, + { + "version": "v0.1.8", + "date": "2025-11-15", + "summary": "Consistent job matching and auto-approval across all mail processing flows.", + "sections": [ + { + "title": "Job Matching Improvements", + "type": "improvement", + "changes": [ + "Introduced single shared job-matching helper based on full unique key", + "Updated manual inbox approval to reuse existing jobs", + "Aligned inbox Re-parse all auto-approve logic", + "Fixed automatic mail import auto-approve" + ] + } + ] + }, + { + "version": "v0.1.7", + "date": "2025-11-10", + "summary": "Export/import functionality and parser enhancements.", + "sections": [ + { + "title": "Job Export and Import", + "type": "feature", + "changes": [ + "Introduced export and import functionality for approved jobs", + "Import process automatically creates missing customers", + "Updates existing jobs based on unique identity" + ] + }, + { + "title": "Parser Enhancements", + "type": "improvement", + "changes": [ + "Improved Boxafe parsing (Shared Drives, Domain Accounts)", + "Added Synology Hyper Backup Dutch support", + "Added Veeam SOBR and Health Check support" + ] + } + ] + }, + { + "version": "v0.1.6", + "date": "2025-11-05", + "summary": "Auto-approve fixes and centralized changelog.", + "sections": [ + { + "title": "Bug Fixes", + "type": "fixed", + "changes": [ + "Corrected auto-approve logic for automatic mail imports", + "Fixed Re-parse all to respect approved status", + "Fixed multiple Jinja2 template syntax errors" + ] + }, + { + "title": "Changelog Page", + "type": "feature", + "changes": [ + "Introduced centralized Changelog page", + "Added to main navigation" + ] + } + ] + }, + { + "version": "v0.1.5", + "date": "2025-10-30", + "summary": "Microsoft Graph restoration and application reset functionality.", + "sections": [ + { + "title": "Microsoft Graph", + "type": "fixed", + "changes": [ + "Restored Graph folder retrieval (fixed import error)", + "Fixed automatic mail importer signal-based timeout issues", + "Implemented missing backend logic for automatic imports" + ] + }, + { + "title": "Application Reset", + "type": "feature", + "changes": [ + "Added Application Reset option in Settings", + "Full backend support for complete data wipe", + "Confirmation step to prevent accidental resets" + ] + } + ] + }, + { + "version": "v0.1.4", + "date": "2025-10-25", + "summary": "Database migration stability and object parsing improvements.", + "sections": [ + { + "title": "Database Stability", + "type": "fixed", + "changes": [ + "Stabilized migrations by running in separate transaction scopes", + "Resolved backend startup 502 errors", + "Eliminated ResourceClosedError exceptions" + ] + }, + { + "title": "Object Parsing", + "type": "improvement", + "changes": [ + "Aligned manual imports with Re-parse all behavior", + "Ensured consistent object detection across all import paths", + "Hardened against Microsoft Graph timeouts" + ] + } + ] + }, + { + "version": "v0.1.3", + "date": "2025-10-20", + "summary": "Logging persistence and UI improvements.", + "sections": [ + { + "title": "Logging", + "type": "fixed", + "changes": [ + "Fixed logging persistence to database", + "Added pagination (20 entries per page)", + "Extended view to show all available log fields" + ] + }, + { + "title": "Jobs and Daily Jobs", + "type": "improvement", + "changes": [ + "Standardized default sorting", + "Persisted Daily Jobs start date setting", + "Improved table readability and layout" + ] + }, + { + "title": "Tickets and Remarks", + "type": "feature", + "changes": [ + "Added database schema for persistent tickets", + "Implemented Tickets page with tabbed navigation", + "Added indicators in Daily Jobs for active tickets/remarks" + ] + } + ] + }, + { + "version": "v0.1.2", + "date": "2025-10-15", + "summary": "Parser support expansion and in-app logging system.", + "sections": [ + { + "title": "Parser Support", + "type": "improvement", + "changes": [ + "Extended Synology Hyper Backup parser (Strato HiDrive support)", + "Improved handling of successful runs without objects" + ] + }, + { + "title": "Administration", + "type": "feature", + "changes": [ + "Introduced admin-only \"Delete all jobs\" action", + "Ensured related mails moved back to Inbox on job deletion", + "Fixed foreign key constraint issues" + ] + }, + { + "title": "Logging System", + "type": "feature", + "changes": [ + "Moved to in-app AdminLog-based logging", + "Detailed logging per imported/auto-approved email", + "Summary logging at end of import runs" + ] + }, + { + "title": "Object Persistence", + "type": "improvement", + "changes": [ + "Restored persistence after manual approval", + "Added maintenance action to backfill missing object links", + "Centralized object persistence logic" + ] + } + ] } ]