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/canary/?version=2.2.0.101 Signature file: https://updates.duplicati.com/canary/duplicati-2.2.0.101_canary_2025-11-20.signatures.zip
2150 lines
107 KiB
Text
2150 lines
107 KiB
Text
2025-11-20 - 2.2.0.101_canary_2025-11-20
|
||
==========
|
||
This release is a canary release intended to be used for testing.
|
||
|
||
# Changes in this versions
|
||
This version now runs on .NET10! Apart from some speedup, the transition should not be noticeable.
|
||
|
||
This version also adds initial support for MacOS Photos, where it can now read photos, even if they are stored in iCloud.
|
||
Previous versions would back up the folder, which might not include all photos.
|
||
Use the option `--photos-handling` to disable or tweak this feature.
|
||
|
||
When using advanced options, the human-readable description is now displayed with the option name, and you can search for either.
|
||
|
||
|
||
## Detailed list of changes:
|
||
- Fixed an issue with SyncTool and retries that would fail on some backends
|
||
- Improved support for OEM injection
|
||
- Return status of backup in ServerUtil, thanks @greyxr
|
||
- Updated to run on .NET10
|
||
- Improved deadlock detection for restore with fewer false positives
|
||
- Updated Uplink.NET to v2.14.3623 (for Storj backend)
|
||
- Added support for MacOS Photos
|
||
- Disabled internal timeout in AzureBlobStorage
|
||
- Updated localizations, thanks to all translators!
|
||
|
||
## ngclient changes:
|
||
- Updated to latest ShipUI
|
||
- Preload modules for better desktop performance
|
||
- Fixed some issues with localization not being applied
|
||
- Updates to the options list
|
||
- Updated localizations, thanks to all translators!
|
||
- Fixed an issue with Rclone not maintaining letter-case for remote
|
||
- Simplified the schedule setup page
|
||
- Improved AuthID picking
|
||
- Improved integration with console
|
||
- Cleaned the sidebar slightly
|
||
- Fixed an issue with styling in settings
|
||
- Restore flow will now default to not overwrite existing files
|
||
- Added both option name and short description to advanced options
|
||
- Fixed not showing "Verifying" at the start of the backup operation
|
||
- Handle global settings with and without `--` prefix
|
||
- Upgraded to Anguler 21
|
||
|
||
2025-11-05 - 2.2.0.100_canary_2025-11-05
|
||
==========
|
||
This release is a canary release intended to be used for testing.
|
||
|
||
# Changes in this versions
|
||
This version is a bugfix release for some issues discovered with the previous canary build and stable release.
|
||
Some of the changes in this Canary will be applied to a new revised stable release.
|
||
|
||
The changes in this version are mostly bugfixes and minor improvements that are not expected to cause issues.
|
||
|
||
## Detailed list of changes:
|
||
- Reporting remote filename on errors instead of temporary file
|
||
- Added guards and fix for timeouts in MSGraph backend
|
||
- Added guard against sending an unsupported header in remote control
|
||
- Fixed href-base replacement, thanks @peloyeje
|
||
- Fixed an error parsing flag-options (multiple option names in a single option)
|
||
- Fixed an incorrect option name in release builder
|
||
- Clear notifications on startup for issues that are resolved
|
||
- Improved S3 hostname check to auto-prune trailing slashes
|
||
- Show the assembly version in the version number
|
||
- Made `--send-email-password` a password option so it is guarded
|
||
- Added a dynamically adjusting deadlock timer for the restore flow
|
||
- Improved parsing of WebDAV PROPFIND messages to cover more servers
|
||
- Exposed options for pCloud that were previously not showed
|
||
- Made the file-backend's `--use-move-for-put` option auto-disable streaming transfers
|
||
- Fixed an issue with restoring from a config file that would fail if the backups were encrypted
|
||
- Added option to disable remote control when connected to the console
|
||
|
||
## ngclient changes:
|
||
- Added support for picking the power-mode provider in settings
|
||
- Fixed some issues with filters
|
||
- Fixed some buttons that were missing styling
|
||
- Fixed issue with Test function not asking to create folder
|
||
- Fixed not showing tooltip to remember password when not encrypting exported file
|
||
- Fixed issues with parsing the exclude attributes and exclude by file size
|
||
- Improved hint texts on start page to be less cloud-oriented
|
||
- Correctly show duration if it takes over 24h
|
||
- Renamed the "Start" button to "Resume" when the server is paused
|
||
- No longer showing the usage reporter option if this is disabled by environment variables
|
||
- The settings page now shows the currently installed version
|
||
- Better detection of users language on initial load
|
||
- Add a warning when doing cross-OS restores
|
||
- Toggled some steps as disabled when clicking them would not result in a working flow
|
||
- Added password visibility toggle on login page
|
||
- Improved advanced options view to show file pickers and email parsers
|
||
- Improved the display of the warning when typing a custom destination URL
|
||
- Fixed some issues with the URL parsing, especially making it case-preserving and fixing Rclone
|
||
- Using the Commandline UI now includes the global advanced settings
|
||
- Very long error messages no longer overflow the screen but gets scrollable instead
|
||
- Changed order of options on the restore overview page to nudge towards using configured backups
|
||
- Added scrolling to source paths when entering more than 25 sources
|
||
- Hiding FileJump destination due to a pending migration
|
||
- Sizes can again be chosen in bytes, which also fixes the wrong warning displayed on the volume size picker
|
||
- Updated localization, thanks to all translators
|
||
- Added a new connection link that shows the console connection status
|
||
- Updated naming for the console connection to be more consistent
|
||
- Hide connection options when connecting remotely
|
||
|
||
2025-10-10 - 2.1.1.105_canary_2025-10-10
|
||
==========
|
||
This release is a canary release intended to be used for testing.
|
||
|
||
# Changes in this versions
|
||
This version is a bugfix release for some issues discovered with the previous canary build.
|
||
|
||
## Detailed list of changes:
|
||
- Using the JsonSignature library instead of embedding the code
|
||
- Added status code check for B2 backend
|
||
|
||
## ngclient changes:
|
||
- Fixed an issue where usage reports could not be disabled
|
||
- Fixed an issue where tooltips could prevent buttons from being clicked
|
||
|
||
2025-10-03 - 2.1.1.104_canary_2025-10-03
|
||
==========
|
||
This release is a canary release intended to be used for testing.
|
||
|
||
# Changes in this versions
|
||
This version is a bugfix release for some issues discovered with the previous canary build.
|
||
|
||
|
||
## Detailed list of changes:
|
||
- Fixed unmasking password from commandline UI
|
||
- Fixed ngax loosing all customer destination editors
|
||
- Fixed a wrong lookup for file size during restore file listing that caused slowdowns
|
||
- Added alerts on login/signin pages that JavaScript is required
|
||
- Updated Storj library uplink.NET to 2.14.3598 for fixing Linux crashes
|
||
- Fixed an issue with restore flow that could deadlock an block restores
|
||
|
||
## ngclient changes:
|
||
- Updated localizations, thanks to all translators
|
||
- Added support for masked passwords when testing a connection
|
||
- Fixed some buttons not being styled correctly
|
||
|
||
2025-09-25 - 2.1.1.103_canary_2025-09-25
|
||
==========
|
||
This release is a canary release intended to be used for testing.
|
||
|
||
# Changes in this versions
|
||
This version is a bugfix release for some issues discovered with the previous canary build.
|
||
|
||
## Database update to v9 (also in previous version)
|
||
This version updates the server settings database to v9 to add a new column to the `Backup` table.
|
||
The database tool can downgrade without data loss (assuming that external configs were not loaded).
|
||
|
||
## Detailed list of changes:
|
||
- Fixed issue with invariant formatting causing crashes during backup
|
||
- Added Administrator permissions to data folders on Windows
|
||
- Fixed an issue with the "Test connection" button after passwords are masked
|
||
|
||
## ngclient changes:
|
||
- Updated localizations
|
||
- Updated API calls to support masked passwords for test connection
|
||
|
||
2025-09-23 - 2.1.1.102_canary_2025-09-23
|
||
==========
|
||
This release is a canary release intended to be used for testing.
|
||
|
||
# Changes in this versions
|
||
This version contains a number of fixes for issues discovered through testing, including fixes for the restore process and the index file recreate.
|
||
|
||
This version adds support for Service Account JSON when using Google Clouds Services for storage.
|
||
|
||
To improve security, this version adds masking of passwords so it is harder to leak sensitive values.
|
||
|
||
## Database update to v9
|
||
This version updates the server settings database to v9 to add a new column to the `Backup` table.
|
||
The database tool can downgrade without data loss (assuming that external configs were not loaded).
|
||
|
||
## Detailed list of changes:
|
||
- Fixed an issue with the restore flow where it would fail if a local file existed but was locked
|
||
- Removed display of custom values in NGAX dropdowns
|
||
- Fixed an issue with locale settings affecting SQL statements
|
||
- Mask passwords when sending them through the API to avoid leaking secrets
|
||
- Added retry option for backend tester
|
||
- Downgrade Minio library to 6.0.0 due to faulty error handling in later versions
|
||
- Validate that the S3 hostname does not contain a path, thanks @smyja
|
||
- Updated logic for showing HyperV and MSSQL in source browser
|
||
- Fixed an issue where the MSGraph backend would attempt to re-read the response body for error messages
|
||
- Added support for remotely managed backup configurations
|
||
- Removed leading and trailing null characters from paths to work around an issue with .NET Core and some virtual filesystems
|
||
- Improved debug logging of SQL statements to use invariant locale
|
||
- Added support for Service Account JSON authentication with GCS
|
||
- Updated CoCoL to fix a flood of unhandled exception messages
|
||
- Fixed a case where a recreated index volume would sometimes not contain all data
|
||
- Added support for sending webmodule data without needing a callback
|
||
|
||
## ngclient changes:
|
||
- Fixed images not showing for the destination list
|
||
- Fixed some UI rendering issues caused by missing values in data
|
||
- Added destination icons to backup list view
|
||
- Fixed destinations page not scrolling correctly
|
||
- Updated ShipUI library
|
||
- Fixed an issue with text-editing of advanced options that could loose values
|
||
- Improved support for smaller screens
|
||
- Fixed some button displays and added dark theme for loading screen
|
||
- Simplified source and destination trees
|
||
- Source tree now supports HyperV and MSSQL sources, if present
|
||
- Updated to Angular v20.2
|
||
- Added support for showing externally managed reporting url and backups
|
||
- Fixed wording on channels to reflect Beta status
|
||
- Fixed some typo's and casing issues
|
||
- Correct handling of advanced options with leading slashes
|
||
- Prevent adding a leading slash for Windows UNC style paths
|
||
- Fixed file backend ignoring advanced options
|
||
- Added multiple search terms to destination list, and fixed priority sorting
|
||
- Added machine name to the left-hand menu for easier identification
|
||
- Improved logic for import to better reflect the current state when editing
|
||
- Fixed support for choosing filter groups when adding source filters
|
||
- Added support for GCS Service Account JSON
|
||
- Fixed wording on restore to not mention the option to restore a config from storage
|
||
|
||
2025-08-19 - 2.1.1.101_canary_2025-08-19
|
||
==========
|
||
This release is a canary release intended to be used for testing.
|
||
|
||
# Changes in this versions
|
||
This version has an update to the restore process that reduces the amount of temporary space used during restores.
|
||
With the option `--restore-volume-cache-hint` it is now possible to choose how much size to use, and the dafult is 4GiB.
|
||
|
||
A problem with ngclient saving sizes with the default multiplier was fixed, and an improved list of destinations was added.
|
||
|
||
The breaking change in 2.1.1.100 with the `--allow-empty-source` was tested and found to have too many negative issues, so it was inverted to be `--prevent-empty-source` such that it is possible to turn it on, but it does not by default fail if the source folder is empty.
|
||
|
||
For Debian packages, the libICU package is now a recommended dependency and will not prevent installing the package.
|
||
A pre-install script warns if no libICU package was found, and shows how to run without libICU present.
|
||
|
||
## Detailed list of changes:
|
||
- Fixed an issue with null values on Sharepoint mounted folders
|
||
- Improve support for libICU on Debian
|
||
- Fixed a case where testing would fail on a missing hash value
|
||
- Added support for limiting the usage of local temporary disk space during restore
|
||
- Inverted `--allow-empty-source` to `--prevent-empty-source` (opt-in)
|
||
- Fixed an issue with S3 backend reading stream twice
|
||
- Lowercase S3 AWS Client content hash for better compatibility with other providers
|
||
|
||
## ngclient changes:
|
||
- Improved searching for destinations
|
||
- Resolved some issues with colors not being applied
|
||
- Fixed an issue with non-default size multiplier causing invalid values to be saved
|
||
- Streamlined suffixes for sizes to be the same
|
||
- Removed support for picking `bytes` as the multiplier
|
||
- Fixed issue with livelog page requesting invalid data when disabled
|
||
|
||
2025-08-08 - 2.1.1.100_canary_2025-08-08
|
||
==========
|
||
This release is a canary release intended to be used for testing.
|
||
|
||
# Changes in this versions
|
||
|
||
This build adresses an issue with timeouts on B2 uploads, along with a number of minor fixes.
|
||
|
||
There is a breaking change in that Duplicati will now consider an empty *source* folder as an error, unless you specify `--allow-empty-source`. This is done to avoid common mistakes where a folder was supposed to be mounted but was not.
|
||
|
||
The Docker images have been overhauled and now supports running with a custom UID/GID combination.
|
||
|
||
The login flow has been secured slightly and now features an extra nonce value that is required on requests. If you have custom code authenticating with Duplicati this is a breaking change.
|
||
|
||
Finally, there is now also an option to log internal HTTP requests to the log for tracing and debugging.
|
||
|
||
## Detailed list of changes:
|
||
- Fixed commandline test command issuing a warning
|
||
- Fixed erratic timeouts on B2
|
||
- Corrected reported timeouts in BackendTester
|
||
- Fixed some quoting of SQLite queries
|
||
- Update Docker images with UID/GID support
|
||
- Fixed CLI help not showing the datafolder environment variable name
|
||
- Changed repair message to suggest purge-broken-files
|
||
- Fixed a thread resource leak in TrayIcon
|
||
- Fixed Vacuum failing to complete due to active transaction
|
||
- Fixed an issue with missing hashes on remote volumes causing crashes
|
||
- Updated localizations, thanks to all translators
|
||
- Fixed a case where databases could be opened with pooling enabled
|
||
- Remote Sync tool now restart and retries on transfer failures
|
||
- Fixed an issue that prevent setting a default theme
|
||
- Added detailed output option to serverutil list-backups command
|
||
- Added `--allow-empty-source` option
|
||
- Added nonce to refresh tokens and improved non-persisted logins
|
||
- Updated multiple packages to latest versions, including AWSSDK, Azure, SMB, FluentFTP, and SharpCompress
|
||
- Added option to log http requests and socket data
|
||
|
||
## ngclient changes:
|
||
- Converted from Sparkle to ShipUI
|
||
- Progress bar is now fixed length
|
||
- Updated translations, thanks to all translators
|
||
- Added support for a refresh nonce
|
||
|
||
2025-07-15 - 2.1.0.125_canary_2025-07-15
|
||
==========
|
||
This release is a canary release intended to be used for testing.
|
||
|
||
# Changes in this versions
|
||
|
||
This is almost identical to 2.1.0.124, but adds some destination URL parsing fixes.
|
||
|
||
## Detailed list of changes:
|
||
- Fixed wrong SQLite environment variable name
|
||
- Don't show stack if stopping a backup due to missing sources
|
||
- Update logic for probing for an access method in ServerUtil
|
||
- Fixed ngax not supporting `--use-ssl`
|
||
- Use template icons on macOS
|
||
- Fixed an error when loading log data
|
||
- Avoid floods of notifications
|
||
- Corrected encode/decode of URLs
|
||
- Fixed issue with recreated index files not reporting deleted blocks
|
||
|
||
### New in 2.1.0.125
|
||
- Fixed parsing of correctly encoded file-based URLs on Windows
|
||
|
||
## ngclient changes
|
||
- Fixed SMB editor handling paths incorrectly
|
||
- Fixed source editor not inserting empty paths
|
||
- Fixed an issue with selecting paths with a space
|
||
- Fixed some dialogs not updating UI after clicking cancelable
|
||
- Removed an extra leading slash for Windows destination paths
|
||
- Recalculate file existing on database move
|
||
- Show correct date and format in logs
|
||
|
||
### New in 2.1.0.125
|
||
- Fixed URL for bugreport in ngclient
|
||
- Fixed incorrect encoding/decoding of Windows file-paths for destination
|
||
- Fixed logic for removing source paths to no create empty entries
|
||
- Added a partial marker for fileset version that are partial
|
||
|
||
2025-07-11 - 2.1.0.124_canary_2025-07-11
|
||
==========
|
||
This release is a canary release intended to be used for testing.
|
||
|
||
# Changes in this versions
|
||
|
||
This is primarily a bugfix release for some minor issues that were reported on 2.1.0.123.
|
||
|
||
## Detailed list of changes:
|
||
- Fixed wrong SQLite environment variable name
|
||
- Don't show stack if stopping a backup due to missing sources
|
||
- Update logic for probing for an access method in ServerUtil
|
||
- Fixed ngax not supporting `--use-ssl`
|
||
- Use template icons on macOS
|
||
- Fixed an error when loading log data
|
||
- Avoid floods of notifications
|
||
- Corrected encode/decode of URLs
|
||
- Fixed issue with recreated index files not reporting deleted blocks
|
||
|
||
## ngclient changes
|
||
- Fixed SMB editor handling paths incorrectly
|
||
- Fixed source editor not inserting empty paths
|
||
- Fixed an issue with selecting paths with a space
|
||
- Fixed some dialogs not updating UI after clicking cancelable
|
||
- Removed an extra leading slash for Windows destination paths
|
||
- Recalculate file existing on database move
|
||
- Show correct date and format in logs
|
||
|
||
2025-07-09 - 2.1.0.123_canary_2025-07-09
|
||
==========
|
||
This release is a canary release intended to be used for testing.
|
||
This version is nearly identical to 2.1.0.121 which has a startup crash.
|
||
This version is nearly identical to 2.1.0.122 which has an issue with detached TrayIcon.
|
||
|
||
# Major changes in this version
|
||
|
||
This version introduces a new SQLite library, a new VSS provider, and some minor bugfixes.
|
||
|
||
## SQLite update
|
||
This version has changed the SQLite library from the previous System.Data.SQLite library to using `Microsoft.Data.Sqlite`.
|
||
This update was quite invasive, as the new SQLite library does not support positional arguments in SQL queries, which was used extensively in the Duplicati codebase.
|
||
With the update we see measurable speedups across all queries, and we are producing an article that describes our findings.
|
||
The update also bumps the SQLite library to use the latest available version and makes all SQLite queries async and cancelable, making the stop commands more responsive.
|
||
|
||
## New VSS provider supprt
|
||
The AlphaVSS library that is used for creating VSS snapshots is no longer being maintained.
|
||
This version now defaults to using the Vanara API layer to call the Windows VSS API and create snapshots.
|
||
Like before, this still requires the VC++ Redist to be installed.
|
||
For now, it is still possible to use AlphaVSS by setting `--snapshot-provider=AlphaVSS`.
|
||
Note that neither works on ARM64 as Windows is lacking libraries and tools for native ARM64 snapshots, only `--snapshot-provider=WMIC` works on ARM64.
|
||
|
||
## Bugfixing for ngclient
|
||
A number of reported compatibility issues with ngax has been fixed in this version.
|
||
|
||
## Detailed list of changes:
|
||
- Commandline UI expands environment variables
|
||
- The `file://` backend is no longer throttle exempt by default
|
||
- Fixed issue with TrayIcon not outputting help text in all cases
|
||
- No longer retains SeBackupPrivilege after testing for permissions
|
||
- Refresh token lifetime can now be configured
|
||
- Fixed multiple issues with kill signals not stopping the process
|
||
- Secret provider now correctly applied for all TrayIcon arguments
|
||
- Updated SQLite library to use `Microsoft.Data.Sqlite` packages instead
|
||
- Default VSS provider is now Vanara
|
||
- Hide options that are not supported on the current OS
|
||
- Fixed backup schedule order after multiple missed backups
|
||
- Fixed an issue with Google Drive backend not creating folders
|
||
- Updated all localization, thanks to all translators
|
||
|
||
### Updated in 2.1.0.122
|
||
- Fixed numeric Id sorting
|
||
- Updated texts for disabling index recreate
|
||
- Fixed a crash on startup in 2.1.0.121
|
||
- Fixed an issue with restore listing speed
|
||
|
||
### Updated in 2.1.0.123
|
||
- Fixed a crash with detached TrayIcon
|
||
- Fixed an error when creating a bugreport database
|
||
- Added faster status updates in UI
|
||
- Fixed a parsing issue with the remote sync tool
|
||
- Fixed an issue where some operations would report success even if they failed
|
||
|
||
## Ngclient changes:
|
||
- Fixed issue with `--` option prefixes not being matched
|
||
- Updated all localization, thanks to all translators
|
||
- Fixed issue with en-GB not using 24h time format
|
||
- Fixed issue with editor for GCS not having a path field
|
||
- Fixed issue with editor for B2 introducing extra `/` characters
|
||
- Fixed supporting -s postfix for backends for backwards compatibility
|
||
- Fixed case-insensitive support for boolean and enumeration options
|
||
- Custom arguments is now a two-line input
|
||
|
||
### Updated in 2.1.0.123
|
||
- Fixed showing destinations with no custom UI
|
||
- Fixed an issue with decoding URL artefacts in paths
|
||
- Change storage of preferences (this will reset som settings like sort order and dark-mode)
|
||
- Added option to not store a cookie token after login
|
||
- Added a button to create folders when restoring and picking destination
|
||
- Fixed deprecating CIFS and using SMB instead
|
||
- Added Next Scheduled Run to backup list
|
||
- Added a "Operation is starting ..." message to not show "Starting backup ..."
|
||
- Moved bugreport to the database page
|
||
- Fixed wrong editor mapping for COS and AliyunOSS
|
||
- Fixed an issue where a custom text for a dropdown would be lost on edit
|
||
- Fixed an issue with direct restore that would prevent restore from starting
|
||
- Added advanced settings for the direct restore flow
|
||
- Added an "Edit as text" option for advanced options
|
||
|
||
2025-07-07 - 2.1.0.122_canary_2025-07-07
|
||
==========
|
||
This release is a canary release intended to be used for testing.
|
||
This version is nearly identical to 2.1.0.121 which has a startup crash.
|
||
|
||
# Major changes in this version
|
||
|
||
This version introduces a new SQLite library, a new VSS provider, and some minor bugfixes.
|
||
|
||
## SQLite update
|
||
This version has changed the SQLite library from the previous System.Data.SQLite library to using `Microsoft.Data.Sqlite`.
|
||
This update was quite invasive, as the new SQLite library does not support positional arguments in SQL queries, which was used extensively in the Duplicati codebase.
|
||
With the update we see measurable speedups across all queries, and we are producing an article that describes our findings.
|
||
The update also bumps the SQLite library to use the latest available version and makes all SQLite queries async and cancelable, making the stop commands more responsive.
|
||
|
||
## New VSS provider supprt
|
||
The AlphaVSS library that is used for creating VSS snapshots is no longer being maintained.
|
||
This version now defaults to using the Vanara API layer to call the Windows VSS API and create snapshots.
|
||
Like before, this still requires the VC++ Redist to be installed.
|
||
For now, it is still possible to use AlphaVSS by setting `--snapshot-provider=AlphaVSS`.
|
||
Note that neither works on ARM64 as Windows is lacking libraries and tools for native ARM64 snapshots, only `--snapshot-provider=WMIC` works on ARM64.
|
||
|
||
## Bugfixing for ngclient
|
||
A number of reported compatibility issues with ngax has been fixed in this version.
|
||
|
||
## Detailed list of changes:
|
||
- Commandline UI expands environment variables
|
||
- The `file://` backend is no longer throttle exempt by default
|
||
- Fixed issue with TrayIcon not outputting help text in all cases
|
||
- No longer retains SeBackupPrivilege after testing for permissions
|
||
- Refresh token lifetime can now be configured
|
||
- Fixed multiple issues with kill signals not stopping the process
|
||
- Secret provider now correctly applied for all TrayIcon arguments
|
||
- Updated SQLite library to use `Microsoft.Data.Sqlite` packages instead
|
||
- Default VSS provider is now Vanara
|
||
- Hide options that are not supported on the current OS
|
||
- Fixed backup schedule order after multiple missed backups
|
||
- Fixed an issue with Google Drive backend not creating folders
|
||
- Updated all localization, thanks to all translators
|
||
|
||
### Updated in 2.1.0.122
|
||
- Fixed numeric Id sorting
|
||
- Updated texts for disabling index recreate
|
||
- Fixed a crash on startup in 2.1.0.121
|
||
- Fixed an issue with restore listing speed
|
||
|
||
## Ngclient changes:
|
||
- Fixed issue with `--` option prefixes not being matched
|
||
- Updated all localization, thanks to all translators
|
||
- Fixed issue with en-GB not using 24h time format
|
||
- Fixed issue with editor for GCS not having a path field
|
||
- Fixed issue with editor for B2 introducing extra `/` characters
|
||
- Fixed supporting -s postfix for backends for backwards compatibility
|
||
- Fixed case-insensitive support for boolean and enumeration options
|
||
- Custom arguments is now a two-line input
|
||
|
||
2025-07-07 - 2.1.0.121_canary_2025-07-07
|
||
==========
|
||
This release is a canary release intended to be used for testing.
|
||
|
||
# Major changes in this version
|
||
|
||
This version introduces a new SQLite library, a new VSS provider, and some minor bugfixes.
|
||
|
||
## SQLite update
|
||
This version has changed the SQLite library from the previous System.Data.SQLite library to using `Microsoft.Data.Sqlite`.
|
||
This update was quite invasive, as the new SQLite library does not support positional arguments in SQL queries, which was used extensively in the Duplicati codebase.
|
||
With the update we see measurable speedups across all queries, and we are producing an article that describes our findings.
|
||
The update also bumps the SQLite library to use the latest available version and makes all SQLite queries async and cancelable, making the stop commands more responsive.
|
||
|
||
## New VSS provider supprt
|
||
The AlphaVSS library that is used for creating VSS snapshots is no longer being maintained.
|
||
This version now defaults to using the Vanara API layer to call the Windows VSS API and create snapshots.
|
||
Like before, this still requires the VC++ Redist to be installed.
|
||
For now, it is still possible to use AlphaVSS by setting `--snapshot-provider=AlphaVSS`.
|
||
Note that neither works on ARM64 as Windows is lacking libraries and tools for native ARM64 snapshots, only `--snapshot-provider=WMIC` works on ARM64.
|
||
|
||
## Bugfixing for ngclient
|
||
A number of reported compatibility issues with ngax has been fixed in this version.
|
||
|
||
## Detailed list of changes:
|
||
- Commandline UI expands environment variables
|
||
- The `file://` backend is no longer throttle exempt by default
|
||
- Fixed issue with TrayIcon not outputting help text in all cases
|
||
- No longer retains SeBackupPrivilege after testing for permissions
|
||
- Refresh token lifetime can now be configured
|
||
- Fixed multiple issues with kill signals not stopping the process
|
||
- Secret provider now correctly applied for all TrayIcon arguments
|
||
- Updated SQLite library to use `Microsoft.Data.Sqlite` packages instead
|
||
- Default VSS provider is now Vanara
|
||
- Hide options that are not supported on the current OS
|
||
- Fixed backup schedule order after multiple missed backups
|
||
- Fixed an issue with Google Drive backend not creating folders
|
||
- Updated all localization, thanks to all translators
|
||
|
||
## Ngclient changes:
|
||
- Fixed issue with `--` option prefixes not being matched
|
||
- Updated all localization, thanks to all translators
|
||
- Fixed issue with en-GB not using 24h time format
|
||
- Fixed issue with editor for GCS not having a path field
|
||
- Fixed issue with editor for B2 introducing extra `/` characters
|
||
- Fixed supporting -s postfix for backends for backwards compatibility
|
||
- Fixed case-insensitive support for boolean and enumeration options
|
||
- Custom arguments is now a two-line input
|
||
|
||
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.
|