# How to Perform a Feature Version Update
Feature version updates are updates where one of the first two parts of the version number changed. For example, an update from version 4.7.3 to 4.8.0 would be considered a feature version update.
Please note that the steps in this guide are for a normal installation and do not apply if you are using Docker to deploy Teamscale.
Avoid Downtimes with a Shadow Instance
For large instances, we recommend you use a shadow instance to perform these updates. This avoids unnecessary downtimes during the update process.
As the format of the internal database may change and also new checks become available, a full analysis is required after a feature version update.
This may take some time, depending on the amount of data you have imported into Teamscale (code, findings, coverage, ...). For large instances, we strongly recommend you perform the update with a shadow instance.
Always Unzip on Target System
Always unzip the downloaded ZIP file on the system that you want to install Teamscale on. Otherwise, if the ZIP is, for example, unzipped under Windows and then copied to Linux, Teamscale may later fail to start (as Unix permissions like executable can get lost).
The detailed steps are as follows:
Perform a full backup export of the configuration and external data via the Backup tab of the Admin perspective.
Stop Teamscale. This depends on how you installed Teamscale and may require you to stop a service or kill the Teamscale process.
It is strongly recommended to create a backup of the Teamscale installation and storage directories, so you can return to the current version if anything does not work as expected.
Replace the Teamscale installation with the new one. For this you should rename/remove the old Teamscale installation directory and extract the new version to the same place Teamscale was installed before. If you delete the old directory, make sure to keep the
configfolder and to copy it back to the new directory. Under Windows, do the same for the
windowsfolder. After extraction, the overall file layout should look the same as before.
Do not copy/extract the new Teamscale files over the old ones
Copying/Extracting the new Teamscale files over the old ones is not supported and will break your installation, e.g. by overwriting configuration changes you have made or by not removing old files that should be deleted during the update. You should instead always unzip the new Teamscale files into a separate directory and copy your configuration files from the old directory as described above.
Also delete the storage directory, if this is outside of your Teamscale installation directory. In case you have configured an external data directory (workspace), make sure to delete this as well.
Copy the config files from the previous version to the config folder of the newly extracted version. Under Windows, do the same for the files in the windows folder. You might need to adjust the configuration if the format changed. This will be described at the download site of Teamscale if required.
Start Teamscale. Depending on the installation this may require starting the corresponding service or running the start script.
Now you should have an empty Teamscale instance. Login as
adminusing the default password
Import the backup ZIP file into this instance via the Backup page of the Admin perspective.
If you were using the default settings during backup import, the instance will now be in Shadow Mode which means that no external events, such as notification emails of voting to other systems will happen.
You may have to delete the default administrative user (
admin) after importing the backup as it is always created when starting Teamscale on an empty storage directory.
Wait for the analysis to complete.
If required, disable the Shadow Mode now to make Teamscale send notifications and votes again