Release: 2.1.0.122 (Canary) 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

I tried canary because I need to use CIFS/SMB. But when trying it, it works, but I get warnings:
[Warning-Duplicati.Library.Backend.CIFSBackend-DeprecatedCIFSBackend]: The CIFS backend is deprecated, please use the SMB backend instead."
Am I wrong in choosing CIFS (I don’t see an SMB option in the list).

Just updated my test Windows server and although it’s all up and running, I cannot get the tray icon to work:

C:\Users>"C:\Program Files\Duplicati 2\Duplicati.GUI.TrayIcon.exe" --no-hosted-server --hosturl=https://lisa.mydomain.com:8200 --read-config-from-db --server-datafolder=C:\ProgramData\Duplicati

C:\Users>Unexpected error: System.NullReferenceException: Object reference not set to an instance of an object.
   at Duplicati.GUI.TrayIcon.Program.StartTray(String[] _args, Dictionary`2 options, HostedInstanceKeeper hosted, PasswordSource passwordSource, String password, String acceptedHostCertificate)

I should be able to test backups later today before I upgrade other machines including Linux ones.

Is it possible to add back the next scheduled run as shown in the old UI?

I also confirm that the en_GB fix looks good now, thanks

Not the best example, but the date is the right way round now :+1:

That is a bug in the UI. It should show both “CIFS (deprecated)” and “SMB”.
I have fixed it for the next version. For now, you can manually edit the connection string. Click the three dots, then “Edit target URL”:

In the dialog, change the leading cifs:// to smb:// and click “Override target URL”. The UI then looks a bit different, but you have the same options. In the next release, it will look better.

I can reproduce this, it happens with --no-hosted-server only. I have a fix ready.

Sure! I have added it already, it will be in next release.

1 Like

Thank you! That worked.
One minor typo in the first option. “Fils” instead of “Files”

Thanks for reporting! It has been fixed in source.