> For the complete documentation index, see [llms.txt](https://docs.trydrupal.com/radix/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.trydrupal.com/radix/misc/migration-and-upgrading.md).

# Migration and upgrading

Generally, migration between major versions has two sides to it:

* What's changed in Radix itself
* What's changed in Bootstrap

This is a time-consuming process and not a scripted approach. The ideal suggested approach is a manual migration, meaning start fresh and move everything from your old theme into the new one:

* Upgrade your parent Radix theme to the latest version
* Create a new sub-theme
* Move over your custom `components` into your new theme
* Update the bootstrap variables
* Update utility-classes in each component
* Define a `[COMPONENT-NAME].component.yml` file
* Migrate your `*.theme` files into your new theme
* Migrate and possibly update your `*.JS` file
* Build your theme and test it

### The Bootstrap side

For instance, the Radix `3.x` comes with Bootstrap 3, Radix `4.x` comes with Bootstrap 4, and Radix `5.x` with Bootstrap 5. First off you need [the migration documentation on Bootstrap](https://getbootstrap.com/docs/5.0/migration/)

migrating means that you need to:

* Check your deprecated `classes` and update them accordingly
* Check your deprecated `variables` and `mixins` , etc... and update them accordingly.
* Remove any `jQuery` code and dependencies
* Upgrade your node packages like `popperJS`&#x20;
* Replace your `Libsass` with the `Dart Sass`
* For the Sass part, check the breaking changes in the [Bootstrap docs](https://getbootstrap.com/docs/5.0/migration/#sass)&#x20;
* etc...

### The Radix side

Radix has switched to using Drupal core's SDC, so a lot has changed, with that in mind, we are still using rather the same component approach that we had as before, so it's not that hard to recreate our components.

Mind the deprecated components and newly added ones, search for `*.twig` within your template files and see if all of those components are updated and in place.
