Skip to main content

Version 1.3.1

Overview

Version 1.3.1 introduces full multi-language support for the application interface, strengthens API security with required authentication on additional endpoints, and fixes several bugs related to master key detection, locale formatting, and notification settings. This release focuses on internationalisation improvements and security hardening.

New Features

Multi-Language Interface Support

  • Language selector in app header: Choose your preferred interface language from a dropdown in the user menu. Supported languages: English, Deutsch, Français, Español, and Português (BR). Your selection is saved and persists across sessions.
  • Locale-aware navigation: All pages and links now support locale-prefixed URLs for consistent navigation in your selected language.

Notification Templates Internationalization

  • Template language selector: Notification templates now support multiple languages with a dedicated language selector. Pre-translated default templates are available for all 5 supported languages.
  • Reset options: "Reset this template to default" and "Reset all to default" buttons with confirmation dialogs for easy template management when changing languages.
  • Locale-aware notification content: Dates, times, numbers, and backup status values in notifications are now formatted according to the template language.

Date and Number Localization

  • Locale-aware date and time formatting: Dates and times throughout the application (dashboard, server details, charts, tooltips) now display in the format appropriate for your locale (e.g. DD/MM/YYYY for European locales, MM/DD/YYYY for English).
  • Locale-aware number formatting: Numbers, file sizes, and statistics use locale-appropriate formatting (e.g. 1.234,56 for German, 1,234.56 for English).

RTL Support Preparation

  • Foundation for right-to-left languages: Infrastructure has been added to support future RTL languages (Arabic, Hebrew). Current languages remain left-to-right.

Security

API Authentication

  • Required authentication on additional endpoints: The following endpoints now require a valid session and CSRF token (previously had optional auth):
    • /api/backups/collect
    • /api/backups/sync-schedule
    • /api/cron-config (POST)
    • /api/notifications/check-overdue
    • /api/notifications/clear-overdue-timestamps
  • Dependency security updates: Upgraded vulnerable dependencies (fast-xml-parser, brace-expansion) to address known security issues.

Bug Fixes

  • Master key change detection: Fixed incorrect "key changed" detection when restoring the database and .duplistatus.key file together (same key). The system now uses a key fingerprint for reliable detection instead of decryption-based checks that could misinterpret data corruption as a key change.
  • Detail page initial load: Server detail page now correctly displays overdue messages and data on first load instead of only after the first auto-refresh.

Improvements

Internationalisation Consistency

  • Consistent labels: Time units, intervals, status labels, and common terms now appear consistently across the application.
  • Locale-aware weekday ordering: Weekday display in backup monitoring respects your language/locale. Can be overwritten in the Display Settings.

Auth API error and success codes (i18n)

  • Stable error and success codes: Auth endpoints (/api/auth/login, /api/auth/logout, /api/auth/me, /api/auth/change-password, /api/auth/password-policy) now return an errorCode (and, on success, a successCode) in addition to the English error or message field. Clients use these codes to show localized messages in the user's language.
  • Login page: All login error messages (e.g. "Username and password are required", "Invalid username or password", "Account locked") are now translated on the login page for all five locales.
  • Change password modal: All change-password API error and success messages are now translated in the change-password modal.
  • API reference: The Authentication & Security API docs list all error and success codes and explain how to use them for i18n.

UI Improvements

  • Server filter width: Increased server filter width in backup notifications form (260px → 360px) for better usability.
  • Bulk selection: Enhanced bulk selection UI with proper pluralization support for backup counts.
  • Help tooltips: Improved help tooltip text with page name context.

Documentation

  • Configuration page rename: The timezone and language configuration page has been renamed from configure-tz-lang to configure-tz.
  • Notification templates guide: Updated user guide to document the new template language selector, reset buttons, and language behaviour.
  • Multi-language documentation: User guide now documents how to change the interface language via the language selector in the user menu.

Migration Notes

From Version 1.3.0

When upgrading to version 1.3.1:

  1. API Authentication: Scripts or tools that call the backups collect, sync-schedule, cron-config, or notification check/clear endpoints must now include valid session authentication and CSRF tokens.

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

  3. Locale Support: The environment variable LANG is no longer used. You can define the language for notifications on the Settings > Templates page.


Support

Getting Help

Reporting Bugs

When reporting bugs, please include:

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

Changelog

Version 1.3.1 Changes

  • Added: Multi-language interface support with language selector in app header (en, de, fr, es, pt-BR)
  • Added: Notification templates internationalisation with language selector and pre-translated defaults
  • Added: Locale-aware date, time, and number formatting throughout the application
  • Added: RTL support preparation for future right-to-left languages
  • Changed: API authentication now required on backups collect, sync-schedule, cron-config, and notification endpoints
  • Changed: Documentation page renamed from configure-tz-lang to configure-tz
  • Changed: User guide updated for notification templates and multi-language support
  • Fixed: Master key change detection false positives when restoring database with same key
  • Fixed: Fix "database disk image is malformed" errors after restore
  • Fixed: Relative time formatting in non-English locales (backup monitoring form)
  • Fixed: Detail page initial load now shows overdue message and data correctly
  • Fixed: Localized documentation screenshots for translated docs
  • Fixed: Login and auth API error messages now translated (auth endpoints return errorCode/successCode; login page and change-password modal map codes to localized strings)
  • Improved: Internationalisation consistency (labels and terms across the app)
  • Improved: Help button now opens documentation in the current interface language.
  • Improved: UI improvements (server filter width, bulk selection pluralization, help tooltips)
  • Security: Upgraded vulnerable dependencies (fast-xml-parser, brace-expansion)

License

This project is licensed under the Apache License 2.0.

Copyright © 2026 Waldemar Scudeller Jr.