The Header H2 Search results title doesn't have any class for theming
Problem/MotivationSteps to reproduceProposed resolutionRemaining tasksUser interface changesIntroduced terminologyAPI changesData model changesRelease notes snippetThe...
View ArticleBreadcrumb render cache not invalidated when entity label changes
Problem/MotivationCache of entities are not invalidated when the entity label changes. Steps to reproduce for nodes & breadcrumbs (from #3): Create a node with title 'Title A'.Change the title to...
View Articleupgrade from 10.3.10 to 10.4.0 failed
Problem/MotivationYour requirements could not be resolved to an installable set of packages. Problem 1 - Root composer.json requires drupal/core-recommended 10.4.0 -> satisfiable by...
View ArticleOlivero default welcome page needs link removed
Drupal core's default welcome page located in web/core/themes/olivero/templates/includes/get-started.html.twig links to a page that does not get updated. Let's just yank this bullet point out.
View ArticleDeprecate TestDiscovery test file scanning, use PHPUnit API instead
Problem/MotivationDrupal is using its own code to discover tests to be executed, which along time lead to discrepancies in the tests executed betwen PHPUnit CLI and run-tests.sh.PHPUnit 10 (Feb 2023)...
View ArticleIntroduce entity permission providers
Problem/MotivationRight now each content entity type needs to define its set of permissions from scratch, then declare a matching access handler. This is pure boilerplate, an entity type's permissions...
View ArticleConfirmFormInterface::getFormName() serves no purpose in ConfirmFormBase
Problem/MotivationConfirmFormInterface::getFormName() is only called by ConfirmFormBase. The return value, a string, is used to build a hidden form element: $form[$this->getFormName()] = ['#type'...
View ArticleUrl only outputs the last value of a query parameter
Problem/MotivationDrupal uses PHP's parse_str function to parse querystrings in multiple places. This function incorrectly assumes that a parameter name can occur only once and returns just the last...
View ArticleFix not loading CKEditor 5 and Tour with BigPipe enabled after Drupal 10.4...
Problem/Motivation Hi, My site was working perfectly well with Drupal 10.3 and CKEditor 5 After updating the site to Drupal 10.4 the entire site still works fine but when I edit existing content the...
View ArticleDatetime fields should utilise #required_error
Problem/MotivationIf we set #required_error on the render array for a datetime element it doesn't use it. It should use it.Steps to reproduceProposed resolutionRemaining tasksUser interface...
View ArticleBetter warning message when variation cache detects an incompatible...
Short summary of what's going onWhen people do not take care of the consistency of their cache contexts, incomplete or wildly different cache redirects may be attempted to be written. At best these...
View Article[PP-1] Introduce a StatementBase abstract class
Problem/MotivationIntroduce an abstract StatementBase class, common to both StatementWrapperIterator and StatementPrefetchIterator classes.Steps to reproduceProposed resolutionRemaining tasksUser...
View ArticleViews UI sometimes fails to set overridden display to "All displays"
Problem/MotivationWhen trying to set part of an overridden display's configuration, the user ends up with broken configuration.Steps to reproduce:Create a view with a display (A) with overridden...
View ArticleRequire dedicated permission(s) to set aliases pointing to existing or...
Problem/MotivationIn Drupal 8 and earlier, it is possible for a user to create a path alias that clobbers an essential core route such as "admin" or "user/login". For example, a malicious user with...
View Article[PP-1] Validate alternate domain for oEmbed iFrame
Problem/MotivationThis is issue is spun off from UX team feedback on #2831944-203: Implement media source plugin for remote video via oEmbed.For security reasons, the oEmbed system uses an iframe to...
View ArticleAdd a cache prewarm API
Problem/MotivationAfter a full cache clear, Drupal has to build up various caches before it can serve a request. Element info, route preloading, menu links, library info, various plugin registries,...
View ArticleCreate hook_requirements_check
Problem/MotivationHook requirements uses phase right now to manage whether it is runtime, install, or update.This leads to significant complexity. As it stands runtime and update can easily be an OOP...
View ArticleNew non translatable field on translatable content throws error
Problem/MotivationEven when access is denied to a widget, the value submitted propagates to the entity built from the sum of widgets.Steps to reproduceEnable at least content translation and content...
View ArticleCreate hook_update_requirements
Problem/MotivationHook requirements uses phase right now to manage whether it is runtime, install, or update. Let's move the update portion. Create a new hook_update_requirements.It is currently...
View ArticleCreate hook_runtime_requirements
Problem/MotivationHook requirements uses phase right now to manage whether it is runtime, install, or update.This leads to significant complexity. As it stands hook_runtime can easily be an OOP...
View Article