Solo 1.0.36 Fixes Fatal Regression on Drupal 10 and Drupal 11.0–11.2
Released on 7 October 2026, Solo 1.0.36 fixes a fatal regression introduced by version 1.0.35 one day earlier. The fault affected Drupal 10 and Drupal 11.0–11.2, where sites could throw a ServiceNotFoundException for Solo hook classes on every page.
Every Drupal 10 and Drupal 11.0–11.2 site running Solo 1.0.35 should update. Drupal 11.3 and later were not affected by the fatal error, although the release notes still recommend moving to 1.0.36. After updating, maintainers are instructed to run drush updb followed by drush cr.
Class Resolution Caused the Regression
The problem followed Drupal 12 compatibility work in Solo 1.0.35. The theme's #[LegacyHook] wrappers attempted to retrieve hook classes through \Drupal::service(). Drupal core does not load a theme's services.yml, and theme hook classes are only registered as services from Drupal 11.3.0.
Solo 1.0.36 replaces all 38 of those direct service lookups with \Drupal::classResolver(). The resolver returns the registered service where one exists and instantiates the class where it does not, allowing the same hook wrappers to work across the supported Drupal versions.
The release also removes solo.services.yml and the corresponding file from the Solo subtheme starterkit because core never loaded them. A separate compatibility fix changes how Solo clears library discovery caches when theme settings are saved: Drupal 11.1 and later use clear(), while Drupal 10 and Drupal 11.0 use clearCachedDefinitions().
Subthemes From 1.0.35 Need a Manual Fix
Updating the parent theme does not modify files already copied into a subtheme. Sites using a subtheme generated from the Solo 1.0.35 starterkit therefore need to edit the subtheme's .theme file manually.
Inside YOURTHEME_theme_suggestions_block_alter(), maintainers should replace the \Drupal::service() lookup for the hook class with \Drupal::classResolver(). The copied .services.yml file can also be removed because Drupal core does not load it.
Drupal 10 Testing Is Added After the Failure
Solo 1.0.36 adds a HookClassResolutionTest designed to fail if a theme hook class is fetched with \Drupal::service() or if a theme services.yml file is reintroduced. The test suite also adds the older @group solo annotation alongside the PHP attribute so Drupal 10's test runner can discover the tests.
The project's continuous-integration setup now includes a Drupal 10 job. That coverage directly addresses the compatibility gap exposed by 1.0.35, whose hook-class changes worked on newer Drupal 11 releases but failed on older supported core versions.
The Drupal.org issue reporting the Drupal 10 failure was opened at 22:02 UTC on 6 October. A fix was committed at 23:00 UTC, and Solo 1.0.36 was released at 01:55 UTC on 7 October.
Drupal.org reports 2,434 sites using Solo across versions. That usage figure represents overall reported adoption of the theme and should not be read as the number of sites affected by the 1.0.35 regression.
