Commit Graph
14184 Commits
Author SHA1 Message Date
Kenneth Skovhede a9d389ffab Improve secret provider and license checker
This improves the secret provider by allowing a value of `default://` to get the system default provider (if one exists).

The license checker now supports multiple formats for the on-disk file.
2026-06-25 14:40:58 +02:00
Kenneth SkovhedeandGitHub 2d2a8b1490 Merge pull request #6985 from duplicati/release/canary-2.3.0.105
Version bump to v2.3.0.105-2.3.0.105_canary_2026-06-24
2026-06-24 18:52:42 +02:00
Kenneth Skovhede 10af51718c Version bump to v2.3.0.105-2.3.0.105_canary_2026-06-24
You can download this build from:

Binaries: https://updates.duplicati.com/canary/?version=2.3.0.105

Signature file: https://updates.duplicati.com/canary/duplicati-2.3.0.105_canary_2026-06-24.signatures.zip
v2.3.0.105-2.3.0.105_canary_2026-06-24 v2.3.0.105_canary_2026-06-24
2026-06-24 17:51:45 +02:00
Kenneth SkovhedeandGitHub c1b156fc68 Merge pull request #6984 from duplicati/feature/bump-ngclient
Updated ngclient to 0.0.226
2026-06-24 14:39:03 +02:00
Kenneth Skovhede 80bea25fab Updated ngclient to 0.0.226 2026-06-24 14:37:21 +02:00
Kenneth SkovhedeandGitHub 020bcaeef6 Merge pull request #6983 from duplicati/feature/update-libsecret-for-kde
Feature/update libsecret for kde
2026-06-24 14:21:08 +02:00
Kenneth Skovhede dc225a464e Using the label for the user entry for kwalletmanager compatibility 2026-06-24 10:08:39 +02:00
Kenneth Skovhede 8926b7da35 Adding type to entries as well 2026-06-24 10:03:26 +02:00
Kenneth Skovhede 6224306116 Also set the "user" attribute for Seahorse 2026-06-24 09:56:08 +02:00
Kenneth Skovhede de1f7cb7a3 Improve display in KeepSecret 2026-06-24 09:48:09 +02:00
Kenneth Skovhede 34468d352c Update LibSecret support
This PR updates the LibSecret support to work correctly on KDE which uses a slightly different default collection.

With this PR the "default" alias is resolved and used by default. If no such collection is found, the collection `login` is used.

This was the intended logic before, but the alias was not resolved, so the code looked for a literal `default` collection and then fell back to `login`. On KDE systems this could cause issues by creating a new collection literally named `default` which would then fail to resolve.

With this update the libSecret works correctly on Plasma 6 (`kwalletd6`).

Support for Plasma 5 is not complete as the libsecret implementation there is different and deprecated. Here, installing Gnome Keyring is a workaround.

This fixes #6891
2026-06-23 23:54:54 +02:00
Kenneth SkovhedeandGitHub 6994362636 Merge pull request #6971 from duplicati/feature/improved-missing-source-handling
Improve missing source handling
2026-06-23 11:23:38 +02:00
Kenneth SkovhedeandGitHub b428dfc198 Merge pull request #6981 from duplicati/feature/fix-mssql-default-instance
Fix MSSQL default instance handling
2026-06-23 11:16:36 +02:00
Kenneth SkovhedeandGitHub 393057e665 Merge pull request #6982 from duplicati/feature/fix-flaky-test
Added delay to flaky test that is caused by timestamp resolution bein…
2026-06-23 11:16:05 +02:00
Kenneth Skovhede b0a2c97e57 Fixed test 2026-06-22 20:42:04 +02:00
Kenneth Skovhede 7b02cb1232 Added delay to flaky test that is caused by timestamp resolution being 1s 2026-06-22 19:38:22 +02:00
Kenneth SkovhedeandGitHub 9f0ccbe881 Merge pull request #6980 from duplicati/feature/fix-incorrect-option-types
Fix incorrect option types for lock mode
2026-06-22 18:01:24 +02:00
Kenneth Skovhede 05e9d8a412 Reworked treeview logic so it now shows instances under the server, which makes it more logical when there are both named and unnamed instances. 2026-06-22 17:54:54 +02:00
Kenneth Skovhede 158ef33cab Fix MSSQL default instance handling
This PR fixes an issue introduced with a rewrite of the MSSQL logic.

The issue is caused by MSSQL having a concept of "default instance" vs "named instance". Logically, the "default instance" has a name, but it is presented differently throughout.

