Commit Graph
918 Commits
Author SHA1 Message Date
Kenneth SkovhedeandGitHub 4745aa464b Merge branch 'master' into feature/add-office-365-backup 2026-01-29 20:11:29 +01:00
Kenneth SkovhedeandGitHub 046c175362 Merge pull request #6735 from duplicati/feature/fix-issue-6552
Handle missing blocks on recreate
2026-01-29 20:08:20 +01:00
Kenneth SkovhedeandGitHub 4d36711769 Merge pull request #6726 from duplicati/feature/fix-dry-run-2
Fixed dry-run command
2026-01-29 20:06:17 +01:00
Kenneth SkovhedeandGitHub 26f7dd8586 Merge branch 'master' into feature/add-office-365-backup 2026-01-29 20:04:42 +01:00
Kenneth Skovhede 0048cef9b7 Disable pooling to avoid locked files on Windows 2026-01-28 21:05:17 +01:00
Kenneth Skovhede fa6be206ef Handle missing blocks on recreate
This PR handles a case where the `dindex` files may reference non-existing `dblock` files. In this case the recreate may register missing (and unused) blocks in the `DeletedBlock` table, which will later cause issues if the blocks are attempted used.

The fix is to remove missing blocks before the cleanup so there is no entry that references the missing volumes.

This fixes issue #6552
2026-01-28 21:03:03 +01:00
Carl-Johannes JohnsenandGitHub 6b02116bed Merge pull request #6708 from carljohnsen/feature/automatic-321
Feature/Automatic 3-2-1 backup
2026-01-28 17:21:33 +01:00
Kenneth SkovhedeandGitHub 1616341df7 Merge branch 'master' into feature/fix-dry-run-2 2026-01-28 15:20:35 +01:00
Kenneth SkovhedeandGitHub 1a19b6aa9b Merge pull request #6728 from duplicati/feature/issue-6538
Fixed issue with missing log
2026-01-28 15:20:04 +01:00
Kenneth SkovhedeandGitHub e79d30731c Merge pull request #6724 from duplicati/feature/add-soft-delete
Added a soft-delete feature
2026-01-28 15:19:49 +01:00
Kenneth SkovhedeandGitHub 6299837860 Merge branch 'master' into feature/fix-dry-run-2 2026-01-28 14:43:33 +01:00
Kenneth Skovhede ca112446e5 Disable pooling as that breaks tests on Windows 2026-01-28 14:40:45 +01:00
Carl Johnsen b871c29a85 Fixed Windows paths in JSON strings 2026-01-28 12:09:10 +01:00
Kenneth Skovhede e3a89dad82 Disabled long test 2026-01-28 11:48:11 +01:00
Carl Johnsen 41408a1c12 Post merge fixes 2026-01-28 10:36:29 +01:00
Carl Johnsen 8d6122ee41 Merge branch 'master' into feature/automatic-321 2026-01-28 10:30:19 +01:00
Carl Johnsen 8fa514f940 Made the default keys of the rsync json be parsed in kebab-case, and added a test for the sync-on-warnings flag 2026-01-28 09:54:32 +01:00
Carl Johnsen 505fa4dd35 Updated the tests to match the new parser completely. 2026-01-28 09:12:27 +01:00
Carl Johnsen e7f46b5ef3 Renamed schedule to interval in tests 2026-01-28 05:38:59 +01:00
Kenneth Skovhede c765a5658b Improved query for purge broken files
This PR improves the query used to calculate the size of removed files when issuing the purge-broken-files command.

This PR also adds the option `--reduced-purge-statistics` which will fully skip the size calculation, in the event the query is still performing poorly.

This fixes #6366
2026-01-27 21:15:50 +01:00
Kenneth Skovhede bb2be7966e Fixed issue with missing log
When an error occurred, the log would be written to the database, but the transaction would then be rolled back, causing the log to disappear.

This adds explicit commit to the log when handling error cases.

This fixes #6538
2026-01-27 21:08:36 +01:00
Kenneth Skovhede a986a13abf Fixed dry-run command
This PR adds fixes to honor the --dry-run option to avoid surprises when running an operation.

This fixes #6573
This closes #6581
2026-01-27 15:01:34 +01:00
Kenneth Skovhede 8996955dc1 Added a soft-delete feature
This PR adds an option to give a soft-delete prefix. If the prefix is set, files are renamed instead of actually being deleted. For backends that support life-cycle rules, this can be used to provide protection agains accidental deletion.

