| #3325551 |
Add "Disable image resize" setting to image fields |
Feature |
image system |
28 |
23 |
373 |
| #3400254 |
[policy, no patch] Add a "developer tooling" topic to Drupal core |
Feature |
other |
21 |
2 |
356 |
| #3441503 |
Add validation constraints to system.theme |
Task |
system.module |
19 |
11 |
262 |
| #2842780 |
Add a token for the site logo |
Feature |
token system |
59 |
15 |
231 |
| #3202631 |
Add Textarea option to normalize newlines to \n |
Bug |
render system |
32 |
9 |
214 |
| #3324952 |
add a method to NestedArray that does array_walk_recursive but passes the parents to the callback |
Feature |
base system |
9 |
4 |
205 |
| #3513035 |
New NoEntitiesExistYetWithHigherCardinality constraint |
Feature |
field system |
11 |
5 |
160 |
| #2381293 |
Actions reordering on views bulk forms |
Feature |
views.module |
59 |
12 |
152 |
| #3357742 |
Guidelines for semantic versioning for contributed projects in relation to Drupal core compatibility |
Plan |
documentation |
33 |
2 |
143 |
| #3532930 |
Make Drupal\Core\Database\Database type strict and PHPStan L10 compliant |
Task |
data base system |
8 |
3 |
137 |
| #2954834 |
Add poster image to HTML5 media videos |
Feature |
media system |
61 |
6 |
127 |
| #3228209 |
Move hasRole() method from UserInterface to AccountInterface |
Task |
user system |
25 |
4 |
123 |
| #3359511 |
[regression] missing menu active trail since Drupal 9.5.9 |
Bug |
base system |
80 |
8 |
112 |
| #3522561 |
Prepare full typing of StatementInterface methods' parameters |
Task |
data base system |
6 |
4 |
111 |
| #3488260 |
Stop logging an error when component not found |
Bug |
single-directory components |
8 |
3 |
108 |
| #2050477 |
[META] Identify component maintainers for components with no maintainer listed in MAINTAINERS.txt |
Task |
documentation |
31 |
1 |
99 |
| #3551970 |
Check in commit-code-check for changes to MAINTAINERS.txt |
Task |
other |
6 |
2 |
97 |
| #3047022 |
Layout builder fails to assign inline block access dependencies for the overrides section storage on entities with pending revisions |
Bug |
layout_builder.module |
82 |
4 |
94 |
| #3538681 |
Add support for selecting the dropbutton_type with the Views dropbutton field |
Feature |
views.module |
9 |
4 |
92 |
| #2486267 |
Attributes of a block content are applied to block itself |
Bug |
block.module |
21 |
2 |
80 |
| #3550083 |
robots.txt should disallow all '/search/' and '/search?' pages by default |
Bug |
other |
11 |
4 |
76 |
| #3118569 |
Add an example of a semver contrib module number to the update hook example for hook_removed_post_updates() |
Task |
documentation |
8 |
2 |
63 |
| #3558167 |
Fix "expects FooInterface, MockObject given" phpstan errors |
Task |
phpunit |
6 |
3 |
60 |
| #3559980 |
Make file module Hook class properties protected instead of private |
Task |
file.module |
7 |
3 |
60 |
| #3532950 |
Support importing default content in JSON format |
Feature |
default content system |
6 |
3 |
60 |
| #3331158 |
Support full-screen editing in CKEditor |
Task |
ckeditor5.module |
56 |
3 |
59 |
| #3558934 |
Fix styling of link autocomplete with long titles |
Bug |
ckeditor5.module |
8 |
3 |
59 |
| #3552759 |
Fix more incorrect phpdoc type hints (part 1) |
Bug |
documentation |
7 |
4 |
55 |
| #3202329 |
Outbound path processors miss the route name and parameters |
Feature |
routing system |
22 |
3 |
53 |
| #3549730 |
Enable LongLineDeclaration |
Task |
other |
5 |
3 |
48 |
| #3561844 |
Refactor tests to use stubs instead of mocks where mocks do not configure expectations - in component tests |
Task |
phpunit |
5 |
3 |
48 |
| #3497124 |
Deprecate expectDeprecation(), use PHPUnit's expectUserDeprecationMessage*() instead |
Task |
phpunit |
7 |
4 |
47 |
| #3562361 |
Add return types to core/tests code via Rector - round 2 |
Task |
phpunit |
7 |
4 |
47 |
| #3563051 |
Remove unnecessary status messages from file_save_upload() on file rename |
Task |
file system |
9 |
2 |
46 |
| #3365328 |
Add a config action to modify an array of configuration |
Feature |
recipe system |
24 |
2 |
44 |
| #3057267 |
Stop automatically logging out users during maintenance mode |
Feature |
user system |
13 |
5 |
42 |
| #2954725 |
AccountInterface::getLastAccessedTime() implementors return incorrect data type |
Bug |
user system |
12 |
2 |
35 |
| #3453210 |
getCreatedTime returns string instead of integer |
Bug |
comment.module |
17 |
1 |
35 |
| #2985400 |
Url::createFromRequest ignores query parameters |
Bug |
base system |
17 |
5 |
34 |
| #3563639 |
Add getAllKeys() method to KeyValueStoreInterface |
Feature |
base system |
7 |
3 |
33 |
| #3554220 |
Claro's libraries don't enforce the variables.css dependency |
Bug |
Claro theme |
5 |
3 |
32 |
| #3544395 |
Current user missing from language negotiator outside of request context |
Bug |
language system |
11 |
2 |
31 |
| #3241299 |
Properly return FALSE for invalid strings in DateTimePlus::checkArray() so that the correct exception is thrown |
Bug |
base system |
10 |
2 |
28 |
| #3511047 |
Navigation sidebar Logo / Close / Back button spacing issues |
Bug |
navigation.module |
16 |
3 |
28 |
| #3476883 |
[Policy] Move Search module to contrib |
Plan |
search.module |
20 |
1 |
28 |
| #3565566 |
Document return type for RfcLogLevel::getLevels() |
Task |
base system |
3 |
1 |
27 |
| #3545132 |
Datelist element has nondeterministic timezone |
Bug |
render system |
5 |
1 |
27 |
| #2229617 |
Change form element access bypass default to FALSE on programmatic submissions. |
Task |
forms system |
8 |
2 |
26 |
| #3559277 |
configureBlockFormBase should wrap form actions on a '#type' => 'actions' |
Feature |
layout_builder.module |
6 |
2 |
26 |
| #2655794 |
Remove redundant WAI-ARIA role attributes from <main>, <nav>, <aside>, <header>, and <footer> elements |
Bug |
markup |
23 |
1 |
26 |
| #3565886 |
Navigation module throws an error on missing URL |
Bug |
navigation.module |
11 |
2 |
24 |
| #3561564 |
Support the same block being used for page title & main content |
Feature |
block.module |
7 |
2 |
24 |
| #3564589 |
Log path in js_testing_log.js |
Feature |
phpunit |
4 |
2 |
23 |
| #3567163 |
Move field_ui form callback to hook class |
Task |
field_ui.module |
4 |
1 |
21 |
| #3566280 |
Color contrast issues on the field listings page |
Bug |
Claro theme |
5 |
1 |
21 |
| #3521184 |
Email validation allows deprecated email addresses |
Bug |
mail system |
10 |
2 |
21 |
| #3512287 |
[policy, no patch] Deprecate Stable9 and move to contrib |
Plan |
Stable 9 theme |
14 |
1 |
20 |
| #3567146 |
Top bar background color should use CSS variable |
Bug |
navigation.module |
4 |
1 |
20 |
| #3567137 |
Add test coverage for duplicate node titles on content_moderation latest version page |
Task |
content_moderation.module |
3 |
1 |
20 |
| #3566827 |
[ci] Add a job to check that yarn install succeeds on the minimum supported version |
Task |
other |
6 |
1 |
19 |
| #3566782 |
Deprecate block_theme_initialize() and move the logic to a service |
Task |
block.module |
5 |
2 |
19 |
| #3567616 |
Move _help_search_update to hook |
Task |
help.module |
3 |
1 |
18 |
| #3567544 |
Alias lookup by path is not case sensitive but AliasPrefixList and AliasRepository::preloadPathAlias's return value is leading to inconsistencies |
Bug |
request processing system |
6 |
1 |
17 |
| #3568063 |
Move _inline_form_errors_set_errors to themeHookClass |
Task |
inline_form_errors.module |
3 |
1 |
17 |
| #3559628 |
Allow #[MapQueryParameter] attribute for query string handling in controllers |
Task |
request processing system |
4 |
1 |
16 |
| #3114887 |
Error responses are stored when using the Download migration process |
Bug |
migration system |
9 |
3 |
16 |
| #3566792 |
Deprecate remaining ckeditor5.module procedural code |
Task |
ckeditor5.module |
6 |
3 |
15 |
| #3568124 |
Deprecate remaining functions in media.module |
Task |
media system |
3 |
1 |
15 |
| #3414108 |
Fix Call to an undefined method $this(Drupal\views\Plugin\views\HandlerBase)::getFormula() |
Task |
views.module |
11 |
3 |
14 |
| #3566059 |
Add penyaskito as a maintainer of the Language subsystem |
Task |
language system |
7 |
2 |
13 |
| #3566058 |
Add penyaskito as a maintainer of the Content Translation subsystem |
Task |
content_translation.module |
7 |
2 |
13 |
| #3534144 |
[12.x] [meta] Set Drupal 12 platform and browser requirements by Jan 15 2026 |
Plan |
other |
10 |
2 |
13 |
| #3568092 |
Convert editor.module procedural submit, validate and Ajax callbacks to methods |
Task |
editor.module |
4 |
1 |
13 |
| #3568566 |
Olivero's secondary menus inoperable when authenticated & BigPipe present |
Bug |
Olivero theme |
7 |
1 |
13 |
| #3560357 |
Taxonomy term ID from URL ViewsArgumentDefault plugin does not apply node cache tags when "Load filter from node page" is selected |
Bug |
taxonomy.module |
4 |
2 |
13 |
| #3520462 |
[meta] Tasks to deprecate the History module |
Task |
history.module |
9 |
1 |
12 |
| #3340978 |
Remove uses of “illegal” from core |
Task |
other |
8 |
1 |
12 |
| #3568922 |
Method discoverResourceUrl does not check response type |
Bug |
media system |
3 |
1 |
12 |
| #3568641 |
[CI] Introduce our own PHPStan ErrorFormatter to avoid multiple PHPStan executions |
Task |
other |
7 |
3 |
11 |
| #3555670 |
Deprecate user_load_by_mail & user_load_by_name |
Task |
user.module |
13 |
1 |
11 |
| #3476880 |
[Policy] Move Shortcut module to contrib |
Plan |
shortcut.module |
9 |
1 |
11 |
| #3456897 |
Improve Drupal core issue version guidance and selection |
Feature |
documentation |
6 |
1 |
11 |
| #3560851 |
Convert test_theme to OOP |
Task |
install system |
3 |
1 |
11 |
| #3558306 |
Support automatic setter injection using the #[Required] attribute in AutowireTrait/AutowiredInstanceTrait |
Task |
base system |
7 |
1 |
9 |
| #3568545 |
template_preprocess_item_list() does not handle #plain_text child elements in items |
Bug |
render system |
4 |
1 |
7 |
| #3569426 |
Convert expectation-less test mocks to stubs - Package Manager module |
Task |
package_manager.module |
3 |
1 |
7 |
| #3568387 |
Deprecate text_summary and move to Help Class |
Task |
text.module |
4 |
1 |
7 |
| #3540105 |
Capture access cacheability in getDefaultOperations() methods for all relevant entity list builders |
Bug |
entity system |
5 |
1 |
7 |
| #3569458 |
Replace http with https for jsonapi.org |
Task |
other |
5 |
1 |
7 |
| #3568444 |
Simplify PostCSS config |
Task |
CSS |
5 |
1 |
6 |
| #2536594 |
Add a FilterFormatRepository providing methods to load filter formats |
Task |
filter.module |
12 |
1 |
6 |
| #3570141 |
Add void return type to Symfony Console ::configure() implementations |
Task |
composer |
3 |
1 |
5 |
| #3569423 |
Convert expectation-less test mocks to stubs - User module |
Task |
user.module |
3 |
1 |
5 |
| #3560659 |
HTMX Drupal behaviors are not applied when swapped element is body |
Bug |
ajax system |
7 |
1 |
5 |
| #3570287 |
Use appropriate config schema for the Display comment (display_comment) property |
Bug |
views.module |
3 |
1 |
5 |
| #3566801 |
Helper to check if the entity type's ID is integer |
Feature |
entity system |
6 |
1 |
4 |
| #3570175 |
Update gadget chain tests |
Task |
data base system |
6 |
1 |
4 |
| #3558292 |
Support passing container parameters with the Autowire attribute in AutowireTrait and AutowireInstanceTrait |
Task |
base system |
7 |
1 |
3 |
| #2868079 |
Add a default Content-Security-Policy-header for svg files |
Task |
image.module |
45 |
3 |
2 |
| #3566049 |
[2026-01-21] Add amateescu as a maintainer of the Workflows subsystem |
Task |
workflows.module |
6 |
1 |
2 |
| #3569420 |
Convert expectation-less test mocks to stubs - Field modules |
Task |
phpunit |
3 |
1 |
2 |
| #3570825 |
Lock PHPStan and dependencies to latest versions. |
Task |
other |
3 |
1 |
2 |
| #3319212 |
Entities without labels cause TypeError in EntityController title callbacks |
Bug |
entity system |
14 |
1 |
2 |
| #3569328 |
Modernize locale.translations.inc |
Task |
locale.module |
6 |
3 |
2 |
| #3570839 |
Deprecate remaining underscore functions in media_library.module |
Task |
media system |
3 |
3 |
1 |
| #3414184 |
Test that the PHP versions in .gitlab-ci.yml match PHP EOL versions |
Task |
base system |
6 |
1 |
1 |
| #3436295 |
ParamConverterManager lazy services are broken and should use a service locator |
Bug |
routing system |
6 |
3 |
1 |
| #3570849 |
Deprecate SessionManager::delete() |
Task |
base system |
4 |
1 |
1 |
| #3570863 |
Deprecate _menu_link_content_update_path_alias |
Task |
menu_link_content.module |
3 |
2 |
1 |
| #3517712 |
[meta] Tasks to deprecate the Field Layout module |
Task |
field_layout.module |
14 |
1 |
1 |
| #3569418 |
Convert expectation-less test mocks to stubs - Block module |
Task |
block.module |
3 |
1 |
1 |
| #3567770 |
Media Library message persists after deselecting items to fix overflow |
Task |
media system |
5 |
1 |
1 |
| #3570235 |
Deprecate functions in syslog.module |
Task |
syslog.module |
4 |
1 |
1 |
| #3570351 |
content_translation_form_language_content_settings_submit()` creates BaseFieldOverride configs for untranslatable bundles |
Bug |
config_translation.module |
6 |
1 |
0 |
| #3040302 |
"Edit summary" button for the text with summary widget has unthemable markup |
Feature |
text.module |
15 |
1 |
0 |
| #3571095 |
Remove deprecated code from menu_ui and text |
Task |
menu_ui.module |
3 |
1 |
0 |
| #3567128 |
Convert expectation-less test mocks to stubs - Comment module |
Task |
comment.module |
3 |
1 |
0 |
| #3570238 |
Deprecate remaining functions in taxonomy |
Task |
taxonomy.module |
4 |
1 |
0 |
| #3571094 |
Remove RegisterStreamWrappersPass |
Task |
base system |
3 |
1 |
0 |
| #3565020 |
Set the Drupal\views\ViewsData::$fullyLoaded property to TRUE only when the data is really loaded. |
Bug |
views.module |
8 |
1 |
0 |