Duplicati

Developer Tools

Free backup software to store encrypted backups online.

Latest v2.3.0.4_stable_2026-07-09 · by DuplicatiWebsiteduplicati/duplicati

Release activity

Release activity — 10 releases across 9 days since May 22, 2026. Each cell is one day; darker means more releases that day. Nothing is recorded before May 22, 2026. Older weeks are hidden at this screen width.
MayJunJulAug
SundayNo releases on May 24, 2026No releases on May 31, 2026No releases on Jun 7, 2026No releases on Jun 14, 2026No releases on Jun 21, 2026No releases on Jun 28, 2026No releases on Jul 5, 2026No releases on Jul 12, 2026No releases on Jul 19, 2026No releases on Jul 26, 2026No releases on Aug 2, 2026
MondayNo releases on May 25, 2026No releases on Jun 1, 2026No releases on Jun 8, 2026No releases on Jun 15, 2026No releases on Jun 22, 2026No releases on Jun 29, 2026No releases on Jul 6, 20261 release on Jul 13, 20261 release on Jul 20, 2026No releases on Jul 27, 2026No releases on Aug 3, 2026
TuesdayNo releases on May 26, 2026No releases on Jun 2, 2026No releases on Jun 9, 2026No releases on Jun 16, 2026No releases on Jun 23, 2026No releases on Jun 30, 2026No releases on Jul 7, 2026No releases on Jul 14, 2026No releases on Jul 21, 20261 release on Jul 28, 2026No releases on Aug 4, 2026
WednesdayNo releases on May 27, 2026No releases on Jun 3, 20262 releases on Jun 10, 2026No releases on Jun 17, 20261 release on Jun 24, 2026No releases on Jul 1, 2026No releases on Jul 8, 2026No releases on Jul 15, 2026No releases on Jul 22, 2026No releases on Jul 29, 2026No releases on Aug 5, 2026
ThursdayNo releases on May 28, 20261 release on Jun 4, 2026No releases on Jun 11, 2026No releases on Jun 18, 2026No releases on Jun 25, 2026No releases on Jul 2, 20261 release on Jul 9, 2026No releases on Jul 16, 2026No releases on Jul 23, 2026No releases on Jul 30, 2026No releases on Aug 6, 2026
Friday1 release on May 22, 2026No releases on May 29, 2026No releases on Jun 5, 2026No releases on Jun 12, 2026No releases on Jun 19, 2026No releases on Jun 26, 20261 release on Jul 3, 2026No releases on Jul 10, 2026No releases on Jul 17, 2026No releases on Jul 24, 2026No releases on Jul 31, 2026No releases on Aug 7, 2026
SaturdayNo releases on May 23, 2026No releases on May 30, 2026No releases on Jun 6, 2026No releases on Jun 13, 2026No releases on Jun 20, 2026No releases on Jun 27, 2026No releases on Jul 4, 2026No releases on Jul 11, 2026No releases on Jul 18, 2026No releases on Jul 25, 2026No releases on Aug 1, 2026

10 releases since May 22, 2026, busiest day 2

Changelog

v2.3.1.0_beta_2026-07-28

Pre-release
Added 10
  • Add secure-datafolder command to ConfigureTool to force correct permissions on the data folder
  • Add sync copy mode that simply copies files from source to destination with options for --sync-then-delete and --sync-remote-state configuration
  • Support remote sources, snapshots, and multiple destinations in sync jobs
  • Integrate service installation and TLS certificate generation into the Windows installer with checkbox toggles
  • Configure Windows service as delay-start service to avoid startup issues on boot
  • Add live-reporting module that sends current backup progress to a user-specified URL
Changed 3
  • Move insecure-permissions.txt support from the data folder to the installation folder
  • Allow customization of configuration storage for unencrypted backups with options to store none, self, or all configurations with or without secrets
  • Improve handling of Microsoft 365 shared mailboxes with better detection
Removed 1
  • Remove support for preload.json at /usr/local/share/Duplicati/preload.json and C:\ProgramData\Duplicati\preload.json
Security 1
  • Require exact expected permissions on the data folder and refuse to use it if permissions are incorrect, with opt-out options via --allow-insecure-datafolder flag, DUPLICATI__ALLOW_INSECURE_DATAFOLDER environment variable, or insecure-permissions.txt in the installation folder

This release is a Beta release intended to be used for testing to identify any issues before releasing the next stable version.

Breaking change: Locked-down data folder permissions

This release hardens security around the data folder and is a breaking change for some setups.

Duplicati now requires that the data folder has the exact expected permissions, or it will refuse to use it. Previously, Duplicati would silently lock down the folder if it was not already locked.

To opt out of the permission check, you need to either pass --allow-insecure-datafolder, set the environment variable DUPLICATI__ALLOW_INSECURE_DATAFOLDER=true, or place a file name insecure-permissions.txt in the installation folder.

Note that the previous method of placing insecure-permissions.txt in the data folder is no longer supported.

This change also applies to preload.json, such that it will only be loaded if the folder is trusted, or one of the opt-out methods are activated. Additionally, the previous trusted paths /usr/local/share/Duplicati/preload.json and C:\ProgramData\Duplicati\preload.json are no longer supported as they cannot be guaranteed to be locked down.

A preload.json inside the data folder is still supported, provided the folder passes the permission check.

The ConfigureTool has a new secure-datafolder command that can be used to force the correct permissions on the data folder.

For most users this should not cause any problems, as Duplicati has been locking down the folder already, but if you rely on lax folder permissions the setup needs to change. Some Docker setups may not be able to set the permissions and will need to apply DUPLICATI__ALLOW_INSECURE_DATAFOLDER=true in the image to run without the protections.

Sync copy mode

This release adds a often requested feature that enables simple copying of files from source to destination. Where the regular backups are deduplicated, compressed, encrypted and versioned, the new sync mode will instead simply copy from source to destination.

The copy is currently a one-way sync, where the source is replicated on the destination. Files can be deleted on the destination during sync (use --sync-then-delete), but destination folders will not be deleted.

The option --sync-remote-state is by default set to UseRemoteState which will list the destination and figure out what to upload. The setting UseLocalState uses a local database, similar to how backups work, to keep track of known remote files, and reduce the amount of remote listings done. Finally, the BlindlyUpload setting will just copy everything as-is to the remote.

The sync jobs support remote sources, snapshots, and multiple destinations. If snapshots are enabled, the copy is done from the snapshot, ensuring reliable reads.

Configuration of such a sync job is done the same way as with backup, but using a toggle option in the first step of the UI. Note that backup and sync jobs are not compatible as they use very different storage logic, so it is not possible to change the job mode after creating a job.

CLI mode also supports sync.

Improved Windows installer

