When I setup the Drupal contrib search engine, the goal was to detect modules we’d break with a code change in Drupal Core. It works but I wanted to know more than that, so I spent a couple of weeks getting more data. I want to start with a huge thank you to my long time sponsors: Palantir.net and Vardot. They’ve been a huge help in my ability to spend time working on Drupal Core, and it’s thanks to them that I can spend time digging into this data.
Adoption of Core features in contrib is quite slow overall. Some features like the conversion from Annotation to Attributes have been picked up real fast by contrib thanks to automated rector rules and nicer developer experience.
- When Drupal Core deprecate or add a feature, how long does it take for contrib to upgrade or adopt?
- What is the impact of Drupal CMS on contrib code?
- Contrib depends directly on a lot of
@internalcode, what do they need exactly? - When working on core, what usually breaks when touching a specific part of the code?
- And possibly more, there is certainly enough data to dig through,
Next time we’ll have a look at all the details behind these graphs.
What data are we talking about? Over the next few blog posts, we’ll be looking at what happened at the code level for Drupal Core and Drupal contrib over the last 10 years:
60% of contrib modules will have a version ready before the EOL of the last core version that supports the removed feature. After EOL, there is a slow increase until it plateau: 19% of contrib modules have not upgraded their code. Does it mean that contrib module is not compatible with newest version of core? not necessarily, it might be that the contrib module opened a different development branch where that is not a concern. There are many nuances we’ll get into in the next post. But overall it’s looking good! And better and better over time, contrib is now reacting much faster to change records and deprecations than it used to.
We have an active community and Drupal is easier than ever to upgrade across minor and major versions. To be true the data need to show contrib modules following closely Drupal Core change records. Turns out it is mostly true! We’ll have plenty of time to see the details and analyse Drupal CMS impact. So I’ll just show a couple of aggregated metrics. 
What about new features? how fast does contrib pick things up? It’s not fast. When a feature comes out in a stable Drupal Core release,
Let’s say I have a module that uses the _update_cron_notify() function, and core removes _update_cron_notify() in version 11.4.0. How far in time are the release with the necessary code changes and the release of Drupal 11.4.0? Taking into account 9979 contrib modules, their 99503 releases, and the corresponding 8 Core releases we get this:






