Release: 2.3.0.108 (Canary) 2026-07-20

2.3.0.108_canary_2026-07-20

This release is a canary release intended to be used for testing.

If no major faults are found, this release is intended to be the basis of the next beta release.

MS365 subsites and shared mailboxes

This release improves the Microsoft 365 backup support with two additions.
Support for backing up SharePoint subsites has been added, making it possible
to include sub-sites beneath a site collection in a backup.

The handling of shared mailboxes has also been improved, with better detection
and enumeration of shared mailboxes within a tenant.

The license counter now excludes shared mailboxes without a license, and supports
top-level filtering of users/sites/groups based on classification.

An extra information button is added to the source page that shows a summary
of what content was found in the MS365 tenant.

Case-insensitive remote filename matching

A new option has been added to perform case-insensitive matching of remote
filenames. This helps with backends that do not preserve filename casing, and
prevents issues where files cannot be found because of case differences.

Improved filter parsing

The filter parsing logic has been improved to handle more edge cases and
produce more predictable results when building filter expressions.

Added wipe-encryption to database tool

The database tool now supports a wipe-encryption command that can be used to remove all encrypted fields from a server database. With this command it is possible to get an encrypted database back into a state where it can be opened again. After encrypted fields are wiped, the user can then edit backups and settings to replace the lost data.

Detailed list of changes

  • Make BackendTester actually retry failed uploads, thanks @JamBalaya56562
  • Fix --restore-preallocate-size option having no effect, thanks @JamBalaya56562
  • Re-introduce insecure-permissions.txt file in install folder
  • Use the application data folder for the control directory filter, thanks @JamBalaya56562
  • Fix several options declared as Integer that are not integers, thanks @JamBalaya56562
  • Add case-insensitive remote filename matching, thanks @JamBalaya56562
  • Fix broken date-time format strings, thanks @JamBalaya56562
  • Fix secure-datafolder for service permissions
  • Log errors when user-supplied settings fail to parse, thanks @JamBalaya56562
  • Support MS365 subsites in backup and restore
  • Updated all translations, thanks to all translators
  • Fixed pulling mulitple new languages
  • Improve MS365 shared mailbox handling and item classification
  • Improve filter parsing with regards to embedded path separators
  • Fixed restore-control-files with non-standard options
  • Unify --datafolder option name in configuretool
  • Fail the backend test when verification finds a problem, thanks @JamBalaya56562
  • Use local executable name for configuretool
  • Fix loading of locale files with hyphenated culture names, thanks @JamBalaya56562

UI updates

  • Added option to manually start a console-managed backup
  • Added tr and ko languages to the UI
  • Updated all translations, thanks to all translators
  • Fixed an error attempting to save a backup with a schedule
  • Added button to show MS365 tenant counters

Was able to revert back to using the insecure-permissions.txt file so I’m back to normal service.

From .107:

So as it was paused after upgrading I retried a delete+create on the database and their was no message about the pause, however other than the database placement turning red, there is zero evidence that it’s running, and nothing in any UI or event logs. I have no idea if something is running.

I ran the repair and now I get this

"Messages": [
    "2026-07-21 10:04:38 +02 - [Information-Duplicati.Library.Main.Controller-StartingOperation]: The operation Repair has started",
    "2026-07-21 10:04:38 +02 - [Information-Duplicati.Library.Main.Operation.RepairHandler-RenamingDatabase]: Renaming existing db from C:\\ProgramData\\Duplicati\\ICXFGPFETH.sqlite to C:\\ProgramData\\Duplicati\\ICXFGPFETH.backup",
    "2026-07-21 10:04:38 +02 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: List - Started:  ()",
    "2026-07-21 10:04:38 +02 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: List - Completed:  (3.609 KiB)",
    "2026-07-21 10:04:38 +02 - [Information-Duplicati.Library.Main.Operation.RecreateDatabaseHandler-RebuildStarted]: Rebuild database started, downloading 32 filelists",
    "2026-07-21 10:04:38 +02 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Get - Started: duplicati-20240614T040021Z.dlist.zip.aes (3.520 MiB)",
    "2026-07-21 10:04:39 +02 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Get - Completed: duplicati-20240614T040021Z.dlist.zip.aes (3.520 MiB)",
    "2026-07-21 10:04:39 +02 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Get - Started: duplicati-20240717T040010Z.dlist.zip.aes (3.723 MiB)",
    "2026-07-21 10:04:39 +02 - [Information-Duplicati.Library.Compression.ZipCompression.FileArchiveZip-CompressionReadErrorFallback]: Failed to open file with built-in ZIP archive, falling back to SharpCompress\r\nInvalidDataException: The archive entry was compressed using LZMA and is not supported.",
    "2026-07-21 10:04:39 +02 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Get - Completed: duplicati-20240717T040010Z.dlist.zip.aes (3.723 MiB)",
    "2026-07-21 10:04:39 +02 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Get - Started: duplicati-20240818T040007Z.dlist.zip.aes (3.350 MiB)",
    "2026-07-21 10:04:39 +02 - [Information-Duplicati.Library.Compression.ZipCompression.FileArchiveZip-CompressionReadErrorFallback]: Failed to open file with built-in ZIP archive, falling back to SharpCompress\r\nInvalidDataException: The archive entry was compressed using LZMA and is not supported.",
    "2026-07-21 10:04:39 +02 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Get - Completed: duplicati-20240818T040007Z.dlist.zip.aes (3.350 MiB)",
    "2026-07-21 10:04:39 +02 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Get - Started: duplicati-20240924T120341Z.dlist.zip.aes (3.496 MiB)",
    "2026-07-21 10:04:39 +02 - [Information-Duplicati.Library.Compression.ZipCompression.FileArchiveZip-CompressionReadErrorFallback]: Failed to open file with built-in ZIP archive, falling back to SharpCompress\r\nInvalidDataException: The archive entry was compressed using LZMA and is not supported.",
    "2026-07-21 10:04:39 +02 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Get - Completed: duplicati-20240924T120341Z.dlist.zip.aes (3.496 MiB)",
    "2026-07-21 10:04:39 +02 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Get - Started: duplicati-20241101T050001Z.dlist.zip.aes (3.111 MiB)",
    "2026-07-21 10:04:39 +02 - [Information-Duplicati.Library.Compression.ZipCompression.FileArchiveZip-CompressionReadErrorFallback]: Failed to open file with built-in ZIP archive, falling back to SharpCompress\r\nInvalidDataException: The archive entry was compressed using LZMA and is not supported.",
    "2026-07-21 10:04:39 +02 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Get - Completed: duplicati-20241101T050001Z.dlist.zip.aes (3.111 MiB)",
    "2026-07-21 10:04:39 +02 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Get - Started: duplicati-20241208T020001Z.dlist.zip.aes (4.048 MiB)"
  ],

Some of the warnings:

"Warnings": [
    "2026-07-21 10:04:39 +02 - [Warning-Duplicati.Library.Main.Operation.RecreateDatabaseHandler-FileProcessingFailed]: Failed to process file: duplicati-20240614T040021Z.dlist.zip.aes\r\nInvalidManifestException: Invalid manifest detected, the field Blocksize has value 102400 but the value 1048576 was expected. This could be a configuration issue, or be caused by mixing files from different backups.",
    "2026-07-21 10:04:39 +02 - [Warning-Duplicati.Library.Main.Operation.RecreateDatabaseHandler-FileProcessingFailed]: Failed to process file: duplicati-20240717T040010Z.dlist.zip.aes\r\nInvalidManifestException: Invalid manifest detected, the field Blocksize has value 102400 but the value 1048576 was expected. This could be a configuration issue, or be caused by mixing files from different backups.",
    "2026-07-21 10:04:39 +02 - [Warning-Duplicati.Library.Main.Operation.RecreateDatabaseHandler-FileProcessingFailed]: Failed to process file: duplicati-20240818T040007Z.dlist.zip.aes\r\nInvalidManifestException: Invalid manifest detected, the field Blocksize has value 102400 but the value 1048576 was expected. This could be a configuration issue, or be caused by mixing files from different backups.",

Some of the errors:

"Errors": [
    "2026-07-21 10:04:41 +02 - [Error-Duplicati.Library.Main.Operation.RecreateDatabaseHandler-IndexFileProcessingFailed]: Failed to process index file: duplicati-i0001ad36ac1448f4a262cbbe4c40c5ec.dindex.zip.aes\r\nInvalidManifestException: Invalid manifest detected, the field Blocksize has value 102400 but the value 1048576 was expected. This could be a configuration issue, or be caused by mixing files from different backups.",
    "2026-07-21 10:04:42 +02 - [Error-Duplicati.Library.Main.Operation.RecreateDatabaseHandler-IndexFileProcessingFailed]: Failed to process index file: duplicati-i005513f58ae34d9b9522cf860519b728.dindex.zip.aes\r\nInvalidManifestException: Invalid manifest detected, the field Blocksize has value 102400 but the value 1048576 was expected. This could be a configuration issue, or be caused by mixing files from different backups.",
    "2026-07-21 10:04:42 +02 - [Error-Duplicati.Library.Main.Operation.RecreateDatabaseHandler-IndexFileProcessingFailed]: Failed to process index file: duplicati-i006aef4be1d04371842ddb5b3c9f2b5c.dindex.zip.aes\r\nInvalidManifestException: Invalid manifest detected, the field Blocksize has value 102400 but the value 1048576 was expected. This could be a configuration issue, or be caused by mixing files from different backups.",
    "2026-07-21 10:04:42 +02 - [Error-Duplicati.Library.Main.Operation.RecreateDatabaseHandler-IndexFileProcessingFailed]: Failed to process index file: duplicati-i007e67e7f2ca4f62a91f8adb0d46e5ee.dindex.zip.aes\r\nInvalidManifestException: Invalid manifest detected, the field Blocksize has value 102400 but the value 1048576 was expected. This could be a configuration issue, or be caused by mixing files from different backups.",