This change brings a major update to the Windows installers, which now integrates the ability to run as a service, as well as generate and use TLS (https). The service feature has been present for a while in the WindowsService.exe tool and the TLS certificates were added as part of the Duplicati.CommandLine.ConfigureTool.exe. With this update these things are now integrated into the installer, and exposed as simple checkboxes to toggle the features. Installing the service from a regular user account, will also auto-generate a secure password and configure the TrayIcon to connect to the service (only for the current user).

If you have installed the service manually, do not activate the new checkbox as it only works if there is no pre-existing service. The installer-driven service does not support commandline arguments directly, but instead prefers preload.json files to configure it. The MSI supports the property INSTALL_PRELOAD=true which will cause it to pick up a preload.json file from the same folder the MSI is located in.

The Windows service is now also configured as delay-start service to avoid startup issues on boot.

Live reporting module

This release adds a new live-reporting module that sends the current progress of backups to a user-specified URL. The intention is that this can be used for dashboards that want to show the current progress for backups. By default, the module is not configured and has no impact.

PAR2 parity / error-correction for remote volumes

This release adds a pluggable parity module that produces error-correction data for remote data volumes, so they can be repaired after bit-rot or corruption on the backend, thanks @JamBalaya56562.

To enable this, ensure that par2 is installed on the machine and set --parity-module=par2. Setting this will cause additional .par2 files to be uploaded.

Store configuration with backup

This release revives the store-task-config option and makes it enabled by default for encrypted backups. The backup configuration is stored with the backup data, making it easier to restore a configuration later.

For unencrypted backups, no secrets are stored by default. The behavior can be customized with options to store none, self, or all configurations, with or without secrets. The UI has been updated to allow restoring from the destination config. If multiple configurations are found, the user can select one or more backup configurations to restore.

MS365 subsites and shared mailboxes

This release improves the Microsoft 365 backup support with two additions. Support for backing up SharePoint subsites has been added, making it possible to include sub-sites beneath a site collection in a backup.

The handling of shared mailboxes has also been improved, with better detection and enumeration of shared mailboxes within a tenant.

The license counter now excludes shared mailboxes without a license, and supports top-level filtering of users/sites/groups based on classification.

Full disk backup support (Windows, Linux, MacOS)

This release extends the full disk backup feature to support Linux and MacOS.

The Linux support allows backup and restore of entire disks on Linux, including partition tables. The MacOS support adds basic backup and restore of entire disks, including partition tables.

Like the Office 365 / Google Workspace backup features, this is a proprietary module (source available) that requires a license to use in production.

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.

Read-only testing of backends

Backends now support read-only context-aware testing, which allows testing connections safely without risking unintended changes to the storage. The read-only testing is applied when testing a restore destination or a remote source, such that no files are attempted written to the remote storage.

New backends

Added support for Drime Cloud as a new storage backend.

Added a new backend for the Spanish provider Movistar, thanks @redmars27. The backend is marked as "untested" as it can only be used (and tested) by Movistar customers.

Deprecated backends

The previous "SharePoint" and "OneDrive for Business" backends have been marked as deprecated, as Microsoft shut down the API they were calling. The migration step is to use the "SharePoint v2" backend (renamed to just "SharePoint" in this version) which uses the Microsoft Graph API.

FAT32 and NTFS support for full disk backup

Added FAT32 and NTFS file system support for the full disk backup feature, including boot sector parser, table reader, streams, and directory walker. This features makes it more efficient to do full-disk backups.

To enable this feature, add the advanced option --diskimage-filesystem-parsed=true and the backups will attempt to parse the disk, and if it is one of the supported formats, it will only read the relevant sectors.

Remote synchronization improvements

Integrated remote synchronization feature (aka 3-2-1 backups) from a separate module into the Main library for better integration, with improved error handling, progress tracking, and reliability.

Added destination space quota checks to the remote synchronization runner, helping prevent failures due to insufficient destination space. An option to disable quota checks (quota-disable) has also been added for scenarios where quota information is not available or reliable.

Duplicati Storage

This release also includes the Duplicati Storage which is integrated with the Duplicati console. Once a machine is connected to the console it can use the accounts storage allocations with zero configuration required.

SharpAESCrypt v3

Updated the SharpAESCrypt encryption library to support "AES Crypt Stream Format v3", which has a number of improvements over the v2 format. For this release, the default written format remains v2, but we encourage you to set the environment variable DUPLICATI__AES_VERSION=3 to test the new format. Note: if you set this version to 3, the new remote volumes cannot be read by Duplicati versions older than (2.3.0.101).

Support for MacOS ACLs

This release adds support for reading MacOS attributes and ACL strings during backup, and restoring them when permission restores are selected.

Support for Windows Alternate Data Streams

This release implements support for reading and writing alternate data streams (ADS) on Windows. This feature is disabled by default and can be enabled with the advanced option --enable-ads-backup. If ADS content is found in the source, this is restored by default but can be disabled with --disable-ads-restore.

Fixed MSSQL backups

Since 2.1 the MSSQL backups would produce errors if attempting to back up an MSSQL server that was running as the default instance, but would work with a named instance. This release fixes the issue and now handles both default- and named instances.

Improved missing source handling

The default behavior when sources are missing has changed. Previously, a missing source would abort the backup. Now, a missing source will only trigger a warning unless the option --abort-if-source-missing is set. The option --allow-missing-source can still be used to suppress warnings entirely. If no sources are found at all, the backup will still abort.

Relative database paths

Database paths are now stored relative to the data folder by default. This makes it simpler to move the data folder as the paths are not stored in full. Existing backups retain their full paths, but manually updating a database path will make it relative if it is within the data folder.

Updated LibSecret support for KDE

The LibSecret support has been updated to work correctly on KDE Plasma 5+6. The default collection alias is now properly resolved, fixing issues where a new collection named default would be created incorrectly.

Improved source tree

To make it easier to see what data is included, the source tree will now show the content of remote sources, including Microsoft 365 tenants, Google workspace subscriptions and full-disk content.

Improved filter accuracy in the UI

The filter evaluation will now be performed server-side if the filters are not "simple filters". When a non-trivial filter is in the list, the C# code will be asked to evaluate the list and produces the filtered results which are then displayed. This increases the correctness of the displayed filter state because the same code is now used for both display and actual backup operations.

Resolve shortcut entries

The helper entries, like "My Documents" are now shown in all picker situations and resolve to the full path. This makes it possible to use these shortcuts to pick things like log-file location or SSH keyfiles, without having to traverse the full tree to find the locations.

Browse remote destinations

The destination configuration has been updated to include a browse button for finding the remote destination path. Once the connection details are in place, the browse button can be used to navigate the remote file system and select the desired destination folder. This works both for configuring a backup and for picking the restore location.

New welcome page and start

The UI will now show a welcome page showing how to connect to the console with an option to continue without. This can be suppressed with the option --webservice-suppress-welcome-page=true or environment variable DUPLICATI__SUPPRESS_WELCOME_PAGE=true.

If the connection is made from the TrayIcon, the initial dialog asking to set a password is no longer shown, as the intention is to use the TrayIcon to connect. It is still possible to change the password from the Settings page if needed.

