Aquesta és la versió actual. · Data de publicació:
Fitxers d’instal·lació 2.4.1.0
| Arquitectura | Tipus | Àmbit | Mida del fitxer | Baixa | SHA256 |
|---|---|---|---|---|---|
| 64 bits | MSI | Tots els usuaris | — | github.com | VirusTotal |
| ARM64 | MSI | Tots els usuaris | — | github.com | VirusTotal |
| 32 bits | MSI | Tots els usuaris | — | github.com | VirusTotal |
L’enllaç i l’SHA256 provenen del manifest comunitari del Gestor de paquets del Windows. Convé comparar el hash del fitxer baixat abans d’executar-lo.
Notes de la versió
About this release
This release builds on version 2.4.0.1 with a large number of bug fixes, and adds three new features: incremental (delta) backups of Microsoft 365 and Google Workspace, and restore tests that can run after backups and be switched on remotely from the console.
The local database format is updated by this release. See "Downgrading" below before going back to an earlier version.
Delta walk for Microsoft 365 and Google Workspace
Microsoft 365 and Google Workspace backups no longer need to list every item on every run. The providers now store a delta token with each backup and use the Microsoft Graph and Google change APIs, so later backups list only what was created, changed, moved or removed since the previous backup and carry the rest forward from it.
For Microsoft 365 this covers mail folders, SharePoint and group document libraries. For Google Workspace it covers Gmail, Drive, Calendar and Contacts. Delta tracking is enabled by default. The first backup, the first backup after the local database is recreated, and the backup after one that was stopped still list everything in full.
Delta tracking can be turned off per service with --office365-disable-mail-delta, --office365-disable-drive-delta, --google-disable-gmail-delta, --google-disable-drive-delta, --google-disable-calendar-delta and --google-disable-contacts-delta. If a document library reports more changes than --office365-drive-delta-max-items or --google-drive-delta-max-items, the library is listed in full instead.
A backup that combines a Microsoft 365 or Google Workspace source with the USN change journal or --changed-files is now refused with an error, as the two mechanisms cannot be combined.
Restore tests
A new restore test operation restores a sample of a backup from the remote destination into a temporary folder and verifies it, so the backup is regularly proven to be restorable. It is available as the restore-test command in the command line and in ServerUtil, and through the server API.
The sample is chosen with --restore-test-mode: a number of random files, a percentage of the backup size, every file, or a rolling mode that prefers files that have not been verified recently. The test can be limited with --restore-test-max-download-size and --restore-test-max-runtime, can rebuild a temporary database from the destination with --restore-test-recreate-database, and can compare the restored files with the source files with --restore-test-compare-source.
Set --perform-restore-test-after to run a restore test as the last step of a backup whenever the previous test is older than the given interval. When the machine is connected to the Duplicati console, the console can set this interval for its backups, so restore tests can be switched on remotely. A restore test after a backup does not change the result of the backup, but a failed test is reported with its own notification.
Improved support for Sync jobs
With this version, Sync jobs now store their logs so the logs can be viewed after the job has completed. Several places where the Sync job was showing options that were only relevant to restores are now updated.
Other new features
- Backup versions can be given a label with the set-version-label command. The labels are also stored on the destination, so a database recreate keeps them.
- Point-in-time access to a destination: with --remote-point-in-time, the S3 and Duplicati Storage destinations read the destination as it was at the given time, using bucket versioning. The destination is read-only in this mode.
- Report modules can send reports for other operations than backups, chosen with --send-http-operations, --send-mail-operations, --send-xmpp-operations and --send-telegram-operations. Backup reports remain the default.
- A restore on an existing backup can now carry additional advanced options.
- The new --disable-secret-provider option disables the default secret provider, the configured secret provider, or both. --disable-default-secret-provider still works but is deprecated. The server now also reports which secret provider is active.
- Duplicati Storage can be used as a secondary target, and supports object locking.
- Uploads to Google Cloud Storage now carry a CRC32 checksum.
- SMB servers that require SMB 3.1.1 can be used with --enable-smb311.
- Neon Object Storage has been added to the list of S3 providers.
Changed behavior
- A backup that asks for object locks on a bucket or container that does not have locking enabled now completes with a warning that no locks were applied, instead of failing. This applies to S3, B2, Azure, Google Cloud Storage and Duplicati Storage.
- Options in source and destination urls are now validated, so an option that no module supports is reported with a warning.
- The Microsoft 365 site classifications "Classic" and "Communication" have been removed, as they never matched any site.
- When a restore does not specify overwrite, restore permissions or skip metadata, the settings of the backup and the server defaults now apply instead of turning them off.
Downgrading
This release updates the local database from version 19 to version 22 and the sync database to version 1. Version 2.4.0.1 cannot open the newer databases. To go back to 2.4.0.1, downgrade the databases with the DatabaseTool downgrade command first. Its default target versions now match 2.4.0.1, so no version options are needed.
Fixes
Aborting a backup no longer waits for a stuck source listing, file open, size or metadata read, and a stop or abort that arrives before the operation is ready is kept.
Restores keep an appended file when restoring without --overwrite, do not read through a link when restoring a symbolic link to a file, keep the drive letter folder when restoring Windows paths in place, and stop when --restore-path has no value. A partial restore no longer warns about the folders it has to create. Repair keeps the time and order of the versions when it replaces missing dlist files, and a later database recreate keeps them too.
On Windows, a local folder destination whose url contains @ or carries options in its query string is now read correctly, and symbolic links created by WSL are backed up as links. Backups leave the write-ahead log files of their own database out.
The server and tray icon have fixes to notifications, task state, pause and resume events, preload settings, update checks, the login token cookie behind a reverse proxy, and the Agent. Control file restores are protected against path traversal, and the recovery tool and the Agent pre-shared key have been hardened.
Backend fixes include Jottacloud timeouts and parallel downloads, Storj uploads, WebDAV listings on Windows and Linux, the S3 list API version option, HashiCorp Vault JSON secrets, GnuPG on slow systems, and the User-Agent header sent by WebDAV, pCloud and the updater.
SQLite has been updated to 3.54.0, built for older Linux distributions, and StreamJsonRpc and MimeKit have been updated for security advisories.
Detailed list of changes:
- Delta walk for Microsoft 365
- Add delta-tracking for Google Workspace
- Add restore test command
- Added support for server-side restore tests
- Move restore-test API to v2
- Allow "Reason" in test restore reports
- Add labels to backup versions
- Added point-in-time-restore support
- Improve object lock support
- Support locking with Duplicati storage
- Support Duplicati Storage as secondary target
- Add support for choosing report operations
- Add support for advanced options in restore
- Let configured defaults apply when restore options are not specified
- Add secret-provider disable switches
- Added support for reporting the current secret provider
- Add CRC32 to uploads to GCS
- Fixed a bug in GCS resume handling, where a 308 response was treated as a failure
- Add an option to connect to SMB servers that require SMB 3.1.1
- Add Neon Object Storage to the S3 provider list
- Improve MS365 enumeration and warning noise
- Fix MS365 group classifications
- Better retry backoff for Google Workspace
- Fix incorrect permission check for Google Workspace
- Store BackendSourceProvider metadata
- Fix BackendSourceProvider listing
- Add logs to sync operation
- Reduced logging for multi-destination
- Stop waiting for a stuck source listing when the backup is aborted
- Stop waiting for a stuck source file open when the backup is aborted
- Stop waiting for a stuck size or metadata read when the backup is aborted
- Keep a stop or abort that comes before the operation is ready
- Wait a second before a backup that starts in the same second as the previous version
- Keep the messages of the file count pass out of the backup log
- Show the totals of the previous backup when the file scanner is disabled
- Do not show a negative number of files to go in the old UI
- Show 100% for an empty file in the old UI progress
- Leave the write-ahead log files of the backup's own database out of it
- Keep a source file that the USN journal reports as changed
- Read symlinks made by WSL as symlinks on Windows
- Read xattr values of followed symlinks from the target
- Read owner and permissions of followed symlinks from the target
- Fix corrupted target URL for local paths containing @
- Keep the query string of Windows file urls
- Keep an appended file when restoring without --overwrite
- Do not read through a link when restoring a symbolic link to a file
- Do not chmod the target when restoring symlink metadata
- Keep the drive letter folder when restoring Windows paths in place
- Stop a restore when --restore-path has no value
- Do not warn about the folders a partial restore has to make
- Report an empty file that cannot be created as not restored
- Release the files waiting for a priority file that is given up
- Skip restored file verification in a legacy dry run
- Drop the entries below a root the old UI restore picker selects
- Keep version order when repair replaces missing dlist fileshttps://github.com/duplicati/duplicati/releases/tag/v2.4.1.0_stable_2026-10-29