Skip to main content

Version 1.2.1

Overview

Version 1.2.1 is a minor release that introduces significant enhancements to backup notification management, improves audit logging capabilities, fix next run/overdue detection on edge cases and adds database backup and restore functionality. This release focuses on improving user experience with notification settings.

New Features

Enhanced Backup Notifications Management

  • Server-level defaults and inheritance system: Configure default additional destinations (notification events, emails, and NTFY topics) at the server level that all backups inherit automatically. Backups can override these defaults when needed, with clear visual indicators showing inheritance status.
  • Improved visual hierarchy: Backups are now grouped by server with distinct server header rows. Inherited values are clearly marked with link icons, and overridden values can be easily reverted to inheritance.
  • Bulk operations: "Sync to All" button clears all backup overrides to make all backups inherit from server defaults. "Clear All" button clears all additional destinations while maintaining inheritance structure.
  • Test functionality: Added test email and test notification buttons directly in the Backup Notifications settings page. Test buttons are available for both individual backup settings and bulk edit operations, allowing you to verify notification delivery before applying changes.
  • QR code support: Added QR code button for NTFY topics to easily share notification topics with mobile devices.

Notification Template Enhancements

  • New {log_text} variable: Added {log_text} variable to notification templates, providing access to log text messages for use in notification messages. The variable contains the full text of warnings and errors combined, formatted as plain text with one item per line.
  • Automatic template migration: The system includes a lazy upgrade mechanism that automatically detects and updates old default templates when they are first read after an upgrade. Custom templates are preserved unchanged.

Database Management

  • Database backup functionality: Administrators can now create backups of the entire database from the Database Maintenance settings page. Supports both binary (.db) and SQL text (.sql) formats for flexibility.
  • Database restore functionality: Restore the database from previously created backup files with automatic safety backup creation, integrity validation, and rollback on failure. All sessions are cleared after restore for security.

Master Key Detection

  • Automatic master key change detection: After login, the system automatically checks if the .duplistatus.key file has changed. If detected, all encrypted passwords are cleared and a modal popup informs users that passwords need to be reconfigured. This prevents errors when restoring from backups or migrating to a new system.

Overdue Monitoring Improvements

  • Enhanced CSV export: Added "Last Backup Timestamp (DB)" column to the CSV file generated by the "Download CSV" button in overdue monitoring settings. This allows users to compare the actual last backup timestamp from the database with the configured "Last Backup" timestamp.
  • Next Run tooltip: Hovering over the "Next Run" value in each row now displays a tooltip showing the last backup timestamp from the database, formatted the same way as the "Next Run" display.

Audit Logging Enhancements

  • Individual notification audit entries: Each notification and email sent now generates a separate audit log entry with details about the channel, configuration, and outcome (success or failure). This includes test notifications, providing better traceability for notification delivery.
  • Robust failure logging: All audit logging operations for notification failures are now wrapped in try-catch blocks to prevent audit logging errors from breaking notification flows. The system attempts to retrieve SMTP configuration if it's not immediately available when logging email failures.
  • Improved audit logging for configuration updates: Both email_config_updated and ntfy_config_updated audit log entries now only record when there are actual changes to the configuration. When changes are detected, the audit log includes old and new values for each modified field, making it easier to track what specifically changed.

Documentation improvements

  • The documentation style has been updated to align with the application's look and feel. The sidebar has also been revised to improve visibility and make navigation easier.

🐛 Bug Fixes

  • Fixed audit log timestamps: Timestamps in the audit log viewer now correctly display in the user's browser timezone instead of GMT. SQLite timestamps (stored in UTC) are now properly parsed as UTC and converted to the browser's local timezone for display.
  • Corrected "Next Run" calculation and overdue detection: The "Next Run" column in overdue monitoring settings now accurately calculates and displays the next expected backup date, taking into account both the backup schedule and the last backup timestamp. This applies to both scheduled and manually run backup jobs, resulting in more reliable overdue detection.

🚀 Migration Notes

From Version 1.1.x

When upgrading to version 1.2.1:

  1. Notification Templates: The system will automatically update the default notification templates to include the new {log_text} variable the first time they are accessed after upgrading. Custom templates will remain unchanged. If you would like to use the new {log_text} variable in your own templates, you will need to update them or restore the default templates manually.

  2. Master Key Changes: If you restore from a backup or migrate to a new system with a different .duplistatus.key file, the system will automatically detect this and prompt you to reconfigure encrypted passwords (SMTP passwords and Duplicati server passwords).

  3. Database Backup/Restore: New database backup and restore functionality is available in the Database Maintenance settings page. It's recommended to create a backup before upgrading, though no database schema changes are required for this release.

  4. No Database Migration Required: This release does not require any database schema changes.


API Endpoints

The following API endpoints have been introduced in this version.

Authentication & Security Endpoints

  • GET /api/auth/admin-must-change-password - Check if admin user must change password

Database Management Endpoints

  • GET /api/database/backup - Create database backup (binary or SQL format)
  • POST /api/database/restore - Restore database from backup file

Backup Management Endpoints

  • GET /api/backups/last-timestamps - Get last backup timestamps for all server-backup combinations

Support

Getting Help

Reporting Bugs

When reporting bugs, please include:

  • Version: 1.2.1
  • Operating system and version
  • Docker/podman version
  • Container type (Docker or podman/Pod)
  • Error messages and logs
  • Steps to reproduce

Changelog

Version 1.2.1 Changes

  • Added: Server-level defaults and inheritance system for backup notifications
  • Added: Test email and test notification functionality in Backup Notifications settings
  • Added: QR code button for NTFY topics
  • Added: "Last Backup Timestamp (DB)" column to overdue monitoring CSV export
  • Added: Tooltip to "Next Run" text in overdue monitoring settings
  • Added: Individual audit log entries for each notification and email sent
  • Added: Enhanced audit logging robustness for notification failures
  • Added: {log_text} variable to notification templates with automatic template migration
  • Added: Automatic detection of master key file changes
  • Added: Database backup functionality (binary and SQL formats)
  • Added: Database restore functionality with safety backups and integrity validation
  • Added: API endpoint GET /api/auth/admin-must-change-password for checking admin password change requirement
  • Added: API endpoint GET /api/database/backup for creating database backups
  • Added: API endpoint POST /api/database/restore for restoring database from backup
  • Added: API endpoint GET /api/backups/last-timestamps for retrieving last backup timestamps
  • Changed: Improved audit logging for email and NTFY configuration updates (only records actual changes)
  • Changed: Password change forms no longer require confirmation when showing unmasked passwords.
  • Changed: Passwords are securely cleared from memory when password change forms are closed.
  • Changed: Included a password view toggle in collect backups form.
  • Changed: {server_alias} variable now show the server name in brackets
  • Changed: Documentation updated, style aligned with the application and sidebar refactored.
  • Fixed: Audit log timestamps displaying in GMT instead of browser timezone
  • Fixed: Email and NTFY failure audit logging
  • Fixed: "Next Run" display in overdue monitoring settings showing incorrect dates

License

This project is licensed under the Apache License 2.0.

Copyright © 2025 Waldemar Scudeller Jr.