Crash dialog

Added a crash dialog window that appears when the application encounters an unhandled exception.

Thanks to contributors

This release is once again a collaboration effort from the Duplicati community. Thanks to the many contributors who reports issues, test new releases, requests features, write documentation, maintain translations, and contribute to the codebase.

View originalPermalink
How v2.3.1.0_beta_2026-07-28 went

v2.3.0.108_canary_2026-07-20

Pre-release
Added 7
  • Support for backing up SharePoint subsites beneath a site collection
  • Information button on the source page showing a summary of content found in the Microsoft 365 tenant
  • Option to perform case-insensitive matching of remote filenames
  • Support for `wipe-encryption` command in the database tool to remove all encrypted fields from a server database
  • Re-introduce `insecure-permissions.txt` file in install folder
  • Option to manually start a console-managed backup
  • Support for `tr` and `ko` languages in the UI
Changed 5
  • Improved detection and enumeration of shared mailboxes within a Microsoft 365 tenant
  • License counter now excludes shared mailboxes without a license and supports top-level filtering of users, sites, and groups based on classification
  • Improved filter parsing logic to handle more edge cases and produce more predictable results
  • Use the application data folder for the control directory filter
  • Unify `--datafolder` option name in configuretool
Fixed 8
  • BackendTester now actually retries failed uploads
  • The `--restore-preallocate-size` option now has an effect
  • Several options declared as Integer that are not integers
  • Broken date-time format strings
  • Secure-datafolder for service permissions
  • Restore-control-files with non-standard options
  • Loading of locale files with hyphenated culture names
  • Error attempting to save a backup with a schedule

This release is a canary release intended to be used for testing.

If no major faults are found, this release is intended to be the basis of the next beta release.

MS365 subsites and shared mailboxes

This release improves the Microsoft 365 backup support with two additions. Support for backing up SharePoint subsites has been added, making it possible to include sub-sites beneath a site collection in a backup.

The handling of shared mailboxes has also been improved, with better detection and enumeration of shared mailboxes within a tenant.

The license counter now excludes shared mailboxes without a license, and supports top-level filtering of users/sites/groups based on classification.

An extra information button is added to the source page that shows a summary of what content was found in the MS365 tenant.

Case-insensitive remote filename matching

A new option has been added to perform case-insensitive matching of remote filenames. This helps with backends that do not preserve filename casing, and prevents issues where files cannot be found because of case differences.

Improved filter parsing

The filter parsing logic has been improved to handle more edge cases and produce more predictable results when building filter expressions.

Added wipe-encryption to database tool

The database tool now supports a wipe-encryption command that can be used to remove all encrypted fields from a server database. With this command it is possible to get an encrypted database back into a state where it can be opened again. After encrypted fields are wiped, the user can then edit backups and settings to replace the lost data.

Detailed list of changes
  • Make BackendTester actually retry failed uploads, thanks @JamBalaya56562
  • Fix --restore-preallocate-size option having no effect, thanks @JamBalaya56562
  • Re-introduce insecure-permissions.txt file in install folder
  • Use the application data folder for the control directory filter, thanks @JamBalaya56562
  • Fix several options declared as Integer that are not integers, thanks @JamBalaya56562
  • Add case-insensitive remote filename matching, thanks @JamBalaya56562
  • Fix broken date-time format strings, thanks @JamBalaya56562
  • Fix secure-datafolder for service permissions
  • Log errors when user-supplied settings fail to parse, thanks @JamBalaya56562
  • Support MS365 subsites in backup and restore
  • Updated all translations, thanks to all translators
  • Fixed pulling mulitple new languages
  • Improve MS365 shared mailbox handling and item classification
  • Improve filter parsing with regards to embedded path separators
  • Fixed restore-control-files with non-standard options
  • Unify --datafolder option name in configuretool
  • Fail the backend test when verification finds a problem, thanks @JamBalaya56562
  • Use local executable name for configuretool
  • Fix loading of locale files with hyphenated culture names, thanks @JamBalaya56562
UI updates
  • Added option to manually start a console-managed backup
  • Added tr and ko languages to the UI
  • Updated all translations, thanks to all translators
  • Fixed an error attempting to save a backup with a schedule
  • Added button to show MS365 tenant counters
View originalPermalink
How v2.3.0.108_canary_2026-07-20 went

v2.3.0.107_canary_2026-07-13

Pre-release
Added 4
  • Add secure-datafolder command to ConfigureTool to set correct permissions on the data folder
  • Add live reporting module for sending backup progress to a user-specified URL
  • Add pluggable PAR2 parity module system for error-correction of remote volumes
  • Add commandline target URL done action
Changed 6
  • Improve TLS certificate validation and fall back to OS-default certificate validator
  • Lock the server database with a busy timeout to prevent concurrent access issues
  • Improve metadata update handling to better show remote versions
  • Make CLI find search all backup versions by default
  • Use effective dbpath for show-log and delete-db endpoints
  • Report script execution in operation status
Fixed 8
  • Guard the compact operation against race conditions
  • Fix database inconsistency after shared metadata delete
  • Avoid secondary transaction errors after repair failure
  • Delete the incomplete recreate database when the remote is empty
  • Stabilize ZipFallback database cleanup on Windows
  • Reset restore rendezvous barriers per operation
  • Fix test-filters ignoring --source from a parameters file
  • Do not attach stack traces to known-problem path warnings
Removed 1
  • Remove redundant cancel button from restore progress
Security 1
  • Require exact permissions on the data folder and refuse to use it if permissions are incorrect, with opt-out available via --allow-insecure-datafolder flag or environment variable

This release is a canary release intended to be used for testing.

If no major faults are found, this release is intended to be the basis of the next beta release.

Breaking change: Locked-down data folder permissions

This release hardens security around the data folder and is a breaking change for some setups.

Duplicati now requires that the data folder has the exact expected permissions, or it will refuse to use it. Previously, Duplicati would silently lock down the folder if it was not already locked. The previous insecure-permissions.txt opt-out file is no longer supported.

The only way to opt out of the permission check is to pass --allow-insecure-datafolder or set the environment variable DUPLICATI__ALLOW_INSECURE_DATAFOLDER=true. This setting can be placed in preload.json, but only if that file is in a trusted location (the directory with the binaries, or the path pointed to by DUPLICATI_PRELOAD_SETTINGS). The previous trusted paths /usr/local/share/Duplicati/preload.json and C:\ProgramData\Duplicati\preload.json are no longer supported as they cannot be guaranteed to be locked down.

A preload.json inside the data folder is still supported, provided the folder passes the permission check.

The ConfigureTool has a new secure-datafolder command that can be used to force the correct permissions on the data folder.

For most users this should not cause any problems, as Duplicati has been locking down the folder already, but if you rely on lax folder permissions the setup needs to change. Some Docker setups may not be able to set the permissions and will need to apply DUPLICATI__ALLOW_INSECURE_DATAFOLDER=true in the image to run without the protections.

