mirror of
https://github.com/duplicati/duplicati.git
synced 2025-11-27 19:10:29 +08:00
You can download this build from: Binaries: https://updates.duplicati.com/beta/?version=2.2.0.2 Signature file: https://updates.duplicati.com/beta/duplicati-2.2.0.2_beta_2025-11-26.signatures.zip
2286 lines
115 KiB
Text
2286 lines
115 KiB
Text
2025-11-26 - 2.2.0.2_beta_2025-11-26
|
||
==========
|
||
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
|
||
|
||
2025-11-09 - 2.2.0.1_stable_2025-11-09
|
||
==========
|
||
This is a minor patch release to fix some issues uncovered with the latest stable release.
|
||
|
||
# Changes from 2.2.0.0 to 2.2.0.1
|
||
- Report remote filenames on failures
|
||
- Fixed issues with timeouts on MSGraph-based backends (OneDrive and others)
|
||
- Fixed base-href placement for better proxy support, thanks @peloyeje
|
||
- Fixed an issue with not parsing enums with multiple values (aka flags)
|
||
- Clear warnings for configuration issues, if the issues are resolved
|
||
- Better detection of valid S3 hostnames
|
||
- Showing assembly version in version number
|
||
- Marked `--send-mail-password` as a password setting
|
||
- Improved WebDAV parsing logic for more servers
|
||
- Made pCloud options visible
|
||
- Added option to disable remote control while being connected to console
|
||
- Fixed a retry issue with sync-tool
|
||
|
||
## Changes in user interface from 2.2.0.0 to 2.2.0.1
|
||
- Added support for picking power-mode provider
|
||
- Fixed issues with filters
|
||
- Fixed styling of some buttons
|
||
- Fixed issue with "Test connection" not offering to fix know issues
|
||
- Made the export tooltip optional
|
||
- Fixed an issue with parsing the exclude attributes and file size
|
||
- Improved some hint texts
|
||
- Fixed support for showing durations that include days
|
||
- The button to resume from paused state is now called "Resume"
|
||
- Hide usage reporter options if this is disabled via environment variables
|
||
- Show currently installed version on the settings page
|
||
- Set user language on first load to avoid default English page
|
||
- Added check when doing cross-OS restores
|
||
- Prevent clicking on steps that cannot be clicked
|
||
- Added password visibility toggle on main password
|
||
- Added some improved views for emails and files
|
||
- Fixed an issue with allowing uppercase and non-ASCII names in the folder path
|
||
- Commandline UI now loads global settings
|
||
- Very long error messages now introduce scrolling inside the popup
|
||
- Show configured backups for restore first, then direct restore options
|
||
- Added scrolling to source paths, which allows more than 25 sources to be added
|
||
- Filejump is hidden as it is undergoing a migration
|
||
- Sizes are now allowing bytes for precision
|
||
- Incorrect volume size warning fixed
|
||
- Added new console connect flow
|
||
|
||
# Summary of changes from 2.1 to 2.2
|
||
- New user interface
|
||
- New backends: pCloud, Filen and SMB
|
||
- New faster restore flow, use `--restore-legacy=true` to fall back
|
||
- Installer signing keys are from Duplicat Inc
|
||
- Remote sources: S3, IDrive, SSH, and CIFS
|
||
- AWS and Azure blob storage cold storage support
|
||
- Database downgrade tool is included
|
||
- Local database updated to version 17
|
||
- Settings database updated to version 9
|
||
- Improved throttle calculations
|
||
- Removed Sia backend and marked Mega as unsupported
|
||
- All backends now have individual timeout settings
|
||
- Updated location default location for storage folder
|
||
- Securing the permissions on the storage folder
|
||
- New file and folder enumeration logic
|
||
- Timeout 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 provided reporting url and remotely managed backup configs
|
||
- Added support for Google IAM on Google Drive
|
||
|
||
2025-10-23 - 2.2.0.0_stable_2025-10-23
|
||
==========
|
||
# About this release
|
||
|
||
This is the next stable release building on the 2.1 line and adds more features and stability fixes, and we are super excited to share this version!
|
||
|
||
A big thanks to the supportive Duplicati user base who continues to contribute with fixes, issue reports and feature requests.
|
||
|
||
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 beta release, this release is the same as v2.1.2.3.
|
||
|
||
## 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 and more visually appealing.
|
||
|
||
Should you find a function that is lacking, 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.
|
||
This version updates the format of the settings database to v9.
|
||
|
||
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 as the tool needs to be in the latest version.
|
||
|
||
# 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:\Windows\System32\config\systemprofile\AppData\Local\Duplicati` and prefer `{CommonProgramData}\Duplicati`, usually resolving to `C:\ProgramData\Duplicati`.
|
||
|
||
This change is to counter an issue where Windows will wipe the `C:\Windows` folder on major updates, and destroy the backup configuration in the process. If your service stores data under `C:\Windows` you will see a warning in the user interface on startup.
|
||
|
||
**Linux**: Avoid storing data in `/Duplicati` and prefer `/var/lib/Duplicati`.
|
||
This was caused by the update to .NET8 where the data folder was not resolved correctly and returned `/`, which is not the ideal place for storing data.
|
||
|
||
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.
|
||
|
||
This update also 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.
|
||
|
||
## Other large changes
|
||
- New file and folder enumeration logic
|
||
- Timeout 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 provided reporting url and remotely managed backup configs
|
||
- Added support for Google IAM on Google Drive
|
||
|
||
2025-10-11 - 2.1.2.3_beta_2025-10-11
|
||
==========
|
||
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
|
||
|
||
2025-10-10 - 2.1.2.2_beta_2025-10-10
|
||
==========
|
||
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
|
||
|
||
2025-10-03 - 2.1.2.1_beta_2025-10-03
|
||
==========
|
||
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
|
||
|
||
2025-08-20 - 2.1.2.0_beta_2025-08-20
|
||
==========
|
||
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 Duplicati as a service/daemon, this change has no effect.
|
||
|
||
**Windows**: Avoid storing data in `C:\Windows\System32\config\systemprofile\AppData\Local\Duplicati` and prefer `{CommonProgramData}\Duplicati`, usually resolving to `C:\ProgramData\Duplicati`.
|
||
|
||
This change is to counter an issue where Windows will wipe the `C:\Windows` folder on major updates, and destroy the backup configuration in the process. If your service stores data under `C:\Windows` you will see a warning in the user interface on startup.
|
||
|
||
**Linux**: Avoid storing data in `/Duplicati` and prefer `/var/lib/Duplicati`.
|
||
This was caused by the update to .NET8 where the data folder was not resolved correctly and returned `/`, which is not the ideal place for storing data.
|
||
|
||
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.
|
||
|
||
This update also 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.
|
||
|
||
## Other large changes
|
||
- 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
|
||
|
||
2025-07-17 - 2.1.1.0_experimental_2025-07-17
|
||
==========
|
||
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:\Windows\System32\config\systemprofile\AppData\Local\Duplicati` and prefer `{CommonProgramData}\Duplicati`, usually resolving to `C:\ProgramData\Duplicati`.
|
||
|
||
This change is to counter an issue where Windows will wipe the `C:\Windows` folder on major updates, and destroy the backup configuration in the process. If your service stores data under `C:\Windows` you will see a warning in the user interface on startup.
|
||
|
||
**Linux**: Avoid storing data in `/Duplicati` and prefer `/var/lib/Duplicati`.
|
||
This was caused by the update to .NET8 where the data folder was not resolved correctly and returned `/`, which is not the ideal place for storing data.
|
||
|
||
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.
|
||
|
||
This update also 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.
|
||
|
||
## Other large changes
|
||
- 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
|
||
|
||
2025-07-17 - 2.1.1.0_experimental_2025-07-17
|
||
==========
|
||
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:\Windows\System32\config\systemprofile\AppData\Local\Duplicati` and prefer `{CommonProgramData}\Duplicati`, usually resolving to `C:\ProgramData\Duplicati`.
|
||
|
||
This change is to counter an issue where Windows will wipe the `C:\Windows` folder on major updates, and destroy the backup configuration in the process. If your service stores data under `C:\Windows` you will see a warning in the user interface on startup.
|
||
|
||
**Linux**: Avoid storing data in `/Duplicati` and prefer `/var/lib/Duplicati`.
|
||
This was caused by the update to .NET8 where the data folder was not resolved correctly and returned `/`, which is not the ideal place for storing data.
|
||
|
||
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.
|
||
|
||
This update also 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.
|
||
|
||
## Other large changes
|
||
- 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
|
||
|
||
2025-06-24 - 2.1.0.120_canary_2025-06-24
|
||
==========
|
||
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
|
||
- Fixed loader on "Restore files" being shown even when not loading
|
||
- Restore view keeps track of temporarily recreated versions
|
||
- Restore view supports reload of the page and some navigation
|
||
- Database page does not attempt to delete non-existing file
|
||
- Added a check for restores with a backup that is missing a local database
|
||
- Fixed an issue with custom dropdowns in the destination selector not picking the correct value
|
||
- Added FTP to the list of backends (aFTP was already there)
|
||
- Added lazy-loading of custom dropdown values
|
||
- Fixed incorrect size being shown on the "Delete backup" page
|
||
- After direct import, go to home page
|
||
- Improved support for default backup options, retaining more options
|
||
- Fixed a non-working "back" button in the restore flow
|
||
- Added button to copy target url to clipboard
|
||
- Fixed some warning indicators not being correctly colored
|
||
- Updated restore view to support additional complex path configurations
|
||
- Added missing option to include metadata during restore
|
||
- Fixed not adding wildcards to file paths for restore flow
|
||
- Fixed an issue where task completion would sometimes leave the UI in an incomplete state
|
||
- Fixed url-encoding of options for export configuration
|
||
- Better detection of encrypted configuration in import configuration
|
||
- During export, disable buttons until data is correctly entered
|
||
- Fixed "No encryption" option being lost (visualy) on navigation
|
||
- Made the test status more visible and suggest to test on new backups and direct restore
|
||
- Improved waiting for repair to complete during restore without a local database
|
||
- Updated restore flow to better detect a completed restore
|
||
- Reworked all destination dialogs to better support hostname/bucketname, and path-only destinations
|
||
- Updated file picker to work better with multi-select and cross-os support
|
||
- Fixed importing metadata when importing a backup configuration
|
||
- Fixed a number of cases where icons and help-text would be rendered incorrectly
|
||
- Fixed an issue with settings view being obscured by the top-bar
|
||
- Fixed top-level source files in restore being shown as folders
|
||
|
||
2025-05-29 - 2.1.0.119_canary_2025-05-29
|
||
==========
|
||
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 end of the compact
|
||
- Reduced memory usage in SyncTool
|
||
- Fixed an issue where timestamps could drift and cause validation errors
|
||
- Updated translations, thanks to all translators
|
||
- Updated the Test method to also test for write-permissions (all backends)
|
||
- Removed the Sia backend due to incompatibility with hard-fork
|
||
- Updated GoogleDrive, GCS, and Dropbox to use HttpClient
|
||
- Updated Jottacloud to use HttpClient
|
||
- Updated OpenStack to use HttpClient
|
||
- Added simpler format for SSH key
|
||
- Removed old libraries and files that caused build warnings
|
||
- Default disable throttle for the file backend (configurable)
|
||
- Removed global options to set various unsupported options, in favor of per-backend options
|
||
- Improved error message if the backend is not a supported one
|
||
- Added support for repairing broken remote index files
|
||
- Improved response time for the Stop command
|
||
- Added a number of messages to websockets to automatically push updates to the browser
|
||
- Added support for toggling reported server features off
|
||
- Fixed a deadlock on restore when transfers failed
|
||
|
||
## Ngclient changes:
|
||
- Fixed avoiding colon for default port on destination url
|
||
- Fixed buttons on database page to update
|
||
- Fixed an issue where commandline would have extra options
|
||
- Showing the name of the backup being edited
|
||
- Fixed showing the correct relative time
|
||
- Sliders now show correctly when editing
|
||
- Added Server State to About page
|
||
- Added a grid-based view of the backup list
|
||
- Showing the backend type in the backup list
|
||
- Ask to resume server if paused when activating command
|
||
- Improved throttle dialog
|
||
- Updated translations, thanks to all translators
|
||
- Added pluralization and other minor fixes to the backup view
|
||
- Improved color scheme
|
||
- Added drop-area for SSH keyfile
|
||
- Added warning on leading slash for paths in destination
|
||
- Advanced options show a warning if they are overriding a global option when editing
|
||
- Fixed tooltips
|
||
- Minor fixes to the SSH page
|
||
- Notifications are slightly more visible now
|
||
- Added page to do advanced job delete
|
||
- Added warnings when leaving the backup page without saving
|
||
- Removed HttpOptions area on destination
|
||
- Support for custom OAuth url
|
||
- Added deprecation information to advanced options
|
||
- Fixed advanced options not behaving the same in ngax and ngclient
|
||
- Added a stop / abort button to tasks
|
||
- Don't show warnings when checking if files exist
|
||
|
||
2025-05-12 - 2.1.0.118_canary_2025-05-12
|
||
==========
|
||
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 the translators
|
||
- Updated login page and loading indicator
|
||
|
||
2025-04-25 - 2.1.0.117_canary_2025-04-25
|
||
==========
|
||
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
|
||
|
||
2025-04-17 - 2.1.0.116_canary_2025-04-17
|
||
==========
|
||
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
|
||
|
||
2025-04-14 - 2.1.0.115_canary_2025-04-14
|
||
==========
|
||
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
|
||
|
||
2025-04-14 - 2.1.0.114_canary_2025-04-14
|
||
==========
|
||
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
|
||
|
||
2025-04-11 - 2.1.0.113_canary_2025-04-11
|
||
==========
|
||
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
|
||
|
||
2025-03-26 - 2.1.0.112_canary_2025-03-26
|
||
==========
|
||
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
|
||
|
||
2025-03-15 - 2.1.0.111_canary_2025-03-15
|
||
==========
|
||
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
|
||
|
||
2025-02-28 - 2.1.0.110_canary_2025-02-28
|
||
==========
|
||
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
|
||
|
||
2025-02-11 - 2.1.0.109_canary_2025-02-11
|
||
==========
|
||
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
|
||
|
||
2025-01-31 - 2.1.0.108_canary_2025-01-31
|
||
==========
|
||
This release is a canary release intended to be used for testing.
|
||
|
||
# Important change
|
||
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 `{SystemRoot}\Users\LocalService\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.
|
||
|
||
# New UI
|
||
This release contains an updated version of the new UI.
|
||
In the url, change `ngax` to `ngclient` to try the new UI.
|
||
|
||
## Detailed list of changes:
|
||
- Fixed encoding of exported files
|
||
- Fixed issue with restore trying to read files opened with write-only
|
||
- Improved backend tester
|
||
- Missing file detection during recreate is now a warning
|
||
- Fixed Minio backend not throwing exceptions
|
||
- Fixed hidden files display in source picker
|
||
- Added additional source folders for MacOS
|
||
- Removed SHA1 signatures on Windows signing
|
||
- Rewrote the backend manager to better control backend (re-)use
|
||
- Updated reporting to support sending OS type and backend type
|
||
- Tagging Docker images with channel, thanks @stavros-k
|
||
- Added support for CORS headers in the Webserver
|
||
- Unified help arguments across all executables
|
||
- Fixed parsing flags as multiple values for FTP SSL type
|
||
- Added guard against storing files in Windows folder
|
||
- Fixed crash in AutoUpdater
|
||
|
||
2025-01-17 - 2.1.0.107_canary_2025-01-17
|
||
==========
|
||
This release is a canary release intended to be used for testing.
|
||
|
||
**Note that this build has a redesigned restore flow**
|
||
Should issues arise, the previous restore engine can be enabled with `--restore-legacy=true`.
|
||
|
||
This release contains a substantially updated version of the new UI.
|
||
In the url, change `ngax` to `ngclient` to try the new UI.
|
||
|
||
## Detailed list of changes:
|
||
- Avoid optimize after vacuum
|
||
- Prevent inifinite shutdown loop
|
||
- Fixed a recreate database issue
|
||
- Added a warning in the UI if the volume size is excessive
|
||
- Fixed an issue with AWS S3 permission check
|
||
- Prevent a termination error caused by unused transactions
|
||
- Updated B2 backend to use HttpClient
|
||
- Changed timeouts for WebDAV
|
||
- Updated new UI (ngclient)
|
||
|
||
2025-01-11 - 2.1.0.106_canary_2025-01-11
|
||
==========
|
||
This release is a canary release intended to be used for testing.
|
||
|
||
**Note that this build has a redesigned restore flow**
|
||
Should issues arise, the previous restore engine can be enabled with `--restore-legacy=true`.
|
||
|
||
## Detailed list of changes:
|
||
- Added server status and wait to ServerUtil
|
||
- Fixed an issue where index files would contain replicated blocklists
|
||
- Fixed an issue with duplicate blocks preventing repair
|
||
- Size strings are now formatted as kikibytes
|
||
- Fixed some issues with CIFS/SMB backend
|
||
|
||
2025-01-07 - 2.1.0.105_canary_2025-01-07
|
||
==========
|
||
This release is a canary release intended to be used for testing.
|
||
|
||
**Note that this build has a redesigned restore flow**
|
||
Should issues arise, the previous restore engine can be enabled with `--restore-legacy=true`.
|
||
|
||
## Detailed list of changes:
|
||
- Fix issue with FTP not connecting correctly
|
||
- Improved large restore speed (+5TiB), thanks @snamds
|
||
- Corrected reported options for Azure, Aliyun, OpenStack and Storj
|
||
- OpenStack detects protocol version from URL
|
||
- Sia redundancy option is now a decimal (culture invariant parsing)
|
||
- Added help links to connection dialog and login pages
|
||
- Fixed issue with new restore not auto-creating missing folder structure
|
||
- Fixed issue with new restore without overwrite
|
||
- Fixed a place not honoring disabled quota
|
||
- Added CIFS / SMB backend
|
||
- Updated MacOS DMG image
|
||
|
||
2024-12-31 - 2.1.0.104_canary_2024-12-31
|
||
==========
|
||
This release is a canary release intended to be used for testing.
|
||
|
||
**Note that this build is using .NET8, unlike the 2.0.8.1 build**
|
||
|
||
**Note that this build has a redesigned restore flow**
|
||
Should issues arise, the previous restore engine can be enabled with `--restore-legacy=true`.
|
||
|
||
## Detailed list of changes:
|
||
- Fixed issue with launchAgent for CLI server not taking an argument
|
||
- Added simultaneous file processors, thanks @gpatel-fr
|
||
- Updated translations, thansk to many contributors!
|
||
- Added NOOP Daemon for FTP backend
|
||
- Excluded Google Drive and GCS from timeout streams
|
||
- Fixed an issue with the TrayIcon being disconnected after 15 minutes
|
||
- Removed the captcha fro full backup removal
|
||
- Reduced number of backend instances created
|
||
- Removed Windows-only options on the File backend on non-Windows
|
||
- Added option to log FTP messages to regular log
|
||
|
||
2024-12-21 - 2.1.0.103_canary_2024-12-21
|
||
==========
|
||
This release is a canary release intended to be used for testing.
|
||
|
||
**Note that this build is using .NET8, unlike the 2.0.8.1 build**
|
||
|
||
**Note that this build has a redesigned restore flow**
|
||
Should issues arise, the previous restore engine can be enabled with `--restore-legacy=true`.
|
||
|
||
## Detailed list of changes:
|
||
- Updated MacOS LaunchAgents to run as current user
|
||
- Updated preloader logic to search additional paths
|
||
- Fixed a few potential issues in JS
|
||
- Disabled openid probing on the server
|
||
- Fixed problem with FTP backend not unescaping special characters
|
||
- Reduced amount of logging output from Server
|
||
- Fixed bugreport download
|
||
- Fixed pause/stop/resume/abort and throttle control
|
||
- Fixed issues with timeouts in Microsoft Graph-based backends
|
||
- Fixed a potential exit crash
|
||
- Renamed some strings from "OneDrive v2" to "OneDrive"
|
||
- Removed `--use-http-client` from Microsoft Graph-based backends
|
||
- Logging on Windows moved to separate Windows Log
|
||
|
||
2024-12-12 - 2.1.0.102_canary_2024-12-12
|
||
==========
|
||
This release is a canary release intended to be used for testing.
|
||
|
||
**Note that this build is using .NET8, unlike the 2.0.8.1 build**
|
||
|
||
**Note that this build has a redesigned restore flow**
|
||
Should issues arise, the previous restore engine can be enabled with `--restore-legacy=true`.
|
||
|
||
## Detailed list of changes:
|
||
- Upgraded FluentFTP to fix a crash on socket timeout
|
||
- Removed named channels to fix a rare exception
|
||
- Rewrote the restore process to be multithreaded and target optimal disk I/O write performance
|
||
- Added missing documentation to the iDrive e2 backend
|
||
- Added activity timeout on backend transfers
|
||
- Added support for generating a "forever token"
|
||
|
||
2024-12-06 - 2.1.0.101_canary_2024-12-06
|
||
==========
|
||
This release is a canary release intended to be used for testing.
|
||
|
||
**Note that this build is using .NET8, unlike the 2.0.8.1 build**
|
||
|
||
## Breaking change from previous canary
|
||
The pCloud backend is updated to support subfolders.
|
||
Paths with `/` will now be treated as a folder structure on pCloud.
|
||
Previous version would treat `folder/subfolder` as a single foldername,
|
||
this version treats it as `folder` / `subfolder`.
|
||
|
||
## Detailed list of changes:
|
||
- Fixed a case where the TrayIcon would hang in detached mode
|
||
- Improved OpenAPI description for filter groups
|
||
- Fixed an issue with websocket requests through a proxy
|
||
- Updated icons for Linux and dark-mode MacOS
|
||
- Added logging of unobserved exceptions
|
||
- Fixed a compatibility issue with FTP not correctly detecting explicit TLS
|
||
- Fixed an issue where the quota was reported incorrectly
|
||
- Removed the unused `--use-block-cache` option
|
||
- Agent now has a dedicated `register` command
|
||
- Sizes can now be supplied as kikibytes, eg. `20kib`
|
||
- Fixed supporting subfolders in pCloud
|
||
- Added option to send http requests with relaxed TLS security
|
||
- Agent can now be asked to retain the previous UI password
|
||
- Updated SSH.NET to v2024.2.0
|
||
|
||
2024-11-25 - 2.1.0.100_canary_2024-11-25
|
||
==========
|
||
This release is a canary release intended to be used for testing.
|
||
|
||
**Note that this build is using .NET8, unlike the current beta**
|
||
See release notes from previous canary builds for details.
|
||
|
||
## Detailed list of changes:
|
||
- Fixed startup delay caused by AWS upgrade
|
||
- Running WindowsService INSTALL will now automatically start the new service
|
||
- Removed log messages from GPG detection
|
||
- Fixed an issue with Agent not being able to see connection status in the UI
|
||
- Added Downloads folder to list of special folders
|
||
- Fixed an issue with the remote control heartbeat period
|
||
- Re-introduced the crashlog feature
|
||
- Updated FTP backend to be compatible with the previous FTP backend
|
||
- Fixed an issue with quiet MSI upgrades
|
||
- MSI will automatically attempt to stop and restart the service during install
|
||
- Added single-click handler to TrayIcon on Linux+Windows
|
||
- Added pCloud native backend
|
||
- Fixed issue with DST changes causing schedule time-of-day to change
|
||
- Fixed issue with lingering update notification
|
||
- Added option to ignore snapshot warnings from HyperV on client-Windows
|
||
|
||
2024-11-14 - 2.0.9.111_canary_2024-11-14
|
||
==========
|
||
This release is a canary release intended to be used for testing.
|
||
This release is expected to progress to a stable release if no major blockers are found.
|
||
|
||
**Unlike regular canary builds, this one has a major change in the build system, so it now runs on .NET8.**
|
||
The builds are self-contained so Mono or .NET installations are not required to install.
|
||
|
||
**Important changes from last Beta**
|
||
- Updated to .NET8 with OS specific builds
|
||
- Using Kestrel as the API/UI server
|
||
- Mandatory password and new authentication scheme for server
|
||
- Settings database version updated to v8
|
||
- Backup database updated to v13
|
||
|
||
# New tool to manage a running server
|
||
Due to incompatibility with `duplicati_client` a new tool is included, named `Duplicati.CommandLine.ServerUtil.exe`/`duplicati-server-util`.
|
||
|
||
# Upgrade from `v2.0.9.105`
|
||
If you are upgrading from 2.0.9.105 please see the release notes from 2.0.9.106 for how to prepare the database.
|
||
Upgrades from other versions do not need special steps.
|
||
|
||
## Detailed list of changes:
|
||
- Added missing options to Agent commandline
|
||
- Fixed a warning when using the S3 backend
|
||
- Sending package type id to usage reporter
|
||
- Reduced log output and increased heartbeat period for Agent
|
||
|
||
2024-11-09 - 2.0.9.110_canary_2024-11-09
|
||
==========
|
||
This release is a canary release intended to be used for testing.
|
||
This release is expected to progress to a stable release if no major blockers are found.
|
||
|
||
**Unlike regular canary builds, this one has a major change in the build system, so it now runs on .NET8.**
|
||
The builds are self-contained so Mono or .NET installations are not required to install.
|
||
|
||
For users running on builds prior to 2.0.9.x, this build will appear later as an update that requires manual installation.
|
||
|
||
**Important changes from last Beta**
|
||
- Updated to .NET8 with OS specific builds
|
||
- Using Kestrel as the API/UI server
|
||
- Mandatory password and new authentication scheme for server
|
||
- Settings database version updated to v8
|
||
- Backup database updated to v13
|
||
|
||
Please see list of known issues related to .NET8/Kestrel upgrade:
|
||
https://github.com/orgs/duplicati/projects/2
|
||
|
||
# New tool to manage a running server
|
||
Due to incompatibility with `duplicati_client` a new tool is included, named `Duplicati.CommandLine.ServerUtil.exe`/`duplicati-server-util`.
|
||
|
||
# Upgrade from `v2.0.9.105`
|
||
If you are upgrading from 2.0.9.105 please see the release notes from 2.0.9.106 for how to prepare the database.
|
||
Upgrades from other versions do not need special steps.
|
||
|
||
## Downgrade backup database to v12
|
||
If you need to go back to v12, run these two SQL statements:
|
||
```
|
||
DROP INDEX "UniqueBlockVolumeDuplicateBlock";
|
||
UPDATE "Version" SET "Version" = 12;
|
||
```
|
||
|
||
## Detailed list of changes:
|
||
- Minor updates to help text and option types
|
||
- Fixed an issue with file backend url on Windows, thanks @Jojo-1000
|
||
- Fixed a condition that could hang the trayicon on a crash
|
||
- Updated AWSSDK to latest version
|
||
- Fixed an issue with the AWS Secrets Manader provider stalling the load of settings
|
||
- Fixed Telegram notifications
|
||
- Added Agent MSI installer
|
||
- Updated Avalonia to the latest version to fix crash on Debian
|
||
- Added Agent PKG for MacOS
|
||
- Added CLI PKG for MacOS
|
||
- Added autolaunch for Agent Deb package
|
||
- Added option to let scripts create log entries
|
||
|
||
2024-11-06 - 2.0.9.109_canary_2024-11-06
|
||
==========
|
||
This release is a canary release intended to be used for testing.
|
||
This release is expected to progress to a stable release if no major blockers are found.
|
||
|
||
**Unlike regular canary builds, this one has a major change in the build system, so it now runs on .NET8.**
|
||
The builds are self-contained so Mono or .NET installations are not required to install.
|
||
|
||
For users running on builds prior to 2.0.9.x, this build will appear later as an update that requires manual installation.
|
||
|
||
**Important changes from last Beta**
|
||
- Updated to .NET8 with OS specific builds
|
||
- Using Kestrel as the API/UI server
|
||
- Mandatory password and new authentication scheme for server
|
||
- Settings database version updated to v8
|
||
- Backup database updated to v13
|
||
|
||
Please see list of known issues related to .NET8/Kestrel upgrade:
|
||
https://github.com/orgs/duplicati/projects/2
|
||
|
||
# New tool to manage a running server
|
||
Due to incompatibility with `duplicati_client` a new tool is included, named `Duplicati.CommandLine.ServerUtil.exe`/`duplicati-server-util`.
|
||
|
||
# Upgrade from `v2.0.9.105`
|
||
If you are upgrading from 2.0.9.105 please see the release notes from 2.0.9.106 for how to prepare the database.
|
||
Upgrades from other versions do not need special steps.
|
||
|
||
## Downgrade backup database to v12
|
||
If you need to go back to v12, run these two SQL statements:
|
||
```
|
||
DROP INDEX "UniqueBlockVolumeDuplicateBlock";
|
||
UPDATE "Version" SET "Version" = 12;
|
||
```
|
||
|
||
## Detailed list of changes:
|
||
- Updated list of S3 endpoints to include Segate Lyve
|
||
- Updated all backends to support asyncronous calls
|
||
- Bugfixes for the new API implementation
|
||
- Bugfix for recreate failing on some systems
|
||
- Added option to disregard advisory locking on Linux
|
||
- Fixed issues with WebDAV and self-signed certificates
|
||
- Removed the deprecated FTP backend and made FluentFTP handle both FTP and aFTP
|
||
- Fixed a performance issue with compacting
|
||
- Fixed issues with remote control registration
|
||
- Fixed a performance issue with SharpAESCrypt
|
||
- Fixed an incorrect error masking another error in backups
|
||
- Support for EC-based certificates, thanks @mnaiman
|
||
- Always excluding the SQLite journal file for the active database
|
||
- Added support for detecting self-signed certificates and securely accepting them
|
||
- Cleaned up CSS/Less files, thanks @luixxiul
|
||
- Improved IPv6 support for `loopback` and `any`
|
||
- Fixed Rclone backend not setting defaults for empty strings
|
||
- Fixed a bug in the recompress tool, if not using encryption
|
||
- Fixed an issue where SharePoint would not honor the server throttle requests
|
||
- Improved cleanup after removing volumes, thanks @Jojo-1000
|
||
- Removed 7z compression
|
||
- Simplified showing the default value of boolean options
|
||
- Fixed an issue with leftover index files, thanks @Jojo-1000 and @ts678
|
||
- Fixed an issue that would cause verification errors if the compact was interrupted, thanks @Jojo-1000 and @ts678
|
||
- Fixed an issue where `dindex` files would be missing a blocklist, causing extra download on restores
|
||
- Fixed CSS/Less to rely on autoprefixer, thanks @luixxiul
|
||
- Added support for reducing the system load intensity
|
||
- Disabled Telegram notification destination
|
||
- Added support for external secret providers
|
||
|
||
2024-10-03 - 2.0.9.108_canary_2024-10-03
|
||
==========
|
||
This release is a canary release intended to be used for testing in preparation of a later stable release.
|
||
|
||
**Unlike regular canary builds, this one has a major change in the build system, so it now runs on .NET8.**
|
||
|
||
For that reason, the updater in previous canary builds does not detect this update yet, but this can be activated at a later time.
|
||
|
||
The builds are self-contained so Mono or .NET installations are not required to install.
|
||
|
||
**Important changes from last Beta**
|
||
- Updated to .NET8 with OS specific builds
|
||
- Using Kestrel as the API/UI server
|
||
- Mandatory password and new authentication scheme for server
|
||
- Settings database version updated to v8
|
||
|
||
Please see list of known issues related to .NET8/Kestrel upgrade:
|
||
https://github.com/orgs/duplicati/projects/2
|
||
|
||
# New tool to manage a running server
|
||
Due to incompatibility with `duplicati_client` a new tool is included, named `Duplicati.CommandLine.ServerUtil.exe`/`duplicati-server-util`.
|
||
|
||
# Upgrade from `v2.0.9.105`
|
||
If you are upgrading from 2.0.9.105 please see the release notes from 2.0.9.106 for how to prepare the database.
|
||
Upgrades from other versions do not need special steps.
|
||
|
||
# New experimental UI
|
||
This version features a new more modern UI based on Angular18 :tada:
|
||
Not all features are implemented just yet, so the new UI is not yet default.
|
||
The curious ones can try it by visiting `http://localhost:8200/theme.html` (or similar).
|
||
|
||
## Detailed list of changes:
|
||
- Added export feature to server-util
|
||
- Default to using .NET built-in Zip code for performance improvements
|
||
- Added `/health` healthcheck API to server + server-util
|
||
- Removed unuspported use of `Thread.CurrentCulture`
|
||
- Removed unsupported use of `Environment.OSVersion`
|
||
- Removed support for piped download as it was slow and caused hangs
|
||
- Fixed an issue with multi-instance detection that caused crashes
|
||
- Added a new experimental UI
|
||
- Added support for enabling remote control
|
||
|
||
2024-09-11 - 2.0.9.107_canary_2024-09-11
|
||
==========
|
||
This release is a canary release intended to be used for testing in preparation of a later stable release.
|
||
|
||
**Unlike regular canary builds, this one has a major change in the build system, so it now runs on .NET8.**
|
||
|
||
For that reason, the updater in previous canary builds does not detect this update yet, but this can be activated at a later time.
|
||
|
||
The builds are self-contained so Mono or .NET installations are not required to install.
|
||
|
||
**Important changes from last Beta**
|
||
- Updated to .NET8 with OS specific builds
|
||
- Using Kestrel as the API/UI server
|
||
- Mandatory password and new authentication scheme for server
|
||
- Settings database version updated to v8
|
||
|
||
Please see list of known issues related to .NET8/Kestrel upgrade:
|
||
https://github.com/orgs/duplicati/projects/2
|
||
|
||
# New tool to manage a running server
|
||
Due to incompatibility with `duplicati_client` a new tool is included, named `Duplicati.CommandLine.ServerUtil.exe`/`duplicati-server-util`.
|
||
|
||
# Upgrade from `v2.0.9.105`
|
||
If you are upgrading from 2.0.9.105 please see the release notes from 2.0.9.106 for how to prepare the database.
|
||
Upgrades from other versions do not need special steps.
|
||
|
||
## Detailed list of changes:
|
||
- Prepared some additional localization strings
|
||
- Fixed a bug with server-util not finding backups by name
|
||
- Added support for insecure connections from server-util
|
||
- Embedding backwards compatible ARMv7 binaries in builds
|
||
- Another fix for MSI packages breaking on upgrade
|
||
- Improved Swagger output to include types
|
||
- Replaced `WebRequest` for WebDAV with `HttpClient`
|
||
- Reduced log output from server-util and TrayIcon
|
||
- Microfix for USN parsing
|
||
- Fixed a case where almost identical files could cause broken index files, thanks @Jojo-1000
|
||
- Also improved handling when reading index files with broken lists, thanks @Jojo-1000
|
||
- Fixed auto-repair failing due to locked databases, thanks @Jojo-1000
|
||
|
||
2024-09-03 - 2.0.9.106_canary_2024-09-03
|
||
==========
|
||
This release is a canary release intended to be used for testing in preparation of a later stable release.
|
||
|
||
**Unlike regular canary builds, this one has a major change in the build system, so it now runs on .NET8.**
|
||
|
||
For that reason, the updater in previous canary builds does not detect this update yet, but this can be activated at a later time.
|
||
|
||
**Important changes from last Beta**
|
||
- Updated to .NET8 with OS specific builds
|
||
- Using Kestrel as the API/UI server
|
||
- Mandatory password and new authentication scheme
|
||
- Settings database version updated to v8
|
||
|
||
Please see list of known issues related to .NET8/Kestrel upgrade:
|
||
https://github.com/orgs/duplicati/projects/2
|
||
|
||
# New tool to manage a running server
|
||
Due to incompatibility with `duplicati_client` a new tool is included, named `Duplicati.CommandLine.ServerUtil.exe`/`duplicati-server-util`.
|
||
|
||
The new tool can pause/resume a backup, run a backup, change the password and more:
|
||
https://github.com/duplicati/duplicati/pull/5483
|
||
|
||
# Encrypting database fields
|
||
To reduce the risk of leaking encryption passphrases and credentials,
|
||
many fields in the `Duplicati-server.sqlite` file can now be encrypted with user supplied key.
|
||
|
||
The following environment variables control the encryption options:
|
||
- `SETTINGS_ENCRYPTION_KEY`: Provides the settings encryption key.
|
||
- `DUPLICATI__REQUIRE_DB_ENCRYPTION_KEY=true`: Prevents starting with a key (also supported via `--require-db-encryption-key-true`).
|
||
- `DUPLICATI__DISABLE_DB_ENCRYPTION=true`: Forces Duplicati to run without encryption (also supported via `--disable-db-encryption=true`).
|
||
|
||
If you need to change the key, you can temporarily decrypt the database by starting the server with `--disable-db-encryption`.
|
||
After starting, stop the instance again, change `SETTINGS_ENCRYPTION_KEY` to the new key and start again without the argument, to have it re-encrypted.
|
||
|
||
To downgrade from this version, run once with `--disable-db-encryption`, and change the version number to 7, then install the previous version.
|
||
|
||
**Note for users of 2.0.9.105:** The method for extracting an encryption key from the machine seriail number did not produce secure results.
|
||
This feature has now been removed, and will prevent you from upgrading. To upgrade from 2.0.9.105, start with `--disable-db-encryption`, then exit, then upgrade to 2.0.9.106+.
|
||
Users from other versions than 2.0.9.105 will not have difficulties, and Docker users should not see any issues either.
|
||
|
||
## Detailed list of changes:
|
||
- Fixed console duration output including days
|
||
- Added blacklisting of some settings encryption keys
|
||
- Refactored the way databases are located to use shared code
|
||
- Fixed translation consistency issues, thanks @luixxiul
|
||
- Fixed missing commandline help on Windows
|
||
- Added dift support for JWT expiration
|
||
- Removed DeviceId as the source for settings encryption keys
|
||
- Fixed an issue where an authentication issue was reported as a server error
|
||
- Fixed MSI packages failing to upgrade
|
||
- Re-added the `FORSERVICE=true` flag to MSI packages
|
||
- Improved diganostics output from server-util
|
||
|
||
2024-08-29 - 2.0.9.105_canary_2024-08-29
|
||
==========
|
||
This release is a canary release intended to be used for testing in preparation of a later stable release.
|
||
|
||
**Unlike regular canary builds, this one has a major change in the build system, so it now runs on .NET8.**
|
||
|
||
For that reason, the updater in previous canary builds does not detect this update yet, but this can be activated at a later time.
|
||
|
||
**Important changes from last Beta**
|
||
- Updated to .NET8 with OS specific builds
|
||
- Using Kestrel as the API/UI server
|
||
- Mandatory password and new authentication scheme
|
||
- Settings database version updated to v8
|
||
- Encrypting data in `Duplicati-server.sqlite` with machine serial number
|
||
|
||
Please see list of known issues related to .NET8/Kestrel upgrade:
|
||
https://github.com/orgs/duplicati/projects/2
|
||
|
||
# New tool to manage a running server
|
||
Due to incompatibility with `duplicati_client` a new tool is included, named `Duplicati.CommandLine.ServerUtil.exe`/`duplicati-server-util`.
|
||
|
||
The new tool can pause/resume a backup, run a backup, change the password and more:
|
||
https://github.com/duplicati/duplicati/pull/5483
|
||
|
||
# Encrypting database fields
|
||
To reduce the risk of leaking encryption passphrases and credentials,
|
||
many fields in the `Duplicati-server.sqlite` file will be encrypted after running this version.
|
||
The key used to encrypt is derived from the machine serial number, so **the database cannot be decrypted on another machine**.
|
||
|
||
If your strategy relies on being able to read this database, you must take action.
|
||
These two setups are vulnerable:
|
||
- If you do not store a copy of the passphrase elsewhere
|
||
- If you make a copy of the settings database
|
||
|
||
We strongly recommend that you store a copy of the passphrase(s) securely, regardless of your setup.
|
||
|
||
If you want to choose the settings encryption key, you can set the environment variable `SETTINGS_ENCRYPTION_KEY` to a custom value.
|
||
If you want to never use the serial number as the passphrase, set the environment
|
||
variable `DUPLICATI__REQUIRE_DB_ENCRYPTION_KEY=true`, which will prevent Duplicati from starting without a user provided key.
|
||
|
||
If you need to change the key, you can temporarily decrypt the database by starting the server with `--disable-db-encryption`.
|
||
After starting, stop the instance again, set `SETTINGS_ENCRYPTION_KEY` and start again without the argument, to have it re-encrypted.
|
||
|
||
To downgrade from this version, run once with `--disable-db-encryption`, and change the version number to 7, then install the previous version.
|
||
|
||
As always, feedback is appreciated!
|
||
|
||
## Detailed list of changes:
|
||
- Simplified logic for finding the folder containing the settings database
|
||
- Encrypting settings in database with machine serial number
|
||
- Fixed issue with server not responding to CTRL+C or stop commands
|
||
- Fixed issue with TrayIcon not trying multiple ports
|
||
- Added utility program to control a running server
|
||
- Improved the initial password setup experience
|
||
- Added support for logging to Windows Event Log and added Description to Windows Service
|
||
- Fixed an issue where the retention value could not be saved if it was a number
|
||
- Fixed an upgrade issue where `%HOME%` would not resolve correctly on Linux
|
||
- Fixed an issue with parsing `--send-http-result-output-format`
|
||
- Updated Docker image to use environment variables and not use settings encryption by default
|
||
- Added support for pre-loading default settings on a machine or installation
|
||
|
||
2024-08-21 - 2.0.9.104_canary_2024-08-21
|
||
==========
|
||
This release is a canary release intended to be used for testing in preparation of a later stable release.
|
||
|
||
**Unlike regular canary builds, this one has a major change in the build system, so it now runs on .NET8.**
|
||
|
||
For that reason, the updater in previous canary builds does not detect this update yet, but this can be activated at a later time.
|
||
|
||
**Important changes from last Beta**
|
||
- Updated to .NET8 with OS specific builds
|
||
- Using Kestrel as the API/UI server
|
||
- Mandatory password and new authentication scheme
|
||
- Settings database version updated to v7
|
||
|
||
Please see list of known issues related to .NET8/Kestrel upgrade:
|
||
https://github.com/orgs/duplicati/projects/2
|
||
|
||
## Detailed list of changes:
|
||
- Removed some console logging in JS
|
||
- Updates to localization, thanks @luixxiul
|
||
- Improved navigation in UI, thanks @luixxiul
|
||
- Fixed some issues with using TrayIcon detached from Server
|
||
- Made hostname validation more backwards compatible
|
||
|
||
2024-08-15 - 2.0.9.103_canary_2024-08-15
|
||
==========
|
||
This release is a canary release intended to be used for testing in preparation of a later stable release.
|
||
|
||
** Unlike regular canary builds, this one has a major change in the build system, so it now runs on .NET8. **
|
||
|
||
For that reason, the updater in previous canary builds does not detect this update yet, but this can be activated at a later time.
|
||
|
||
** Important changes from last Beta **
|
||
- Updated to .NET8 with OS specific builds
|
||
- Using Kestrel as the API/UI server
|
||
- Mandatory password and new authentication scheme
|
||
- Settings database version updated to v7
|
||
|
||
Please see list of known issues related to .NET8/Kestrel upgrade:
|
||
https://github.com/orgs/duplicati/projects/2
|
||
|
||
## Detailed list of changes:
|
||
- Multiple updates for styling and visual consistency, thanks @luixxiul
|
||
- Extensive work on making all documentation strings follow a consistent logic, thanks @luixxiul
|
||
- Fixed support for Websocket over https, thanks @Riches
|
||
- Fixed an issue with `--webservice-allowed-hostnames` being renamed
|
||
- Fixed support for captcha on systems without the Arial font
|
||
- Using different default filenames for logging with TrayIcon and Server
|
||
- Fixed issue with livelog not showing contents
|
||
- Fixed an issue where a login issue would not show an option to log in
|
||
- Fixed showing correct port number in log output
|
||
- Fixed not showing scheduler state and next backup
|
||
- Fixed an issue where a crash would show the wrong stack trace
|
||
- Fixed an issue with generating massive number of inotify watchers
|
||
- Re-enabled the button to log out
|
||
- Added option to disable the visual captcha
|
||
- Added support for providing server commandline arguments via environment variables
|
||
- Fixed log error message related to update download url
|
||
- Added Telegram reporting module
|
||
|
||
2024-08-02 - 2.0.9.102_canary_2024-08-02
|
||
==========
|
||
This release is a canary release intended to be used for testing in preparation of a later stable release.
|
||
|
||
** Unlike regular canary builds, this one has a major change in the build system, so it now runs on .NET8. **
|
||
|
||
For that reason, the updater in previous canary builds does not detect this update yet, but this can be activated at a later time.
|
||
|
||
Please see release notes for `v2.0.9.100` for a summary of changes.
|
||
Please see list of known issues related to .NET8 upgrade:
|
||
https://github.com/orgs/duplicati/projects/2
|
||
|
||
This build is changes the underlying webserver to Kestrel, which is common for .NET based projects.
|
||
A big thanks to @tsuckow and @npodbielski for their contributions towards this goal.
|
||
|
||
** This build changes authentication for the WebUI **
|
||
With this build it is no longer possible to use the web-UI without a password.
|
||
If no password is set, a random password is generated.
|
||
For users activating the UI via the TrayIcon, this will automatically log in, as the TrayIcon hosts the server.
|
||
For users that rely on the WebUI without the TrayIcon, as special link is emitted during startup that allows login.
|
||
For both cases, the password can be (re-)set with `--webservice-password=...` as a startup commandline argument.
|
||
|
||
## Detailed lits of changes:
|
||
- Updated libraries: Mega, SharpAESCrypt, Storj, FluentFTP
|
||
- Updated Webserver to Kestrel, thanks @tsuckow and @npodbielski
|
||
- Implemented websocket based messages in WebUI, thanks @npodbielski
|
||
- HTTP reports now give a warning if the server rejects the message
|
||
- Extensive changes to strings to improve localization, structure and layout in WebUI, thanks @luixxiul
|
||
- Uplink libraries fixed on all platforms, thanks @TopperDEL
|
||
- Fixed an issue where strings with line-breaks would not show in translated form
|
||
- Removed remnants of Tardigrade backend in favor of Storj API
|
||
- Added Sakura Cloud to list of S3 providers
|
||
- Changed aFTP default SSL to `None`, meaning "System Default"
|
||
- Added check to find Duplicati server database in old location on MacOS
|
||
- Fixed issues with `.deb` packages overwriting options file on update
|
||
- Fixed issue with backups using VSS and a drive letter as the source
|
||
- Fixed issue with Arm 32bit not reading files larger than 4GiB
|
||
|
||
2024-06-27 - 2.0.9.101_canary_2024-06-27
|
||
==========
|
||
This release is a canary release intended to be used for testing in preparation of a later stable release.
|
||
|
||
** Unlike regular canary builds, this one has a major change in the build system, so it now runs on .NET8. **
|
||
|
||
For that reason, the updater in previous canary builds does not detect this update yet, but this can be activated at a later time.
|
||
|
||
Please see release notes for `v2.0.9.100` for a summary of changes.
|
||
|
||
## Detailed lits of changes:
|
||
- Removed obsolete platform detection code, thanks @Jojo-1000
|
||
- Changed XMPP library to Artalk.Xmpp, thanks @Jojo-1000
|
||
- Fixed an issue with rendering non-ascii
|
||
- Cleaned up some library licenses
|
||
- Fixed SQL quotes and added quote guard to SQL queries, thanks @Jojo-1000
|
||
- Updated AWS region list
|
||
- Fixed compare logic not working on Linux, thanks @Jojo-1000
|
||
- Added logic to set AWS hostname in UI based on selected region
|
||
- Removed deprecated S3 options `--s3-european-buckets` and `--s3-use-rrs`
|
||
- Removed support for deprecated spelling of S3 credentials
|
||
- Removed bundled GPG Windows binaries
|
||
- Removed unsupported AlphaFS
|
||
- Changed restore to not use local blocks by default
|
||
- Updated Poli Systems endpoints, thanks @IIPoliII
|
||
- Added Debian Arm7 packages
|
||
- Updated CoCoL to latest .NET 8 version
|
||
- Added support for arguments for scripts
|
||
- Improved speed of the recovery tool, using in-memory lookup and added configurable open archive cache
|
||
- Increasing the default number of archives tested to 0.1%
|
||
- Updated SharpAESCrypt to v2. Note this deprecates threaded encryption, and adds padding validation. Set the environment variable `AES_IGNORE_PADDING_BYTES=1` if you re-encrypt archives with an external AES Crypt tool.
|
||
|
||
2024-05-30 - 2.0.9.100_canary_2024-05-30
|
||
==========
|
||
This release is a canary release intended to be used for testing in preparation of a later stable release.
|
||
|
||
** Unlike regular canary builds, this one has a major change in the build system, so it now runs on .NET8. **
|
||
|
||
For that reason, the updater in previous canary builds does not detect this update yet, but this can be activated at a later time.
|
||
|
||
## These are some of the major changes that can cause surprises, so please review and see if any are relevant for your usage:
|
||
|
||
- Changed runtime to .NET8, shipping with dependencies, no more Mono or .NET install required
|
||
- Changed from portable executable to operating system and CPU architecture dependent packages
|
||
- Server database with SQLite is no longer "encrypted" with RC4, running a new canary or later will decrypt the database
|
||
- The executable `Duplicati.Library.AutoUpdater.exe` is renamed to `Duplicati.CommandLine.AutoUpdater.exe` and has limited functionality
|
||
- The Windows MSI installer has been reduced, it offers essentially no options for now and no UI
|
||
- The updater has been rewritten to rely on installing the packages, instead of having the "in-place" updates
|
||
- There are now longer a spawned secondary process
|
||
- The updates folder can be deleted
|
||
- Installing an update now requires manually downloading and running the installer (you still get a notice)
|
||
- To fit better with non-Windows systems the executables on non-Windows are all lower-case and prefixed with `duplicati`:
|
||
- `Duplicati.GUI.TrayIcon.exe` -> `duplicati`
|
||
- `Duplicati.CommandLine.exe` -> `duplicati-cli`
|
||
- `Duplicati.RecoveryTool.exe` -> `duplicati-recovery-tool`
|
||
- ... and similar for others
|
||
|
||
## More detailed list of changes:
|
||
- More than 300 commits for the change to .NET8, credits to @mnaiman, @tsuckow, @Jojo-1000, @npodbielski and many others
|
||
- These commits were done over many years an accumulated, so here is a summary
|
||
- Changes to support new .NET framework methods
|
||
- Changed to use Avalonia UI instead of WinForms
|
||
- Removed `mono` support and requirement
|
||
- Upgraded packages
|
||
- Reworked binaries and some queries for SQLite
|
||
- 1MiB blocksize default, thanks @mr-russ
|
||
- IOScheduling for RPM packages, thanks @achims311
|
||
- Selective dynamic loading of modules to avoid loader errors
|
||
- New manifest for updater
|
||
- Added GNUGP to Docker, thanks @wjansenw
|
||
- Improved cross-platform support, thanks @SimonNyvall
|
||
- Fixed issue with custom reporting message for http-modules
|
||
- RC4 database encryption
|
||
- Fixed issues with recoverytool, thanks @Jojo-1000
|
||
- Additional quota control options, thanks @Jojo-1000
|
||
- Improved file-source picker with filters, thanks @Jojo-1000
|
||
- Fixes to forced local, thanks @Jojo-1000
|
||
- Fixed an issue with OpenStack loosing username and password, thanks @Jojo-1000
|
||
- Improved handling of boolean options in the UI, thanks @Jojo-1000
|
||
- Fixed issues with missing executables and permissions on non-Windows
|
||
- Fixed an issue when restoring without a localdatabase, using non-default blocksize, and no parameters
|
||
- Rebuilt the MSI proces for `wixl` support
|
||
- Added Win-Arm64 support
|
||
|
||
2024-04-19 - 2.0.7.103_canary_2024-04-19
|
||
==========
|
||
- Added microfix that adds a missing default value to the backup reports.
|
||
|
||
2024-04-03 - 2.0.7.102_canary_2024-04-03
|
||
==========
|
||
This build is intended to be the last build that uses .Net4 (aka .Net Desktop).
|
||
Future builds are expected to use .Net8 and will require a manual update,
|
||
because the .Net builds are no longer operating system independent.
|
||
|
||
The upside is that there are fewer dependencies (no more Mono),
|
||
and execution times are greatly improved.
|
||
|
||
* Removed donation messages
|
||
* Updated MacOS Installer license text
|
||
* Updated installer to support future manual upgrade
|
||
* Added information to reports when encountering an exception
|
||
|
||
2024-03-08 - 2.0.7.101_canary_2024-03-08
|
||
==========
|
||
* 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
|
||
|
||
2023-12-27 - 2.0.7.100_canary_2023-12-27
|
||
==========
|
||
This canary is a bugfix release with error reporting improvements, no database format change.
|
||
Options changes:
|
||
`--s3-disable-chunk-encoding` added to the AWS backend (only useful for some providers)
|
||
`--full-remote-verification` changes from a boolean option to a tri-valued one. Existing configurations should not be impacted.
|
||
`--aftp-log-to-console` and `--aftp-log-privateinfo-to-console` added to the Alternative Ftp backend (for debugging purposes only)
|
||
`--repair-force-block-use` added to the database rebuild process (only for very damaged databases)
|
||
|
||
Changes:
|
||
- Fix various bugs with backup filters, thanks @jojo-1000
|
||
- Fix highlighting in restore file picker, thanks @jojo-1000
|
||
- Update mail libraries, thanks gpatel-fr
|
||
- Remove dead facebook link and add doc link, thanks @jojo-1000
|
||
- Remove obsolete hubic backend, thanks @gpatel-fr
|
||
- Remove obsolete tool TlsTest, thanks @gpatel-fr
|
||
- Update Serbian translation, thanks @sagitarion
|
||
- Improve result reporting for interrupted/failed backups, thanks @jojo-1000
|
||
- Add return code 3 to help.txt, thanks @gpatel-fr
|
||
- Fix missing file error caused by interrupted compact, thanks @jojo-1000 and @warwickmm
|
||
- Include exception type and message in job log, thanks @jojo-1000
|
||
- Update thirdparty info to remove obsolete references, thanks @gpatel-fr
|
||
- Remove JS error in negated 'IN' expressions, fixing bad restore prompt (thanks @gorosgobe and Bloomberg)
|
||
- Update restsharp, thanks @gpatel-fr
|
||
- Update FluentFTP (Alternative FTP) to 46.0.2 and fixes for initial directory creation, thanks @taz-il
|
||
- Add console log to the Alternative FTP backend, thanks @gpatel-fr
|
||
- Fix hidden username and password options when changing backends, thanks @jojo-1000
|
||
- Add option to disable chunked encoding for AWS S3, thanks @jojo-1000
|
||
- Specify the name of the backup when reporting failures, thanks @taz-il
|
||
- Allow to perform tests without checking file list, thanks @gpatel-fr
|
||
- Enhance database rebuilding of very damaged databases, thanks @gpatel-fr
|
||
- Set the job state to error when post backup verification fails, thanks @gpatel-fr
|
||
- Allow full-remote-verification to target only list and index files, thanks @gpatel-fr
|
||
- Fix restore search error in RestoreController, thanks @jojo-1000
|
||
- Replace agsXmpp with Sharp.Xmpp, thanks @gpatel-fr
|
||
- Set default log level to Dryrun if dryrun option is set, thanks @gpatel-fr
|
||
- Enhance Python restore tool, thanks @gpatel-fr
|
||
- Report all filesets in error in VerifyConsistency, thanks @gpatel-fr
|
||
- Remove reliance on statusText for error messages (http2 proxy support), thanks @jojo-1000
|
||
- Keep user-defined whitespace in description field (allow multiline support), thanks @jojo-1000
|
||
- Force a vacuum of bug report database for privacy reasons, thanks @gpatel-fr
|
||
|
||
2023-05-25 - 2.0.7.2_canary_2023-05-25
|
||
==========
|
||
- update Github tests versions, thanks @taz-il
|
||
- Add Catalyst Cloud as an OpenStack target, thanks @Andrew Ruthven
|
||
|
||
2023-05-25 - 2.0.7.1_beta_2023-05-25
|
||
==========
|
||
After almost 2 years, a new Beta has taken its time, but it’s finally
|
||
there. It’s a roll-up of all the fixes since the last beta build and is
|
||
expected to cause very few issues when upgrading. This release is almost
|
||
identical to Canary 106.
|
||
|
||
It involves a better UI for dark mode, better support for Dropbox,
|
||
Jottacloud, S3, Tencent backends, add IDrive backend, TLS modernization,
|
||
bug fixes, upgrades to libraries.
|
||
|
||
Points of attention:
|
||
|
||
- database upgrade from 11 to 12: Downgrade from this version requires
|
||
manually adjusting the version
|
||
number in the database. The additions can be re-applied if the database is
|
||
upgraded again later.
|