Drupal 9 went end of life a week ago, so this was already overdue. Overall it went smoothly as promised by Drupal. It took me just one morning to get it done - but our website is also fairly simple and doesn't use a lot of modules. Only two things required more attention:
- The adminimal admin toolbar module unfortunately still doesn't have a Drupal 10 compatible stable release. This one was a bit frustrating and felt unnecessary. It was the reason that composer update was failing and it took me a while to find out the reason. The (a bit suboptimal) solution is to switch to their dev branch
- CodeSnippet isn't necessary anymore as CKEditor 5 comes with the code block plugin, so I decided to remove this module and follow their instructions on an upgrade path
What did I do
- Make sure backups are in place
- Uninstall deprecated / unused modules ("Color", "Quick Edit", "RDF", "CodeSnippet", "CKeditor 4") in the admin interface (Extend → Uninstall module)
composer require 'drupal/adminimal_admin_toolbar:1.x-dev@dev'
- Follow the Drupal upgrade manual step by step
- Install the highlight_php module and enable it in Configuration → Content authoring → Text formats and editors: "Highlight <code> tags in HTML"
- Be happy and make blog post