Feedback requested

We are grateful for any feedback on changes or hints for how we can lessen the impact before the next stable release.

Live reporting module

This release adds a new live-reporting module that sends the current progress of backups to a user-specified URL. The intention is that this can be used for dashboards that want to show the current progress for backups. By default, the module is not configured and has no impact.

The module supports multiple activity targets and includes metadata in the activity report, as well as a server-provided activity URL.

PAR2 parity / error-correction for remote volumes

This release adds a pluggable parity module that produces error-correction data for remote data volumes, so they can be repaired after bit-rot or corruption on the backend, thanks @JamBalaya56562.

A pluggable IParity module system is introduced, mirroring the existing compression/encryption modules. The default Par2Parity implementation shells out to the par2 (par2cmdline) program. If the par2 command is installed this will transparently handle creating and using parity files to guard against flipped bits.

Improved TLS certificate validation

The TLS certificate validation has been improved, and Duplicati now falls back to using the OS-default certificate validator. This should resolve issues with custom certificate chains and improve compatibility with various TLS setups.

Detailed list of changes
  • Locked down data folder permissions and require exact permissions, with opt-out via --allow-insecure-datafolder
  • Added secure-datafolder command to the ConfigureTool
  • Added a live reporting module for sending backup progress to a URL
  • Added pluggable PAR2 parity module for error-correction of remote volumes, thanks @JamBalaya56562
  • Improved TLS certificate validation and fallback to OS-default validator
  • Locked the server database with a busy timeout to prevent concurrent access issues
  • Improved metadata update handling to better show remote versions
  • Guarded the compact operation against race conditions
  • Fixed database inconsistency after shared metadata delete
  • Avoid secondary transaction errors after repair failure, thanks @JamBalaya56562
  • Delete the incomplete recreate database when the remote is empty, thanks @JamBalaya56562
  • Stabilized ZipFallback database cleanup on Windows, thanks @JamBalaya56562
  • Reset restore rendezvous barriers per operation, thanks @JamBalaya56562
  • Fixed test-filters ignoring --source from a parameters file, thanks @JamBalaya56562
  • Removed redundant cancel button from restore progress, thanks @JamBalaya56562
  • Do not attach stack traces to known-problem path warnings, thanks @JamBalaya56562
  • Made CLI find search all backup versions by default, thanks @JamBalaya56562
  • Use effective dbpath for show-log and delete-db endpoints, thanks @JamBalaya56562
  • Reporte script execution in operation status, thanks @JamBalaya56562
  • Added commandline target URL done action, thanks @JamBalaya56562
  • Returned non-zero exit code from server-util run on backup failures, thanks @JamBalaya56562
  • Added DfsrPrivate to default excludes, thanks @JamBalaya56562
  • Escaped Windows commandline percent expansion, thanks @JamBalaya56562
  • Updated SQLitePCLRaw e_sqlite3 library, thanks @JamBalaya56562
  • Stabilized Windows ACL restore test, thanks @JamBalaya56562
  • Updated Swashbuckle to patched OpenApi, thanks @JamBalaya56562
  • Delayed Windows service startup, thanks @JamBalaya56562
  • Validated retention-policy format instead of crashing on missing colon, thanks @TowyTowy
  • Allowed machine-id override to fix mismatched ids for console connection and backup reports
  • Added endpoints for removal of versions and purge-broken files
  • Reported number of zero-length metadata entries
  • Fixed uninstall issue with delay-start service
  • Updated all localizations, thanks to all translators
UI updates
  • Option to start a managed backup from the home page.
  • Support for deleting versions from the actions menu.
  • Support for invoking purge-broken-files from the actions menu.
  • Moved the database compact action from the main menu to the database page.
  • Resolved websocket reconnect race conditions and timer mismatch
  • Aligned the disconnected dialog countdown with the actual reconnect delay (5s)
  • Renamed the "System settings" panel heading to "Server settings" for consistency with the tab name
  • Fixed a search issue with advanced options
  • Resolved the schedule page next-time off-by-one day issue
  • Updated localizations, thansk to all translators
View originalPermalink
How v2.3.0.107_canary_2026-07-13 went

v2.3.0.4_stable_2026-07-09

Added 4
  • Add configurable authentication timeout to the Duplicati backend
  • Allow disable default secret provider
  • Add server-side filter evaluation
  • Added ability to browse for a destination path in ngclient
Changed 3
  • Improved secret provider loader and license checker for greater flexibility
  • Updated libsecret integration to work better with KDE
  • Updated rclone in Docker images
Fixed 9
  • Fixed memory leak that could occur when backing up the macOS Photos library
  • Fixed startup race condition in the Agent that could cause instability on launch
  • Made the backup process more robust against metadata errors to prevent crash
  • Fixed retry of HTTP messages for transient failures
  • Fixed handling of MSSQL default instances
  • Corrected option types for the S3 lock mode
Security 4
  • Improved handling of filtered paths so that paths excluded by filters are no longer accessed
  • Filter sensitive paths out of reported log data
  • Use default OS certificate validator for reports
  • Block path traversal in recovery tool

About this release

This release patches version 2.3.0.3 with fixes for a number of issues that were discovered after the release. The main focus of this release is stability and security hardening, along with a few backend and configuration improvements.

Security and Privacy

We improved handling of filtered paths so that paths excluded by filters are no longer accessed, and sensitive paths are now filtered out of reported log data. For reports we now rely on the OS default certificate validator.

Stability Fixes

We fixed a memory leak that could occur when backing up the macOS Photos library, and fixed a startup race condition in the Agent that could cause instability on launch. We also made the backup process more robust against metadata errors, preventing a crash that could otherwise abort the backup.

Backend and Configuration Improvements

The Duplicati backend now has a configurable authentication timeout, and the HTTP message sending logic now retries transient failures correctly. We also fixed the handling of MSSQL default instances, and corrected the option types for the S3 lock mode so the correct values are displayed.

Secret Provider and Licensing

It is now possible to disable the default secret provider, and the secret provider loader has been improved together with the license checker for greater flexibility. The libsecret integration was updated to work better with KDE, and we now prevent creating a useless encryption key in certain scenarios.

Other Changes

This release adds server-side filter evaluation, fixes a few minor issues with remote sources, updates rclone in the Docker images, and corrects some incorrect help text.

Detailed list of changes:
  • Allow disable default secret provider
  • Block path traversal in recovery tool
  • Add server-side filter eval
  • Improve license flexibility
  • Add an auth timeout to the Duplicati backend
  • Avoid crash on metadata error
  • Filter paths in reported log data
  • Don't access filtered path
  • Fixed retry of HTTP messages
  • Fix incorrect option types for lock mode
  • Fix MSSQL default instance handling
  • Update libsecret for KDE
  • Improve secret provider and license checker
  • Prevent creating a useless key
  • Fix incorrect help text
  • Fix Agent startup race
  • Fix MacOS Photos memory usage
  • Update rclone in Docker images
  • Fix minor issues with remote sources
  • Use default OS certificate validator