The code was updated to correctly handle "named instance", but this broke support for "default instance".

The paths look similar to this:
- Default instance: `%MSSQL%\Server\Database`
- Named instance: `%MSSQL%\Server\Instance\Database`

This is slightly problematic because given a path with three parts, you cannot know if it targets "default instance + database" or "named instance".

To account for this the code has been rewritten to explicitly keep track of which case we are in, and were there is ambiguity, both cases are tested. In the odd case where both match, this is treated as an error.

The filters were being applied slightly differently than the regular filters, by applying include, then exclude, and allowing include to add new elements.

This has been standardized so we now apply the filters the same way as for regular filters where "first match wins", and only source paths can introduce a new database.

Verified with both "default instance" and "named instance" on the same machine.

This fixes #6551
This fixes #6969
2026-06-22 17:26:00 +02:00
Kenneth Skovhede 7b53bd0554 Fix incorrect option types for lock mode
This PR fixes a few places where the lock mode was a string, resulting in the UI asking the user to type a string.

With this change, the parsing is standardized and the options present as enums, giving a dropdown in the UI.
2026-06-22 13:36:01 +02:00
Kenneth SkovhedeandGitHub 26b4143689 Merge pull request #6979 from duplicati/feature/add-test-for-initial-upload-interrupted
Added a test for initial upload interrupted
2026-06-22 12:14:35 +02:00
Kenneth Skovhede ededc79fae Added a test for initial upload interrupted
This fixes #1570
2026-06-21 22:07:37 +02:00
Kenneth SkovhedeandGitHub 1fd863e474 Merge pull request #6976 from duplicati/dependabot/npm_and_yarn/npm_and_yarn-4e38a52fea
Bump js-yaml from 4.1.1 to 4.2.0 in the npm_and_yarn group across 1 directory
2026-06-21 19:27:34 +02:00
Kenneth SkovhedeandGitHub b8ae23a976 Merge pull request #6978 from duplicati/feature/fix-send-http-retry
Fixed retry of HTTP messages
2026-06-21 17:55:21 +02:00
Kenneth Skovhede f3361c5168 Fixed retry of HTTP messages 2026-06-21 14:02:29 +02:00
Kenneth SkovhedeandGitHub 067a6c878c Merge pull request #6977 from duplicati/feature/more-codecov-removal
More codecov removal
2026-06-21 14:01:11 +02:00
Kenneth Skovhede 06ce6859e5 More codecov removal 2026-06-21 14:00:42 +02:00
dependabot[bot]andGitHub 964d58bdfa Bump js-yaml in the npm_and_yarn group across 1 directory
Bumps the npm_and_yarn group with 1 update in the / directory: [js-yaml](https://github.com/nodeca/js-yaml).


Updates `js-yaml` from 4.1.1 to 4.2.0
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.1...4.2.0)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.2.0
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-21 11:43:37 +00:00
Kenneth SkovhedeandGitHub c3e92dd433 Merge pull request #6975 from duplicati/feature/remove-codecov
Removing codecov as it was creating noise
2026-06-21 13:42:44 +02:00
Kenneth Skovhede 441d9770b7 Removing codecov as it was creating noise 2026-06-21 11:43:37 +02:00
Kenneth SkovhedeandGitHub 6616b81f07 Merge pull request #6973 from duplicati/feature/dont-access-filtered-path
Don't access filtered path
2026-06-21 11:41:32 +02:00
Kenneth Skovhede 96e293f30c Don't access filtered path
This PR fixes an ordering issue where paths were checked for extended attributes before being filtered.

This was originally done for performance reasons, as checking the xattrs are faster to check than evaluating filters.

However, this meant that the access would produce warnings if the xattr reading step caused errors (permision denied, etc). Since it was done before the filters, there was no way to avoid the warning being logged.

This PR fixes the ordering so the xattrs are checked after filters, so no warnings are logged.

This fixes #6909
2026-06-20 10:21:23 +02:00
Kenneth SkovhedeandGitHub cbdb9897c2 Merge pull request #6970 from duplicati/feature/relative-db-paths
Use relative database paths
2026-06-20 10:05:54 +02:00
Kenneth SkovhedeandGitHub 492fc773b8 Merge pull request #6972 from duplicati/feature/use-more-recent-rclone-in-docker
Update rclone in Docker images
2026-06-19 16:24:33 +02:00
Kenneth Skovhede 55ef768988 Update rclone in Docker images
This PR pulls the rclone binary from the release page, instead of relying on the outdated version in Debian repos.

