Commit c64f032
authored
feat(deps): update duplicati/duplicati v2.2.0.3_stable_2026-01-06 → v2.3.0.0_stable_2026-04-14 (#1775)
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [duplicati/duplicati](https://redirect.github.com/duplicati/duplicati)
| minor | `2.2.0.3_stable_2026-01-06` → `2.3.0.0_stable_2026-04-14` |
---
### Release Notes
<details>
<summary>duplicati/duplicati (duplicati/duplicati)</summary>
###
[`v2.3.0.0_stable_2026-04-14`](https://redirect.github.com/duplicati/duplicati/releases/tag/v2.3.0.0_stable_2026-04-14)
[Compare
Source](https://redirect.github.com/duplicati/duplicati/compare/v2.2.1.0_beta_2026-03-05...v2.3.0.0_stable_2026-04-14)
### About this release
This is the next stable release for Duplicati 2.3, building on the 2.2
release with new features and bug fixes.
A big thanks to the supportive Duplicati user base who continues to
contribute with fixes, issue reports and feature requests.
If you have already been using the beta release, this release is the
same as v2.2.1.0, but includes a bugfix and two library updates.
#### Database Schema Update
**Note:** This update changes the Server database schema to version 11.
The database tool can perform downgrades if needed.
#### Multiple Backup Destinations
This version adds support for configuring multiple destinations for a
single backup job.
This allows you to backup to multiple locations simultaneously, such as
a local drive and a cloud storage provider.
With multiple destinations, you can now configure a complete 3-2-1
backup strategy in a single job.
After each completed backup, Duplicati will ensure that data is
available on all destinations.
A 3-2-1 backup strategy is where you have 3 copies of your data, 2 of
which are on different media, and 1 of which is offsite/immutable.
#### Remote Sources
Remote sources are now easier to use with UI support and a prominent
button on the source page.
This version also adds support for using Box, Dropbox, OneDrive, and
Google Drive as remote sources.
#### Windows Folder Status Indicator
Thanks to [@​AndyBodnar](https://redirect.github.com/AndyBodnar),
this version adds a Windows shell extension that shows the backup status
of folders with icon overlays.
The feature is disabled by default but can be enabled with the option
`--enable-folder-status-service` on either Server or TrayIcon.
Once enabled, run the `RegisterFolderStatusExtension.ps1` script to
register the extension and see backup status in Windows Explorer.
#### Google Workspace Backup
This version adds support for backing up Google Workspace, including
Gmail, Google Drive, Contacts, Calendar, and Chat.
This is a proprietary module (source available) that requires a license
to use in production.
Without a license, testing is possible with up to 5 users.
To prevent proprietary modules from loading, set the environment
variable `DUPLICATI_DISABLE_PROPRIETARY_MODULES=1` or delete files named
`Duplicati.Proprietary.*` from your installation.
#### Office 365 Backup
This version adds support for backing up Office 365 tenants, including
mailboxes, calendars, contacts, OneDrive, Planner, Tasks, Teams, Sites,
and more.
This is a proprietary module (source available) that requires a license
to use in production.
Without a license, testing is possible with up to 5 users + 5 sites + 5
groups.
#### Full Disk Backup
This version adds simple support for backup and restore of entire disks,
including the MBR/GPT partition table.
In this initial version, only Windows is supported, and the backup
accesses the disk directly (no VSS).
Support for Linux and macOS, as well as VSS support for Windows, is
planned for future releases.
Like the Office 365 / Google Workspace features, this is a proprietary
module (source available).
Full disk backup requires administrative privileges to access the disk
directly.
Full disk restore requires administrative privileges and requires that
the disk is unmounted and not write-protected.
#### Remote File Locking
This release adds support for remote locking of files on supported
storage providers (S3, Azure Blob Storage, Backblaze B2, iDrive e2,
Google Cloud Storage).
Locking protects backup files from being deleted or overwritten during a
configurable retention period.
To use the feature, set the advanced option
`--remote-file-lock-duration` (e.g., `30D` for 30 days).
Each backend supports `governance` (lock can be removed in admin
console) or `compliance` (lock cannot be removed) modes.
#### Templating Engine for Reporting
Thanks to [@​AndyBodnar](https://redirect.github.com/AndyBodnar),
it is now possible to use a Handlebars template to format the report
output, which is especially useful for crafting custom email reports.
#### Synology Native Package
The Synology native package has been re-developed to support Synology
DSM 7.2 and above.
The package installs as any other Synology package and uses integrated
DSM authentication.
#### Soft Delete Support
A new option `--soft-delete-prefix` enables the soft-delete feature.
When enabled, files are renamed/moved instead of being deleted, allowing
lifecycle management rules to handle actual deletion after a retention
period.
#### Platform Updates
- **.NET 10**: The application now runs on .NET 10 for improved
performance
- **SQLite**: Updated to use `Microsoft.Data.Sqlite` for better
performance and async query support
- **VSS Provider**: Default VSS provider on Windows is now Vanara
(AlphaVSS is no longer maintained)
#### Database Encryption Changes
This release adds a "default secret provider" for the current OS:
- Windows: Windows Credential Manager
- macOS: Keychain
- Linux: libSecret (Gnome Keyring), or commandline `pass` if available
If no secret provider is configured, and a default secret provider is
available, the database will be encrypted with a random password stored
in the default secret provider.
To opt-out, use `--disable-db-encryption` when starting the
Server/TrayIcon.
If database encryption is already configured, or no default secret
provider is available, nothing will change.
#### Simplified S3 Provider Configuration
The S3 provider configuration has been simplified by providing fewer
options and only showing relevant endpoints.
A whitelist of public S3 providers is included, and hostnames are shown
in backup reports if in the whitelist.
#### New Languages
Added support for Hungarian, Czech, and Polish languages. Thanks to all
translators!
#### Quality of Life Improvements
- The commandline-inside-the-UI feature now saves its state when
navigating back
- Added "Edit as text" option for source paths and filters
- Linux AppImage builds are now available
- Auto VSS on Windows when user has Administrator privileges
(`SeBackupPrivilege`)
- SSH-Agent support for SSH backend
- Support for macOS Photos backup with `--photos-handling` option
- New UI is more small-screen friendly
#### Notable Bugfixes
- Fixed issue with invariant formatting causing crashes during backup
- Fixed dry-run to strictly not touch data
- Fixed `--changed-files` option to not introduce extra dangling file
entries
- Fixed purge operation size calculation and added
`--reduced-purge-statistics` option
- Fixed index file corruption issue where index files could become
incomplete over time
- Fixed restore flow to reduce temporary space usage (configurable with
`--restore-volume-cache-hint`)
###
[`v2.2.1.0_beta_2026-03-05`](https://redirect.github.com/duplicati/duplicati/releases/tag/v2.2.1.0_beta_2026-03-05)
[Compare
Source](https://redirect.github.com/duplicati/duplicati/compare/v2.2.0.107_canary_2026-03-20...v2.2.1.0_beta_2026-03-05)
### 2026-03-05 - 2.2.1.0\_beta\_2026-03-05
This release is a beta release intended for wider testing before being
promoted to stable.
This beta release contains all changes from the canary releases since
the stable release 2.2.0.3 until and including 2.2.0.105.
### Major Changes in this Release
#### Database Schema Update
**Note:** This update changes the Server database schema to version 11.
The database tool can perform downgrades if needed.
#### Multiple Backup Destinations
This version adds support for configuring multiple destinations for a
single backup job.
This allows you to backup to multiple locations simultaneously, such as
a local drive and a cloud storage provider.
With multiple destinations, you can now configure a complete 3-2-1
backup strategy in a single job.
After each completed backup, Duplicati will ensure that data is
available on all destinations.
A 3-2-1 backup strategy is where you have 3 copies of your data, 2 of
which are on different media, and 1 of which is offsite/immutable.
#### Remote Sources
Remote sources are now easier to use with UI support and a prominent
button on the source page.
This version also adds support for using Box, Dropbox, OneDrive, and
Google Drive as remote sources.
#### Windows Folder Status Indicator
Thanks to [@​AndyBodnar](https://redirect.github.com/AndyBodnar),
this version adds a Windows shell extension that shows the backup status
of folders with icon overlays.
The feature is disabled by default but can be enabled with the option
`--enable-folder-status-service` on either Server or TrayIcon.
Once enabled, run the `RegisterFolderStatusExtension.ps1` script to
register the extension and see backup status in Windows Explorer.
#### Google Workspace Backup
This version adds support for backing up Google Workspace, including
Gmail, Google Drive, Contacts, Calendar, and Chat.
This is a proprietary module (source available) that requires a license
to use in production.
Without a license, testing is possible with up to 5 users.
To prevent proprietary modules from loading, set the environment
variable `DUPLICATI_DISABLE_PROPRIETARY_MODULES=1` or delete files named
`Duplicati.Proprietary.*` from your installation.
#### Office 365 Backup
This version adds support for backing up Office 365 tenants, including
mailboxes, calendars, contacts, OneDrive, Planner, Tasks, Teams, Sites,
and more.
This is a proprietary module (source available) that requires a license
to use in production.
Without a license, testing is possible with up to 5 users + 5 sites + 5
groups.
#### Full Disk Backup
This version adds simple support for backup and restore of entire disks,
including the MBR/GPT partition table.
In this initial version, only Windows is supported, and the backup
accesses the disk directly (no VSS).
Support for Linux and macOS, as well as VSS support for Windows, is
planned for future releases.
Like the Office 365 / Google Workspace features, this is a proprietary
module (source available).
Full disk backup requires administrative privileges to access the disk
directly.
Full disk restore requires administrative privileges and requires that
the disk is unmounted and not write-protected.
#### Remote File Locking
This release adds support for remote locking of files on supported
storage providers (S3, Azure Blob Storage, Backblaze B2, iDrive e2,
Google Cloud Storage).
Locking protects backup files from being deleted or overwritten during a
configurable retention period.
To use the feature, set the advanced option
`--remote-file-lock-duration` (e.g., `30D` for 30 days).
Each backend supports `governance` (lock can be removed in admin
console) or `compliance` (lock cannot be removed) modes.
#### Templating Engine for Reporting
Thanks to [@​AndyBodnar](https://redirect.github.com/AndyBodnar),
it is now possible to use a Handlebars template to format the report
output, which is especially useful for crafting custom email reports.
#### Synology Native Package
The Synology native package has been re-developed to support Synology
DSM 7.2 and above.
The package installs as any other Synology package and uses integrated
DSM authentication.
#### Soft Delete Support
A new option `--soft-delete-prefix` enables the soft-delete feature.
When enabled, files are renamed/moved instead of being deleted, allowing
lifecycle management rules to handle actual deletion after a retention
period.
#### Platform Updates
- **.NET 10**: The application now runs on .NET 10 for improved
performance
- **SQLite**: Updated to use `Microsoft.Data.Sqlite` for better
performance and async query support
- **VSS Provider**: Default VSS provider on Windows is now Vanara
(AlphaVSS is no longer maintained)
#### Database Encryption Changes
This release adds a "default secret provider" for the current OS:
- Windows: Windows Credential Manager
- macOS: Keychain
- Linux: libSecret (Gnome Keyring), or commandline `pass` if available
If no secret provider is configured, and a default secret provider is
available, the database will be encrypted with a random password stored
in the default secret provider.
To opt-out, use `--disable-db-encryption` when starting the
Server/TrayIcon.
If database enncryption is already configured, or no default secret
provider is available, nothing will change.
#### Simplified S3 Provider Configuration
The S3 provider configuration has been simplified by providing fewer
options and only showing relevant endpoints.
A whitelist of public S3 providers is included, and hostnames are shown
in backup reports if in the whitelist.
#### New Languages
Added support for Hungarian, Czech, and Polish languages. Thanks to all
translators!
#### Quality of Life Improvements
- The commandline-inside-the-UI feature now saves its state when
navigating back
- Added "Edit as text" option for source paths and filters
- Linux AppImage builds are now available
- Auto VSS on Windows when user has Administrator privileges
(`SeBackupPrivilege`)
- SSH-Agent support for SSH backend
- Support for macOS Photos backup with `--photos-handling` option
- New UI is more small-screen friendly
#### Notable Bugfixes
- Fixed issue with invariant formatting causing crashes during backup
- Fixed dry-run to strictly not touch data
- Fixed `--changed-files` option to not introduce extra dangling file
entries
- Fixed purge operation size calculation and added
`--reduced-purge-statistics` option
- Fixed index file corruption issue where index files could become
incomplete over time
- Fixed restore flow to reduce temporary space usage (configurable with
`--restore-volume-cache-hint`)
###
[`v2.2.0.107_canary_2026-03-20`](https://redirect.github.com/duplicati/duplicati/releases/tag/v2.2.0.107_canary_2026-03-20)
[Compare
Source](https://redirect.github.com/duplicati/duplicati/compare/v2.2.0.106_canary_2026-03-06...v2.2.0.107_canary_2026-03-20)
This release is a canary release intended to be used for testing.
### Changes in this version
#### Linux full disk backup support
This version extends the full disk backup feature to include Linux
support.
You can now backup and restore entire disks on Linux, including
partition tables.
This is a proprietary module (source available) that requires a license
to use in production.
#### Database tool improvements
The database tool now includes `verify` and `cleanup` commands.
The `verify` command can be used to check if databases exist or are
orphaned.
The `cleanup` command can be used to remove orphaned entries and reclaim
space.
#### Bug fixes and improvements
- Fixed restore without local database for partial restores
- Fixed an issue with loading certificate bundles on Windows
- Fixed Docker image tagging to not push with naked version
- Added Hetzner and DigitalOcean regions to S3 backend
- Updated AWS SecretManager dependency
#### Detailed list of changes:
- Added Linux support for full disk backup and restore
- Added verify command to database tool
- Added cleanup command to database tool
- Fixed restore without local database
- Fixed certificate bundle loading on Windows
- Fixed Docker naked version tagging
- Added Hetzner S3 regions
- Added DigitalOcean S3 regions
- Updated AWS SecretManager dependency
#### ngclient changes:
##### Features
- Added button to suppress warnings
- Added focus styles for most elements
- Updated ShipUI, added keyboard navigation
- Added new provider logos for upcoming storage providers
##### Bug Fixes
- Fixed issue with Firefox asking to save passwordds
- Fixed issue with proxy configuration
- Datepicker start of week
- Fixed issue with server ip and port mangling input
- Fixed refreshToken race condition that caused logout
- Fixed honeypot using exported type causing login issues
##### Improvements
- Improved live logs display
###
[`v2.2.0.106_canary_2026-03-06`](https://redirect.github.com/duplicati/duplicati/releases/tag/v2.2.0.106_canary_2026-03-06)
[Compare
Source](https://redirect.github.com/duplicati/duplicati/compare/v2.2.0.105_canary_2026-02-20...v2.2.0.106_canary_2026-03-06)
### 2026-03-06 - 2.2.0.106\_canary\_2026-03-06
This release is a canary release intended to be used for testing.
### Changes in this version
#### MacOS full disk backup support
This version extends the full disk backup feature to include basic MacOS
support.
You can now backup and restore entire disks on MacOS, including
partition tables.
This is a proprietary module (source available) that requires a license
to use in production.
#### Automatic HTTPS support
This version adds support for managed TLS certificates, making it easier
to run Duplicati with HTTPS enabled.
The feature includes automatic certificate generation and management for
secure connections.
This release contains a new `Duplicati.CommandLine.ConfigureTool.exe` /
`duplicati-configure` tool that can be used to configure the server and
generate certificates. See documentation/help for more details.
#### Detailed list of changes:
- Added basic MacOS support for full disk backup and restore
- Added support for managed TLS/HTTPS certificates
- Fixed agent commandline argument names
- Improved link detection on Windows
- Fixed race condition with source provider disposal
- Fixed Windows full-disk reattach scripts
- Updated nuget dependencies for Mime
###
[`v2.2.0.105_canary_2026-02-20`](https://redirect.github.com/duplicati/duplicati/releases/tag/v2.2.0.105_canary_2026-02-20)
[Compare
Source](https://redirect.github.com/duplicati/duplicati/compare/v2.2.0.104_canary_2026-02-06...v2.2.0.105_canary_2026-02-20)
This release is a canary release intended to be used for testing.
This canary release is intended to be the base for the next beta/stable
release.
### Changes in this version
#### Database schema updates
This version updates the Server database schema to **version 11** (was 9
in 2.2.0.104).
These changes add the new remote destination repository table, and a
table for tracking multiple backup destinations.
Updates are applied automatically, and if you need to downgrade, the
database tool can perform downgrades.
Downgrades will wipe the new backup destinations and the backup
destination repository, but otherwise does not cause data loss.
#### Multiple backup destinations
This version adds support for configuring multiple destinations for a
single backup job.
This allows you to backup to multiple locations simultaneously, such as
a local drive and a cloud storage provider.
With multiple destinations, you can now configure a complete 3-2-1
backup strategy in a single job.
After each completed backup, Duplicati will ensure that data is
available on all destinations.
A 3-2-1 backup strategy is where you have 3 copies of your data, 2 of
which are on different media, and 1 of which is offsite/immutable.
#### Windows folder status indicator
Thanks to [@​AndyBodnar](https://redirect.github.com/AndyBodnar),
this version adds a Windows shell extension that shows the backup status
of folders with icon overlays.
The feature is disabled by default but can be enabled with the option
`--enable-folder-status-service` on either Server or TrayIcon.
Once the feature is enabled, you can run the
`RegisterFolderStatusExtension.ps1` script to register the extension,
and you can then see the backup status of folders in Windows Explorer.
#### Google Workspace backup
This version adds support for backing up Google Workspace, including
Gmail, Google Drive, Contacts, Calendar, and Chat.
Like the Office 365 backup feature, this is a proprietary module (source
available) that requires a license to use in production.
Without a license, testing is possible with up to 5 users.
If you prefer a clean OSI-approved installation, you can prevent
proprietary modules from loading by setting the environment variable
`DUPLICATI_DISABLE_PROPRIETARY_MODULES=1` or simply delete the files
named `Duplicati.Proprietary.*` from your installation.
#### Full disk backup
This version adds simple support for backup and restore of entire disks,
including the MBR/GPT partition table.
In this initial version, only Windows is supported, the backup is
accessing the disk directly (no VSS).
We are working on adding support for Linux and macOS, as well as VSS
support for Windows.
Like the Office 365 / Google Workspace backup features, this is a
proprietary module (source available).
Full disk backup requires administrative privileges to access the disk
directly.
Full disk restore requires administrative privileges and requires that
the disk is unmounted and not write-protected.
#### Bugfixes and improvements
- Fixed S3 endpoint port preservation and path validation, thanks
[@​aureliandevel](https://redirect.github.com/aureliandevel)
- Added connection string repository for simpler management of re-used
backend connections
#### Detailed list of changes:
- Added support for full disk backup and restore on Windows
- Fixed incorrect commandline argument names in Agent
- Added support for assigning license from console
- Added Windows folder icon overlay for backup status, thanks
[@​AndyBodnar](https://redirect.github.com/AndyBodnar)
- Fixed compile errors after merges
- Added Google Workspace backup support
- Added temp disk space check endpoint
- Added support for multiple backup destinations
- Updated translations
- Fixed race condition with index file uploads during backup
- Added latest translations
- Updated translations from Transifex
- Rolled back supplementary groups change
- Fixed S3 host port preservation and path validation, thanks
[@​aureliandevel](https://redirect.github.com/aureliandevel)
- Fixed nullable warnings
- Fixed large volume inputs handling
- Fixed RPM spec ownership calculation
- Fixed scheme detection on short paths
#### ngclient changes:
##### Features
- Added support for picking disks for backup (if supported by the
backend)
- Added support for Google Workspace
- Added support for saving multiple destinations
- Added destination page
- Added const to toggle auto-save of destinations
- Added missing dropdown options for filters
##### Bug Fixes
- Fixed issue with crashes in Chrome when showing tooltips
- Fixed issue with "loader" buttons shrinking visually
- Fixed advanced options not possible with UNC paths
- Fixed include filters converting to paths
- Fixed multi-line small screen styling of menu
- Fixed non-existent icons
##### Improvements
- Improved mobile display (responsive layout)
- Improved status content
- Improved status file text
- Updated localizations, thansk to all translators
- Updated status and destinations
- Automatically open warnings/errors on the logs page
###
[`v2.2.0.104_canary_2026-02-06`](https://redirect.github.com/duplicati/duplicati/releases/tag/v2.2.0.104_canary_2026-02-06)
[Compare
Source](https://redirect.github.com/duplicati/duplicati/compare/v2.2.0.103_canary_2026-01-08...v2.2.0.104_canary_2026-02-06)
This release is a canary release intended to be used for testing.
### Changes in this versions
#### Locking and protection
This version extends on the remote file locking feature added in
2.2.0.103, to now also include locking support for Google Cloud Storage
(GCS), as well as a policy mode option for Azure Blob Storage.
This version also adds a new option `--soft-delete-prefix` which enables
the soft-delete feature.
When soft-delete is enabled, files are renamed (or moved) to a new
location instead of being deleted.
For destinations that support lifecycle management, this can be used to
setup access such that Duplicati cannot delete a file, but can
rename/move it.
When Duplicati wants to delete a file, it will instead rename/move the
file to a new location, and the lifecycle management or other tool can
be used to delete the files with a specific prefix after a certain
period of time.
#### Remote sources
Remote sources have been supported, even in the current stable release,
but the usage required some difficult manual string construction.
This version adds support for remote sources in the UI, and makes it
easier to use remote sources, with a prominent button on the source
page.
Besides making remote sources easier to use, this version also adds
support for using Box, Dropbox, OneDrive and Google Drive as remote
sources.
#### Office 365
This version adds support for backing up Office 365 tenants, including
mailboxes, calendars, contacts, OneDrive, Planner, Tasks, Teams, Sites,
and more.
Like the rest of Duplicati, the source code for this is available, but
unlike the rest of Duplicati, this feature is not OSI open-source, and
requires a license to use in production.
In the current version, there is a limit of 5 users + 5 sites + 5 groups
for testing.
If you prefer a clean OSI open-source build, you can set the environment
variable `DUPLICATI_DISABLE_PROPRIETARY_MODULES` or simply delete the
files named `Duplicati.Proprietary.*` from your installation.
#### Templating engine for reporting
Thanks to [@​AndyBodnar](https://redirect.github.com/AndyBodnar),
it is now possible to use a Handlebars template to format the report
output, which is especially nice for crafting emails.
#### Quality of life fixes
This version now saves the current state of the
commandline-inside-the-UI feature, so when you go back, it will retain
the setup, making it much simpler to iterate and try out commands.
We also added the long-requested "Edit as text" option to the source
paths and filters, so you can now either use the UI or edit the paths
and filters as text.
The releases now also include an AppImage for Linux, so it can be used
on Linux without needing to install it.
Finally, we added support for the Hungarian, Czech and Polish languages.
Thanks to the super translators!
#### Bugfixes
This version includes a number of bugfixes targeting stability, where
Duplicati now handles more edge cases, and is more robust against
errors.
Additionally:
- The `--dry-run` option has been fixed to strictly not touch data.
- The `--changed-files` option has been fixed to not introduce extra
dangling file entries.
- The purge operation has been fixed to count size reduction more
correct, use a faster query, and an option to disable size stats, should
it still be too slow.
- Filen MFA login was updated a bit but the fix does not create
long-lived tokens yet.
#### Detailed list of changes:
- Added check for temporary space before starting server + restore
operation
- Fixed an issue with testing on remote sources when masked
- Added support for reading `DUPLICATI__REGISTER_REMOTE_CONTROL`
environment variable from Agent
- Added Selectel S3 hostnames
- Prevent restore outside of designated target folder
- Added macOS snapshot support
- Added encryption and masking of remote sources in logs and UI
- Improved SSL certificate handling for WebDAV when testing
- Added Office 365 backup support
- Fixed cross-OS remote source path handling
- Implemented rename operation on backends
- Fixed purge size calculation to only include blocks once
- Added guard against invalid entries in DeletedVolume table
- Fixed manual changelist logic for `--changed-files` option
- Fixed issue with failed delete causing database inconsistency
- Handle missing blocks on recreate to prevent database issues
- Improved support for remote sources
- Fixed dry run functionality
- Added support for GCS object locking
- Added restore path to log output, thanks
[@​WhiteElephantIsNotARobot](https://redirect.github.com/WhiteElephantIsNotARobot)
- Improved commandline execute functionality
- Added automatic 3-2-1 backup rule support
- Fixed issue with missing log entries when errors occurred
- Added soft delete support
- Improved query for purge broken files with
`--reduced-purge-statistics` option
- Fixed missing event on data update
- Fixed Filen MFA login (but still broken)
- Fixed cross-OS restore issues
- Added AppImage builds
- Added policy mode for Azure locking
- Added templating engine support, thanks
[@​AndyBodnar](https://redirect.github.com/AndyBodnar)
- Fixed spelling mistake for supplementary groups
- Updated S3 NuGet dependencies
#### ngclient changes:
- Added Selectel to list of S3 providers
- Added autocomplete attributes to password fields
- Fixed issues with masked urls not correctly working with test buttons
- Fixed an issue with setting a blank path on initial load of FileTree
- Fixed an issue that prevented save of an unencrypted backup
- Fixed issue with recursive loading of paths in FileTree not working
- Fixed issue with FileTree resetting the path on load in some cases
- Updated FileTree to show which folder is currently expanding
- Fixed a loading race that could clear an input
- Rewrote most of the test handling for backends to use a shared
component
- Fixed wrongly saving draft backups while editing
- Avoid requesting invalid data in FileTree browser
- Added tooltip showing current file being processed
- Keep state when navigating back to commandline UI
- Added placeholder and hints to the commandline screen
- Validate input before saving a backup to give better error message
- Changed button text on theme switcher to indicate an action
- Show SSH as "SFTP (SSH)"
- Added new locales
- Updated locales
- Updated browser mapping
- Fixed broken link to usagereporter
- Hide button with no action in source view
- Updated source lists and filter lists to allow "Edit as text"
- Fixed bug with Create Folder and masked urls
- Added support for Office 365 backup and restore
- Fixed typo preventing TrayIcon login toggle from working
- Added button to add remote sources to a backup
###
[`v2.2.0.103_canary_2026-01-08`](https://redirect.github.com/duplicati/duplicati/releases/tag/v2.2.0.103_canary_2026-01-08)
[Compare
Source](https://redirect.github.com/duplicati/duplicati/compare/v2.2.0.102_canary_2025-12-12...v2.2.0.103_canary_2026-01-08)
This release is a canary release intended to be used for testing.
### Changes in this versions
This version re-introduces the Synology native package, adds support for
remote locking of files, and fixes a number of minor issues.
#### Synology native package
The Synology native package has been re-developed to support the new
Synology DSM 7.2 and above.
This package installs as any other Synology package and uses the
integrated DSM authentication to guard access, so only system admins can
use Duplicati.
To use the package, you need to grant access to the shared folders that
you want to back up.
#### Remote locking of files
This release adds support for remote locking of files, which is useful
for example when using Duplicati with a remote storage provider that
supports locking, such as S3 or Azure Blob Storage.
The feature works by completing the backup as usual, and then locking
all files that are required to restore the backup.
The locking is done by asking the remote storage provider to lock the
files, such that it is not possible to delete or overwrite the required
files until the lock expires.
Duplicati then keeps track of the locks and avoids attempting to delete
or overwrite the locked files.
To use the feature, set the advanced option
`--remote-file-lock-duration` to the duration of the lock, for example
`30D` for 30 days.
Since locking requires support from the remote storage provider, this
feature is only available for certain backends.
The locking is currently supported for S3, Azure Blob Storage, Backblaze
B2, and iDrive e2.
Each of the backends that currently support locking also have a property
to set the locking mode to either `governance` (default) or
`compliance`.
The `governance` mode allows the lock to be removed in the admin console
for the storage provider, while the `compliance` mode does not allow the
lock to be removed.
If using this feature, note that each provider has different
requirements for the bucket, usually requiring versioning to be enabled.
For S3 and B2, deleting the files after the lock expires will create a
delete marker, which means that you will still be billed for the storage
of the files, and need to set up lifecycle rules to actually delete the
files after the lock expires.
For Azure Blob Storage, deleting the files after the lock expires will
delete the files immediately.
#### Change to default database encryption
Carried over from 2.2.0.102\_canary\_2025-12-12, this release has a
"default secret provider" for the current OS.
The mapping is:
- Windows: Windows Credential Manager
- MacOS: Keychain
- Linux: libSecret (Gnome Keyring), or commandline `pass` if available
**Warning**: If there is no secret provider set, this change will cause
the **database to be encrypted** with a random password, and the
password will be stored in the default secret provider for the current
OS.
#### Detailed list of changes:
- Added Internxt S3 hostnames
- Added improved support for hosting ngclient behind a reverse proxy
- Added support for new API for remote management
- Added support for remote locking of files
- Re-introduced the Synology native package
- Removed AWS specific labels on S3 options
- Fixed a bug with testing on an empty destination
- Added support for authentication regions with S3, particularly for
Minio
#### ngclient changes:
- Added support for serving behind a reverse proxy
- Added support for hosting in an iframe, if configured
- Improved handling auth attempts so successful re-auth is not shown as
messages
- Fixed proxied auth and websocket authentication
- Fixed advanced options for rclone not working
- Fixed hide connection status not showing when not connected
###
[`v2.2.0.102_canary_2025-12-12`](https://redirect.github.com/duplicati/duplicati/releases/tag/v2.2.0.102_canary_2025-12-12)
[Compare
Source](https://redirect.github.com/duplicati/duplicati/compare/v2.2.0.101_canary_2025-11-20...v2.2.0.102_canary_2025-12-12)
This release is a canary release intended to be used for testing.
### Changes in this versions
This release makes the S3 providers simpler to use by providing fewer
options, and only showing relevant endpoints.
The release also adds support for excluding files based on extended
attributes on Linux and MacOS, and adds support for supplementary access
groups on Linux.
For Windows, the installer now supports `NOSCRIPT=true` which will
prevent the installer from running scripts that start/stop the Windows
service.
It is now also possible to change the encryption passphrase for a
backup, using the RecoveryTool.
#### Change to default database encryption
This release now has a "default secret provider" for the current OS.
The mapping is:
- Windows: Windows Credential Manager
- MacOS: Keychain
- Linux: libSecret (Gnome Keyring), or commandline `pass` if available
If no secret provider is given, the default secret provider for the
current OS will be used.
The secret provider is then used to store secrets, inclduing the
encryption password for the database and the password for the server, if
using the TrayIcon to connect to the server.
**Warning**: This change will cause the **database to be encrypted**
with a random password, and the password will be stored in the default
secret provider for the current OS.
If you rely on getting the database contents for something, you need to
ensure you also have a copy of the random password.
If you want to opt-out of this change, you can use the
`--disable-db-encryption` option when starting the Server/TrayIcon.
If you already have an encryption password set, this change will not
affect you.
If you are already using database encryption, and want to switch to the
new managed way of storing the encryption password, you need to:
- Stop the server/TrayIcon
- Start the server/TrayIcon with the `--disable-db-encryption` option to
remove the database encryption
- Remove the `--disable-db-encryption` option
- Remove the `--webservice-password` option or environment variable
- Start the server/TrayIcon again
#### Detailed list of changes:
- Added Rabata.io to list of support S3 providers
- Added support for supplementary access groups on Linux
- Added support for excluding files based on extended attributes (MacOS
/ Linux)
- Added support for providing a URL for the servername for S3
- Added a whitelist of public S3 providers, and include hostname in
backup reports if the hostname is in the whitelist
- Updated SSH.NET to latest version (2025.1.0)
- Fixed an issue with startup delay not working correctly
- Fixed a timeout issue with AliyunOSS
- Updated RecoveryTool to also allow changing a backup's encryption
password, thansk [@​greyxr](https://redirect.github.com/greyxr)
- Added support for providing the target URL and encryption passphrase
in ServerUtil when importing a configuration
- Fixed a warning on Windows with the EventLog commandline argument type
- Updated MSI installer to support `NOSCRIPT=true` which will prevent
the installer from running scripts that start/stop the Windows service
- Updated MSI installer to ignore errors when stopping the service
- Added a guard code to check that the database is in a good state
before attempting removal
- Added support for writing secrets with the secret providers and the
secret tool
- Added a dialog to TrayIcon that asks for the password to the server,
if not using a hosted server instance
- Added support for saving the TrayIcon password in the default secret
provider for the current OS
- Added automatic encryption of the Server database, using the default
secret provider for the current OS, if possible
- Added support for getting an authentication token for Filen.io when
using MFA
- Automatically run `VACUUM` on the database if the encryption settings
are changed, so existing data is scrubbed
- Added a Duplicati Storage backend that supports the Duplicati Storage
service
#### ngclient changes:
- Fixed an issue with loading Chinese language
- Added support for custom bucket validation rules on B2 buckets
- Added support for hiding the console connection indicator
- Merged settings for remote control on the settings page
- Fixed an issue with some default empty url not working on the
destination page
- Fixed supporting Storj Access Grant & Storj API key
- More accurate display of destination type on the overview page
- Added custom UIs for supported S3 providers
- Added improved field validation for providers
- Updated the "Direct restore" flow to use the same destination picker
as when setting up a backup
- Added some functionality to swap UI and choose the default UI (ngax vs
ngclient)
- Fixed startup delay settings not being saved
- Fixed an issue with the data not being selectable in a custom schedule
- Fixed back button not working on Schedule page
- Now pushing serversettings via websocket instead of polling
- Added a button for getting API token for Filen.io when using MFA
- Allow finding deprecated backends by typing their full protocol key
- Added support for Duplicati storage backend
###
[`v2.2.0.101_canary_2025-11-20`](https://redirect.github.com/duplicati/duplicati/releases/tag/v2.2.0.101_canary_2025-11-20)
[Compare
Source](https://redirect.github.com/duplicati/duplicati/compare/v2.2.0.100_canary_2025-11-05...v2.2.0.101_canary_2025-11-20)
This release is a canary release intended to be used for testing.
### Changes in this versions
This version now runs on .NET10! Apart from some speedup, the transition
should not be noticeable.
This version also adds initial support for MacOS Photos, where it can
now read photos, even if they are stored in iCloud.
Previous versions would back up the folder, which might not include all
photos.
Use the option `--photos-handling` to disable or tweak this feature.
When using advanced options, the human-readable description is now
displayed with the option name, and you can search for either.
#### Detailed list of changes:
- Fixed an issue with SyncTool and retries that would fail on some
backends
- Improved support for OEM injection
- Return status of backup in ServerUtil, thanks
[@​greyxr](https://redirect.github.com/greyxr)
- Updated to run on .NET10
- Improved deadlock detection for restore with fewer false positives
- Updated Uplink.NET to v2.14.3623 (for Storj backend)
- Added support for MacOS Photos
- Disabled internal timeout in AzureBlobStorage
- Updated localizations, thanks to all translators!
#### ngclient changes:
- Updated to latest ShipUI
- Preload modules for better desktop performance
- Fixed some issues with localization not being applied
- Updates to the options list
- Updated localizations, thanks to all translators!
- Fixed an issue with Rclone not maintaining letter-case for remote
- Simplified the schedule setup page
- Improved AuthID picking
- Improved integration with console
- Cleaned the sidebar slightly
- Fixed an issue with styling in settings
- Restore flow will now default to not overwrite existing files
- Added both option name and short description to advanced options
- Fixed not showing "Verifying" at the start of the backup operation
- Handle global settings with and without `--` prefix
- Upgraded to Anguler 21
###
[`v2.2.0.100_canary_2025-11-05`](https://redirect.github.com/duplicati/duplicati/releases/tag/v2.2.0.100_canary_2025-11-05)
[Compare
Source](https://redirect.github.com/duplicati/duplicati/compare/v2.2.0.3_stable_2026-01-06...v2.2.0.100_canary_2025-11-05)
This release is a canary release intended to be used for testing.
### Changes in this versions
This version is a bugfix release for some issues discovered with the
previous canary build and stable release.
Some of the changes in this Canary will be applied to a new revised
stable release.
The changes in this version are mostly bugfixes and minor improvements
that are not expected to cause issues.
#### Detailed list of changes:
- Reporting remote filename on errors instead of temporary file
- Added guards and fix for timeouts in MSGraph backend
- Added guard against sending an unsupported header in remote control
- Fixed href-base replacement, thanks
[@​peloyeje](https://redirect.github.com/peloyeje)
- Fixed an error parsing flag-options (multiple option names in a single
option)
- Fixed an incorrect option name in release builder
- Clear notifications on startup for issues that are resolved
- Improved S3 hostname check to auto-prune trailing slashes
- Show the assembly version in the version number
- Made `--send-email-password` a password option so it is guarded
- Added a dynamically adjusting deadlock timer for the restore flow
- Improved parsing of WebDAV PROPFIND messages to cover more servers
- Exposed options for pCloud that were previously not showed
- Made the file-backend's `--use-move-for-put` option auto-disable
streaming transfers
- Fixed an issue with restoring from a config file that would fail if
the backups were encrypted
- Added option to disable remote control when connected to the console
#### ngclient changes:
- Added support for picking the power-mode provider in settings
- Fixed some issues with filters
- Fixed some buttons that were missing styling
- Fixed issue with Test function not asking to create folder
- Fixed not showing tooltip to remember password when not encrypting
exported file
- Fixed issues with parsing the exclude attributes and exclude by file
size
- Improved hint texts on start page to be less cloud-oriented
- Correctly show duration if it takes over 24h
- Renamed the "Start" button to "Resume" when the server is paused
- No longer showing the usage reporter option if this is disabled by
environment variables
- The settings page now shows the currently installed version
- Better detection of users language on initial load
- Add a warning when doing cross-OS restores
- Toggled some steps as disabled when clicking them would not result in
a working flow
- Added password visibility toggle on login page
- Improved advanced options view to show file pickers and email parsers
- Improved the display of the warning when typing a custom destination
URL
- Fixed some issues with the URL parsing, especially making it
case-preserving and fixing Rclone
- Using the Commandline UI now includes the global advanced settings
- Very long error messages no longer overflow the screen but gets
scrollable instead
- Changed order of options on the restore overview page to nudge towards
using configured backups
- Added scrolling to source paths when entering more than 25 sources
- Hiding FileJump destination due to a pending migration
- Sizes can again be chosen in bytes, which also fixes the wrong warning
displayed on the volume size picker
- Updated localization, thanks to all translators
- Added a new connection link that shows the console connection status
- Updated naming for the console connection to be more consistent
- Hide connection options when connecting remotely
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR has been generated by [Renovate
Bot](https://redirect.github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yOS4yIiwidXBkYXRlZEluVmVyIjoiNDMuMjkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiYXBwL2R1cGxpY2F0aSIsImF1dG9tZXJnZSIsInJlbm92YXRlL2NvbnRhaW5lciIsInJlbm92YXRlL2dpdGh1Yi1yZWxlYXNlIiwidHlwZS9taW5vciJdfQ==-->1 parent 72a820d commit c64f032
1 file changed
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
| 9 | + | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| |||
0 commit comments