Updates to ngclient
  • Prevent frontend from requesting lock repair override
  • Added ability to browse for a destination path.
  • Added support for browsing MS365 and Google Workspace, so filters can be applied while content is visible.
  • Added support for server-side filters in treeview.
  • Showing shortcuts in pickers as we can now resolve them.
  • Added a debouncer to filter calls.
  • Added error indicator to tree view.
  • Clean up target disk layout.
  • Apply extended search only if we are restoring from a destination that needs it.
  • Include server-only options, if any.
  • Better Google Workspace error messages.
  • Fixes to allow listing full disks on Windows.
  • Fixed issue with evaluating globbing.
View originalPermalink
How v2.3.0.4_stable_2026-07-09 went

v2.3.0.106_canary_2026-07-03

Pre-release
Added 10
  • Sync copy mode that enables simple one-way copying of files from source to destination without deduplication, compression, encryption or versioning
  • Option --sync-then-delete to delete files on the destination during sync
  • Option --sync-remote-state with settings UseRemoteState, UseLocalState, and BlindlyUpload to control how destination state is tracked
  • Support for remote sources, snapshots, and multiple destinations in sync jobs
  • UI toggle option to configure sync jobs in the first step, with sync and backup jobs being incompatible modes
  • CLI mode support for sync
Changed 5
  • Update localizations
  • Show multiple destinations on overview
  • Updated ShipUI and Angular
  • Improved the secret provider loader and license checker
  • Bumped SQLite and StreamJson dependencies
Fixed 6
  • MacOS Photos memory usage
  • Agent startup race condition
  • Incorrect help text for remote locks
  • Issue with forcing lock refresh
  • Prevent creating a useless encryption key on startup
  • Warn when VCRedist is missing on VSS failure

This release is a canary release intended to be used for testing.

Sync copy mode

This release adds a often requested feature that enables simple copying of files from source to destination. Where the regular backups are deduplicated, compressed, encrypted and versioned, the new sync mode will instead simply copy from source to destination.

The copy is currently a one-way sync, where the source is replicated on the destination. Files can be deleted on the destination during sync (use --sync-then-delete), but destination folders will not be deleted.

The option --sync-remote-state is by default be set to UseRemoteState which will list the destination and figure out what to upload. The setting UseLocalState uses a local database, similar to how backups work, to keep track of known remote files, and reduce the amount of remote listings done. Finally, the BlindlyUpload setting will just copy everything as-is to the remote.

The sync jobs support remote sources, snapshots, and multiple destinations. If snapshots are enabled, the copy is done from the snapshot, ensuring reliable reads.

Configuration of such a sync job is done the same way as with backup, but using a toggle option in the first step of the UI. Note that backup and sync jobs are not compatible as they use very different storage logic, so it is not possible to change the job mode after creating a job.

CLI mode also supports sync.

Multi version restore

A new option, --restore-all-files can be used to restore files matching a filter from multiple versions. This can be used to select specific versions and then restore a set of files in all versions. This option does not currently have a UI component.

Detailed list of changes
  • Fix MacOS Photos memory usage.
  • Fix Agent startup race condition.
  • Warn when VCRedist is missing on VSS failure.
  • Update localizations.
  • Fix incorrect help text for remote locks.
  • Added a restore callback module.
  • Added support for restoring files across multiple versions.
  • Added a sync command to the Controller and CLI.
  • Prevent creating a useless encryption key on startup.
  • Added an option to control OCSP/CRL failure handling.
  • Improved the secret provider loader and license checker.
  • Bumped SQLite and StreamJson dependencies.
UI changes
  • Added support for editing sync jobs
  • Show multiple destinations on overview
  • Updated localizations
  • Fixed issue with forcing lock refresh
  • Updated ShipUI and Angular
View originalPermalink
How v2.3.0.106_canary_2026-07-03 went

v2.3.0.105_canary_2026-06-24

Pre-release
Added 9
  • Store backup configuration with backup data, enabled by default for encrypted backups
  • Support for reading and restoring MacOS attributes and ACL strings during backup and restore
  • Support for reading and writing Windows Alternate Data Streams with the advanced option --enable-ads-backup
  • Searching in metadata for remote sources
  • Auth timeout to Duplicati backend
  • Unified interface for remote browsing with browse button for destination configuration
Changed 6
  • Missing sources now trigger a warning instead of aborting the backup by default
  • Database paths are now stored relative to the data folder by default
  • License usage calculation to allow filtering items before counting towards limits
  • Source tree to show content of remote sources including Microsoft 365 tenants and Google Workspace subscriptions
  • Helper entries like My Documents now resolve to full paths in all picker situations
  • Updated rclone in Docker images to use recent releases
Fixed 5
  • MSSQL backups for default instance configuration
  • Incorrect option types for lock mode now showing as enums in the UI
  • Retry of HTTP messages
  • Case-insensitive search and exposed the flag in the API
  • Case-change issue with USN on Windows

2026-06-24 - 2.3.0.105_canary_2026-06-24

This release is a canary release intended to be used for testing.

Store configuration with backup

This release revives the store-task-config option and makes it enabled by default for encrypted backups. The backup configuration is stored with the backup data, making it easier to restore a configuration later.

For unencrypted backups, no secrets are stored by default. The behavior can be customized with options to store none, self, or all configurations, with or without secrets. The UI has been updated to allow restoring from the destination config. If multiple configurations are found, the user can select one or more backup configurations to restore.

Support for MacOS ACLs

This release adds support for reading MacOS attributes and ACL strings during backup, and restoring them when permission restores are selected.

Support for Windows Alternate Data Streams

This release implements support for reading and writing alternate data streams (ADS) on Windows. This feature is disabled by default and can be enabled with the advanced option --enable-ads-backup. If ADS content is found in the source, this is restored by default but can be disabled with --disable-ads-restore.

Fixed MSSQL backups

Since 2.1 the MSSQL backups would produce errors if attempting to back up an MSSQL server that was running as the default instance, but would work with a named instance. This release fixes the issue and now handles both default- and named instances.

Improved missing source handling

The default behavior when sources are missing has changed. Previously, a missing source would abort the backup. Now, a missing source will only trigger a warning unless the option --abort-if-source-missing is set. The option --allow-missing-source can still be used to suppress warnings entirely. If no sources are found at all, the backup will still abort.

Relative database paths

Database paths are now stored relative to the data folder by default. This makes it simpler to move the data folder as the paths are not stored in full. Existing backups retain their full paths, but manually updating a database path will make it relative if it is within the data folder.

Updated LibSecret support for KDE

The LibSecret support has been updated to work correctly on KDE Plasma 5+6. The default collection alias is now properly resolved, fixing issues where a new collection named default would be created incorrectly.

License flexibility in MS365 and Google Workspace

