Copy all of your configuration (settings.yml, permissions.yml, aliases.yml, embeds.yml and errors.json) to a safe place to help you configure the bot later, or in case you wish to downgrade. Do not copy application.yml. Additionally, you should backup the filter.txt file in the cogs > admin folder to save your blacklisted words.
If you are using SQLite for storage, copy your database folder to a safe place to restore after installing the new version.
After you have backed up your configuration files and databases, you will need to re-install ZeoBot as there are configuration and structure changes. Download the latest release from MC-Market and unzip it to a different folder. Make sure there are no traces of the old version in this folder.
If you are using SQLite, make sure the database type is set to SQLite in the configuration. Create a folder in the ZeoBot folder called database. Paste all your database files here.
If you are using PostgreSQL or MySQL, make sure your database details are filled in the configuration.
Now, open the migration folder, then open the 2.2.0 folder and run the migrate_databases.py file. (python3 migrate_databases.py for macOS and Linux or py -3.9 migrate_databases.py for Windows).
Configure and Run ZeoBot
After your databases have been migrated, configure ZeoBot's new configuration files, using the old files as a guide. There are changes to configuration in all configuration files so do not use your old configuration files directly. Using a diff tool such as diffchecker is recommended to find changes. You can directly paste your filter.txt file into the cogs > admin folder however. Finally, run ZeoBot in the same way as before, following the Dependencies guide.
Make sure you run the migration script from the 2.2.0 folder. Do not use the 2.0.0 scripts.
If database migration fails, you will have to delete the databases in the case of SQLite or reset the database in the case of PostgreSQL or MySQL.