44 lines
1.8 KiB
Markdown
44 lines
1.8 KiB
Markdown
---
|
|
title: Major version updates are just removing deprecated code
|
|
date: 2024-02-14
|
|
permalink: archive/2024/02/14/major-version-updates-are-just-removing-deprecated-code
|
|
snippet: |
|
|
Because of their release cycles, Drupal and Symfony version updates can be as simple as just removing deprecated code...
|
|
tags:
|
|
- software-development
|
|
- php
|
|
- drupal
|
|
- symfony
|
|
---
|
|
|
|
Today, I've been watching the new [Upgrading & What's in Symfony 7][video] video course on SymfonyCasts.
|
|
|
|
The first video - [recent podcast guest Ryan Weaver][podcast] - explains how Symfony's release cycle works.
|
|
|
|
New feature releases that contain new features are every six months.
|
|
|
|
Along with the x.4 release - such as Symfony 6,4 - there is also a new major release - in this case, Symfony 7.
|
|
|
|
They are essentially identical, except for code that was deprecated in Symfony 6, which has been removed.
|
|
|
|
So, updating from Symfony 6.4 to 7 means you just need to remove any deprecated code from your application and make it work in the Symfony 7 way.
|
|
|
|
This is also how Drupal releases new versions, too.
|
|
|
|
New releases, like Layout Builder, are added in minor versions like 8.1, and Drupal 9 is Drupal 8 without its deprecated code.
|
|
|
|
Because the code in major versions is so similar, **contributed modules and themes can support multiple major versions at the same time**.
|
|
|
|
## Here's the thing
|
|
|
|
When upgrading projects from Drupal 8 to 9 and 9 to 10, the majority of the work can be done beforehand by keeping up to date with module releases and updating custom code to remove any deprecations.
|
|
|
|
This means the upgrade can be split over several weeks or months to reduce the risk.
|
|
|
|
Then, finally, you *just* update to the next major version.
|
|
|
|
All the hard work has already been done.
|
|
|
|
[podcast]: {{site.url}}/podcast/10-ryan-weaver-symfonycasts
|
|
[video]: https://symfonycasts.com/screencast/symfony7-upgrade
|