Upgrade Guide

Important highlights
#  Upgrading to or past version 335
#  General upgrade instructions

Hydrus upgrading - an introduction
It is generally recommended to upgrade Hydrus to the latest version

Hydrus’ upgrade process is very robust from one version to the next, and runs a cumulative upgrade process. The success of an upgrade may become less than ideal the further apart your current version is to the target version you upgrade to. It is recommended to upgrade no more than ten (10) version at a time. E.g. you should be fine upgrading directly from version 366 to version 376. Upgrading from, say, version 350 to version 376, however, is not supported and not recommended as it may cause problems.

For clarity. Never upgrade more than 10 versions at a time. If you wish to update from version 350 to version 376, you should upgrade through this  version path:
•	350 ⇒ 360
•	360 ⇒ 370
•	370 ⇒ 377

To perform an upgrade, first close down your Hydrus client or server. Extract or run the installer to place the new files inside your Hydrus root/installation folder. The new files should overwrite all the old Hydrus client files that needs to be replaced for an update to take place. Launch the Hydrus client as normal to initiate the upgrade process. The client will indicate that an upgrade is in process and report back to the user once completed.

Your actual file-collection, settings, tags and mappings - so forth - will not be overwritten. These are all safe inside the /db/ folder.

Every computer system is different from the next, so there is no guarantee attached to upgrading. Any upgrade could fail. It is solely your responsibility to take good care and perform a backup of the important database files before you upgrade. Should any issues occur, you may contact the Hydrus Developer (dev) or get in touch with the community to seek help and assistance. Dev is very active on Twitter, Tumblr, various Channels and the Hydrus Discord server. The community is very active on the Hydrus Discord server. The dev joins the Discord twice a week. More information and links to all of these locations can be found on the help > contacts page.
Before you begin (1) - backup
It is recommended that you perform a backup of your Hydrus database files before performing any form of Hydrus upgrade, despite any other recommendations from anyone. Despite how robust the upgrade process is, problematic issues may arise due to unforeseen circumstances and conditions outside of anyone’s control.

The following files, in no particular order, are critical and should always be backed up from time to time, and/or before a upgrade: 
•	client.caches.db
•	client.db
•	client.mappings.db
•	client.master.db

TIP: These database files are located inside the /db/ folder of your Hydrus root folder (where it is installed). Example: C:\Hydrus\db\ or /home/hydrus/db/.

As a quick mention: by default, your actual files are located inside the /client_files/ folder, a sub-folder of the /db/-folder. These files will never be touched nor damaged by an upgrade. This folder is usually very large, depending on your file collection, as these are the actual files. There is normally no need to back these up for an upgrade, but you may wish to include these with your regular backups to avoid data loss in case of a system or harddrive failure. The file-path can be changed by the user by performing a file migration. See the documentation on file migration for more information.

Before you begin (2) - Version 335, the major Python2 ⇒ Python3 change
Important! Version 335 introduces major changes that requires the user to follow special instructions in order to successfully upgrade the client. This is because of the major changes required to replace Python2 with Python3.

Before you upgrade to, or through, version 335, read, understand and follow the steps that apply to your OS and installation type. All steps are clearly outlined inside the release post for version 335, which is found here: https://hydrus.tumblr.com/post/181885931124/version-335

This release post applies to Hydrus on both Windows, Linux and Mac OS of any installation type: Installer, standalone/archive and source).

This is very important. You must not skip this step for any reason.