Aquí hi ha 49 versions de Duplicati 2, des de 8 de març del 2024 fins a l’actual, 2.4.0.100. Cadascuna enllaça amb els instal·ladors del mateix desenvolupador.
49 versions en 2 anys · unes 20 per any
| Versió | Data | Mida | Fitxers |
|---|---|---|---|
| 2.4.0.100Darrera versió | 4 de setembre del 2026 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versióThis release is a canary release intended to be used for testing.
New Native VSS snapshot provider
This release introduces a new native VSS snapshot provider on Windows that replaces the previous providers. Hyper-V and MSSQL enumeration work with the native provider which is now default.
The new native VSS snapshot provider does not require VCRedist to be installed and works on x86, x64, and Arm64 systems.
The existing AlphaVSS and Vanara-based VSS snapshot providers can still be selected (but not on Arm64).
They will be removed in a future version as AlphaVSS is no longer maintained and the new native library has fewer dependencies than Vanara.
New WMI VSS snapshot provider
The previously supported WMIC provider has been removed as Windows updates will remove the executable it relies on.
Instead a new WMI snapshot provider is added which works similar to WMIC.
The WMI (and WMIC) provider gives a more light-weight VSS functionality, where it does not flush the writers (MSSQL, HyperV, etc) but just ensures a crash-consistent disk snapshot.
If you rely on systems that integrate with VSS, use the Native provider, if you just want to back up locked files, use the WMI provider.
Full-disk backup and VSS snapshots
With this release VSS is now also used for full-disk backups. This is fully transparent and works such that an active snapshot is detected and the full-disk reader will use the snapshot to access the disk contents.
Recovering from an interrupted first backup
Interrupting a first backup previously left the destination in an unrecoverable state: blocks and index files were uploaded, but no filelist was written, so neither backup nor repair could proceed. The recreate logic can now reconstruct a database from the index files alone, so an interrupted first backup can be resumed instead of requiring the destination to be discarded, thanks @JamBalaya56562.
Repair no longer removes metadata
The repair handler previously attempted to fix defective metadata with various reassignment strategies that could silently remove metadata. It now reports the problem and asks the user to run list-broken-files and purge-broken-files, which rewire the metadata while keeping the file content. Detection of zero-length and otherwise defective blocksets has also been improved.
Azure Blob Storage path support
The Azure Blob Storage backend previously ignored the path part of the destination URL and always stored data in the root of the container. The path is now treated as a prefix, so backups can be placed in a subfolder of a container. If you previously used a path in an Azure Blob Storage destination URL, the data was stored in the root; after upgrading, new backups will use the path as a prefix and will not see the previously uploaded files.
Prevent empty machine ID
A startup sequence issue could cause a clean install to report and connect to the console without a machine ID, which could cause various unwanted behaviors.
Linux sleep prevention
Duplicati can now prevent the system from sleeping during backup operations on Linux, similar to the existing support on Windows and macOS.
AppImage .zsync support
This release now has the .zsync file and relevant metadata such that future updates can be done efficiently and automatically by AppImage managers that support it.
--synchronous-upload deprecated
The --synchronous-upload option no longer has any effect and is now marked as deprecated. Existing configurations that set it will continue to load, but a warning is now logged. Use --asynchronous-upload-limit instead.
Default exclude volume information
The System Volume Information folder is now automatically excluded from backups as it cannot be reliably read and cannot be used in a restore process.
Performance and stability updates
Several performance fixes are applied to the local database queries, affecting most operations, mostly by @JamBalaya56562.
Many edge cases around unexpected server responses and url encoding issues have also been |
| 2.3.0.110 | 25 d’agost del 2026 | — | 64 bits MSI32 bits MSI Notes de la versióThis release is a canary release intended to be used for testing.
Database update to version 20
This release updates the local database schema to version 20. The update adds a label column to the fileset table and is applied automatically on first use. After the update, the database can no longer be opened by earlier versions of Duplicati. If you need to downgrade, the bundled database tool (duplicati-database-tool) can downgrade the database back to version 19; downgrading removes the labels, but otherwise causes no data loss.
Labels on backup versions
Backup versions can now carry an optional text label. Labels have no functional purpose, but they help mark and distinguish versions, for example when backups are hand-curated instead of running on a schedule. The CLI and UI supports setting and showing labels.
Partition-level backup and restore
It is now possible to select a single disk partition as the backup source, instead of selecting the full disk and filtering the unwanted partitions. Restores are likewise more flexible: in addition to disk-to-disk restores, a single partition can now be restored into a partition on another disk, creating the partition as needed.
This also fixes a bug where a failing priority file would leave the restore stuck until it was cancelled, and a number of issues with enumerating and filtering disks and partitions, in particular on Windows.
Automatic metadata storage for sources that need it
Backups using a source provider that relies on database metadata, such as the disk image provider, previously required the user to set --store-metadata-content-in-database=true manually. The setting is now applied automatically when the source needs it, and can still be overridden by setting the option explicitly.
QNAP packages
This release adds native QNAP package support. Similar to the Synology package, it integrates with the QNAP OS, uses the built-in authentication, and only allows access for administrators.
Stricter Google Cloud Storage credentials
Google Cloud Storage credentials are now read as service account credentials, which is what the options are documented to take. Other credential types, such as stored user credentials or external account configurations, are now refused. If you authenticate to Google Cloud Storage, or the Google Cloud secret provider, with anything other than a service account key, you need to switch to a service account key.
Detailed list of changes
- Updated all localizations, thanks to all translators
- Added labels to backup versions, with CLI, API, and UI support
- Added partition-level backup and partition-to-partition restore
- Fixed disk image provider not initializing when listing drives, and improved disk enumeration and filter handling on Windows
- Automatically enabled --store-metadata-content-in-database when the source provider requires it
- Added native QNAP package support
- Added a watchdog that restarts a stale remote management connection, and fixed issues that could drop the connection
- Google Cloud Storage credentials are now read strictly as service accounts, thanks @JamBalaya56562
- Fixed WebDAV destinations with a + in the path reporting uploaded files as missing, thanks @JamBalaya56562
- Fixed Windows file:// target URLs with a query string being misparsed
- Stopped reporting quota errors on read-only operations such as restore, thanks @JamBalaya56562
- Fixed stale SQLite query statistics causing extremely slow fileset and consistency queries on growing databases, thanks @JamBalaya56562
- Sped up cleanup after deleting a backup version by avoiding a full table scan
- Fixed a similarly named file and folder in the source causing the folder to be omitted, and allowed explicitly including a file inside an excluded folder
- Fixed backend statistics reporting a bogus zero timestamp in the operation log, thanks @JamBalaya56562
- Fixed Linux desktop notifications using an unsupported signal API, thanks @JamBalaya56562
- Fixed a restore with failing p |
| 2.3.0.109 | 14 d’agost del 2026 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versióThis release is a canary release intended to be used for testing.
Native desktop notifications
This release adds native desktop notifications on all supported desktop platforms. Backup results and other tray-icon notifications are now shown as real operating-system notifications instead of only appearing inside the UI.
On Windows, notifications are shown as Windows toast notifications with click-to-open support, thanks @JamBalaya56562. On macOS, notifications are shown via the native notification center. On Linux, notifications are sent over DBus and integrate with the desktop environment's notification daemon.
Native environment variable syntax on Linux and macOS
Paths and filters now support the native $VAR and ${VAR} environment variable syntax on Linux and macOS, most notably $HOME, thanks @JamBalaya56562. Previously only the Windows-style %VAR% syntax was expanded, so the native forms were silently left unexpanded on non-Windows systems.
The expansion is additive: %VAR% keeps working everywhere, and an undefined variable is left as-is. If you previously worked around this with literal $ characters in paths or filters, those entries will now be expanded.
Restore improvements and fixes
Several restore issues have been fixed in this release, thanks @JamBalaya56562. Restore now honors stop requests promptly: an abort interrupts in-progress file reads and writes, where it previously could keep running for minutes after the request. An aborted restore no longer reports errors, blames the backup, or leaks temporary files, and files that a shutdown interrupted are no longer listed as broken. A requested shutdown is in general no longer reported as a failure. Two bugs that could corrupt restored data were fixed: a wrong seek offset when copying verified local blocks, and an incorrect buffer copy when merging a hash fragment. Restore now also preserves the selected folder and applies configured default options (such as --restore-permissions) when the restore request does not explicitly specify them. On the legacy restore engine, restoring a directory symlink no longer creates a real folder in its place.
Stricter validation of settings
This release adds validation in places that previously failed silently, which may surface new warnings or errors after upgrading:
- Misconfigured filters are now detected and reported with a warning, instead of silently matching nothing.
- An unusable update check interval is now rejected instead of being ignored.
- An invalid webservice timezone now fails instead of being silently reset.
Detailed list of changes
- Let an abort interrupt the restore's file reads and writes, so a restore stops promptly, thanks @JamBalaya56562
- Stopped listing files interrupted by a shutdown as broken during restore, thanks @JamBalaya56562
- Stopped reporting a requested shutdown as a failure, thanks @JamBalaya56562
- Fixed the legacy restore engine creating a real folder in place of a directory symlink, thanks @JamBalaya56562
- Ran all main database queries through the slow-query monitor, so --long-database-query-threshold now warns about hanging queries, thanks @JamBalaya56562
- Added native desktop notifications: Windows toast notifications with click-to-open, macOS notifications, and Linux DBus notifications, thanks @JamBalaya56562
- Added support for native $VAR/${VAR} environment variable syntax in paths and filters on Linux and macOS, thanks @JamBalaya56562
- Made restore honor stop requests; aborted restores no longer report errors, blame the backup, or leak temp files, thanks @JamBalaya56562
- Fixed wrong seek offset when copying verified local blocks during restore, thanks @JamBalaya56562
- Fixed incorrect buffer copy when merging a hash fragment during restore, thanks @JamBalaya56562
- Preserved the selected folder during restore, thanks @JamBalaya56562
- Let configured default options apply when restore options are not specified, thanks @JamBalaya56562
- Prevented credentials from leaking through URL sa |
| 2.3.0.108 | 20 de juliol del 2026 | — | 64 bits MSI32 bits MSI Notes de la versió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 |
| 2.3.0.107 | 13 de juliol del 2026 | — | 64 bits MSI32 bits MSI Notes de la versió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 data |
| 2.3.0.106 | 3 de juliol del 2026 | — | 64 bits MSI32 bits MSI Notes de la versió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 |
| 2.3.0.105 | 24 de juny del 2026 | — | 64 bits MSI32 bits MSI Notes de la versió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 t |
| 2.3.0.104 | 4 de juny del 2026 | — | 64 bits MSI32 bits MSI Notes de la versió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 |
| 2.3.0.103 | 22 de maig del 2026 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versió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 |
| 2.3.0.102 | 9 de maig del 2026 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versióThis release is a canary release intended to be used for testing.
Changes in this version
Drime Cloud Backend
Added support for Drime Cloud as a new storage backend.
Slow Query Monitor
Added a slow query monitor to help diagnose performance issues by tracking long-running database queries.
Synthetic Filelist Optimization
Optimized the creation of synthetic filelists, improving performance for large datasets.
Empty Index File Handling
Improved handling of empty index files to prevent errors during database recreate and restore operations.
SQL Logging Improvements
Improved SQL logging across the database layer for better diagnostics and debugging.
Detailed Changes
- Added Drime Cloud backend support
- Improved websocket handling for remote management
- Added slow query monitor for database performance diagnostics
- Optimized synthetic filelist creation
- Improved handling of empty index files
- Persisted used compression module in volume reader
- Improved SQL logging across database operations
- Updated Office 365 strings to Microsoft 365
- Added package to Docker image
- Improved immediate usage reporter updates
ngclient Updates
- 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 |
| 2.3.0.101 | 4 de maig del 2026 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versió2026-05-04 - 2.3.0.101_canary_2026-05-04
This release is a canary release intended to be used for testing.
Changes in this version
Zstd Compression Support
Added a new experimental compression module that supports the zstd compression algorithm, providing faster and more efficient compression for backups.
This new format is currently only for testing and will log a warning when used. Please do report feedback on speed or usability for this feature.
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 this version (2.3.0.101).
Post-Backup Script Support
The RunScript module now supports running scripts when a backup has finished, but before checks and compaction.
With this new script option it is possible to pause/resume critical functions for a shorter period.
Remote Synchronization Improvements
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.
The remote sync code now handles backend instantiation failures more gracefully.
Maintenance and Recompress Fixes
Fixed an issue where the write-path option was not correctly persisted and restored during maintenance and recompress operations, thanks @aureliandevel.
More Defensive Delete Operations
Added additional defensive checks during the delete operation to prevent database constraint violations in edge cases.
Certificate Chain Preservation
The web server again returns full certificate chains when serving HTTPS.
Avalonia Update
Updated the Avalonia UI framework to version 12.0.2, which no longer requires DX12.
Detailed Changes
- Added experimental zstd compression support
- Updated SharpAESCrypt to version 3
- Added post-backup script support to the RunScript module
- Added destination space quota checks to remote synchronization
- Added option to disable quota checks in remote synchronization
- Improved S3 backend to use precomputed hashes for uploads
- Added content length support for non-seekable streams in S3 backend
- Improved error handling in remote sync
- Fixed persisted write-path option for maintenance and recompress operations, thanks @aureliandevel
- Added more defensive checks during delete operations
- Fixed certificate chain preservation in HTTPS server
- Added support for DO_NOT_TRACK environment variable
- Added logging of 500 errors to live log
- Fixed SecretProvider initialization failure handling
- Improved expired remote control link handling
- Fixed full-result option mismatch with alias support, thanks @aureliandevel
- Added remote-volume-size option alias
- Updated Avalonia to version 12.0.2
- Updated all localizations, thanks to all translators
ngclient changes
- Removed flicker on console signup
- Expanded restore view to work better on large screens
- Fixed filters on Commandline page not being fully editable
- Added filename searching to the restore page
- Fixed an issue where a folder would not always expand when loading the tree
- Fixed an issue where invalid requests would be sent to the backend when loading the tree
- Updated to latest ShipUI
- Fixed an issue with referencing crypto API directly |
| 2.3.0.100 | 23 d’abril del 2026 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versióThis release is a canary release intended to be used for testing.
Changes in this version
FAT32 Support for Full Disk Backup
Added FAT32 file system support for the full disk backup feature, including boot sector parser, table reader, streams, and directory walker.
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.
Crash Dialog
Added a crash dialog window that appears when the application encounters an unhandled exception.
DeleteBackup Command
Added a DeleteBackup command to ServerUtil for deleting backups from the command line, thanks to @WouterTinus.
Avalonia 12 Update
Updated Avalonia UI framework to version 12.
Performance Improvements
Changed DataBlock and StreamBlockSplitter to use ArrayPool instead of new byte[] allocations, reducing memory pressure during backup operations, and speeding up backups.
Improved the disk-usage logic for improved performance on restores, thanks to @aureliandevel.
Detailed Changes
- Improved localization resilience and updated all translations, thanks to all translators
- Fixed empty file db-recreate issue
- Improved configuration speed from console
- Updated MailKit, MimeKit, Avalonia
- Fixed remote sync ShouldTrigger error handling
- Fixed a settings save bug
- Performance improvement using ArrayPool for backup operations
- Updated SharpCompress library
- Added crash dialog window
- Added DeleteBackup command to ServerUtil, thanks @WouterTinus
- Refactored volume manager LRU cache, thanks @aureliandevel
- Added FAT32 file system support for full disk backup
- Fixed auth refresh infinite loop in ngax, thnaks @adnit
- Moved remote synchronization to Main library with improved progress tracking
- Fixed dollar sign in filename regex issue
Updates to ngclient
- Fixed an issue with dblock-size not being saved correctly
- Fixed an issue where the notification buttons were hidden |
| 2.2.1.0 | 5 de març del 2026 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versió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 ns 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, 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, 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 ne |
| 2.2.0.107 | 20 de març del 2026 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versió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 |
| 2.2.0.106 | 6 de març del 2026 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versió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 |
| 2.2.0.105 | 20 de febrer del 2026 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versió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, 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
- 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
- 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
- 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 |
| 2.2.0.104 | 6 de febrer del 2026 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versió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, 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 inv |
| 2.2.0.103 | 8 de gener del 2026 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versió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 |
| 2.2.0.102 | 12 de desembre del 2025 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versió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
- 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 co |
| 2.2.0.101 | 20 de novembre del 2025 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versió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
- 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 |
| 2.2.0.100 | 5 de novembre del 2025 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versió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
- 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 |
| 2.2.0.2 | 26 de novembre del 2025 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versióThis is a beta release that primarily solves an issue with the new restore method, which could use up a significant amout of storage.
With this release, the option --restore-cache-max is added, which allows you to limit the amount of storage used during the restore process.
A few minor fixes are also included, which are detailed below.
Changes from 2.2.0.1 to 2.2.0.2
- ServerUtil returns the backup status when waiting for completion, thanks @greyxr
- Updated the Uplink.NET library to latest version (for Storj)
- Disabled the built-in retry and timeout for Azure blob storage
- Updated localizations
- Added Rabata.io as an S3 provider
- Added support for supplementary groups for service on Linux
- Added support for limiting the restore process disk usage
Changes in user interface from 2.2.0.1 to 2.2.0.2
- 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 Angular 21
- Fixed loading Chinese language
- Added different validation for B2 bucket names
- Added support for hiding the console connection indicator |
| 2.1.2.3 | 11 d’octubre del 2025 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versióThis release is a beta release inteded to be used for testing.
If no major issue are found with this release, it will be used to create a new stable release.
About this release
This release is a minor bugfix release from the previous beta and fixes a few minor issues discovered during the testing period.
Database version upgrade
No database version upgrades in this version, but the beta releases updates the local database to v17 and the settings database to v9.
The database tool can downgrade to previous versions.
New since last beta
- Added an error code check for B2 uploads
- Updated ngclient to latest version to fix tooltip issues
Summary of large changes since last stable
- New user interface
- New datafolder default location for Administrator/root
- New backends pCloud, Filen and Filejump.
- New backend for SMB to avoid mounting shares
- Removed Sia backend and marked Mega as deprecated
- Common http options are now applied to backends, and timeout options are renamed
- Installer packages are now signed by Duplicati Inc
- Remote source support for S3, SSH and SMB
- Database is upgraded to v17 for local db, and v9 for settings database
- Database upgrade/downgrade tool is provided
- New file and folder enumeration logic
- Timeouts logic on all backend operations
- Improved database validation and repair logic
- ServerUtil can output JSON for script integration
- Improved support for having Duplicati behind a proxy
- Updated throttle logic, all streams share the throttle
- Improved repair logic
- VSS is automatically on if running on Windows with sufficient privileges
- Improved backend test function
- Ability to suppress warnings
- Support for remotely managed backup configs
- Added support for Google IAM |
| 2.1.2.2 | 10 d’octubre del 2025 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versióThis release is a beta release inteded to be used for testing.
If no major issue are found with this release, it will be used to create a new stable release.
About this release
This release is primarily a bugfix release from the previous beta and fixes a few minor issues discovered during the testing period.
Database version upgrade
No database version upgrades in this version, but the beta releases updates the local database to v17 and the settings database to v9.
The database tool can downgrade to previous versions.
New since last beta
- Fixed an issue with rebuilt database having null values for hashes
- Fixed an issue with non-US locales using different characters for the negative number symbol
- Updated UI to latest version to fix tooltip issues
Summary of large changes since last stable
- New user interface
- New datafolder default location for Administrator/root
- New backends pCloud, Filen and Filejump.
- New backend for SMB to avoid mounting shares
- Removed Sia backend and marked Mega as deprecated
- Common http options are now applied to backends, and timeout options are renamed
- Installer packages are now signed by Duplicati Inc
- Remote source support for S3, SSH and SMB
- Database is upgraded to v17 for local db, and v9 for settings database
- Database upgrade/downgrade tool is provided
- New file and folder enumeration logic
- Timeouts logic on all backend operations
- Improved database validation and repair logic
- ServerUtil can output JSON for script integration
- Improved support for having Duplicati behind a proxy
- Updated throttle logic, all streams share the throttle
- Improved repair logic
- VSS is automatically on if running on Windows with sufficient privileges
- Improved backend test function
- Ability to suppress warnings
- Support for remotely managed backup configs
- Added support for Google IAM |
| 2.1.2.1 | 3 d’octubre del 2025 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versióThis release is a beta release inteded to be used for testing.
If no major issue are found with this release, it will be used to create a new stable release.
About this release
This release is primarily a bugfix release from the previous beta and fixes a few minor issues discovered during the testing period.
A few minor enhancements have been added as they proved stable.
Database version upgrade
This version updates the server database to v9 and adds an extra column.
The database tool can downgrade without data loss.
Permission update on Windows
To simplify working with a Windows Service based installation, the privileges set on the database and data folder now grants explicit access to Admin as well as the intended users.
New since last beta
- Revert MinIO API to v6.0.0 to fix upload failures
- S3 checks that the path does not contain an endpoint, thanks @smyja
- Fixed support for HyperV and MSSQL in new user interface
- Better parsing of MSGraph errors
- Support for remotely managed backup configs
- Removing null characters from paths to fix a Windows mounted/virtual folder issue
- Fixed log not showing values for SQL statements
- Added support for Google IAM
- Updated CoCoL to remove a flurry of unhandled exception log messages
- Fixed a case where recreated index files were sometimes incomplete
- Permissions for datafolder on Windows are now granted to Administrator as well
- Fixed a slowdown when listing files to restore
- Updated UI to latest version
Summary of large changes since last stable
- New user interface
- New datafolder default location for Administrator/root
- New backends pCloud, Filen and Filejump.
- New backend for SMB to avoid mounting shares
- Removed Sia backend and marked Mega as deprecated
- Common http options are now applied to backends, and timeout options are renamed
- Installer packages are now signed by Duplicati Inc
- Remote source support for S3, SSH and SMB
- Database is upgraded to v17 for local db, and v9 for settings database
- Database upgrade/downgrade tool is provided
- New file and folder enumeration logic
- Timeouts logic on all backend operations
- Improved database validation and repair logic
- ServerUtil can output JSON for script integration
- Improved support for having Duplicati behind a proxy
- Updated throttle logic, all streams share the throttle
- Improved repair logic
- VSS is automatically on if running on Windows with sufficient privileges
- Improved backend test function
- Ability to suppress warnings |
| 2.1.2.0 | 20 d’agost del 2025 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versióThis release is a beta release inteded to be used for testing.
If no major issue are found with this release, it will be used to create a new stable release.
About this release
This is the first beta release since the stable release went out, and we are super excited to reach this milestone!
The most visual change for this version is the use of the new user interface, but there is also a massive list of fixes and improvements in this version. Below is a summary of some of the larger changes.
If you have already been using the experimental release, this release is the same but with some additional bug fixes.
New user interface
The new user interface is rewritten from scratch and has the same general structure as the previous one, but we made some things more user friendly. The UI is fully functional, but we continue to improve on it.
Should you find a function that is missing, we have included buttons to switch back-n-forth between the two user interfaces.
New backends
We added support for using the cloud services pCloud, Filen and Filejump.
We also added support for connections with SMB.
The new SMB backend can connect directly to a Windows share without needing to mount the folder or install SMB support, and it works on Windows, Linux and macOS.
New restore flow
The new restore flow is enabled by default and you should not notice anything other than faster restores. In case there is an issue with this, it is possible to set the option --restore-legacy=true to fall back to the previous restore flow.
New signing keys
The packages are now signed by Duplicati Inc, and the Windows packages are signed with EV certificates.
Remote source support
With this version it is now possible to make backups of local and some remote data.
In this version, S3, IDrive, SSH and CIFS sources are supported.
The UI does not yet support editing this nicely, but you can enter a path in the special format to "mount" the remote source.
For the commandline (and manual text entry in the UI) enter sources such as:
// Linux/MacOS
@/mnt/s3-data|s3://example?auth-username=...
// Windows
@X:\server1|smb://server/share?auth-username=...
This will cause the backups to fetch data from the remote sources.
We will add an editor to the UI to allow browsing the remote sources, similar to the local files.
Archive attributes support
For AWS S3 and Azure Blob Storage, Duplicati will now respect the archive attributes and not attempt to read and verify files that have been moved to cold storage.
Database updates
This version updates the format of the local database to version 17.
To assist in downgrades there is now a bundled CommandLine.DatabaseTool.exe / duplicati-database-tool that can downgrade databases with minimal data loss. For a downgrade from this version to 2.1.0.5 this will only drop a few indexes and not cause any data loss. Be sure to run the database tool before downgrading the install.
Throttle updated
For backups that throttle the transfer speeds, the new throttle logic uses a shared limit for the backup, where previous versions would apply the throttle for each individual stream.
Removed backends
The Sia backend has been removed due to an incompatible hardfork.
The Mega backend has been marked as unmaintained due to lack of a supported library.
For now, the Mega library still works, but you should migrate away from it. The new Mega S4 storage might be an option.
Updates to all backends
All backends are updated to handle timeouts in a granular manner.
This means the option --http-operations-timeout is no longer present, but instead there are now --read-write-timeout, --list-timeout, and -short-timeout. These have sensible defaults but are open for tweaking.
The option --allowed-ssl-versions is only present for the FTP backend, all other backends use the operating system to figure out what version to use.
New datafolder default location
For Duplicati running as a service there are now changes for the default folder location.
If you are not running Duplica |
| 2.1.1.103 | 25 de setembre del 2025 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versió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.
Database update to v9 (also in previous version)
This version updates the server settings database to v9 to add a new column to the Backup table.
The database tool can downgrade without data loss (assuming that external configs were not loaded).
Detailed list of changes:
- Fixed issue with invariant formatting causing crashes during backup
- Added Administrator permissions to data folders on Windows
- Fixed an issue with the "Test connection" button after passwords are masked
ngclient changes:
- Updated localizations
- Updated API calls to support masked passwords for test connection |
| 2.1.1.102 | 23 de setembre del 2025 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versióThis release is a canary release intended to be used for testing.
Changes in this versions
This version contains a number of fixes for issues discovered through testing, including fixes for the restore process and the index file recreate.
This version adds support for Service Account JSON when using Google Clouds Services for storage.
To improve security, this version adds masking of passwords so it is harder to leak sensitive values.
Database update to v9
This version updates the server settings database to v9 to add a new column to the Backup table.
The database tool can downgrade without data loss (assuming that external configs were not loaded).
Detailed list of changes:
- Fixed an issue with the restore flow where it would fail if a local file existed but was locked
- Removed display of custom values in NGAX dropdowns
- Fixed an issue with locale settings affecting SQL statements
- Mask passwords when sending them through the API to avoid leaking secrets
- Added retry option for backend tester
- Downgrade Minio library to 6.0.0 due to faulty error handling in later versions
- Validate that the S3 hostname does not contain a path, thanks @smyja
- Updated logic for showing HyperV and MSSQL in source browser
- Fixed an issue where the MSGraph backend would attempt to re-read the response body for error messages
- Added support for remotely managed backup configurations
- Removed leading and trailing null characters from paths to work around an issue with .NET Core and some virtual filesystems
- Improved debug logging of SQL statements to use invariant locale
- Added support for Service Account JSON authentication with GCS
- Updated CoCoL to fix a flood of unhandled exception messages
- Fixed a case where a recreated index volume would sometimes not contain all data
- Added support for sending webmodule data without needing a callback
ngclient changes:
- Fixed images not showing for the destination list
- Fixed some UI rendering issues caused by missing values in data
- Added destination icons to backup list view
- Fixed destinations page not scrolling correctly
- Updated ShipUI library
- Fixed an issue with text-editing of advanced options that could loose values
- Improved support for smaller screens
- Fixed some button displays and added dark theme for loading screen
- Simplified source and destination trees
- Source tree now supports HyperV and MSSQL sources, if present
- Updated to Angular v20.2
- Added support for showing externally managed reporting url and backups
- Fixed wording on channels to reflect Beta status
- Fixed some typo's and casing issues
- Correct handling of advanced options with leading slashes
- Prevent adding a leading slash for Windows UNC style paths
- Fixed file backend ignoring advanced options
- Added multiple search terms to destination list, and fixed priority sorting
- Added machine name to the left-hand menu for easier identification
- Improved logic for import to better reflect the current state when editing
- Fixed support for choosing filter groups when adding source filters
- Added support for GCS Service Account JSON
- Fixed wording on restore to not mention the option to restore a config from storage |
| 2.1.1.101 | 19 d’agost del 2025 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versióThis release is a canary release intended to be used for testing.
Changes in this versions
This version has an update to the restore process that reduces the amount of temporary space used during restores.
With the option --restore-volume-cache-hint it is now possible to choose how much size to use, and the dafult is 4GiB.
A problem with ngclient saving sizes with the default multiplier was fixed, and an improved list of destinations was added.
The breaking change in 2.1.1.100 with the --allow-empty-source was tested and found to have too many negative issues, so it was inverted to be --prevent-empty-source such that it is possible to turn it on, but it does not by default fail if the source folder is empty.
For Debian packages, the libICU package is now a recommended dependency and will not prevent installing the package.
A pre-install script warns if no libICU package was found, and shows how to run without libICU present.
Detailed list of changes:
- Fixed an issue with null values on Sharepoint mounted folders
- Improve support for libICU on Debian
- Fixed a case where testing would fail on a missing hash value
- Added support for limiting the usage of local temporary disk space during restore
- Inverted --allow-empty-source to --prevent-empty-source (opt-in)
- Fixed an issue with S3 backend reading stream twice
- Lowercase S3 AWS Client content hash for better compatibility with other providers
ngclient changes:
- Improved searching for destinations
- Resolved some issues with colors not being applied
- Fixed an issue with non-default size multiplier causing invalid values to be saved
- Streamlined suffixes for sizes to be the same
- Removed support for picking bytes as the multiplier
- Fixed issue with livelog page requesting invalid data when disabled |
| 2.1.1.100 | 8 d’agost del 2025 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versióThis release is a canary release intended to be used for testing.
Changes in this versions
This build adresses an issue with timeouts on B2 uploads, along with a number of minor fixes.
There is a breaking change in that Duplicati will now consider an empty source folder as an error, unless you specify --allow-empty-source. This is done to avoid common mistakes where a folder was supposed to be mounted but was not.
The Docker images have been overhauled and now supports running with a custom UID/GID combination.
The login flow has been secured slightly and now features an extra nonce value that is required on requests. If you have custom code authenticating with Duplicati this is a breaking change.
Finally, there is now also an option to log internal HTTP requests to the log for tracing and debugging.
Detailed list of changes:
- Fixed commandline test command issuing a warning
- Fixed erratic timeouts on B2
- Corrected reported timeouts in BackendTester
- Fixed some quoting of SQLite queries
- Update Docker images with UID/GID support
- Fixed CLI help not showing the datafolder environment variable name
- Changed repair message to suggest purge-broken-files
- Fixed a thread resource leak in TrayIcon
- Fixed Vacuum failing to complete due to active transaction
- Fixed an issue with missing hashes on remote volumes causing crashes
- Updated localizations, thanks to all translators
- Fixed a case where databases could be opened with pooling enabled
- Remote Sync tool now restart and retries on transfer failures
- Fixed an issue that prevent setting a default theme
- Added detailed output option to serverutil list-backups command
- Added --allow-empty-source option
- Added nonce to refresh tokens and improved non-persisted logins
- Updated multiple packages to latest versions, including AWSSDK, Azure, SMB, FluentFTP, and SharpCompress
- Added option to log http requests and socket data
ngclient changes:
- Converted from Sparkle to ShipUI
- Progress bar is now fixed length
- Updated translations, thanks to all translators
- Added support for a refresh nonce |
| 2.1.1.0 | 17 de juliol del 2025 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versióThis release is an experimental release inteded to be used for testing.
The intention is to adjust any issues uncovered with this version, and eventually get a new stable release.
About this release
This is the first experimental release since the stable release went out, and we are super excited to reach this milestone!
The most visual change for this version is the use of the new user interface, but there is also a massive list of fixes and improvements in this version. Below is a summary of some of the larger changes.
New user interface
The new user interface is rewritten from scratch and has the same general structure as the previous one, but we made some things more user friendly. The UI is fully functional, but we continue to improve on it.
Should you find a function that is missing, we have included buttons to switch back-n-forth between the two user interfaces.
New backends
We added support for using the cloud services pCloud, Filen and Filejump.
We also added support for connections with SMB.
The new SMB backend can connect directly to a Windows share without needing to mount the folder or install SMB support, and it works on Windows, Linux and macOS.
New restore flow
The new restore flow is enabled by default and you should not notice anything other than faster restores. In case there is an issue with this, it is possible to set the option --restore-legacy=true to fall back to the previous restore flow.
New signing keys
The packages are now signed by Duplicati Inc, and the Windows packages are signed with EV certificates.
Remote source support
With this version it is now possible to make backups of local and some remote data.
In this version, S3, IDrive, SSH and CIFS sources are supported.
The UI does not yet support editing this nicely, but you can enter a path in the special format to "mount" the remote source.
For the commandline (and manual text entry in the UI) enter sources such as:
// Linux/MacOS
@/mnt/s3-data|s3://example?auth-username=...
// Windows
@X:\server1|smb://server/share?auth-username=...
This will cause the backups to fetch data from the remote sources.
We will add an editor to the UI to allow browsing the remote sources, similar to the local files.
Archive attributes support
For AWS S3 and Azure Blob Storage, Duplicati will now respect the archive attributes and not attempt to read and verify files that have been moved to cold storage.
Database updates
This version updates the format of the local database to version 17.
To assist in downgrades there is now a bundled CommandLine.DatabaseTool.exe / duplicati-database-tool that can downgrade databases with minimal data loss. For a downgrade from this version to 2.1.0.5 this will only drop a few indexes and not cause any data loss. Be sure to run the database tool before downgrading the install.
Throttle updated
For backups that throttle the transfer speeds, the new throttle logic uses a shared limit for the backup, where previous versions would apply the throttle for each individual stream.
Removed backends
The Sia backend has been removed due to an incompatible hardfork.
The Mega backend has been marked as unmaintained due to lack of a supported library.
For now, the Mega library still works, but you should migrate away from it. The new Mega S4 storage might be an option.
Updates to all backends
All backends are updated to handle timeouts in a granular manner.
This means the option --http-operations-timeout is no longer present, but instead there are now --read-write-timeout, --list-timeout, and -short-timeout. These have sensible defaults but are open for tweaking.
The option --allowed-ssl-versions is only present for the FTP backend, all other backends use the operating system to figure out what version to use.
New datafolder default location
For Duplicati running as a service there are now changes for the default folder location.
If you are not running Duplicati as a service/daemon, this change has no effect.
Windows: Avoid storing data in C:\Win |
| 2.1.0.125 | 15 de juliol del 2025 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versióThis release is a canary release intended to be used for testing.
Changes in this versions
This is almost identical to 2.1.0.124, but adds some destination URL parsing fixes.
Detailed list of changes:
- Fixed wrong SQLite environment variable name
- Don't show stack if stopping a backup due to missing sources
- Update logic for probing for an access method in ServerUtil
- Fixed ngax not supporting --use-ssl
- Use template icons on macOS
- Fixed an error when loading log data
- Avoid floods of notifications
- Corrected encode/decode of URLs
- Fixed issue with recreated index files not reporting deleted blocks
New in 2.1.0.125
- Fixed parsing of correctly encoded file-based URLs on Windows
ngclient changes
- Fixed SMB editor handling paths incorrectly
- Fixed source editor not inserting empty paths
- Fixed an issue with selecting paths with a space
- Fixed some dialogs not updating UI after clicking cancelable
- Removed an extra leading slash for Windows destination paths
- Recalculate file existing on database move
- Show correct date and format in logs
New in 2.1.0.125
- Fixed URL for bugreport in ngclient
- Fixed incorrect encoding/decoding of Windows file-paths for destination
- Fixed logic for removing source paths to no create empty entries
- Added a partial marker for fileset version that are partial |
| 2.1.0.124 | 11 de juliol del 2025 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versióThis release is a canary release intended to be used for testing.
Changes in this versions
This is primarily a bugfix release for some minor issues that were reported on 2.1.0.123.
Detailed list of changes:
- Fixed wrong SQLite environment variable name
- Don't show stack if stopping a backup due to missing sources
- Update logic for probing for an access method in ServerUtil
- Fixed ngax not supporting --use-ssl
- Use template icons on macOS
- Fixed an error when loading log data
- Avoid floods of notifications
- Corrected encode/decode of URLs
- Fixed issue with recreated index files not reporting deleted blocks
ngclient changes
- Fixed SMB editor handling paths incorrectly
- Fixed source editor not inserting empty paths
- Fixed an issue with selecting paths with a space
- Fixed some dialogs not updating UI after clicking cancelable
- Removed an extra leading slash for Windows destination paths
- Recalculate file existing on database move
- Show correct date and format in logs |
| 2.1.0.123 | 9 de juliol del 2025 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versióThis release is a canary release intended to be used for testing.
This version is nearly identical to 2.1.0.121 which has a startup crash.
This version is nearly identical to 2.1.0.122 which has an issue with detached TrayIcon.
Major changes in this version
This version introduces a new SQLite library, a new VSS provider, and some minor bugfixes.
SQLite update
This version has changed the SQLite library from the previous System.Data.SQLite library to using Microsoft.Data.Sqlite.
This update was quite invasive, as the new SQLite library does not support positional arguments in SQL queries, which was used extensively in the Duplicati codebase.
With the update we see measurable speedups across all queries, and we are producing an article that describes our findings.
The update also bumps the SQLite library to use the latest available version and makes all SQLite queries async and cancelable, making the stop commands more responsive.
New VSS provider supprt
The AlphaVSS library that is used for creating VSS snapshots is no longer being maintained.
This version now defaults to using the Vanara API layer to call the Windows VSS API and create snapshots.
Like before, this still requires the VC++ Redist to be installed.
For now, it is still possible to use AlphaVSS by setting --snapshot-provider=AlphaVSS.
Note that neither works on ARM64 as Windows is lacking libraries and tools for native ARM64 snapshots, only --snapshot-provider=WMIC works on ARM64.
Bugfixing for ngclient
A number of reported compatibility issues with ngax has been fixed in this version.
Detailed list of changes:
- Commandline UI expands environment variables
- The file:// backend is no longer throttle exempt by default
- Fixed issue with TrayIcon not outputting help text in all cases
- No longer retains SeBackupPrivilege after testing for permissions
- Refresh token lifetime can now be configured
- Fixed multiple issues with kill signals not stopping the process
- Secret provider now correctly applied for all TrayIcon arguments
- Updated SQLite library to use Microsoft.Data.Sqlite packages instead
- Default VSS provider is now Vanara
- Hide options that are not supported on the current OS
- Fixed backup schedule order after multiple missed backups
- Fixed an issue with Google Drive backend not creating folders
- Updated all localization, thanks to all translators
Updated in 2.1.0.122
- Fixed numeric Id sorting
- Updated texts for disabling index recreate
- Fixed a crash on startup in 2.1.0.121
- Fixed an issue with restore listing speed
Updated in 2.1.0.123
- Fixed a crash with detached TrayIcon
- Fixed an error when creating a bugreport database
- Added faster status updates in UI
- Fixed a parsing issue with the remote sync tool
- Fixed an issue where some operations would report success even if they failed
Ngclient changes:
- Fixed issue with -- option prefixes not being matched
- Updated all localization, thanks to all translators
- Fixed issue with en-GB not using 24h time format
- Fixed issue with editor for GCS not having a path field
- Fixed issue with editor for B2 introducing extra / characters
- Fixed supporting -s postfix for backends for backwards compatibility
- Fixed case-insensitive support for boolean and enumeration options
- Custom arguments is now a two-line input
Updated in 2.1.0.123
- Fixed showing destinations with no custom UI
- Fixed an issue with decoding URL artefacts in paths
- Change storage of preferences (this will reset som settings like sort order and dark-mode)
- Added option to not store a cookie token after login
- Added a button to create folders when restoring and picking destination
- Fixed deprecating CIFS and using SMB instead
- Added Next Scheduled Run to backup list
- Added a "Operation is starting ..." message to not show "Starting backup ..."
- Moved bugreport to the database page
- Fixed wrong editor mapping for COS and AliyunOSS
- Fixed an issue where a custom text for a dropdown would be lost on edit
- Fixed an issue |
| 2.1.0.122 | 7 de juliol del 2025 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versióThis release is a canary release intended to be used for testing.
This version is nearly identical to 2.1.0.121 which has a startup crash.
Major changes in this version
This version introduces a new SQLite library, a new VSS provider, and some minor bugfixes.
SQLite update
This version has changed the SQLite library from the previous System.Data.SQLite library to using Microsoft.Data.Sqlite.
This update was quite invasive, as the new SQLite library does not support positional arguments in SQL queries, which was used extensively in the Duplicati codebase.
With the update we see measurable speedups across all queries, and we are producing an article that describes our findings.
The update also bumps the SQLite library to use the latest available version and makes all SQLite queries async and cancelable, making the stop commands more responsive.
New VSS provider supprt
The AlphaVSS library that is used for creating VSS snapshots is no longer being maintained.
This version now defaults to using the Vanara API layer to call the Windows VSS API and create snapshots.
Like before, this still requires the VC++ Redist to be installed.
For now, it is still possible to use AlphaVSS by setting --snapshot-provider=AlphaVSS.
Note that neither works on ARM64 as Windows is lacking libraries and tools for native ARM64 snapshots, only --snapshot-provider=WMIC works on ARM64.
Bugfixing for ngclient
A number of reported compatibility issues with ngax has been fixed in this version.
Detailed list of changes:
- Commandline UI expands environment variables
- The file:// backend is no longer throttle exempt by default
- Fixed issue with TrayIcon not outputting help text in all cases
- No longer retains SeBackupPrivilege after testing for permissions
- Refresh token lifetime can now be configured
- Fixed multiple issues with kill signals not stopping the process
- Secret provider now correctly applied for all TrayIcon arguments
- Updated SQLite library to use Microsoft.Data.Sqlite packages instead
- Default VSS provider is now Vanara
- Hide options that are not supported on the current OS
- Fixed backup schedule order after multiple missed backups
- Fixed an issue with Google Drive backend not creating folders
- Updated all localization, thanks to all translators
Updated in 2.1.0.122
- Fixed numeric Id sorting
- Updated texts for disabling index recreate
- Fixed a crash on startup in 2.1.0.121
- Fixed an issue with restore listing speed
Ngclient changes:
- Fixed issue with -- option prefixes not being matched
- Updated all localization, thanks to all translators
- Fixed issue with en-GB not using 24h time format
- Fixed issue with editor for GCS not having a path field
- Fixed issue with editor for B2 introducing extra / characters
- Fixed supporting -s postfix for backends for backwards compatibility
- Fixed case-insensitive support for boolean and enumeration options
- Custom arguments is now a two-line input |
| 2.1.0.121 | 7 de juliol del 2025 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versióThis release is a canary release intended to be used for testing.
Major changes in this version
This version introduces a new SQLite library, a new VSS provider, and some minor bugfixes.
SQLite update
This version has changed the SQLite library from the previous System.Data.SQLite library to using Microsoft.Data.Sqlite.
This update was quite invasive, as the new SQLite library does not support positional arguments in SQL queries, which was used extensively in the Duplicati codebase.
With the update we see measurable speedups across all queries, and we are producing an article that describes our findings.
The update also bumps the SQLite library to use the latest available version and makes all SQLite queries async and cancelable, making the stop commands more responsive.
New VSS provider supprt
The AlphaVSS library that is used for creating VSS snapshots is no longer being maintained.
This version now defaults to using the Vanara API layer to call the Windows VSS API and create snapshots.
Like before, this still requires the VC++ Redist to be installed.
For now, it is still possible to use AlphaVSS by setting --snapshot-provider=AlphaVSS.
Note that neither works on ARM64 as Windows is lacking libraries and tools for native ARM64 snapshots, only --snapshot-provider=WMIC works on ARM64.
Bugfixing for ngclient
A number of reported compatibility issues with ngax has been fixed in this version.
Detailed list of changes:
- Commandline UI expands environment variables
- The file:// backend is no longer throttle exempt by default
- Fixed issue with TrayIcon not outputting help text in all cases
- No longer retains SeBackupPrivilege after testing for permissions
- Refresh token lifetime can now be configured
- Fixed multiple issues with kill signals not stopping the process
- Secret provider now correctly applied for all TrayIcon arguments
- Updated SQLite library to use Microsoft.Data.Sqlite packages instead
- Default VSS provider is now Vanara
- Hide options that are not supported on the current OS
- Fixed backup schedule order after multiple missed backups
- Fixed an issue with Google Drive backend not creating folders
- Updated all localization, thanks to all translators
Ngclient changes:
- Fixed issue with -- option prefixes not being matched
- Updated all localization, thanks to all translators
- Fixed issue with en-GB not using 24h time format
- Fixed issue with editor for GCS not having a path field
- Fixed issue with editor for B2 introducing extra / characters
- Fixed supporting -s postfix for backends for backwards compatibility
- Fixed case-insensitive support for boolean and enumeration options
- Custom arguments is now a two-line input |
| 2.1.0.120 | 24 de juny del 2025 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versióThis release is a canary release intended to be used for testing.
The intention is to tap this release as an experimental release if no significant issues are uncovered.
Major changes in this version
This release is mostly fixing minor issues reported from 2.1.0.119, with only a few changes that could impact backups.
A significant amount of fixes has been completed for ngclient.
The repair flow can now detect and fix cases where a file or folder has been assigned no metadata.
Since the codebase does not support this, the current fix is to assign an empty metadata block if possible, and otherwise use the smallest metadata block.
The Test output no longer reports failures on index files that were fixed during the test process.
The destination picker UI in ngclient has been reworked in multiple ways, providing a more robust experience with the Test button and results being more prominent.
The restore flow and file picker has been updated to fix a number of issues with files and folders that have the same prefix.
Some issues with the picker not having the correct visual representation of the state.
Detailed list of changes:
- Reduced logging from remote connection
- Filter sent reports by destination to avoid duplicates
- Disable WebSocket for Agent
- Added support for using ssh-agent with the SSH backend
- Detect bind-permissions denied for the Duplicati webserver
- Improved secret provider pattern matching and misconfiguration detection
- Updated MailKit library to latest version
- Updated Windows script example
- Updated logic for assigning the OAuth url option
- Messages in test-command handler are now localizable
- Added attributes for macOS entitlements
- Detecting EPERM as "Permission Denied" on Linux/macOS
- Added null checks and invalid email detection for email report module
- Fixed 100s timeouts on some backends
- Reduced logging of messages during websocket authentication
- Changed secret provider option to be a password-type
- Changed replace-faulty-index-files option name to dont-replace-faulty-index-files
- Added correct loading and unloading of modules
- Added back PROPFIND debug options to WebDAV
- Added support for X-Forwarded-For prefix
- Added Mega S4 endpoints
- Added check and repair to detect empty metadata entries
- Fixed Ids being returned for filesets instead of version numbers
- Websocket sends update signal after metadata update
- Websocket has task-completed event
- Fixed not adding quadruple ---- on restore from config
- Removed fixed files from test output
- Handle transitive virtual folders in ListFolderContents
Ngclient changes:
- Upgraded to Angular 20
- Fixed some colors not being selected
- Added plurals for log view
- Updated destination url picker
- Fixed issues with quadruple dashes in commandline
- Added support for "empty" view for backends with no UI configuration
- Added support for additional localization
- Fixed MSGraph not showing site-id as mandatory option
- Avoid undefined in target url
- Added support for custom OAuth URLs
- Updated logic in export page to be consistent with the current state
- Show the version number of the current server on the About page
- Added zh-Hans to list of languages
- Fixed issue with localized content not showing icons
- Fixed issue with localization not being applied
- Handling of plurals in localization
- Improved locale support for date/time/number formats
- Fixed issue with Azure blob storage UI
- Added summary to log lines headers
- Marking fields as required in destination configuration
- Fixed commandline sending empty arguments
- Prevent adding quadruple slashes
- All destinations are now in searchable dropdown
- Fixed some logic detecting an empty folder on restore
- Showing size of backup data during restore, if known
- Added backend config for AliyunOSS
- Improved logic for buttons on the database management page
- Fixed the "last backup" timestamp not showing the correct information
- Fixed an incorrect draft backup creation during restore
- |
| 2.1.0.119 | 29 de maig del 2025 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versióThis release is a canary release intended to be used for testing.
The intention is to tap this release as an experimental release if no significant issues are uncovered.
Major changes in this version
Index file corruption fixed
This update fixes a long-standing issue with index files being incomplete over time.
The effect of this is that the recreate database step takes much longer than expected.
With this update the index files no longer loose information during the compact step.
To remedy existing data, the test method can now be run and only check index files (--full-remote-verification=indexesonly).
By default, any defective index files that are found will be replaced with correct versions, so simply running the test command with a large sample size will fix the backup.
Suppress warnings
A new option is added that can change warning messages to information messages, so the warnings no longer generate notifications.
The file access errors are now better grouped so it shows if the error is a permission error, a locked file error and others.
With the suppress feature it is possible to suppress one or more categories of these warnings.
Better backend Test
The test feature has been updated to now check for write permissions, instead of just listing the remote folder.
For ngclient, the Test check now uses this extended check to inform the user if there are files in the destination folder.
This shows a warning if creating a new backup pointing to a folder with existing data, and a warning if attempting to restore from a folder with no files.
If the write part fails for a test during the restore flow, this is not treated as an error in ngclient.
Auto VSS on Windows
If the user has Administrator privileges (SeBackupPrivilege) VSS is now set to Auto by default.
Updated backends
Updated the backends: Jottacloud, Google Drive, Google Cloud Storage, Dropbox, and OpenStack.
Removed the Sia backend as the current implementation is not compatible with the pending hard-fork.
No throttle for the file backend
The file backend is now excempt (by default) from throttle settings via --throttle-disabled-backends.
Individual backups can set --throttle-disable to opt-out of throttling.
Disabling reported options on Webserver
The ngclient is using the reported options to figure out what features can be enabled.
This can now be configured with --webservice-disable-api-extensions so websocket usage can be disabled, among others.
ngclient updates
A number of fixes and additions are made to ngclient, including a new grid-view for users with many backups.
Database version upgrade to v17
The local database is again upgraded with an index changes performance.
The bundled Duplicati.CommandLine.DatabaseTool.exe / duplicati-database-tool can downgrade databases.
Since the change is only index addition, there is no data loss on downgrades.
Detailed list of changes:
- Fixed issue with empty filesets being created
- Fixed issue with transactions being double comitted
- Fixed a case where a purge could loose a version
- Added option to register for remote control on TrayIcon startup
- Fixed an issue with purge-broken-files
- Fixed list-broken-files and purge-broken-files not reading database config
- Removed multiple unused libraries
- Fixed dbtool checks on Windows
- Added an extra check for the secret provider to ensure the modules behave
- Fixed a crash on serialization of result message
- Added an index to blockset entry
- Fixed an issue with compact not writing blocklists into index files
- Prevent overwriting config files with RPM install
- Add classification of file access errors
- Added feature to suppress warnings
- Fixed CIFS backend not parsing the writebuffer option
- More robust flushing of database messages on stops
- VSS is set to Auto on Windows, if the user has permissions to make snapshots
- Fixed incorrect text on compression level
- Removed mentions of removed backends
- Preserve space during compact by deleting files early, instead of at the |
| 2.1.0.118 | 12 de maig del 2025 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versióThis release is a canary release intended to be used for testing.
Major changes in this version
This version has a number of minor fixes and a major rewrite of the the "repair" command.
The logic for the "repair" command is that it should be possible to recover loss of .dblock files, if the data is still present locally.
This logic has been fixed in multiple ways and now also supports recovering data, even if no individual .dblock volumes can be fully recovered.
In this case, the repair will recreate as much data as possible in new .dblock files, and configure it so as many files as possible are available.
The purge-broken-files can be used after repair has failed to recover eveything, and will only purge the files that were lost.
The purge-broken-files command has also been updated to support using incorrect metadata, such that files are not purged if they are only missing metadata.
There are again numerous fixes to ngclient, including some faster browsing of restore contents, and better remote validation of folder contents.
The UI now supports a number of different languages.
Database version upgrade to v16
The local database is again upgraded with two index changes for correctness and performance.
The bundled Duplicati.CommandLine.DatabaseTool.exe / duplicati-database-tool can downgrade databases.
Since the change is only index addition, there is no data loss on downgrades.
Detailed list of changes:
- Support CACHEDIR.TAG as a default exclude file marker
- Improved list-broken-files to more accurately show contents, thanks @gpatel-fr
- Added new faster API for listing restores (only used in ngclient)
- Added new API for testing to check for existing files (only used in ngclient)
- Updated translations, thanks to all the translators
- Fixed pCloud OAuth url in CLI
- Improved logic for combining Regex filters, thanks @Jojo-1000
- Improved error parsing for box.com backend
- Simplified log closing to avoid cases where the log file is kept open
- Prevent database actions when delete is invoked with no versions to delete
- Updated throttle library to force more smooth output
- Tracking task metadata (start/stop time) for better log scoping
- Fixed AuthID not being reported as a password property
- Removed CloudFiles backend
- Fixed issue with throttle not working correctly on some backends
- Fixed an issue with rclone giving errors after each operation
- Fixed repair command to support repairs with partial data available
- Updated local DB schema to v16 (two new indexes)
- Fixed scheduling order when starting a backup
- Fixed case where warnings were emitted if the local data contains duplicates during repair, thanks @warwickmm and @Jojo-1000
- Updated iDrivee2 to use HttpClient
- Updated TahoeLAFS to use HttpClient
- Removed long-standing FIXMEGlobal class
- Fixed issue with server-util timing out after 15 min, if using the --wait option
Ngclient changes:
- Fixed "Export as commandline"
- Prevent GUI commandline from sending empty arguments
- Fixed some options were missing from the commandline view
- Added some confirmation dialogs
- Added indicator to show if backup is encrypted
- Improved notification state not always showing errors
- Fixed issue with multiple request fired on restore browsing
- Updated restore to use new faster API, if available
- Fixed issue with percent-encoded paths from configuration import
- Fixed issues with Test button not detecting SSL certificates or SSH key changes in all places
- Updated the Test button to check for existing files if the API is available
- Stop restore attempts early on known fatal errors (passphrase missing, empty folder, etc)
- Fixed an issue with advanced option lists not showing the correct labels
- Added a restore progress page
- Support multiple root folders on restore
- Test destination has a spinner while active
- Added spinners for long-running tasks from the start page
- Added TahoeLAFS UI
- Fixed the Live logs area
- Added multiple languages to the UI, thanks to all th |
| 2.1.0.117 | 25 d’abril del 2025 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versióThis release is a canary release intended to be used for testing.
Major changes in this version
This update adresses a few edge cases where a crash or other problem could cause the database to become out-of-sync.
Support for "archived" files makes Duplicati more compatible with life-cycle rules, that moves files into longer-term storage.
The support is currently added for S3 and Azure Blob Storage, and works by not attempting to test files that are archived.
Compacting still needs to be turned off if using life-cycle rules where files are inacessible.
The version of the local database is updated to v15 to support the archive timestamp.
A new tool is added Duplicati.CommandLine.DatabaseTool.exe / duplicati-database-tool which can downgrade databases.
The tool can be used prior to installing an older version, and will downgrade the database to the previous version (14 in this case).
The tool can target individual databases, but will default to take all databases in the storage folder.
Throttle options were broken with a recent update. The fixed version now shares the throttle between all transfers.
Previously, setting a 10kb/s limit would cause each individual stream to be capped to 10 kb/s, but now the setting will throttle the combined upload speed (each stream gets a fraction of the limit).
Detailed list of changes:
- Added additional libICU compatibility versions
- Fixed an issue where dlist files would be uploaded ahead of time, causing failures on crashes
- Fixed an issue where compacting would sometimes kick off incorrectly
- File backend now throws the correct exceptions
- Ignore errors when closing and attempting pragma optimize
- Support reloading the page when restoring
- Added support for storage with archival options, like Glacier and Azure Cold storage
- Updated warning for cases where new files are found
- Added a database downgrade tool
- Added option to set SQLite cache size
- Fixed throttle not working, and made it a shared throttle
- Fixed an issue where the backup metadata could be cleared on save
Ngclient changes:
- Continue button now works on editing backup
- Overlapping display on scrolling fixed
- Fixed Repeated background requests on some pages
- Database screen now shows the database state
- Improved support for resetting restore flow
- Settings page is more reactive to changes
- Server error messages are now shown
- Numerous fixes and updates to the source picker page
- Sort order and time display is now persisted in the browser |
| 2.1.0.116 | 17 d’abril del 2025 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versióThis release is a canary release intended to be used for testing.
This version is mostly the same as 2.1.0.115, so please see release notes from that.
Major changes in this version
This is primarily a bug-fix release with only minor changes.
Potentially breaking changes (from 2.1.0.109)
- Location of data folder has changed in some cases, refer to previous release for details
- Permissions are now applied to the data folder, refer to previous release for details
- New user interface, ngclient is the default; there is a button to switch between the two
Detailed list of changes:
- Upgrade Minio library from 3.13 to 6.0.4
- Fixed delete command handling retention as well as specific version
- Fixed an issue with queries that need more than 128 parameters
- Updated memory caching and logging interface packages
- Fixed an issue with schedules missing in the UI
Ngclient changes:
- Fixed a case where dialogs would be missing the confirmation button
- Improved the create-folder flow
- Improved default handling of retention settings |
| 2.1.0.115 | 14 d’abril del 2025 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versióThis release is a canary release intended to be used for testing.
This version is the same as 2.1.0.113 and 2.1.0.114 but rebuilt to fix a build-time issue.
Major changes in this version
The ServerUtil tool can now ouput JSON instead of regular text.
Support for Zip64 is now always enabled, so manual data extraction requires a Zip64 enabled tool.
Added support for creating pre-authenticated headers to better support proxy setups.
Improved handling of duplicated blocks, both on compact and on backup.
Added support for Filen and Filejump storage destinations.
Potentially breaking changes (from 2.1.0.109)
- Location of data folder has changed in some cases, refer to previous release for details
- Permissions are now applied to the data folder, refer to previous release for details
- New user interface, ngclient is the default; there is a button to switch between the two
Detailed list of changes:
- Improved build process and added checks for missing and outdated libraries
- Improved anti-sleep on Windows
- Added option to emit machine-readable JSON from ServerUtil / duplicati-server-util
- Fixed issue with Mega backend not authenticating
- Added back missing options to MSGraph based backends
- Improved Zip64 support (always on)
- Prevent crashes when unable to set permissions on data folder or database
- Added Filen.io backend
- Fixed some delivery failures to Telegram
- Prevent setting permissions on data folder from ServerUtil
- Added support for pre-authenticated headers in selfhosted (proxy) setups
- Stop early if restoring a backup and no passphrase is supplied
- Removed a warning show when using relative restore version time
- Removed positional arguments from SQL queries
- Improved number of blocks that can be discarded during compact
- Improved storage re-use if files are added/removed/added
- Fixed a case where connections were not closed after use
- Updated Wasabi S3 endpoints
- Fixed locale-sensitive parsing bug for fr-CA
- Added rclone to Docker images, thanks @wjansenw
- Added Filejump backend
- Fixed some error flows during restore with missing data
Ngclient changes:
- Fixed external links opening in new window
- Show error messages when testing connection
- Fixed bug with not setting server interface
- Added a tab to show crash log data
- Added sorting to list of backups
- Added Filen backend support
- Fixed removing backup when deleting
- Fixed dropping config file for restore
- Error messages can be dismissed
- Added support for date-time options
- Added live-logs and improved logs area
- Added controls for entering timespans
- Improved status bar and loading messages
- Fixed cases of white start screen
- Fixed issues with settings page not updating
- Fixed issue with loading exported config with path-encoded url
- Fixed File browser starting in broken state if path is missing
- Added support for Filejump backend
- Fixed issues with parsing dblock-size
- Added support for retention settings
- Fixed issues with timespans on edits |
| 2.1.0.114 | 14 d’abril del 2025 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versióThis release is a canary release intended to be used for testing.
This version is the same as 2.1.0.113 but rebuilt to fix a build-time issue.
Major changes in this version
The ServerUtil tool can now ouput JSON instead of regular text.
Support for Zip64 is now always enabled, so manual data extraction requires a Zip64 enabled tool.
Added support for creating pre-authenticated headers to better support proxy setups.
Improved handling of duplicated blocks, both on compact and on backup.
Added support for Filen and Filejump storage destinations.
Potentially breaking changes (from 2.1.0.109)
- Location of data folder has changed in some cases, refer to previous release for details
- Permissions are now applied to the data folder, refer to previous release for details
- New user interface, ngclient is the default; there is a button to switch between the two
Detailed list of changes:
- Improved build process and added checks for missing and outdated libraries
- Improved anti-sleep on Windows
- Added option to emit machine-readable JSON from ServerUtil / duplicati-server-util
- Fixed issue with Mega backend not authenticating
- Added back missing options to MSGraph based backends
- Improved Zip64 support (always on)
- Prevent crashes when unable to set permissions on data folder or database
- Added Filen.io backend
- Fixed some delivery failures to Telegram
- Prevent setting permissions on data folder from ServerUtil
- Added support for pre-authenticated headers in selfhosted (proxy) setups
- Stop early if restoring a backup and no passphrase is supplied
- Removed a warning show when using relative restore version time
- Removed positional arguments from SQL queries
- Improved number of blocks that can be discarded during compact
- Improved storage re-use if files are added/removed/added
- Fixed a case where connections were not closed after use
- Updated Wasabi S3 endpoints
- Fixed locale-sensitive parsing bug for fr-CA
- Added rclone to Docker images, thanks @wjansenw
- Added Filejump backend
- Fixed some error flows during restore with missing data
Ngclient changes:
- Fixed external links opening in new window
- Show error messages when testing connection
- Fixed bug with not setting server interface
- Added a tab to show crash log data
- Added sorting to list of backups
- Added Filen backend support
- Fixed removing backup when deleting
- Fixed dropping config file for restore
- Error messages can be dismissed
- Added support for date-time options
- Added live-logs and improved logs area
- Added controls for entering timespans
- Improved status bar and loading messages
- Fixed cases of white start screen
- Fixed issues with settings page not updating
- Fixed issue with loading exported config with path-encoded url
- Fixed File browser starting in broken state if path is missing
- Added support for Filejump backend
- Fixed issues with parsing dblock-size
- Added support for retention settings
- Fixed issues with timespans on edits |
| 2.1.0.113 | 11 d’abril del 2025 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versióThis release is a canary release intended to be used for testing.
Major changes in this version
The ServerUtil tool can now ouput JSON instead of regular text.
Support for Zip64 is now always enabled, so manual data extraction requires a Zip64 enabled tool.
Added support for creating pre-authenticated headers to better support proxy setups.
Improved handling of duplicated blocks, both on compact and on backup.
Added support for Filen and Filejump storage destinations.
Potentially breaking changes (from 2.1.0.109)
- Location of data folder has changed in some cases, refer to previous release for details
- Permissions are now applied to the data folder, refer to previous release for details
- New user interface, ngclient is the default; there is a button to switch between the two
Detailed list of changes:
- Improved build process and added checks for missing and outdated libraries
- Improved anti-sleep on Windows
- Added option to emit machine-readable JSON from ServerUtil / duplicati-server-util
- Fixed issue with Mega backend not authenticating
- Added back missing options to MSGraph based backends
- Improved Zip64 support (always on)
- Prevent crashes when unable to set permissions on data folder or database
- Added Filen.io backend
- Fixed some delivery failures to Telegram
- Prevent setting permissions on data folder from ServerUtil
- Added support for pre-authenticated headers in selfhosted (proxy) setups
- Stop early if restoring a backup and no passphrase is supplied
- Removed a warning show when using relative restore version time
- Removed positional arguments from SQL queries
- Improved number of blocks that can be discarded during compact
- Improved storage re-use if files are added/removed/added
- Fixed a case where connections were not closed after use
- Updated Wasabi S3 endpoints
- Fixed locale-sensitive parsing bug for fr-CA
- Added rclone to Docker images, thanks @wjansenw
- Added Filejump backend
- Fixed some error flows during restore with missing data
Ngclient changes:
- Fixed external links opening in new window
- Show error messages when testing connection
- Fixed bug with not setting server interface
- Added a tab to show crash log data
- Added sorting to list of backups
- Added Filen backend support
- Fixed removing backup when deleting
- Fixed dropping config file for restore
- Error messages can be dismissed
- Added support for date-time options
- Added live-logs and improved logs area
- Added controls for entering timespans
- Improved status bar and loading messages
- Fixed cases of white start screen
- Fixed issues with settings page not updating
- Fixed issue with loading exported config with path-encoded url
- Fixed File browser starting in broken state if path is missing
- Added support for Filejump backend
- Fixed issues with parsing dblock-size
- Added support for retention settings
- Fixed issues with timespans on edits |
| 2.1.0.112 | 26 de març del 2025 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versióThis release is a canary release intended to be used for testing.
Major changes in this version
- Updated backends
The major change in this version is the addition of timeouts to every backend.
This has the potential to affect each backend individually.
- Improved validation
Further increased the checks made to validate that the database is consistent, and added new features to the repair operation to assist in recovering.
Certain problems are now checked before and after a backup, in an attempt to better close in on the conditions that create these situations.
- Updates to ngclient
Updates to reconnect logic and locale support.
Potentially breaking changes (from 2.1.0.109)
- Location of data folder has changed in some cases, refer to previous release for details
- Permissions are now applied to the data folder, refer to previous release for details
- New user interface, ngclient is the default; there is a button to switch between the two
Detailed list of changes:
- Added retries for sending HTTP-based reports
- Added warning icon back to TrayIcon
- Fixed a check that prevented repairs in timezones that are have a negative UTC offset
- Rewrote a number of SQL queries to avoid localization of SQL strings
- Added guards against faulty startup delays
- Updated all backends to use same parsing logic for authentication options
- Updated all backends to support timeouts
- Fixed a bug where databases would be created with strict permissions, even if opting out
- Updated SQLite loading to always set custom pragmas
- Updated SQLite loading to support custom SQLITE_TMPDIR environment variable
- Removed unwanted data in report JSON output
- Added support for deleting empty index files on repair
- Improved handling of stop "errors"
- Updated box.com backend to use HttpClient
- Added option to inject custom parameters into reports
- Improved error message on manifest version mismatches
- Removed a warning when attempting to pick a restore date with a negative prefix
- Support for large form-encoded HTTP reports
- Fixed an issue where the URL parser would return different results for similar inputs (for the file:// input)
- Handling backspace on console password input
- Added guard against fileset errors in the database
- Added support for rebuilding filesets from remote data on repair
- TrayIcon can now start in a disconnected state, and keep probing for a connection
- Added current update channel to reports
- Added automatic zip64 usage for large bugreports
- Added support for showing the crashlog in the UI
- Fixed an issue with some dates causing problems in the timezone aware calculations
- Added support for sorting the list of backups in the UI
- Fixed an issue with restoring timestamps and metadata on folders |
| 2.1.0.111 | 15 de març del 2025 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versióThis release is a canary release intended to be used for testing.
Major changes in this version
- Restore improvements
This version has a few tweaks to the new restore flow that makes it more robust.
- Improved validation
To safeguard against internal errors, there is now a more strict validation before performing cleanup.
The new logic checks if the previous operation failed and will only automatically repair the remote if this is the case.
The repair command bypasses this check and can repair the remote regardless.
If the previous run was fully completed, any leftover remote files are now treated as an error.
Additionally, operations that does not change remote state (list, test, restore, etc) will not repair the remote state, but just verify that it is working for the requested operation.
- Updates to ngclient
Multiple updates to ngclient: improved auth flow, searchable menus, Windows filesystem support, restore from configuration, and more.
Potentially breaking changes (from 2.1.0.109)
- Location of data folder has changed in some cases, refer to previous release for details
- Permissions are now applied to the data folder, refer to previous release for details
- New user interface, ngclient is the default; there is a button to switch between the two
Detailed list of changes:
- Reduced number of samples taken for testing
- Improved restore flow
- Improved error handling for Azure Blob storage
- Improved help text for remote synchronization tool
- Implemented more rigorous validation and safeguards for failed backups
- Better support for IPv6 and unmapped localhost scenarios
- Added check to avoid block sizes that are the same or less than volume size
- Introduced more async calls for better thread usage in handlers
- Added forced culture for SQL strings and simpler transaction logic
- Added Arm v7 Agent builds
- Improved certificate validation to check expiration and support root or intermediate certificate hashes |
| 2.1.0.110 | 28 de febrer del 2025 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versióThis release is a canary release intended to be used for testing.
Major changes in this version
- Restore improvements
Building further on the new restore engine, this version has significant performance speedups during restore.
- New signing keys
The builds are now signed by "Duplicati Inc" for MacOS and Windows.
The Windows signatures are now done with an extended validation (EV) certificate and should not trigger Windows Defender warnings.
- New enumeration logic
The enumeration of files and folders has been rewritten to better support some edge cases.
- Improved pagination support
All backends are updated to support the new list methods that supports pagination and cancellation.
The test method will now only load a single page of results, instead of listing all items.
- Support for backend-as-source
This version has support for backups of both remote and local data.
In this version, S3, IDrive, SSH and CIFS sources are supported.
The UI does not yet support this, but it is possible to read data from a remote location by "mounting" it into the local filesystem.
For the commandline (and manual text entry in the UI) enter sources such as:
// Linux/MacOS
@/mnt/s3-data|s3://example?auth-username=...
// Windows
@X:\server1|cifs://server/share?auth-username=...
Potentially breaking changes (from 2.1.0.109)
- Location of data folder has changed in some cases, refer to previous release for details
- Permissions are now applied to the data folder, refer to previous release for details
- New user interface, ngclient is the default; there is a button to switch between the two
Detailed list of changes:
- Improved script examples
- Fixed double-click TrayIcon on Windows, thanks @Alex-Heard
- Fixed an issue with CORS headers
- Parallel downloads for restore
- Report interface and port in Webserver startup message
- Fixed missing example script on Windows
- Fixed a case where a leading slash could be stripped from the path or a URL
- Added additional Infomaniak endpoints, thanks @ochaze
- Backend listing is now async for better pagination and cancellation support
- Updated signing support for the release builds
- Added a link from ngax to ngclient (the other way already exists)
- Added alternate source providers and new enumeration process
- Performance optimizations for restore process |
| 2.1.0.109 | 11 de febrer del 2025 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versióThis release is a canary release intended to be used for testing.
Important change for Windows Service
This build changes the folder locations for the Duplicati-server.sqlite file on Windows and Linux when running as a service.
There is support for backwards compatibility, so existing installations should not be affected.
The detailed changes are:
Windows: Avoid storing data in C:\Windows\System32\config\systemprofile\AppData\Local\Duplicati and prefer {CSIDL_COMMON_APPDATA}\Duplicati
Linux: Avoid storing data in /Duplicati and prefer /var/lib/Duplicati.
If you are not running Duplicati as a service, this has no effect.
If you are using --server-datafolder or DUPLICATI_HOME, this has no effect on the database, but may cause your machineid and installid to change.
The machineid.txt and installid.txt would previously be stored in the local app data folder, even when using portable mode or choosing a specific data folder.
This has been fixed, so the files will now follow the database.
If you are using the Duplicati console or otherwise depend on these values, you need to move them into the folder where the database is stored.
Important for users running 2.1.0.108
For 2.1.0.108 version only, the service folder was {SYSTEMDRIVE}\Users\LocalService\Duplicati which was dropped.
If you have only installed 2.1.0.108 and ended up using the previous folder, you must manually move it to {CSIDL_COMMON_APPDATA}\Duplicati.
Permissions on database and data folder
This update sets permissions on the data folder and the databases to prevent unauthorized access from local accounts.
To opt out of setting permissions on each startup, place a file named insecure-permissions.txt inside the data folder.
New user interface
This version uses the ngclient as the default interface. If some feature is not working as expected, it is possible to switch back to the ngax client.
To switch client, replace ngclient with ngax in the url, or use the theme.html page to choose the UI (example: http://localhost:8200/theme.html).
Please report any issues with the new UI.
Removed timeout guard
Due to many reports of failures with the timeout mechanism this has been removed in the current version. It will be added back into each of the backends later.
Added a new tool for offsite backup
This release features a new tool: Duplicati.CommandLine.SyncTool.exe / duplicati-sync-tool which can be used to create copies of backup files in multiple locations. The tool is currently documented with the built-in help, and more documentation is on the way. The tool is intended to be more integrated into Duplicati later and enables a straightforward way to achieve 3-2-1 backups, including copies in immutable storage.
Detailed list of changes:
- Support topics on Telegram reports
- Added remote syncronization tool
- Removed high-level backend timeout
- Added guard to prevent dataloss on shared destinations
- Added option to disable automatic update checks
- Fixed a bug with the new restore that could cause incorrect files to be restored if files alredy exists
- Fixed a case where updated timestamps were discarded if no data was changed
- Added permission updates to data folder
- Fixed automatic fallback on unsupported Zip files
- Fixed multiple issues with TrayIcon state
- Mark Mega.nz backend as deprecated
- Switched to ngclient as the default UI
- Added support for 429 responses on B2 |
| 2.0.7.101 | 8 de març del 2024 | — | 64 bits MSI32 bits MSI Notes de la versióChanges in this version:- Updated license to MIT, thanks @kenkendk
- Fixed crash when logging startup errors, thanks @Jojo-1000
- Updated SSH.Net, thanks @gpatel-fr
- Fixed exception happening when stopping the running backup, thanks @Jojo-1000
- Fixed issue with connecting to server thanks @kellycampbe
- Improved file-backend listing speed, thanks @Jojo-1000
- Added support for IPv6 addresses as hostnames, thanks @Jojo-1000
- Added AliyunOSS backend, thanks @trueai-org
- Added fix to not show empty form on restarts, thanks @kenkendk
- Updated Uplink for Storj to 2.12, thanks @gpatel-fr and @kenkendk
- Added machine and backup id options for reports, thanks @kenkendk
- Fixed issues with using alternate OAuth server url, thanks @gpatel-fr and @kenkendk |