The way license usage is calculated has been updated. Enumeration is now applied without imposing limitations, but actually reading the items is limited. This allows filtering unwanted items before they count towards usage.

Improved source tree

To make it easier to see what data is included, the source tree will now show the content of remote sources, including Microsoft 365 tenants, Google workspace subscriptions and full-disk content.

Easier filter configuration

Expanding the content will show item inclusion state. Clicking items will toggle them, similar to how regular file select works. This allows selective backup of remote data, such as picking which MS365 mailboxes to include.

For the full-disk selection is now possible to select an entire disk as the source, or select the individual partitions.

Server-side filters

Additionally, the filter evaluation will now be performed server-side if the filters are not "simple filters". When a non-trivial filter is in the list, the C# code will be asked to evaluate the list and produces the filtered results which are then displayed. This increases the correctness of the displayed filter state because the same code is now used for both display and actual backup operations.

Resolve helper entries

The helper entries, like "My Documents" are now show in all picker situations and resolve to the full path. This makes it possible to use these shortcuts to pick things like log-file location or SSH keyfiles, without having to traverse the full tree to find the locations.

Browse remote destinations

The destination configuration has been updated to include a browse button for finding the remote destination path. Once the connection details are in place, the browse button can be used to navigate the remote file system and select the desired destination folder. This works both for configuring a backup and for picking the restore location.

Detailed list of changes
  • Updated LibSecret support to work correctly on KDE Plasma 6
  • Improved missing source handling, missing sources now warn instead of abort by default
  • Fixed MSSQL default instance handling
  • Fixed incorrect option types for lock mode, now showing as enums in the UI
  • Fixed retry of HTTP messages
  • Fixed ordering issue where filtered paths were accessed before filtering
  • Use relative database paths by default
  • Updated rclone in Docker images to use recent releases
  • Store configuration with backup with flexible options for encrypted and unencrypted backups
  • Added support for MacOS ACLs
  • Added searching in metadata for remote sources
  • Filter paths in reported log data to avoid leaking sensitive information
  • Prevent crash on metadata error during restore
  • Fixed case-insensitive search and exposed the flag in the API
  • Implemented support for ADS on Windows
  • Added auth timeout to Duplicati backend
  • Handle script modified filters correctly
  • Fix minor issues with remote sources
  • Improve license flexibility, allowing filtering before usage limits
  • Added unified interface for remote browsing
  • Always install WindowsService.exe in MSI
  • Add server-side filter evaluation
  • Block path traversal in recovery tool
  • Allow disabling default secret provider
  • Fixed case-change issue with USN on Windows
Updates to ngclient
New Features
  • Added support for restoring from remote config.
  • Added ability to browse for a destination path.
  • Added support for the new destination list API (auto-toggled if server supports it).
  • Added support for browsing MS365 and Google Workspace, so filters can be applied while content is visible.
  • Added support for server-side filters in treeview.
  • Showing shortcuts in pickers as we can now resolve them.
  • Added a debouncer to filter calls.
  • Added error indicator to tree view.
Improvements
  • Clean up target disk layout.
  • Apply extended search only if we are restoring from a destination that needs it.
  • Include server-only options, if any.
  • Better Google Workspace error messages.
  • Fixes to allow listing full disks on Windows.
  • Fixed issue with evaluating globbing.
View originalPermalink
How v2.3.0.105_canary_2026-06-24 went

v2.3.0.3_stable_2026-06-10

Added 4
  • Added failsafe checks to ensure synthetic filelists are always valid
  • Made Duplicati storage backend publicly available for backup destinations
  • Added --exclude-non-local-files option to exclude files stored in cloud services
  • Added support for extended Win32 file attributes in backups
Changed 4
  • Improved error messages with additional guidance on how to resolve issues
  • Renamed Office 365 branding to Microsoft 365
  • Persist the used compression module in backup metadata
  • Optimized ngclient query flow to use websockets instead of polling
Fixed 11
  • Optimized synthetic filelist creation process to improve performance and prevent dangling metadata entries
  • Fixed remote file locking issue that could cause database locking problems
  • Fixed S3 lock mode configuration to show correct values
  • Fixed SMB backend issue where files could be incorrectly treated as folders
  • Fixed timeout issue in OneDrive backend where slow transfers could trigger unexpected timeout
  • Fixed warnings when backing up macOS Photos folder
Deprecated 1
  • Deprecated OneDrive for Business and SharePoint backends in favor of Microsoft Graph backend

About this release

This release patches version 2.3.0.1 with fixes for a few issues that were discovered after the release. This is the same as the 2.3.0.2 release but with a few additional fixes that were missed by the 2.3.0.2 release.

Reliability Fixes

This release optimizes the synthetic filelist creation process to improve performance significantly. Additionally, there are a few added failsafe checks to ensure syntehtic filelists are always valid.

We also fixed an issue with remote-file locking that could (ironically) cause database locking issues in some cases. And we fixed the S3 lock mode configuration to show the correct values.

Backend Fixes and Improvements

We fixed an issue where the SMB backend could incorrectly treat files as folders giving warnings when attempting to enumerate them. We also fixed a timeout issue for OneDrive where slow transfers could trigger an unexpected timeout.

The OneDrive for Business and SharePoint backends have been deprecated in favor of the Microsoft Graph backend, as the older backends relied on an API that is no longer supported.

We also made the Duplicati storage backend publicly available, so you can now use Duplicati storage for your backups. Duplicati storage is integrated with the Duplicati Console, so there is zero storage configuration needed on the client.

Platform and Restore Improvements

This release also features a new option --exclude-non-local-files that can be used to exclude files that are stored in the cloud, such as OneDrive, Dropbox, etc.

We also fixed an issue causing warnings when doing backups of the MacOS Photos folder, and improved some error messages to include more guidance on how to resolve them.

Detailed list of changes:
  • Renamed Office 365 branding to Microsoft 365
  • Optimized synthetic filelist creation to prevent dangling metadata entries
  • Improved Docker image build configuration
  • Persist the used compression module in backup metadata
  • Updated usage reporter integration
  • Improved websocket handling for remote management connections
  • Fixed Filen backend CI and authentication issues
  • Added failsafe checks for synthetic filelist metadata
  • Improved restore messages with additional result details
  • Deprecated older OneDrive and SharePoint backends
  • Fixed folders incorrectly showing as files in the filesystem API
  • Added defensive handling for macOS Photos library timestamps
  • Updated MEGA S4 endpoints for S3 backend
  • Improved snapshot error messages with permission guidance
  • Fixed timeout handling in OneDrive backend
  • Updated Duplicati backend with improved timeout options
  • Removed explicit defaults from new backup template
  • Cleaned up remote controller registration state handling
  • Fixed SMB backend issue where files could be treated as folders
  • Fixed remote file locking on Windows
  • Fixed S3 lock mode configuration
  • Added support for extended Win32 file attributes in backups
  • Update Avalonia to avoid DirectX dependency
  • Improved handling of expired links
  • Fix incorrect quota size reported
  • Fixed version based search for restored
  • Added guard when deleting old versions
  • Log 500 errors to system log or local local
  • Detect if locking is used when recreating database
  • Support the do-not-track environment variable
  • Guard against secret provider init failure
