# 1 - Read the release notes to know what had been changed.
### Before You Update
For each stable release we will have some notes, and extra steps,
Updating Varbase is best done through composer. When you installed Varbase, we will assume that you have done so through the Composer-based project template [varbase-project](https://github.com/Vardot/varbase-project) by running the command: `composer create-project Vardot/varbase-project:^8.6 YOUR_PROJECT --no-dev --no-interaction`
developers need to do to update the last release to the new release.
# For Example:
This will create the Varbase project directory that will look like this: `/path/to/YOUR_PROJECT` with the Drupal codebase installed via Varbase installation profile in `/path/to/YOUR_PROJECT`.
Follow the online documentation for more detailed updating process. Visit: https://docs.varbase.vardot.com/updating-varbase
# 2 - Backups
### The Update Process
* Backup your project database.
There are two main update processes we will cover. 1\) Automated process using a tool we've developed to ease the update process for Varbase called [varbase-updater](https://github.com/Vardot/varbase-updater). 2\) Manual process if you wish to take take matters into your own hands.
* Backup your project files.
* Test a restore for your backups, to make sure that your backups works.
# 3 - Get the packaged files for the new version of Varbase 8.5.x
#### OPTION 1: Automated Process — Using Varbase Updater \([varbase-updater](https://github.com/Vardot/varbase-updater)\)
* From Drupal website: https://www.drupal.org/project/varbase
If you previously used our Composer-based project template to install Varbase [varbase-project](https://github.com/Vardot/varbase-project), complete the following steps to update your codebase’s installed version of Varbase:
* Using varbase-project: https://packagist.org/packages/vardot/varbase-project
# 4 - From your terminal, change directory to the root directory of your
1. From a command prompt window, navigate to your project: `cd /path/to/YOUR_PROJECT`
# project to do the update:
2. If you're using Varbase 8.6.2 or older, install [varbase-updater](https://github.com/Vardot/varbase-updater) through composer `composer require vardot/varbase-updater:^1.0` If you're using Varbase 8.6.3 or newer, skip this step; [varbase-updater](https://github.com/Vardot/varbase-updater) comes pre-installed with your Varbase project.
3. Run the Varbase update tool `/bin/update-varbase.sh`
4. Follow the wizard.
# For Example:
_You can learn about what is going on in the wizard in Varbase Updater wizard section._
```
5. Buy yourself a drink! You're done.
Given that we do have a project at the /var/www/html/projects/example folder
6. After the update finishes and you get a success message, navigate to **admin/reports/varbase-updates** to learn about the new changes and updates introduced in your Varbase site.
And we do have our custom themes, features, custom modules in
/var/www/html/projects/example/themes/custom/
/var/www/html/projects/example/modules/custom/
/var/www/html/projects/example/sites/default
so on ...
like contributed modules which we had theme added
while working on the project.
And we opened a terminal console window
And we changed directory to our project folder
cd /var/www/html/projects/example in Linux
When we delete all files and folders, except our changes on Varbase.
Then we will be left with only custom changes
When we copy all Varbase files
#### OPTION 2: Manual Process — Do it Yourself
And we make sure that we do not have any overridden files or folders
only delete old ones and copy new folder of modules to the same place
```
# 5 - Set the right file permissions.
1. From a command prompt window, navigate to your project: `cd /path/to/YOUR_PROJECT`
# 6 - Update composer packages. use "composer outdated"
2. Edit your _composer.json_ file to be ready for updates. You have two choices.
# $ composer update
1.**The hard way:** Edit your _composer.json_ to include all the new updates made in [varbase-project](https://github.com/Vardot/varbase-project/blob/8.6.x/composer.json). This includes the new components required and its versions _"require"_, _"repositories"_, _"extra"_, and any other important config. You can use a diff tool such as [Meld](http://meldmerge.org/) or [DiffMerge](https://sourcegear.com/diffmerge/) to help you diff between your old _composer.json_ and the new one from [varbase-project](https://github.com/Vardot/varbase-project/blob/8.6.x/composer.json).
2.**The easy way:**
1. If you're using Varbase 8.6.2 or older, install [varbase-updater](https://github.com/Vardot/varbase-updater) through composer `composer require vardot/varbase-updater:^1.0` If you're using Varbase 8.6.3 or newer, skip this step; [varbase-updater](https://github.com/Vardot/varbase-updater) comes pre-installed with your Varbase project.
2. Then run `composer varbase-refactor-composer composer.new.json docroot` where _docroot_ is your Drupal project codebase.
3. Move your new composer file _composer.new.json_ in place of the old one. `mv composer.json composer.json.b; \ mv composer.new.json composer.json`
3. Back up your code and database
4. Execute composer update to download updates to modules and libraries `composer update`
5. Run your database updates `drush updatedb` or by navigating to http://my.varbase-site.local/update.php \(where _my.varbase-site.local_ is the URL for your website\) and follow the on-screen instructions.
6. After the update finishes and you get a success message, navigate to **admin/reports/varbase-updates** to learn about the new changes and updates introduced in your Varbase site.
Make sure that you do have modules in the right place.
# 7 - Import Varbase Core Features and Bundles:
```
Given that you are logged in with the "webmaster" user
And the "Configuration Update Reports" module is enabled
When you go to "/admin/config/development/configuration/report"
And from "Single module" you could select any Varbase component