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
View on Drupal.org #3462359[meta] Drupal modernization Status: Active - 2024
View on Drupal.org #82751Allow some HTML tags in node titles Status: Active - 2006
View on Drupal.org #937814[meta] Smarter UI/API separation for modules Status: Postponed (maintainer needs more info) - 2010
View on Drupal.org #3359511[regression] missing menu active trail since Drupal 9.5.9 Status: Needs work - 2023
View on Drupal.org #3144382Feature to prevent multiple submits keeps submit disabled after back navigation Status: Needs work - 2020
Use ARIA disclosure pattern for submenu buttons in vertical toolbar orientation - 2019
View on Drupal.org #1189464Add an 'instant' queue runner Status: Closed (fixed) - 2011
View on Drupal.org #3189519Avoid using H2 in the menu Status: Closed (outdated) - 2020 [closed - outdated]
View on Drupal.org #2045039Cleanup HTML heading structure Status: Active - 2013
View on Drupal.org #2762131Generalize MenuLinkAdd so all local actions can use it Status: Closed (fixed) - 2016 [fixed 2025]
Change record: https://www.drupal.org/node/3490245
View on Drupal.org #2209319Move 'type' .info.yml file property first for performance (lead by example) Status: Needs work - 2014
View on Drupal.org #3460723Add a non blocking batch runner Status: Active - 2024
View on Drupal.org #2968232Deprecate module_set_weight() Status: Needs work - 2018
Performance
View on Drupal.org #2218651[meta] Make Drupal compatible with persistent app servers like ReactPHP, PHP-PM, PHPFastCGI, FrankenPHP, Swoole Status: Active - 2014
View on Drupal.org #2531932Entity queries are not entirely cheap Status: Needs work - 2015
View on Drupal.org #3333386[meta] Performance improvements Status: Active - 2023
Blocks
View on Drupal.org #2284687Redesign UI for better management of block visibility Status: Active - 2014
View on Drupal.org #3273172[META] Improve UX for block layout administration page Status: Active - 2022
View on Drupal.org #3320446Add support for negating path visibility conditions (!=NOT) Status: Active - 2022
View on Drupal.org #2767171Block settings vertical tabs only have summaries for core conditions Status: Active - 2016
View on Drupal.org #3273176Allow visibility conditions for regions Status: Active - 2022
View on Drupal.org #3273175Display active visibility conditions for blocks on the block layout administration page Status: Active - 2022
View on Drupal.org #2358971Open the configure links on admin/structure/block in a modal Status: Active - 2014
View on Drupal.org #213085UMN Usability: Preview feature for blocks Status: Active - 2008
UI
Tables overflow on mobile - 2019
Claro theme.
Big Pipe
View on Drupal.org #3496329Fix not loading CKEditor 5 and Tour with BigPipe enabled after Drupal 10.4 update Status: Needs work - 2024
Editing
View on Drupal.org #807996[meta] Input filters and text formats Status: Active - 2010
Forms
View on Drupal.org #2895477HTML5 validation is preventing form submit and not fully accessible Status: Needs work - 2012
View on Drupal.org #2190333Make #group FAPI / render feature work on all form/render #types out of the box Status: Needs review - 2014
View on Drupal.org #3029189Support removing nested elements in Twig 'without' filter Status: Needs work - 2019
View on Drupal.org #2897377$form['#attributes']['data-drupal-selector'] is set to a random value so can't be used for its intended purpose Status: Needs work - 2017
View on Drupal.org #1880168Introduce top-level sections for all forms Status: Needs work - 2013
Config
View on Drupal.org #2575547Formalize patterns for delete/uninstall of configuration dependencies Status: Active - 2015
View on Drupal.org #2832558Add a 'disabled' section to config changes page when removing config Status: Needs work - 2016
View on Drupal.org #2773205Come up with a design for highly destructive operations in confirm forms Status: Active - 2016
View on Drupal.org #2935790Configuration change data loss prevention functionality inconsistent, restrictive Status: Active - 2018
View on Drupal.org #2912466Warning about deleting configuration is easy to overlook Status: Postponed (maintainer needs more info) - 2017
View on Drupal.org #2952037[meta] Add constraints to all simple configuration Status: Active - 2018
View on Drupal.org #2300677JSON:API POST/PATCH support for fully validatable config entities Status: Needs work - 2014
View on Drupal.org #3477363Add a way to automatically generate basic config forms Status: Active - 2024
Views
View on Drupal.org #2325899UI fatal caused by views argument handlers no longer can provide their own default argument handling Status: Closed (fixed) - 2014
View on Drupal.org #2528166Upcast named arguments/named parameters in views Status: Needs work - 2015
View on Drupal.org #2020265Bring back contextual links for admin views Status: Needs work - 2013
View on Drupal.org #2539664Contextual links in views preview not working Status: Needs work - 2015
View on Drupal.org #2884801Views block duplicated contextual links Status: Needs work - 2017
View on Drupal.org #1823450[Meta] Convert core listings to Views Status: Active - 2012
View on Drupal.org #2778345Views argument validators aren't taken into account on access checks - local task point to 404 Status: Needs review - 2016
View on Drupal.org #3112005View deleted without notice on deletion of content type, or uninstall of contrib module Status: Active - 2020
View on Drupal.org #3177228Deleting a view which is referenced in other view by Views Area removes both views Status: Active - 2020
View on Drupal.org #3520747Don't delete view due to config dependencies being deleted Status: Closed (duplicate) - 2025
View on Drupal.org #3211085Deleted field in Views still gets view dependency warning when deleting content type field Status: Active - 2021
View on Drupal.org #2843953Remove collapsible details wrapper from Views UI advanced settings Status: Closed (fixed) - 2017 [fixed 2025]
View on Drupal.org #1853522[META] (Re)introduce Views data integration for core modules Status: Closed (fixed) - 2012 [solved]
View on Drupal.org #3462677Exposed Filter in Views Redirects to Page Display Path Instead of Block Path Status: Closed (duplicate) - 2024
View on Drupal.org #2877061Illegal choice in grouped exposed filters with enabled option remember (ListField, BooleanOperator - Views filter handlers) Status: Needs work - 2017
View on Drupal.org #3538681Add support for selecting the dropbutton_type with the Views dropbutton field Status: Needs work - 2025
View on Drupal.org #2923634[PP-1] Use hook_theme_suggestions in views Status: Needs work - 2017
View on Drupal.org #3526779Customizable views area handlers ids Status: Needs work - 2025
View on Drupal.org #3054944Base path for attachment summary view broken Status: Active - 2019
View on Drupal.org #2741187Allow usage of WYSIWYG in views text area fields Status: Needs work - 2016
View on Drupal.org #2900594CKEditor not available for Views "text" areas Status: Needs work - 2017
View on Drupal.org #2923634[PP-1] Use hook_theme_suggestions in views Status: Needs work - 2017
View on Drupal.org #3112005View should not be deleted on deletion of content type or uninstall of contrib module, even with a confirmation form Status: Active - 2020
Views Aggregation
View on Drupal.org #2975149When using aggregation, additional fields should not be included in the grouping function Status: Needs work - 2018
View on Drupal.org #2993507Timestamp field only shows as unix when Views aggregation is on and Timestamp field is Min or Max Status: Active - 2018
View on Drupal.org #3151654Date field is not displaying correct value on a views with aggregation max/min Status: Needs work - 2020
View on Drupal.org #2735997Decimal separator and decimals settings ignored when aggregating decimal fields Status: Reviewed & tested by the community - 2016
View on Drupal.org #2849881Field formatters no longer work for aggregated fields in Views Status: Active - 2017
View on Drupal.org #2915552Views filter by distinct NID Status: Active - 2017
View on Drupal.org #3344910Ajax error on views with aggregation Status: Closed (duplicate) - 2023
View on Drupal.org #3263208Missing schema on views with aggregation Status: Closed (fixed) - 2022 [fixed 10/16/2025]
(Check if this fixes other aggregation issues, or just the config warning).
Views Dates
View on Drupal.org #3036460Using contextual filters for "created Day/Month/Year+Month/Full date" breaks the site when the argument is not numeric and matches the exception value Status: Needs work - 2019
View on Drupal.org #2924061Create views filter plugin for date range fields Status: Needs work - 2017
View on Drupal.org #2648950[PP-2] Use form element of type date instead textfield when selecting a date in an exposed filter Status: Postponed - 2016
Views Ajax
View on Drupal.org #2951477Views ajax reload is removing contextual links Status: Needs work - 2018
View on Drupal.org #3163299Ajax exposed filters not working for multiple instances of the same Views block placed on one page Status: Needs work - 2020
Views hardcodes exposed filter block form ID's which breaks AJAX when the same form is shown multiple times on one page - 2017 View on Drupal.org #2894747Views hardcodes exposed filter block form ID's which breaks AJAX when the same form is shown multiple times on one page Status: Needs work
View on Drupal.org #2968207Allow multiple instances of the same exposed filter form on a single page Status: Needs work - 2018
View on Drupal.org #2876197On a page with multiple Views exposed Ajax enabled forms, multiple throbbers appear on submit Status: Needs work - 2017
View on Drupal.org #3032353Exposed forms in a block are not updated by AJAX Status: Needs work - 2019
View on Drupal.org #3500305Views pager does not always open page on top of list with ajax enabled Status: Needs work - 2025
View on Drupal.org #2986041Triggering RefreshView on a view is making multiple ajax calls Status: Needs work - 2018
View on Drupal.org #3311198Prevent multiple ajax calls on views refresh Status: Needs work - 2022
View on Drupal.org #3300426Views viewsScrollTop (ScrollTopCommand AJAX command) doesn't work inside Drupal Off canvas dialogs Status: Needs work - 2022
View on Drupal.org #2771361Ajax views leave obsolete Drupal.Ajax instances Status: Needs work - 2016
View on Drupal.org #3035340Deprecate views_ui_add_ajax_trigger() Status: Closed (fixed) - 2019
Form Ajax
View on Drupal.org #2958673AJAX system calls attachBehaviors() twice (or more) unnecessarily in forms Status: Needs work - 2018
View on Drupal.org #2895477Native browser form validation does not fire when submit buttons use #ajax Status: Needs work - 2017
AJAX
View on Drupal.org #3404409 [Plan] Gradually replace Drupal's AJAX system with HTMX Status: Active - 2023
View on Drupal.org #3396318AJAX MessageCommand markup and styling differs from Theme default Status: Needs work - 2023
View on Drupal.org #3440040JS messages are themed differently, not using status-messages.html.twig Status: Active - 2024
Javascript
View on Drupal.org #2474019Implement before and after behavior ordering Status: Needs work - 2015
View on Drupal.org #1446166Use JS events instead of Drupal.behaviors Status: Active - 2012
jQuery
View on Drupal.org #3076171Provide a new library to replace jQuery UI autocomplete Status: Needs work - 2019
View on Drupal.org #3052002 [meta] Replace JQuery with vanilla Javascript in core Status: Active - 2019
View on Drupal.org #3176441 JavaScript event handling without a full jQuery dependency Status: Needs work - 2020
View on Drupal.org #3145958 [META] Re-evaluate use of Backbone.js in core Status: Closed (fixed) - 2020
Theming
View on Drupal.org #953034[meta] Themes improperly check renderable arrays when determining visibility Status: Needs work - 2010
View on Drupal.org #2465377Long-standing architecture flaw: Directly printing a nested element skips important processing (including #access) of parent elements Status: Active - 2015
View on Drupal.org #3314476Accessing raw values within Twig is hard, and can disempower site-builders Status: Active - 2022
View on Drupal.org #1843798[meta] Refactor Render API to be OO Status: Closed (duplicate) - 2012
View on Drupal.org #2195695Admin UIs on the front-end are difficult to theme Status: Active - 2014
View on Drupal.org #3230518Figure out how we want to incorporate web components in Drupal 10 Status: Postponed - 2021
View on Drupal.org #3103378Require themes to specify whether they support content editing Status: Needs work - 2019
View on Drupal.org #3458589Deprecate $variables['page'] for node.html.twig and node_is_page() Status: Closed (fixed) - 2024
View on Drupal.org #3159050Allow deprecating theme suggestions Status: Closed (fixed) - 2020 [RBTC]
View on Drupal.org #1764912Fix regressions and further improve tableheader.js Status: Needs work - 2012
View on Drupal.org #3352063Allow schema references in Single Directory Component prop schemas Status: Needs work - 2023
View on Drupal.org #2752443Incorrect order and duplicate theme hook suggestions Status: Needs work - 2016
View on Drupal.org #2118743Twig debug output does not display all suggestions when an array of theme hooks is passed to #theme Status: Needs work - 2013
View on Drupal.org #3212831Wrong entity template suggestion added by views suggestions alter Status: Active - 2021
View on Drupal.org #2015147[meta] Improve the DX of drupal_render(), renderable arrays and the Render API in general Status: Active - 2013
View on Drupal.org #2316941Use the builder pattern to make it easier to create render arrays Status: Postponed - 2014
View on Drupal.org #2888838Optimize render caching Status: Needs work - 2017
View on Drupal.org #2495001[meta] Add a replacement for renderRoot() that returns a cacheable render array instead of a string Status: Needs work - 2015
View on Drupal.org #2367655Control the list of behaviors run by Drupal.attachBehaviors Status: Needs work - 2014
View on Drupal.org #1446166Use JS events instead of Drupal.behaviors Status: Active - 2012
View on Drupal.org #2382671Automatically define schema for themes Status: Needs work - 2015
DX improvements.
View on Drupal.org #3035288Deprecate theme_get_setting() Status: Closed (fixed) - 2019
View on Drupal.org #1685492Convert theme engines into services Status: Closed (fixed) - 2012
View on Drupal.org #3472165[Meta] Track converting Install and Theme hook implementations to OOP Status: Active - 2024
View on Drupal.org #3544715Add oop support to most hooks currently supported by themes Status: Closed (fixed) - 2025
View on Drupal.org #2603598Use sane default region order Status: Needs work - 2015
Subthemes with undefined regions.
View on Drupal.org #3345259Theme logo image is rendered without dimensions Status: Needs review - 2023
View on Drupal.org #3246825Radios and checkboxes not rendered correctly when nested inside other render arrays Status: Active - 2021
Libraries
View on Drupal.org #2642122Overriding already overridden libraries-override requires knowledge of previous libraries-overrides Status: Needs review - 2015
View on GitLab #2605130Best practices for handling external libraries in Drupal 8/9/10 and 11 Status: Active -2015
View on Drupal.org #2856499Sub themes do not inherit "libraries-override" Status: Active - 2017
View on Drupal.org #1945262Replace custom weights with dependencies in library declarations; introduce "before" and "after" for conditional ordering Status: Closed (fixed) - 2013
View on Drupal.org #2873160Implement core management of 3rd-party FE libraries Status: Active - 2017
Layout Builder
View on Drupal.org #2911996Layout template suggestions are not loaded properly Status: Needs work - 2017
Dialog
View on Drupal.org #2158943 Add a native dialog element to deprecate the jQuery UI dialog Status: Needs work - 2013
View on Drupal.org #3075236jQuery UI dialog modals repositions incorrectly on window resize when there is a off canvas rendered Status: Needs work - 2019
View on Drupal.org #2985324The position of the toolbar moves above the off-canvas top dialog if a modal dialog is opened Status: Needs work - 2018
View on Drupal.org #2741877Nested modals don't work: opening a modal from a modal closes the original Status: Needs work - 2016
View on Drupal.org #3356667Error: Cannot read properties of undefined (reading 'settings') with dialog.position.js Status: Needs work - 2023
View on Drupal.org #3446818Replace dialog positioning with floating-ui Status: Needs work - 2024
Blocks
View on Drupal.org #3342998Add view tab + standard template for block content Status: Closed (won't fix) - 2023
View on Drupal.org #2479459BlockRepository::getVisibleBlocksPerRegion() does an uncached entity query on every request Status: Active - 2015
Cache
View on Drupal.org #2453945Use multiple get for #pre_render / #cache where possible Status: Active - 2015
View on Drupal.org #2429287[meta] Finalize the cache contexts API & DX/usage, enable a leap forward in performance Status: Active - 2015
Translations
View on Drupal.org #3044386[META] Make Layout Builder layouts translatable Status: Active - 2019
View on Drupal.org #2946333Allow synced Layout override Translations: translating labels and inline blocks Status: Needs work - 2018
View on Drupal.org #3044993Allow synced Layout default Translations: translating labels and inline blocks Status: Needs work - 2019
View on Drupal.org #2546212Entity view/form mode formatter/widget settings have no translation UI Status: Needs work - 2015
Layout Builder
View on Drupal.org #2916876Add visibility control conditions to blocks within Layout Builder Status: Needs work - 2017
View on Drupal.org #2907413Consider supporting Layout Builder Overrides for other view modes Status: Needs work - 2017
View on Drupal.org #3089951Add visibility control conditions to SECTIONs within Layout Builder Status: Active - 2019
View on Drupal.org #3083754Layout Builder doesn't respect the view mode set in a hook_entity_view_mode_alter() implementation Status: Needs work - 2019
View on Drupal.org #3121372Use layout builder for content add/edit form Status: Active - 2020
View on Drupal.org #3042418Layout Builder created blocks do not clean up when removed from its layout Status: Needs work - 2019 (notes)
Fields
View on Drupal.org #501366Add field grouping to Drupal core Status: Active - 2009
View on Drupal.org #607396Killer feature: Fieldable Fields in core Status: Postponed - 2009
View on Drupal.org #1954188Revaluate the concept of 'extra fields' Status: Active - 2013
View on Drupal.org #2353867[META] Expose Title and other base fields in Manage Display Status: Active - 2014
View on Drupal.org #2924783confusing error & behavior when creating a new referenced entity containing parentheses Status: Needs work - 2017
View on Drupal.org #2442757Move the field storage deletion if the last field has been removed to the UI layer Status: Needs work - 2015
View on Drupal.org #3447617Stop automatic storage creation of body field for node Status: Closed (fixed) - 2024 [fixed 2025]
View on Drupal.org #3427095[Meta] Deprecate text_with_summary Status: Closed (fixed) - 2024
View on Drupal.org #2685749Add a 'machine_name' widget for string field types with a UniqueField constraint Status: Needs work - 2016
View on Drupal.org #2828556Display meaningful error messages according to the link type Status: Closed (fixed) - 2016
Form display
View on Drupal.org #3344498[PP-1] Improve the manage form display page by untwining field widgets that belong to the main content and sidebar Status: Active - 2023
View on Drupal.org #2795833[plan] Add layouts to entity displays (both form and view) Status: Active - 2016
View on Drupal.org #2893740Allow the sidebar for the node form to be used on other entity forms as well Status: Needs work - 2017
Components
View on Drupal.org #3056089Provide a new render element for accordion Status: Needs work - 2019
Entity
Complex Composite Entities (incl. types, references and revisions) - 2016
View on Drupal.org #2795833[plan] Add layouts to entity displays (both form and view) Status: Active - 2016
View on Drupal.org #3364744Add a reliable entity-usage system to core Status: Active - 2023
View on Drupal.org #1239558Deleting an entity with revisions and file/image field does not release file usage of non-default revisions, causing files to linger Status: Active - 2011
View on Drupal.org #1875974Abstract 'component type' specific code out of EntityDisplay Status: Needs work - 2012
Files
View on Drupal.org #2648816Uploaded files are impossible to replace Status: Needs work - 2016
View on GitLab #2820980Optimize images on file upload Status: Active - 2016
View on Drupal.org #3282721Files are uploaded even when forms are not submitted Status: Active - 2022
View on Drupal.org #3012457Allow managed_file form elements to specify FILE_EXISTS_REPLACE behavior Status: Needs work - 2018
View on Drupal.org #3450005File entity update is allowed only for user who has uploaded the file Status: Needs work - 2024
View on Drupal.org #2821423Dealing with unexpected file deletion due to incorrect file usage Status: Active - 2016
View on Drupal.org #3059494File usage is not tracked by revision, leading to private files embedded in text fields in old revisions being accessible when they shouldn't be Status: Active - 2019
View on Drupal.org #2826127Usage of Files Referenced in Entity Reference Fields Not Tracked Status: Active - 2016
View on Drupal.org #3350697File "in use" does not get set to "0" after being removed from content Status: Active - 2023
View on Drupal.org #2729953Clarify handling of multiple references to the same file from entities Status: Active - 2016
Images
View on Drupal.org #2831529Instead of just resizing original image, select an image style to apply on the image being uploaded Status: Needs work - 2016
View on Drupal.org #2664632Bugs with images that include image orientation from image EXIF data Status: Needs work - 2016
View on Drupal.org #2982556Image should be removed from the folder Status: Needs work - 2018
View on Drupal.org #3372932[Meta] High-performance images (nearly) out of the box Status: Active - 2023
Media
View on Drupal.org #2835840Track media usage and present it to the site builder (in the media library, media view, on media deletion confirmation, etc.) Status: Active - 2016
View on Drupal.org #3168966Add ability to insert Media inline in CKEditor widget Status: Needs work - 2020
View on Drupal.org #2947796Responsive image format for media Status: Needs work - 2018
View on Drupal.org #2831943Use "rendered media" (not links) as default media field formatter; add modal to configure the used media view mode Status: Needs work - 2021
Dates
View on Drupal.org #2734255Support a per-instance "all-day" option for datetime and datetime range fields Status: Needs work - 2016
[meta] DateTime Module Improvements - 2015
View on Drupal.org #3471878Modernize Drupal datetime system Status: Active - 2024
View on Drupal.org #3063377Dates and dateranges - core handling, storage, and planning for the future Status: Active - 2019
View on Drupal.org #2716891DateTimeIso8601::setDateTime() vs. DateTimeItem::schema(): (at least) one of them is broken Status: Needs work - 2016
View on Drupal.org #2794481Allow end date to be optional Status: Needs work - 2016
View on Drupal.org #2885413Timestamp field items are affected by 2038 bug Status: Needs review - 2017
View on Drupal.org #65474[meta] Y2K38: Unix Millennium bug Status: Active - 2006
CKEditor
View on Drupal.org #3072317CKEditor embedded media previews do not render with attached assets Status: Active - 2019
View on Drupal.org #3364736Allow editing of Width and Height of embedded <drupal-media> images Status: Needs work - 2023
View on Drupal.org #3414316[10.2] CKEditor 5 "left" alignment doesn't inject "text-align-left" class to elements Status: Closed (won't fix) - 2024
EX: paragraph has alignment field set to centered, but description field text is left aligned.
Administration
View on Drupal.org #2755613Restructure the admin interface Information Architecture Status: Active - 2016
View on Drupal.org #3373303[PLAN] Administration UX improvements Status: Active - 2023
View on GitLab #3530849[META] Gin 6.x: Preparation for merging into core Status: Closed 2025
View on Drupal.org #3530852[META] Admin theme modernisation Status: Closed (duplicate) - 2025
Access
View on Drupal.org #3038908Deprecate node_access_view_all_nodes() Status: Closed (fixed) - 2019
Accessibility
View on Drupal.org #3452724Add aria-label attribute to navigation menu blocks Status: Closed (fixed) - 2024
View on Drupal.org #3354030Dropbutton widget not accessible to screen readers Status: Needs work - 2023
View on Drupal.org #3037446Forms with required fields marked by asterisk do not have text explaining what the asterisk means Status: Needs work - 2019
Navigation
View on Drupal.org #3391723[PLAN] Accessibility review for new Navigation bar Status: Active - 2023
View on Drupal.org #3541910Elements in closed sidebar are focusable Status: Closed (fixed) - 2025
Users
View on Drupal.org #2668736Allow custom field to be used as user picture Status: Needs work - 2016
Project Browser/Recipes/Site Templates
View on Drupal.org #1841788Add project browser Status: Needs work - 2012
View on Drupal.org #3520092[meta] Site template support in core Status: Active - 2025
Drupal.org
View on GitLab #2916051Project Page Enhancements Status: Active - 2017