Updates to ngclient
  • Added toggle to show advanced option names instead of descriptions
  • Added confirmation popup before exporting configuration without encryption
  • Now showing remote lock results on log page
  • Fixed websocket not connecting on welcome page
  • Added a welcome page for simpler console connections
  • Removed attributes filter options on source page, in favor of using advanced options
  • Prevent iteration of non-folder paths
  • Enable selecting hidden items
  • Added path resolving on the "dynamic paths", such as "My documents"
  • Fixed compression option not being visible
  • Added support for showing backends as deprecated or untested
  • Fixed an issue where file size would not be shown in the file tree
  • Added an option to retry loading a backup list
  • Show "last backup" with the same date in both detail and grid view
  • Show actual scheduled time for backups
  • Fixed an issue with using stored destinations which would fail to create folders
  • Fixed an issue with importing backups where the schedule edits would be ignored
  • Fixed an issue where the date for a scheduled backup would be off-by-one when edited
  • Optimized query flow to use websockets instead of polling/fetching
View originalPermalink
How v2.3.0.3_stable_2026-06-10 went

v2.3.0.2_stable_2026-06-10

Added 5
  • Failsafe checks to ensure synthetic filelists are always valid
  • Duplicati storage backend now publicly available for use in backups with zero storage configuration needed on the client
  • New option --exclude-non-local-files to exclude files stored in the cloud such as OneDrive and Dropbox
  • Defensive handling for macOS Photos library timestamps
  • Support for extended Win32 file attributes in backups
Changed 7
  • Optimized synthetic filelist creation process to improve performance and prevent dangling metadata entries
  • Renamed Office 365 branding to Microsoft 365
  • Persist the used compression module in backup metadata
  • Improved error messages to include more guidance on how to resolve them
  • Improved websocket handling for remote management connections
  • Improved snapshot error messages with permission guidance
  • Updated MEGA S4 endpoints for S3 backend
Fixed 7
  • Remote-file locking issue that could cause database locking in some cases
  • S3 lock mode configuration to show the correct values
  • SMB backend incorrectly treating files as folders and giving warnings when attempting to enumerate them
  • OneDrive timeout issue where slow transfers could trigger an unexpected timeout
  • Warnings when doing backups of the MacOS Photos folder
  • Filen backend CI and authentication issues
  • Folders incorrectly showing as files in the filesystem API
Deprecated 1
  • OneDrive for Business and SharePoint backends in favor of the Microsoft Graph backend

About this release

This release patches version 2.3.0.1 with fixes for a few issues that were discovered after the release.

Reliability Fixes

This release optimizes the synthetic filelist creation process to improve performance significantly. Additionally, there are a few added failsafe checks to ensure syntehtic filelists are always valid.

We also fixed an issue with remote-file locking that could (ironically) cause database locking issues in some cases. And we fixed the S3 lock mode configuration to show the correct values.

Backend Fixes and Improvements

We fixed an issue where the SMB backend could incorrectly treat files as folders giving warnings when attempting to enumerate them. We also fixed a timeout issue for OneDrive where slow transfers could trigger an unexpected timeout.

The OneDrive for Business and SharePoint backends have been deprecated in favor of the Microsoft Graph backend, as the older backends relied on an API that is no longer supported.

We also made the Duplicati storage backend publicly available, so you can now use Duplicati storage for your backups. Duplicati storage is integrated with the Duplicati Console, so there is zero storage configuration needed on the client.

Platform and Restore Improvements

This release also features a new option --exclude-non-local-files that can be used to exclude files that are stored in the cloud, such as OneDrive, Dropbox, etc.

We also fixed an issue causing warnings when doing backups of the MacOS Photos folder, and improved some error messages to include more guidance on how to resolve them.

Detailed list of changes:
  • Renamed Office 365 branding to Microsoft 365
  • Optimized synthetic filelist creation to prevent dangling metadata entries
  • Improved Docker image build configuration
  • Persist the used compression module in backup metadata
  • Updated usage reporter integration
  • Improved websocket handling for remote management connections
  • Fixed Filen backend CI and authentication issues
  • Added failsafe checks for synthetic filelist metadata
  • Improved restore messages with additional result details
  • Deprecated older OneDrive and SharePoint backends
  • Fixed folders incorrectly showing as files in the filesystem API
  • Added defensive handling for macOS Photos library timestamps
  • Updated MEGA S4 endpoints for S3 backend
  • Improved snapshot error messages with permission guidance
  • Fixed timeout handling in OneDrive backend
  • Updated Duplicati backend with improved timeout options
  • Removed explicit defaults from new backup template
  • Cleaned up remote controller registration state handling
  • Fixed SMB backend issue where files could be treated as folders
  • Fixed remote file locking on Windows
  • Fixed S3 lock mode configuration
  • Added support for extended Win32 file attributes in backups
Updates to ngclient
  • Added toggle to show advanced option names instead of descriptions
  • Added confirmation popup before exporting configuration without encryption
  • Now showing remote lock results on log page
  • Fixed websocket not connecting on welcome page
  • Added a welcome page for simpler console connections
  • Removed attributes filter options on source page, in favor of using advanced options
  • Prevent iteration of non-folder paths
  • Enable selecting hidden items
  • Added path resolving on the "dynamic paths", such as "My documents"
  • Fixed compression option not being visible
  • Added support for showing backends as deprecated or untested
  • Fixed an issue where file size would not be shown in the file tree
  • Added an option to retry loading a backup list
  • Show "last backup" with the same date in both detail and grid view
  • Show actual scheduled time for backups
  • Fixed an issue with using stored destinations which would fail to create folders
  • Fixed an issue with importing backups where the schedule edits would be ignored
  • Fixed an issue where the date for a scheduled backup would be off-by-one when edited
  • Optimized query flow to use websockets instead of polling/fetching
View originalPermalink
How v2.3.0.2_stable_2026-06-10 went

v2.3.0.104_canary_2026-06-04

Pre-release
Added 13
  • Windows installer now integrates ability to run as a service with simple checkbox toggle
  • Windows installer now integrates TLS (https) certificate generation and usage with simple checkbox toggle
  • Service installation from regular user account auto-generates secure password and configures TrayIcon connection
  • Extended NTFS full-disk backup support on Windows with advanced option --diskimage-filesystem-parsed=true
  • New AutoTune tool (Duplicati.CommandLine.AutoTuneTool / duplicati-autotune) to evaluate and optimize performance-related settings
  • Backends now support read-only context-aware testing for safe connection testing without risking unintended changes
Changed 1
  • FS parsing made experimental
