A change record needs to be drafted before an issue is committed.
Note: Change records used to be called change notifications.

Remove the .js class

Problem/Motivation

The .js class is added on every page where drupal.init.js is loaded for 'styling', this results in a style recalculation for the entire page.

We have the .js-hide and .js-show classes. Not sure why anyone would need to style anything differently purely depending on whether there is arbitrary javascript on a page or not.

Plugin types should use annotations instead of attributes

Problem/Motivation

In Drupal 8 and 9, we used docblock attributes to find and provide metadata about plugins. PHP 8.0 introduced annotations as a first-class language feature.

Remove StubPDO

Problem/Motivation

If that's no longer needed, we can think of removing StubPDO.

Proposed resolution

Figure it out, and if confirmed remove the fixture class.

Remaining tasks

User interface changes

Introduced terminology

API changes

Data model changes

Release notes snippet

Block access to package-lock.json files

Problem/Motivation

Since #3308369: Block access to yarn.lock and package.json we block access to yarn.lock.
Core only uses Yarn and does not have a package-lock.json but custom themes could use NPM and have this lock file so it could make sense to also block access to it as a hardening.

Cache the container definition in APCu

Problem

On every web request, DrupalKernel::getCachedContainerDefinition() loads the compiled container definition from the database via the cache.container service.

Loading the container is pretty slow: it not only involves fetching 500KB+ of serialized data, but also deserializing it into PHP arrays.

Use autoconfiguration instead of the plugin_manager_cache_clear tag and PluginManagerPass

Problem/Motivation

PluginManagerPass:

      if (str_starts_with($service_id, 'plugin.manager.') && !$definition->hasTag('plugin_manager_cache_clear')) {
        if (is_subclass_of($definition->getClass(), '\Drupal\Component\Plugin\Discovery\CachedDiscoveryInterface')) {
          $definition->addTag('plugin_manager_cache_clear');
        }
      }

but then we also have some manually configured services:

Pages

Subscribe with RSS Subscribe to RSS - Needs change record