Downloads

Download tar.gz 464.35 KB
MD5: 43ea9e496b134df0f3f3a1889f47d669
SHA-1: 3a6262dc2df5f757ab29088c9b160fa37d5bee58
SHA-256: 66bf1181a7b1624acefa62ac7ccaf1831b123d9ba481134bedcc49c0f8150fdf
Download zip 770.88 KB
MD5: e5152d41f7739250403438a48e38bb50
SHA-1: 7460bb46c061442ae0aa77eae27de8cc5053fd27
SHA-256: e8e57bc6ed4f9db20ad9ec3e77914b427be17f15a618248960f97a3c59b2259f

Release notes

The analyzer now types plugins created by managers outside core and a few more core APIs, and cold runs are faster.

Analyzer

  • createInstance() on a plugin manager outside core is typed from the manager's parent::__construct() call: a literal id gives the plugin class, and any other id gives the manager's plugin interface. See Plugin instances.
  • Time differences from the date formatter, expirable key-value stores and the routes built by DefaultHtmlRouteProvider get the types returned by core's code, not the wider ones in its docblocks. See Core types.
  • Container factories that use new static(), or that come from a trait shared by different kinds of classes, are accepted.

Performance

Cold runs are faster, and so are several lint rules and analyzer callbacks.

Other changes

  • The preset no longer depends on Mago's built-in drupal integration.
  • The PHP namespace is now DrupalMago\.
  • The stand-ins for core used by the tests are .stub files, so a site with the package installed from source doesn't read them in place of core's classes.
Created by: amateescu
Created on: 14 Nov 2026 at 11:49 UTC
Last updated: 14 Nov 2026 at 11:49 UTC
Bug fixes
New features

Other releases