We’ve adopted semantic versioning with new feature releases every six months, and we’ve already sunsetted Drupal 8 and moved on to Drupal 9 and 10.
Major versions are released more quickly, with Drupal 9 support ending in November 2023 and Drupal 11 potentially being released in May or November 2024.
But is it too quick, as someone asked on Twitter?
The main reason I’m aware of is to keep in sync with major versions of projects that Drupal uses, such as the components used by Symfony. As they update and release new major versions, we also need to do so.
As a module and theme maintainer, I don’t think it’s too fast and have been happy with the number of changes to upgrade them and make them Drupal 10 compatible. In most cases, I only had to change the core_version_requirement key to include the new version.
It depends on how well the project is maintained during the earlier versions. If you keep up to date with changes in minor versions and remove any deprecated code, there will be less to do in the future.
The same applies to any custom code within website projects, not just contributed modules and themes.
The more often you maintain and update what you have; the easier it will be.