Contextual link trigger sometimes needs two clicks to open
Problem/MotivationClicking a contextual links trigger (the pencil button) sometimes does not open the menu. A second click is needed. This happens in Chromium-based browsers when focus is somewhere...
View ArticleImprove balancing of CI test jobs
Problem/Motivationrun-tests.sh splits test classes between parallel CI jobs with WorkAllocator. It deals out #slow classes round robin, then the other classes the same way. Round robin ignores how much...
View ArticleHandle non-scalar values in UserData views plugin
Problem/MotivationNon-scalar values can be stored using the user.data service. The user module's views field UserData plugin passes whatever it gets back for the supplied key on to sanitizeValue() as...
View ArticleAdd static caching to BreadcrumbManager::build()
Problem/MotivationWhen profiling a site, I noticed that schema_metatag's breadcrumb manager causes breadcrumbs to be fetched a second time - running all the breadcrumb services' build() methods twice....
View ArticleDrupal Accessibility Office Hours 2026-10-15
The Drupal Core Accessibility Topic Maintainers will be holding regular office hours, at least once a month. During this time, we will be available to answer questions and review projects, live and in...
View ArticleUpdate to selenium/standalone-chrome:134+
Problem/MotivationCore CI runs selenium/standalone-chrome:133.0. Chrome 134 enabled DeferRendererTasksAfterInput by default. It defers renderer tasks after an input event until the next frame. A...
View ArticleConsolidate high level Drupal core documentation in markdown files and...
Problem/MotivationIn #3463660: [policy, no patch] Document high-level API concepts in an easier format we decided to consolidate high level documentation into markdown files, and then publish them via...
View ArticleHtmx::boost() is missing functionality for v.4
Problem/MotivationIn our original draft, we missed the modifiers (inherited) on Htmx::boost(). Checking the documentation just now, an advanced syntax was added that allows setting inheritable swap and...
View Articlemaintenance-page--offline.html.twig is not picked up when system is offline
Problem/MotivationIn system_theme_suggestions_maintenance_page(), a template suggestion is provided for maintenance-page--offline.html.twig:if ($offline) { $suggestions[] = 'maintenance_page__offline';...
View Article\Drupal\Core\Cache\MemoryBackend should not use request time for checking...
Problem/MotivationThis condition is basically useless.// Check expire time. $prepared->valid = $prepared->expire == Cache::PERMANENT || $prepared->expire >=...
View ArticleState required asterisk doesn't show
Problem/MotivationWhen using state required, the asterisk doesn't show.Proposed resolution- Modify state.js on required to add classes "js-form-required form-required" on label or legend.Remaining...
View ArticleApplying a recipe from hook_install() leaves the outer config installer in...
Problem/MotivationA module that applies a recipe from hook_install() breaks every module installed after it in the same batch. Their config/install and config/optional entities are silently not...
View ArticleConvert hook_schema() implementations to SchemaDefinition - testing modules
Problem/MotivationFollow-up to #3557481: Convert hook_schema() implementations to SchemaDefinition - regular modules.Proposed resolutionConvert core hook_schema() implementations of testing modules to...
View ArticleConfigEntity based lists with items containing non-ascii characters are not...
Problem/MotivationMany efforts have been made to make Drupal 8 a great multilingual system. However, content types are never properly sorted when translations contain accentuated characters.Content...
View ArticleEntity reference values load as NULL when getColumnNames() is re-entered from...
Problem/MotivationDefaultTableMapping::getColumnNames() stores an empty array in $this->columnMapping[$field_name] before it computes the columns, and fills it in afterwards:if...
View Article[ignore] policy related issue collection
This is just to help me see them all at once.#3534111: [policy, no patch] Update allowed changes to current practice for backport of Test API changesAU#3228628: [policy, no patch] Decide on the most...
View ArticleEnforce strict types in new code
Problem/MotivationPostponed on #3250827: [policy, no patch] Use declare(strict_types=1) in new code.As is evident in that issue, enabling strict types everywhere breaks in lots of different ways. But...
View Article[policy, no patch] Use declare(strict_types=1) in new code
Problem/MotivationAs per the PHP documentation at https://www.php.net/manual/en/language.types.declarations.php#language.t...By default, PHP will coerce values of the wrong type into the expected...
View ArticleFile only containers
Problem/MotivationFollow up #3583505: Use Symfony PhpDumper instead of a serialized array container structure and replacing #3616465: Potential race condition in container rebuilds, the container could...
View ArticleTrigger warning when #access has an invalid value
Problem/MotivationThis is a followup to #3526250: Deprecate use of "#access" as anything other than an allowed boolean or an AccessResultInterface object.We currently trigger a deprecation when #access...
View Article