Fixed 4
  • S3 lock mode values now display correctly
  • Remote file locking on Windows
  • SMB source listing misclassifying directories as files
  • Websocket connection on ngclient welcome page
Removed 1
  • Attributes filter options on ngclient source page in favor of using advanced options

This release is a canary release intended to be used for testing.

Improved Windows installer

This change brings a major update to the Windows installers, which now integrates the ability to run as a service, as well as generate and use TLS (https). The service feature has been present for a while in the WindowsService.exe tool and the TLS certificates were added as part of the Duplicati.CommandLine.ConfigureTool.exe. With this update these things are now integrated into the installer, and exposed as simple checkboxes to toggle the features. Installing the service from a regular user account, will also auto-generate a secure password and configure the TrayIcon to connect to the service (only for the current user).

If you have installed the service manually, do not activate the new checkbox as it only works if there is no pre-existing service.

NTFS full-disk backup

This release extends the full disk backup feature to include NTFS support on Windows. With this support it is more efficient to make backups of NTFS formatted disks. To enable this feature, add the advanced option --diskimage-filesystem-parsed=true and the backups will attempt to parse the disk, and if it is one of the supported formats, it will only read the relevant sectors.

New Auto-Tune tool

This release also introduces a new AutoTune tool (Duplicati.CommandLine.AutoTuneTool / duplicati-autotune), designed to help evaluate and optimize performance-related settings automatically based on the system.

Read-only testing of backends

Backends now support read-only context-aware testing, which allows testing connections safely without risking unintended changes to the storage. The read-only testing is applied when testing a restore destination or a remote source, such that no files are attempted written to the remote storage.

New welcome page and start

The UI will now show a welcome page showing how to connect to the console with an option to continue without. This can be suppressed with the option --webservice-suppress-welcome-page=true or environment variable DUPLICATI__SUPPRESS_WELCOME_PAGE=true.

If the connection is made from the TrayIcon, the initial dialog asking to set a password is no longer shown, as the intention is to use the TrayIcon to connect. It is still possible to change the password from the Settings page if needed.

Detailed list of changes
  • Added handling for extended Win32 file attributes and option to ignore non-local files, such as OneDrive and Dropbox files
  • Fixed showing correct S3 lock mode values
  • Added full disk NTFS support
  • Added AutoTune tool
  • Added read-only testing to backends, thanks @realtek2017
  • Made FS parsing experimental
  • Fixed remote file locking on Windows
  • Fixed SMB source listing misclassifying directories as files, thanks @realtek2017
  • Improved MSI installer package for Service
  • Simplified console handling
  • Cleaned up state after registering
  • Removed explicit defaults in backup config
  • Hardened MSI installer
Changes in ngclient
  • Added toggle to show advanced option names instead of descriptions
  • Added confirmation popup before exporting configuration without encryption
  • Now showing remote lock results on log page
  • Toggling read-only testing of backends based on context
  • Fixed websocket not connecting on welcome page
  • Added a welcome page for simpler console connections
  • Removed attributes filter options on source page, in favor of using advanced options
View originalPermalink
How v2.3.0.104_canary_2026-06-04 went

v2.3.0.103_canary_2026-05-22

Pre-release
Added 8
  • Duplicati Storage backend for zero-configuration storage setup
  • Experimental setting to run backup, restore, and verify operations in an isolated sub-process
  • Support for marking backends as deprecated or untested
  • Movistar storage backend
  • Failsafe when creating synthetic filelists
  • Check code to ensure synthetic filelists are generated with required fields
  • Path resolving on dynamic paths such as My documents in ngclient
  • Option to retry loading a backup list in ngclient
Changed 3
  • Internal controller to only expose async methods
  • Mega S4 endpoint list
  • Duplicati Backend to use the new API
Fixed 8
  • Issue with Filen.io renaming
  • Restore message when no files are restored to reflect if existing files are found
  • Some files showing as folders and missing size information
  • Parsing MacOS timestamps from year 0000
  • Issue where option settings could potentially be sticky across operations
  • 100 second timeout with OneDrive and SharePoint v2
  • Compression option not being visible in ngclient
  • File size not being shown in file tree in ngclient
Deprecated 1
  • od4b and mssp backends as the API is no longer working

This release is a canary release intended to be used for testing.

Changes in this version

This release marks the soft-launch of the Duplicati Storage service, giving a zero-configuration setup of storage. The Duplicati Storage backend works like any other backend, but there is no configuration to set up. Once the client is connected to the console, it can use the Duplicati Storage backend.

The service is currently in soft-launch mode and anyone interrested can contact Duplicati support to have a storage trial activated on their account.

In this release there is an experimental setting option that makes the actual operations (backup, restore, verify, etc.) run in an isolated sub-process. When this setting is enabled, the Duplicati server will spawn a new process for each operation, and the operation will run in that process. This means that if the process crashes or hangs, the Duplicati server will not be affected. It also allows the Duplicati server, and by extension the user, to force-kill a stuck process. While this feature is tested, it is not enabled by default as we are aware that there might be subtle issues and would like feedback on how the feature works in real-world scenarios.

The previous "SharePoint" and "OneDrive for Business" backends have been marked as deprecated, as Microsoft shut down the API they were calling. The migration step is to use the "SharePoint v2" backend (renamed to just "SharePoint" in this version) which uses the Microsoft Graph API.

This version also adds a new backend for the Spanish proivder Movistar, thanks to @redmars27. The backend is marked as "untested" as it can only be used (and tested) by Movistar customers.

This update also adds some more guards to the synthetic filelist generation update from 2.3.0.102, and a fix for OneDrive timeouts.

Detailed list of changes
  • Fixed an issue with Filen.io renaming
  • Added a failsafe when creating synthetic filelists
  • Added check code to ensure synthetic filelists are generated with required fields
  • Fixed restore message when no files are restored to reflect if existing files are found
  • Added support for marking backends as deprecated or untested
  • Deprecated od4b and mssp backends as the API is no longer working
  • Fixed some files showing as folders and missing size information
  • Hide the --unittest-mode flag from supported options
  • Fix parsing MacOS timestamps that are from year 0000
  • Updated internal controller to only expose async methods
  • Updated Mega S4 endpoint list
  • Fixed an issue where option settings could potentially be sticky across operations
  • Updated warning logic on restore if no files were restored
  • Fix a 100s timeout with OneDrive and SharePoint v2
  • Updated the Duplicati Backend to use the new API
  • Added support for running backup and restore in an isolated sub-process
  • Added MoviStar storage backend, thanks @redmars27
Changes in ngclient
  • Prevent iteration of non-folder paths
  • Enable selecting hidden items
  • Added path resolving on the "dynamic paths", such as "My documents"
  • Fixed compression option not being visible
  • Added support for showing backends as deprecated or untested
  • Fixed an issue where file size would not be shown in the file tree
  • Added an option to retry loading a backup list
View originalPermalink
How v2.3.0.103_canary_2026-05-22 went
View all

Discussion