News

Duplicati canary 2.4.0.105: point-in-time restores from versioned storage

Duplicati canary 2.4.0.105 adds point-in-time restores from versioned storage, so a tampered or damaged destination can be rolled back in place, and object lock support for Duplicati Storage. Microsoft 365 and Google Workspace backups now use delta tracking, restore tests can be scheduled from the Console, and several cases of files silently missing from backups are fixed.

Duplicati 2.4.0.105 is a canary release, built for testing ahead of the next stable version. It brings point-in-time restores from versioned storage, object lock support and secondary-destination use for Duplicati Storage, delta tracking for Microsoft 365 and Google Workspace backups, and restore tests started from the Duplicati Console. It also fixes several edge cases where files were silently left out of a backup.

Canary builds are the first to carry new features and fixes, so they are the right choice for a test machine and a cautious choice for production. Read the local database note below before upgrading, as this release changes the database format.

Point-in-time restores from versioned storage

If your storage keeps old versions of objects, you can now restore from the destination as it looked at an earlier time. Versioned storage, such as S3 buckets with versioning turned on, keeps a new version of every file each time it is overwritten or deleted. Until now, recovering from a damaged or tampered destination meant copying the older versions into a fresh bucket by hand before Duplicati could use them.

The new --remote-point-in-time option does this in place. Set it to a relative time such as --remote-point-in-time=2D4h (two days and four hours ago) or to an absolute timestamp, and Duplicati reads the destination as it was at that moment. Listing and downloading use the latest version of each file that existed at that time. While the option is set, the destination is read-only, so a restore or a verification cannot change anything on the storage. See the documentation for more details.

This matters most for ransomware recovery. An attacker who gains write access to the destination can overwrite or delete the backup files, but with versioning turned on the earlier versions survive. Pointing Duplicati at a time before the attack gets you to a clean copy without touching the compromised data.

Object lock handling was also improved. Duplicati now detects a destination that does not support object locks, so it no longer retries the lock for every single file. When a lock fails to apply because the destination lacks support, it is reported as a warning rather than an error, since the backup or repair itself completed.

Duplicati Storage: object locks and secondary destinations

Duplicati Storage now supports object locks, so backup files written there can be protected against deletion or overwriting for a set retention period. Combined with the point-in-time option above, this gives two layers of protection against a compromised destination: locked files cannot be changed, and if something does slip through, older versions are still reachable.

Duplicati Storage can also be used as a secondary destination in a multi-destination backup. A backup that already goes to local storage or another cloud provider can now add Duplicati Storage as its off-site copy in the same job, without a separate backup configuration.

Faster Microsoft 365 and Google Workspace backups with delta tracking

Backups of Microsoft 365 and Google Workspace now only list what changed since the last run. Both services return a delta token after a listing, and Duplicati now stores these tokens in the local database. The next backup starts from the stored tokens and asks the service for changed items only, instead of walking the entire mailbox or drive each time.

For large tenants, this can cut the time of a repeated backup considerably and reduces the API calls that lead to throttling. The trade-off is some extra memory during the backup and a larger local database.

Google Workspace backups also handle quota limits better. A 403 caused by an exceeded quota, and similar quota messages, are now treated as temporary failures and retried with backoff instead of failing the backup.

Local database update: read this before upgrading

This release updates the local database schema to version 22. The update adds a table for source provider state, where the delta tokens are kept, and it is applied to every backup database on first use, not only those for Microsoft 365 and Google Workspace. Once a database has been updated, earlier versions of Duplicati can no longer open it.

If you need to go back to an earlier version, the bundled duplicati-database-tool can downgrade the local databases to version 21. Downgrading removes the stored delta tokens, so the next Microsoft 365 or Google Workspace backup walks all items again. No backup data is lost.

Other changes

Secret providers. The system information now reports which secret provider is in use and which one is the default. New options make it possible to disable the configured secret provider, the default one, or both, which helps when troubleshooting a setup that reads secrets from an external vault.

No more 32-bit Windows builds. The 32-bit Windows (x86) packages are no longer part of the regular releases. They can still be built from source.

SQLite 3.54.0. SQLite is updated to 3.54.0. The custom build for ARMv7 has been removed, and the Linux requirement is once again GLIBC 2.28.

Fixes

This release also closes a long list of bugs, most of them contributed by our community. The ones most likely to have affected real backups are listed here; the full list is in the release notes.

Files missing from backups. Three cases where files were silently left out are fixed: a source folder nested inside another was dropped when a folder between them was excluded or not followed; a single-file source could be excluded by the hidden and system attributes of the drive root with --usn-policy; and a WebDAV share mapped to a drive letter on Windows could not be backed up at all. Symbolic links created by WSL are now also handled correctly on Windows.

Symbolic links and permissions. With --symlink-policy=follow, metadata is now read from the link target rather than the link, so restored files no longer come back as mode 0777 without extended attributes. Restoring link metadata no longer changes the permissions of the target file.

Restore. Restoring without --overwrite no longer truncates a file that has grown since the backup. Symbolic links restore correctly when the target is missing, relative link targets are mapped across operating systems, and Windows backups restored in place on Linux or macOS now land under /C/ as intended. A --restore-path given without = now stops with an error instead of restoring to the original location.

Database tool. duplicati-database-tool cleanup --force could delete the live server database and other .sqlite files in the data folder. It now only removes orphaned local and sync databases.

Storage providers. WebDAV listings on Linux and macOS work again for folder names with escaped characters, Jottacloud transfers honour --read-write-timeout, --s3-list-api-version is applied by the AWS client, and Neon Object Storage joins the S3 provider list.

Server and tooling. The login no longer loops behind a reverse proxy that drops the Host header, a server restarted during system suspend no longer stays paused, and AUTOUPDATER_Duplicati_SKIP_UPDATE now stops all update checks. DatabaseTool, SourceTool and SecretTool read their own preload.json sections, so settings for the first two must move out of serverutil.

Security hardening. Failing multi-destination backups no longer log the full destination configuration, the recovery tool rejects paths that would write outside the target folder, the Agent pre-shared key is compared in constant time, and several dependencies were updated for published advisories.

Getting the release

Duplicati 2.4.0.105 is available from the download page and through the built-in updater for installations on the canary channel. The web UI also gains a search bar on the start page, tooltips showing the exact time, a clearer distinction between hidden and excluded files, and fixes to the default schedule dates and weekly schedules.

As with every canary, please report problems on the Duplicati forum or as a GitHub issue. Testing on canary builds is what makes the next stable release stable.

Get started for free

Pick your own backend and store encrypted backups of your files anywhere online or offline. For MacOS, Windows and Linux.

Pick your own backend and store encrypted backups of your files anywhere online or offline. For MacOS, Windows and Linux.

  • Example image