2.3.0.101_canary_2026-05-04
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