The intended use is that the client credentials do not have permissions to delete files, but can rename files. When a file is soft-deleted, it is then renamed and no longer "visible" to Duplicati. The destination can then have lifecycle rules that deletes files with the designated prefix after a set interval, or by another service that has permissions to actually delete files.
2026-01-27 14:10:31 +01:00
Kenneth Skovhede 7145518f03 Fixed a failing test 2026-01-26 14:56:17 +01:00
Kenneth SkovhedeandGitHub 7a05afef69 Merge branch 'master' into feature/add-office-365-backup 2026-01-23 11:40:42 +01:00
Kenneth SkovhedeandGitHub 35c7cb9f49 Merge pull request #6709 from carljohnsen/bugfix/cross-os-restore
Bugfix/cross OS restore
2026-01-21 14:27:33 +01:00
Carl Johnsen 4e48b38b85 Backups may be happening too fast for the timestamps to be properly updated in the database 2026-01-19 09:29:07 +01:00
Carl Johnsen 486712886d Made the remote versions of the cross OS backups public and updated the tests to use these files 2026-01-15 16:40:44 +01:00
Carl Johnsen 3adb9b0170 Create remote synchronization destinations if they don't exist 2026-01-15 16:30:20 +01:00
Carl Johnsen 918873579b Windows paths must double escape backslash in json config 2026-01-14 15:41:01 +01:00
Carl Johnsen 42c37523c0 Made the large test toggle-able through a variable postfix 2026-01-14 10:59:47 +01:00
Carl Johnsen 9a8c89de40 Made helper methods static 2026-01-14 10:59:18 +01:00
Carl Johnsen fe534e9677 Changed to class based download and extraction to save time when running all configurations 2026-01-14 10:27:32 +01:00
Kenneth Skovhede 996bb8e0de Change the metadata on the ISourceProviderEntry interface to be async 2026-01-14 10:08:05 +01:00
Kenneth Skovhede 1523f730e3 Added support for storing metadata in the database 2026-01-14 10:01:20 +01:00
Carl Johnsen a08435273f Added notes on how to create the new CI backups 2026-01-14 09:52:45 +01:00
Carl Johnsen 245eb0993e Added unit test for #6705 2026-01-14 09:21:44 +01:00
Carl Johnsen 8a0852413b Added a complete test with multiple destinations with counting scheduling, testing the full duplicati integration with backup and restore. 2026-01-13 08:19:24 +01:00
Carl Johnsen 7346030120 ShouldTrigger didn't have the initial trigger when counting as it should have 2026-01-13 06:49:54 +01:00
Carl Johnsen 8bc4036a62 Updated the tests to reflect the json configuration 2026-01-12 14:22:10 +01:00
Andy Bodnar e85f3a0c58 Implement Handlebars templating engine for reports (#6280)
This adds a new Template result format that uses Handlebars.Net for
flexible report customization. Users can now create fully customized
reports using Handlebars syntax, replacing the limited token-based
approach.

Features:
- New Template export format with Handlebars support
- Built-in templates: default, email, html, slack
- Custom template support via file path or inline content
- Helper functions for formatting: formatSize, formatDuration,
  formatDate, eq, statusClass, eachProperty
- Full access to result data, log lines, and exceptions
2026-01-11 14:35:09 -07:00
Carl Johnsen 51031a8d71 Added the option to disable remote synchronization when the backup ran with warnings 2026-01-09 12:10:42 +01:00
Carl Johnsen 5c63902184 Added comments to the tests 2026-01-09 10:57:54 +01:00
Carl Johnsen 905b54c8d3 Removed incorrect test 2026-01-09 10:57:26 +01:00
Carl Johnsen 87dd0cd756 Incorrect indices passed to the remote synchronization module should not record anything in the database, but should instead emit a warning to the log 2026-01-09 10:56:55 +01:00
Carl Johnsen 7021036d98 Ensured that default schedules are explicitly added to the collections in RemoteSynchronizationModule.cs 2026-01-09 10:51:29 +01:00
Carl Johnsen 51d9c2c36d Syntactic updates 2026-01-09 10:50:09 +01:00
Carl Johnsen 177272ecd9 Merge branch 'master' into feature/automatic-321 2026-01-08 20:55:31 +01:00
Carl Johnsen e27c246a95 Added more tests to increase coverage of RemoteSynchronizationModule 2026-01-08 20:50:08 +01:00
Carl Johnsen c9fd29965b Added more RemoteSynchronizationModuleTests.cs 2026-01-08 20:33:32 +01:00