This fixes #6958
2026-06-19 10:01:59 +02:00
Kenneth SkovhedeandGitHub a6f8e0f6fd Merge pull request #6965 from duplicati/feature/include-backup-config-in-backup
Store configuration with backup
2026-06-19 09:48:41 +02:00
Kenneth SkovhedeandGitHub 67d1873c67 Merge pull request #6968 from duplicati/feature/support-macos-attrs
Added support for MacOS ACLs
2026-06-19 09:45:28 +02:00
Kenneth Skovhede bfcc2247bd Improve missing source handling
This PR changes the defaults when sources are missing. Previously, a missing source would abort the backup, unless `--allow-missing-source` was set.

With this change, if no options are set, a missing source will only trigger a warning.

If the option `--allow-missing-source` is set, no warning is logged.

To get the previous behavior, a new option `--abort-if-source-missing` is introduced that toggles this.

If no sources are found at all, the backup will abort no matter the flags.
2026-06-19 09:44:24 +02:00
Kenneth Skovhede 5c1b477cda Use relative database paths
This PR changes to use relative database paths by default. The default mode is to store all databases in the same folder.

With this update, the paths stored in the server database can now be relative, in which case they are resolved relative to the datafolder.

This makes it simpler to move the data folder as the paths are not stored in full.

For new backups, relative paths are assigned.
For existing backups, the full paths are retained.
If the database path is updated manually, the path will be made relative, if it is relative to the datafolder; otherwise a full path is stored.

This fixes #6677
2026-06-19 08:42:58 +02:00
Kenneth Skovhede b5d6cb6a54 Added support for MacOS ACLs
This PR adds support for reading MacOS attributes and ACL strings during backup.

If permission restores are selected, the attributes and ACLs can also be restored later.

This fixes #4562
2026-06-18 13:37:39 +02:00
Kenneth Skovhede 48baca7fa1 Another redesign on the user-facing options and wording 2026-06-18 11:37:18 +02:00
Kenneth Skovhede a8327b40aa Reworked logic to further reduce chance of leaking secrets in auto mode.
The SelfOnly mode was removed as was the "removeAdditionalSources" logic. Instead, the new SelfLimited mode always removes sensitive information, such that by default we do not store any sensitive information, not even with encryption enabled.

This is required to avoid accidentially leaking secrets found in remote sources, or the target url, in case the leak happens somewhere else than on the remote destination.

Additionally, this resolves an issue where remote source information could leak via the DisplayNames property.
2026-06-18 10:59:28 +02:00
Kenneth Skovhede b1e9ffb660 Merge remote-tracking branch 'origin/master' into feature/include-backup-config-in-backup 2026-06-17 23:43:18 +02:00
Kenneth SkovhedeandGitHub 8a50c72098 Merge pull request #6967 from duplicati/feature/support-metatdata-search
Add searching in metadata
2026-06-17 23:38:09 +02:00
Kenneth Skovhede d0d6eb6d20 Added support for fetching remote configs and importing them in the API.
Also fixed a few errors related to importing a configuration with additional sources.
2026-06-17 23:34:30 +02:00
Kenneth Skovhede a522e251db Reworked logic for the option to minimize chances that someone accidentially chooses to store unencrypted passphrases.
To reduce logic bugs a separate ResolvedTaskConfigMode extracts the 3 different dimensions of the selection, and a test is added to ensure it behaves as expected.
2026-06-17 16:03:06 +02:00
Kenneth SkovhedeandGitHub 84fccb9fcc Merge pull request #6963 from duplicati/feature/filter-paths-in-logdata
Fitler paths in reported log data
2026-06-17 14:52:31 +02:00
Kenneth SkovhedeandGitHub bac73d077d Merge pull request #6966 from duplicati/feature/prevent-crash-on-metadata-error
Avoid crash on metadata error
2026-06-17 14:52:13 +02:00
Kenneth Skovhede 0c1a73fb61 Add searching in metadata
When performing searches on some remote source, like MS365, the actual file paths are not meaningfull to the user. Instead, the UI will display metadata that makes it easier to navigate.

This PR updates the search feature to optionally look in metadata and find matches there as well, making it simpler to work with such data.
2026-06-17 14:47:02 +02:00
Kenneth Skovhede b281949d81 Avoid crash on metadata error
This changes a crash in the restore operation to a warning message if the metadata fails to apply.

This fixes #6845
2026-06-17 12:10:01 +02:00