Add v0.1.23 to website changelog
Added v0.1.23 entry to changelog.py with structured Python format: - Documentation System (Core Infrastructure, 13 completed pages, accuracy improvements) - Audit Logging (Renaming to AuditLog, expanded event coverage) - Timezone-Aware Display (local_datetime filter, all pages updated) - Autotask Improvements (usability, settings organization, data portability) - Environment Identification (sandbox banner feature) - Job Visibility Filtering (archived/inactive customer filtering) - Repository Security (.gitignore for .claude directory) - Bug Fixes (imports, datetime handling, documentation corrections) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
cdbb45fcfb
commit
7a3c8c9c51
@ -3,6 +3,211 @@ Changelog data structure for Backupchecks
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
CHANGELOG = [
|
CHANGELOG = [
|
||||||
|
{
|
||||||
|
"version": "v0.1.23",
|
||||||
|
"date": "2026-02-09",
|
||||||
|
"summary": "This comprehensive release introduces a complete built-in documentation system with 33 pages covering all features, enhanced audit logging for compliance and troubleshooting, timezone-aware datetime display throughout the application, and numerous Autotask PSA integration improvements for better usability and workflow efficiency.",
|
||||||
|
"sections": [
|
||||||
|
{
|
||||||
|
"title": "Documentation System – Complete Built-in Wiki",
|
||||||
|
"type": "feature",
|
||||||
|
"subsections": [
|
||||||
|
{
|
||||||
|
"subtitle": "Core Infrastructure",
|
||||||
|
"changes": [
|
||||||
|
"New /documentation route with dedicated blueprint (doc_bp) accessible via 📖 icon in main navbar",
|
||||||
|
"Hierarchical structure with 9 sections and 33 pages covering all application features",
|
||||||
|
"Sidebar navigation with collapsible sections, active page highlighting, and sticky positioning during scrolling",
|
||||||
|
"Breadcrumb navigation for current location context",
|
||||||
|
"Previous/Next pagination buttons for sequential reading",
|
||||||
|
"Custom CSS (documentation.css) with dark mode support via CSS variables",
|
||||||
|
"Callout boxes (info, warning, tip, danger) for highlighting important content",
|
||||||
|
"Support for code blocks, tables, images (centered horizontally), and responsive design",
|
||||||
|
"Login required but accessible to all user roles",
|
||||||
|
"Full content includes comprehensive screenshots, workflow examples, troubleshooting guides, and best practices"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"subtitle": "Completed Documentation Sections (13 pages)",
|
||||||
|
"changes": [
|
||||||
|
"Getting Started (3 pages): What is BackupChecks, First Login, Quick Start Guide",
|
||||||
|
"User Management (3 pages): Users & Roles, Login & Authentication, Profile Settings",
|
||||||
|
"Customers & Jobs (4 pages): Managing Customers, Configuring Jobs, Approved Jobs, Job Schedules",
|
||||||
|
"Mail & Import (4 pages): Setup with Graph API and security best practices, Inbox Management with approval workflow, Mail Parsing with supported software list, Auto-Import Configuration with timer settings",
|
||||||
|
"Backup Review (5 pages): Complete 7-stage lifecycle workflow, Daily Jobs with schedule inference, Run Checks Modal as primary operational tool, Overrides & Exceptions with global and object-level rules, Remarks & Tickets with scoping and Autotask integration",
|
||||||
|
"Remaining 20 pages created with placeholders for future content (Reports, Autotask Integration, Settings, Troubleshooting)"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"subtitle": "Documentation Accuracy Improvements",
|
||||||
|
"changes": [
|
||||||
|
"Corrected critical inaccuracies in Backup Review workflow based on user feedback",
|
||||||
|
"Clarified Run Checks is the primary daily operational tool (not Daily Jobs)",
|
||||||
|
"Emphasized all runs must be reviewed regardless of status (including successful runs)",
|
||||||
|
"Corrected review mechanism from per-run to per-job (marking one job reviews all its runs)",
|
||||||
|
"Updated override status indicators to show blue badges (not green) for differentiation",
|
||||||
|
"Fixed various feature descriptions to match actual UI behavior (EML links, customer selection workflow, parser management restrictions)",
|
||||||
|
"Removed non-existent features: individual email re-parse in modal, parser enable/disable UI, AI-powered parsing, Inbox filters section",
|
||||||
|
"Enhanced Mail Import Setup with comprehensive security best practices including Application Access Policy to restrict to one mailbox"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Audit Logging Enhancements",
|
||||||
|
"type": "improvement",
|
||||||
|
"subsections": [
|
||||||
|
{
|
||||||
|
"subtitle": "System Renaming and Semantic Clarity",
|
||||||
|
"changes": [
|
||||||
|
"Renamed AdminLog to AuditLog for better semantic clarity across codebase",
|
||||||
|
"Updated model name: AdminLog → AuditLog (backwards compatible alias maintained)",
|
||||||
|
"Updated table name: admin_logs → audit_logs (automatic migration)",
|
||||||
|
"Updated function: log_admin_event() → log_audit_event() (alias provided for compatibility)",
|
||||||
|
"Updated UI labels: \"Admin activity\" → \"System Audit Log\" in logging page header",
|
||||||
|
"Better reflects purpose as comprehensive audit trail for both user and system events"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"subtitle": "Expanded Event Coverage for Compliance",
|
||||||
|
"changes": [
|
||||||
|
"Settings Changes: Now logs all changes to General, Mail, and Autotask settings with old → new value comparison",
|
||||||
|
"Event types: settings_general, settings_mail, settings_autotask",
|
||||||
|
"Excludes sensitive data (passwords are never logged)",
|
||||||
|
"Example logged fields: ui_timezone, require_daily_dashboard_visit, is_sandbox_environment, graph_mailbox, autotask_enabled",
|
||||||
|
"Export Operations: Logs Customers export (CSV format, record count) and Jobs export (JSON schema version, customer/job counts)",
|
||||||
|
"Import Operations: Logs Customers import (created/updated/skipped counts) and Jobs import (customer and job operation counts)",
|
||||||
|
"All logging uses structured event_type for filtering and analysis",
|
||||||
|
"Detailed JSON in details field for complete audit trail",
|
||||||
|
"Maintains 7-day retention policy for performance",
|
||||||
|
"No performance impact (async logging)",
|
||||||
|
"Helps with compliance audits, security monitoring, and troubleshooting configuration issues"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Timezone-Aware Datetime Display",
|
||||||
|
"type": "improvement",
|
||||||
|
"changes": [
|
||||||
|
"Added local_datetime Jinja2 template filter to convert UTC datetimes to configured UI timezone",
|
||||||
|
"All datetime fields now automatically display in configured timezone (Settings > General > UI Timezone)",
|
||||||
|
"Database values remain stored in UTC for consistency and reliability",
|
||||||
|
"Affected Pages: Customers (Autotask last sync), Settings (reference data sync), Feedback, Logging, Overrides, Archived Jobs, Tickets, Remarks, Inbox, Job Detail, Admin Mail",
|
||||||
|
"Custom format support via strftime parameter (e.g., |local_datetime('%d-%m-%Y %H:%M'))",
|
||||||
|
"Enhanced filter to handle both datetime objects and string datetime values for flexibility",
|
||||||
|
"Graceful fallback to UTC display if timezone conversion fails",
|
||||||
|
"Default timezone: Europe/Amsterdam (configurable via SystemSettings.ui_timezone)",
|
||||||
|
"Improves operator experience by showing times in local context"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Autotask PSA Integration Improvements",
|
||||||
|
"type": "improvement",
|
||||||
|
"subsections": [
|
||||||
|
{
|
||||||
|
"subtitle": "Usability Enhancements",
|
||||||
|
"changes": [
|
||||||
|
"Added \"Open in Autotask\" button in Run Checks modal for direct navigation to tickets in Autotask PSA (opens in new tab with proper URL)",
|
||||||
|
"Button only appears when ticket is linked and Autotask integration is enabled",
|
||||||
|
"Added collapsible text functionality (ellipsis-field) to \"Overall remark\" and \"Remark\" fields to prevent long text from hiding action buttons",
|
||||||
|
"Auto-load Autotask reference data when opening Settings page (queues, sources, statuses, priorities)",
|
||||||
|
"Only triggers when Autotask is enabled, credentials configured, and cache is empty",
|
||||||
|
"Eliminates need to manually click \"Refresh reference data\" before selecting defaults",
|
||||||
|
"Displays info message with loaded data counts",
|
||||||
|
"Renamed \"Refresh\" button to \"Search\" in Link existing ticket modal for better clarity"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"subtitle": "Settings Organization and Validation",
|
||||||
|
"changes": [
|
||||||
|
"Reorganized Autotask settings into two separate forms with dedicated save buttons",
|
||||||
|
"Autotask Settings form (connection, environment, credentials) with \"Save Autotask Settings\" button",
|
||||||
|
"Ticket Defaults form (queue, source, status, priority) with \"Save Ticket Defaults\" button",
|
||||||
|
"Clear visual separation improves UX and prevents accidental incomplete saves",
|
||||||
|
"All fields marked as required with red asterisks (*)",
|
||||||
|
"HTML5 validation prevents saving incomplete configurations",
|
||||||
|
"Protected default Ticket Status value against accidental clearing",
|
||||||
|
"Only updates when valid status selected, preserves existing value if dropdown empty",
|
||||||
|
"Fixes issue where \"Create Autotask ticket\" failed due to missing default status"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"subtitle": "Data Portability and Migration Support",
|
||||||
|
"changes": [
|
||||||
|
"Extended Customer CSV export/import to include autotask_company_id and autotask_company_name columns",
|
||||||
|
"Import reads Autotask mapping fields and applies them to existing or new customers",
|
||||||
|
"Backwards compatible - old CSV files without Autotask columns still work",
|
||||||
|
"Import resets autotask_mapping_status and autotask_last_sync_at for resynchronization",
|
||||||
|
"Extended Jobs JSON export/import to include Autotask fields in customers array",
|
||||||
|
"Schema remains approved_jobs_export_v1 for backwards compatibility",
|
||||||
|
"Import message shows both created and updated customer counts",
|
||||||
|
"Enables preservation of Autotask company mappings during system reset/migration workflows",
|
||||||
|
"Critical for disaster recovery and environment promotion (dev → test → production)"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Environment Identification and Safety",
|
||||||
|
"type": "feature",
|
||||||
|
"changes": [
|
||||||
|
"Added visual banner system to distinguish non-production environments and prevent accidental actions",
|
||||||
|
"New is_sandbox_environment boolean column in SystemSettings model (defaults to False for production safety)",
|
||||||
|
"Database migration migrate_system_settings_sandbox_environment() for automatic schema update (idempotent)",
|
||||||
|
"Settings UI with new \"Environment\" card in Settings > General with toggle switch",
|
||||||
|
"CSS styling via sandbox.css: diagonal red banner in top-left corner displaying \"SANDBOX\"",
|
||||||
|
"Position: top-left corner, rotated 45 degrees with letter-spacing for visibility",
|
||||||
|
"Color: Bootstrap danger red (#dc3545) with white text and box-shadow for depth",
|
||||||
|
"Z-index: 9999 (always on top, visible across all pages)",
|
||||||
|
"pointer-events: none - banner non-interactive, elements behind remain clickable",
|
||||||
|
"Banner conditionally displayed only when setting is enabled",
|
||||||
|
"Banner placed in base template directly after <body> tag, before navbar",
|
||||||
|
"Helps prevent accidental production-like actions in test/development systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Job Visibility and Filtering Improvements",
|
||||||
|
"type": "improvement",
|
||||||
|
"changes": [
|
||||||
|
"Jobs from archived jobs and inactive customers no longer appear in Daily Jobs, Run Checks, and Jobs list pages",
|
||||||
|
"Added customer active status filtering to all job list queries in backend",
|
||||||
|
"Jobs now filtered where customer is NULL or active=True alongside existing archived=False filter",
|
||||||
|
"Prevents showing jobs with \"-\" status from deleted customers or archived jobs",
|
||||||
|
"Reduces clutter in operational views and improves focus on active jobs",
|
||||||
|
"Improves query performance by reducing result set size"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Repository Management and Security",
|
||||||
|
"type": "improvement",
|
||||||
|
"changes": [
|
||||||
|
"Added .gitignore file to protect confidential .claude directory",
|
||||||
|
"Directory contains AI assistant context, memory files, and user-specific configuration",
|
||||||
|
"Prevents accidental commits of sensitive information to version control",
|
||||||
|
"Protects user privacy and prevents repository pollution with local-only data"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Bug Fixes and Stability Improvements",
|
||||||
|
"type": "fixed",
|
||||||
|
"changes": [
|
||||||
|
"Fixed missing import for _log_audit_event in routes_customers (resolved crash during customer operations)",
|
||||||
|
"Enhanced local_datetime filter to handle string datetime values in addition to datetime objects",
|
||||||
|
"Prevents template rendering errors when datetime is stored as string",
|
||||||
|
"Fixed callout box formatting throughout documentation (corrected CSS specificity)",
|
||||||
|
"Centered all documentation images horizontally (display: block, margin: 20px auto)",
|
||||||
|
"Removed fabricated features from documentation (AI-powered parsing, Inbox filters, parser management UI)",
|
||||||
|
"Corrected workflow descriptions to match actual UI implementation",
|
||||||
|
"Fixed customer selection workflow (job name read-only during approval)",
|
||||||
|
"Fixed email detail modal layout documentation (two-column: left metadata/actions/objects, right email iframe)",
|
||||||
|
"Updated status badge colors to match actual behavior (blue for overrides, green for genuine successes)",
|
||||||
|
"Fixed per-job review mechanism documentation (marking one job reviews all its runs)",
|
||||||
|
"Corrected bulk review from \"select run checkboxes\" to \"select job checkboxes\""
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"version": "v0.1.22",
|
"version": "v0.1.22",
|
||||||
"date": "2026-02-05",
|
"date": "2026-02-05",
|
||||||
|
|||||||
@ -6,6 +6,7 @@ This file documents all changes made to this project via Claude Code.
|
|||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
- Updated `docs/changelog.md` with comprehensive v0.1.23 release notes consolidating all changes from 2026-02-06 through 2026-02-08 (Documentation System, Audit Logging, Timezone-Aware Display, Autotask Improvements, Environment Identification, Bug Fixes)
|
- Updated `docs/changelog.md` with comprehensive v0.1.23 release notes consolidating all changes from 2026-02-06 through 2026-02-08 (Documentation System, Audit Logging, Timezone-Aware Display, Autotask Improvements, Environment Identification, Bug Fixes)
|
||||||
|
- Updated `containers/backupchecks/src/backend/app/changelog.py` with v0.1.23 entry in Python structure for website display (8 sections with subsections matching changelog.md content)
|
||||||
|
|
||||||
## [2026-02-08]
|
## [2026-02-08]
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user