Hello
The binaries for Debian/Windows/Mac are here:
The source code zip has been generated by Github, I have no idea of what is inside. Probably not the PR I have used (see here: synthetic proposed changes for canary 105; by gpatel-fr · Pull Request #18 · gpatel-fr/testdupl · GitHub)
Note that this is NOT a standard release, it’s not intended to be used long term.
I will delete these binaries in 5 days.
It is only published to allow experienced users of this forum to provide
help by giving feedback on the platforms/setups that I could not test (see below)
before wider exposition through the Canary channel.
Please also read the usage advice below.
Included changes (read more about them on Github):
library updates
PR#4897 Mega
PR#4901 SSH NET
PR#4857-4877 Newtonsoft
fixes
PR#4779 Jottacloud disable V2-authID
PR#4802 Tray icon mac (+add licence bouncy castle, PR 4903)
PR#4902 Debian bookworm install
PR#4815 exclusions
PR#4879 faster hashing
PR#4905 Impossible Cloud
Experimental changes
PR#4895 rewrite of directory listings
PR#4898 database rebuild
PR#4907 custom database options (Sqlite pragmas)
Usage
to avoid any risk, it’s best to install on a new computer (VM) and use test data
if you want to take the risk to test this software on your own data, that’s your call.
if you use it on someone else’s data, I prefer not to have anything to do with you.
in case of tests on an existing install, remember the following points:
the database structure is compatible with current canary (104) NOT with current beta.
This means that when if install this binary preview over a beta, it will be necessary to
recover with the canary 104
This is not a release to keep used for some time. Automatic upgrade will not work.
For reasons (bad reasons), the displayed version in the UI is 2.07.
The simplest way to install may be to stop Duplicati, save the current content
of the Duplicati app directory, unzip the zip file in it, restart Duplicati.
When the tests are finished, do the reverse.
The installers should work also but it may not be the simplest way (under
Windows it may be asked to restart the computer if the service mode has
been set)
Personal tests
Note that I am not dumping a random compilation
on people wanting to help test this, I have done some basic checks.
However, I can’t test everything and that’s where you can help.
Sftp: Ubuntu 20.04 LTS, backup 80Mb, restore 2 files
S3 (Minio): Ubuntu 20.04 LTS, backup 7Gb, restore 1 file
Webdav: Win serv 2016, backup 70Mb, restore 1 file
OneDrive: Ubuntu 20.04 LTS, backup 50Mb, restore 1 file
Mega: backup 15 Mb, restore 1 file
Storj: Win10, backup 100 Mb, restore 1 file
Experimental features
I have included 3 experimental features to take the opportunity to
have some feedback on it. If I don’t have any I will not commit them.
These experimental features are only activated by setting environment variables, so if you
don’t set them, Duplicati behaviour will not be affected.
-
custom sqlite pragma:
env var EXPERIMENTAL_CUSTOMSQLITEOPTIONS_DUPLICATI
set to list of SQLite pragmas (don’t include the word ‘pragma’) separated by ‘;’
check it is active: use ‘list’ function in the Web UI and set log to verbose, see messages
impact: hopefully better performance across the board
risks: if you set an invalid syntax it will just generate an error message; if you try to set a variable that will conflict with Duplicati behaviour, you risk bad problems. Stick to EXPERIMENTAL_CUSTOMSQLITEOPTIONS_DUPLICATI=cache_size=-200000 and you should be safe (remember that the unit is 1 KB, so -200000 means 200 MB, a value that may be trivial for your computer or definitely too much if you use Duplicati on a nanocomputer such as a Raspberry Pi) -
list database:
env var EXPERIMENTAL_DBLIST_DUPLICATI
set to 1
if you have a database with >1M blocks, the time taken to display a directory
with >500 entries in the Web UI Restore files browser should be markedly better.
risks: very low if you don’t do backups, since the impacted code will only be in
the web user interface. -
recreate database:
env var EXPERIMENTAL_DBRECREATE_DUPLICATI
set to 1
you can recreate a new database without touching your current database from the command line, setting or not the environment variable and compare the time taken.
See details here: EXPERIMENTAL rebuild database optimization by gpatel-fr · Pull Request #4890 · duplicati/duplicati · GitHub
risks: obviously this is the most dangerous option.
If you start Duplicati from your own session, set the env variable for your user
account and start Duplicati.
If you installed Duplicati as a service:
For a Windows service, configure the service entry in the registry
create a MultiSZ variable named ‘Environment’, then add lines of the form VARNAME=VARVALUE
For a Linux service, configure the environment variables in SystemD with
[Service]
Environment=VARNAME=VARVALUE
In all cases you need to restart the service for the environment variables to
be used.
When you recover your normal installation, the environment variables can stay set,
they are not impacting current Canary (104)