I'd like to talk about the long standing problems in Drupal that we run into from time to time.
Some things we expect to work, but are brittle or limited.
Others are rarely used and poorly documented.
Needs addition:
- Translations
- Layout builder compatibility
Core
[meta] Drupal modernization - 2024
Allow some HTML tags in node titles - 2006
[meta] Smarter UI/API separation for modules - 2010
[regression] missing menu active trail since Drupal 9.5.9 - 2023
Feature to prevent multiple submits keeps submit disabled after back navigation - 2020
Use ARIA disclosure pattern for submenu buttons in vertical toolbar orientation - 2019
Add an 'instant' queue runner - 2011
Avoid using H2 in the menu - 2020 [closed - outdated]
Cleanup HTML heading structure - 2013
Generalize MenuLinkAdd so all local actions can use it - 2016 [fixed 2025]
Change record: https://www.drupal.org/node/3490245
Move 'type' .info.yml file property first for performance (lead by example) - 2014
Add a non blocking batch runner - 2024
Deprecate module_set_weight() - 2018
Performance
Entity queries are not entirely cheap - 2015
[meta] Performance improvements - 2023
Blocks
Redesign UI for better management of block visibility - 2014
[META] Improve UX for block layout administration page - 2022
Add support for negating path visibility conditions (!=NOT) - 2022
Block settings vertical tabs only have summaries for core conditions - 2016
Allow visibility conditions for regions - 2022
Display active visibility conditions for blocks on the block layout administration page - 2022
Open the configure links on admin/structure/block in a modal - 2014
UMN Usability: Preview feature for blocks - 2008
UI
Tables overflow on mobile - 2019
Claro theme.
Big Pipe
Fix not loading CKEditor 5 and Tour with BigPipe enabled after Drupal 10.4 update - 2024
Editing
[meta] Input filters and text formats - 2010
Forms
HTML5 validation is preventing form submit and not fully accessible - 2012
Make #group FAPI / render feature work on all form/render #types out of the box - 2014
Support removing nested elements in Twig 'without' filter - 2019
Introduce top-level sections for all forms - 2013
Config
Formalize patterns for delete/uninstall of configuration dependencies - 2015
Add a 'disabled' section to config changes page when removing config - 2016
Come up with a design for highly destructive operations in confirm forms - 2016
Configuration change data loss prevention functionality inconsistent, restrictive - 2018
Warning about deleting configuration is easy to overlook - 2017
[meta] Add constraints to all simple configuration - 2018
JSON:API POST/PATCH support for fully validatable config entities - 2014
Add a way to automatically generate basic config forms - 2024
Views
UI fatal caused by views argument handlers no longer can provide their own default argument handling - 2014
Upcast named arguments/named parameters in views - 2015
Bring back contextual links for admin views - 2013
Contextual links in views preview not working - 2015
Views block duplicated contextual links - 2017
[Meta] Convert core listings to Views - 2012
Views argument validators aren't taken into account on access checks - local task point to 404 - 2016
View deleted without notice on deletion of content type, or uninstall of contrib module - 2020
Deleting a view which is referenced in other view by Views Area removes both views - 2020
Don't delete view due to config dependencies being deleted - 2025
Deleted field in Views still gets view dependency warning when deleting content type field - 2021
Remove collapsible details wrapper from Views UI advanced settings - 2017 [fixed 2025]
[META] (Re)introduce Views data integration for core modules - 2012 [solved]
Exposed Filter in Views Redirects to Page Display Path Instead of Block Path - 2024
Add support for selecting the dropbutton_type with the Views dropbutton field - 2025
[PP-1] Use hook_theme_suggestions in views - 2017
Customizable views area handlers ids - 2025
Base path for attachment summary view broken - 2019
Allow usage of WYSIWYG in views text area fields - 2016
CKEditor not available for Views "text" areas - 2017
[PP-1] Use hook_theme_suggestions in views - 2017
Views Aggregation
When using aggregation, additional fields should not be included in the grouping function - 2018
Timestamp field only shows as unix when Views aggregation is on and Timestamp field is Min or Max - 2018
Date field is not displaying correct value on a views with aggregation max/min - 2020
Decimal separator and decimals settings ignored when aggregating decimal fields - 2016
Field formatters no longer work for aggregated fields in Views - 2017
Views filter by distinct NID - 2017
Ajax error on views with aggregation - 2023
Missing schema on views with aggregation - 2022 [fixed 10/16/2025]
(Check if this fixes other aggregation issues, or just the config warning).
Views Dates
Create views filter plugin for date range fields - 2017
[PP-2] Use form element of type date instead textfield when selecting a date in an exposed filter - 2016
Views Ajax
Views ajax reload is removing contextual links - 2018
Ajax exposed filters not working for multiple instances of the same Views block placed on one page - 2020
Views hardcodes exposed filter block form ID's which breaks AJAX when the same form is shown multiple times on one page - 2017 #2894747
Allow multiple instances of the same exposed filter form on a single page - 2018
On a page with multiple Views exposed Ajax enabled forms, multiple throbbers appear on submit - 2017
Exposed forms in a block are not updated by AJAX - 2019
Views pager does not always open page on top of list with ajax enabled - 2025
Triggering RefreshView on a view is making multiple ajax calls - 2018
Prevent multiple ajax calls on views refresh - 2022
Views viewsScrollTop (ScrollTopCommand AJAX command) doesn't work inside Drupal Off canvas dialogs - 2022
Ajax views leave obsolete Drupal.Ajax instances - 2016
Deprecate views_ui_add_ajax_trigger() - 2019
Form Ajax
AJAX system calls attachBehaviors() twice (or more) unnecessarily in forms - 2018
Native browser form validation does not fire when submit buttons use #ajax - 2017
AJAX
[Plan] Gradually replace Drupal's AJAX system with HTMX - 2023
AJAX MessageCommand markup and styling differs from Theme default - 2023
JS messages are themed differently, not using status-messages.html.twig - 2024
Javascript
Implement before and after behavior ordering - 2015
Use JS events instead of Drupal.behaviors - 2012
jQuery
Provide a new library to replace jQuery UI autocomplete - 2019
[meta] Replace JQuery with vanilla Javascript in core - 2019
JavaScript event handling without a full jQuery dependency - 2020
[META] Re-evaluate use of Backbone.js in core - 2020
Theming
[meta] Themes improperly check renderable arrays when determining visibility - 2010
Accessing raw values within Twig is hard, and can disempower site-builders - 2022
[meta] Refactor Render API to be OO - 2012
Admin UIs on the front-end are difficult to theme - 2014
Figure out how we want to incorporate web components in Drupal 10 - 2021
Require themes to specify whether they support content editing - 2019
Deprecate $variables['page'] for node.html.twig and node_is_page() - 2024
Allow deprecating theme suggestions - 2020 [RBTC]
Fix regressions and further improve tableheader.js - 2012
Allow schema references in Single Directory Component prop schemas - 2023
Incorrect order and duplicate theme hook suggestions - 2016
Twig debug output does not display all suggestions when an array of theme hooks is passed to #theme - 2013
Wrong entity template suggestion added by views suggestions alter - 2021
[meta] Improve the DX of drupal_render(), renderable arrays and the Render API in general - 2013
Use the builder pattern to make it easier to create render arrays - 2014
Optimize render caching - 2017
[meta] Add a replacement for renderRoot() that returns a cacheable render array instead of a string - 2015
Control the list of behaviors run by Drupal.attachBehaviors - 2014
Use JS events instead of Drupal.behaviors - 2012
Automatically define schema for themes - 2015
DX improvements.
Deprecate theme_get_setting() - 2019
Convert theme engines into services - 2012
[Meta] Track converting Install and Theme hook implementations to OOP - 2024
Add oop support to most hooks currently supported by themes - 2025
Use sane default region order - 2015
Subthemes with undefined regions.
Theme logo image is rendered without dimensions - 2023
Radios and checkboxes not rendered correctly when nested inside other render arrays - 2021
Libraries
Overriding already overridden libraries-override requires knowledge of previous libraries-overrides - 2015
Best practices for handling external libraries in Drupal 8/9/10 and 11 -2015
Sub themes do not inherit "libraries-override" - 2017
Implement core management of 3rd-party FE libraries - 2017
Layout Builder
Layout template suggestions are not loaded properly - 2017
Dialog
Add a native dialog element to deprecate the jQuery UI dialog - 2013
jQuery UI dialog modals repositions incorrectly on window resize when there is a off canvas rendered - 2019
The position of the toolbar moves above the off-canvas top dialog if a modal dialog is opened - 2018
Nested modals don't work: opening a modal from a modal closes the original - 2016
Error: Cannot read properties of undefined (reading 'settings') with dialog.position.js - 2023
Replace dialog positioning with floating-ui - 2024
Blocks
Add view tab + standard template for block content - 2023
BlockRepository::getVisibleBlocksPerRegion() does an uncached entity query on every request - 2015
Cache
Use multiple get for #pre_render / #cache where possible - 2015
[meta] Finalize the cache contexts API & DX/usage, enable a leap forward in performance - 2015
Translations
[META] Make Layout Builder layouts translatable - 2019
Allow synced Layout override Translations: translating labels and inline blocks - 2018
Allow synced Layout default Translations: translating labels and inline blocks - 2019
Entity view/form mode formatter/widget settings have no translation UI - 2015
Layout Builder
Add visibility control conditions to blocks within Layout Builder - 2017
Consider supporting Layout Builder Overrides for other view modes - 2017
Add visibility control conditions to SECTIONs within Layout Builder - 2019
Layout Builder doesn't respect the view mode set in a hook_entity_view_mode_alter() implementation - 2019
Use layout builder for content add/edit form - 2020
Layout Builder created blocks do not clean up when removed from its layout - 2019 (notes)
Fields
Add field grouping to Drupal core - 2009
Killer feature: Fieldable Fields in core - 2009
Revaluate the concept of 'extra fields' - 2013
[META] Expose Title and other base fields in Manage Display - 2014
confusing error & behavior when creating a new referenced entity containing parentheses - 2017
Move the field storage deletion if the last field has been removed to the UI layer - 2015
Stop automatic storage creation of body field for node - 2024 [fixed 2025]
[Meta] Deprecate text_with_summary - 2024
Add a 'machine_name' widget for string field types with a UniqueField constraint - 2016
Display meaningful error messages according to the link type - 2016
Form display
[plan] Add layouts to entity displays (both form and view) - 2016
Allow the sidebar for the node form to be used on other entity forms as well - 2017
Components
Provide a new render element for accordion - 2019
Entity
Complex Composite Entities (incl. types, references and revisions) - 2016
[plan] Add layouts to entity displays (both form and view) - 2016
Add a reliable entity-usage system to core - 2023
Abstract 'component type' specific code out of EntityDisplay - 2012
Files
Uploaded files are impossible to replace - 2016
Optimize images on file upload - 2016
Files are uploaded even when forms are not submitted - 2022
Allow managed_file form elements to specify FILE_EXISTS_REPLACE behavior - 2018
File entity update is allowed only for user who has uploaded the file - 2024
Dealing with unexpected file deletion due to incorrect file usage - 2016
Usage of Files Referenced in Entity Reference Fields Not Tracked - 2016
File "in use" does not get set to "0" after being removed from content - 2023
Clarify handling of multiple references to the same file from entities - 2016
Images
Instead of just resizing original image, select an image style to apply on the image being uploaded - 2016
Bugs with images that include image orientation from image EXIF data - 2016
Image should be removed from the folder - 2018
[Meta] High-performance images (nearly) out of the box - 2023
Media
Add ability to insert Media inline in CKEditor widget - 2020
Responsive image format for media - 2018
Dates
Support a per-instance "all-day" option for datetime and datetime range fields - 2016
[meta] DateTime Module Improvements - 2015
Modernize Drupal datetime system - 2024
Dates and dateranges - core handling, storage, and planning for the future - 2019
DateTimeIso8601::setDateTime() vs. DateTimeItem::schema(): (at least) one of them is broken - 2016
Allow end date to be optional - 2016
Timestamp field items are affected by 2038 bug - 2017
[meta] Y2K38: Unix Millennium bug - 2006
CKEditor
CKEditor embedded media previews do not render with attached assets - 2019
Allow editing of Width and Height of embedded <drupal-media> images - 2023
[10.2] CKEditor 5 "left" alignment doesn't inject "text-align-left" class to elements - 2024
EX: paragraph has alignment field set to centered, but description field text is left aligned.
Administration
Restructure the admin interface Information Architecture - 2016
[PLAN] Administration UX improvements - 2023
[META] Gin 6.x: Preparation for merging into core 2025
[META] Admin theme modernisation - 2025
Access
Deprecate node_access_view_all_nodes() - 2019
Accessibility
Add aria-label attribute to navigation menu blocks - 2024
Dropbutton widget not accessible to screen readers - 2023
Forms with required fields marked by asterisk do not have text explaining what the asterisk means - 2019
Navigation
[PLAN] Accessibility review for new Navigation bar - 2023
Elements in closed sidebar are focusable - 2025
Users
Allow custom field to be used as user picture - 2016
Project Browser/Recipes/Site Templates
Add project browser - 2012
[meta] Site template support in core - 2025
Drupal.org
Project Page Enhancements - 2017