Generated 2026-09-22 02:00 UTC
| ID | Title | Target | Flavor | Issues | Projects |
|---|---|---|---|---|---|
| 3624076 | Dangerous characters in filenames are replaced | 12.x | break | 1 | 0 |
| 3623805 | Olivero theme is deprecated | 11.5.x | break | 1 | 2 |
| 3623433 | Drupal 12.0.0 will require Node.js 24 for core development | 12.0.x | break | 1 | 0 |
| 3621537 | CSSLint and ESLint configuration files are no longer scaffolded | 12.0.x | break | 1 | 0 |
| 3616232 | Toolbar is deprecated | 11.5.x | break | 1 | 52 |
| 3622344 | New API for Design Tokens and CSS variables | 11.5.x | new | 1 | 0 |
| 3611943 | The User entity 'member_for' extra field is deprecated | 11.5.x | break | 1 | 12 |
| 3595589 | The Drupal installer no longer allows you to select a profile in the UI | 12.0.x | break | 1 | 1 |
| 3013060 | All update_* functions in update.inc are deprecated | 11.5.x | break | 2 | 11 |
| 3035565 | drupal_attach_tabledrag() is deprecated | 11.5.x | break | 1 | 10 |
| 3560313 | Minimum and Maximum labels are now configurable in Views Numeric-based Filters like Dates unreviewed | 11.5.x | new | 1 | 55 |
| 3584050 | Deprecated views_invalidate_cache, new Views plugin postSave API introduced unreviewed | 11.5.x | break | 1 | 8 |
| 3590542 | locale_get_plural() is deprecated, replaced by PluralIndexInterface service | 11.5.x | break | 1 | 3 |
| 3620934 | Several user functions have been deprecated. | 11.5.x | break | 1 | 21 |
| 3623057 | getModulesToInstall() and getThemesToInstall() added to the installer interfaces | 11.5.x | new | 1 | 0 |
| 3620346 | \Drupal\Core\Recipe\RecipeRunner::isApplying() | 11.5.x | new | 1 | 0 |
| 3572245 | MarkFutureUpdateEquivalent attribute added to register equivalent updates on site install | 11.5.x | break | 1 | 0 |
| 3348027 | user_role_grant_permissions(), user_role_revoke_permissions() and user_role_change_permissions() are deprecated | 11.5.x | break | 1 | 212 |
| 3608081 | View mode dependencies are recalculated | 11.5.x | break | 1 | 0 |
| 3616233 | Search module is deprecated | 11.5.x | break | 1 | 26 |
| 3587768 | Functions in update.compare.inc are deprecated | 11.5.x | break | 1 | 33 |
| 3389683 | Database Schema Definition API now supports creation of generated columns | 11.5.x | new | 1 | 0 |
| 3620269 | ConfigEntityBase now has static helpers for loadOverrideFree and loadMultipleOverrideFree | 11.5.x | new | 1 | 0 |
| 3615213 | PostgreSQL merge query executes as a single native merge query | 12.0.x | break | 1 | 0 |
| 3615418 | PostgreSQL type-casting of fields in raw SQL with LIKE and regex operators is deprecated | 11.5.x | break | 1 | 0 |
| 3382414 | file_managed_file_save_upload() and _file_save_upload_from_form() are deprecated and replace with a service | 11.5.x | break | 1 | 94 |
| 3568381 | Text with summary plugin is deprecated | 11.5.x | break | 1 | 9 |
| 3568156 | Global constants in locale module are deprecated | 11.5.x | break | 1 | 14 |
| 3612431 | The default homepage in the Standard profile is now /user | 11.5.x | break | 1 | 0 |
| 3612430 | The frontpage view is renames and disabled by default | 11.5.x | break | 1 | 0 |
| 3619932 | user_picture_enabled is now deprecated. | 11.5.x | break | 1 | 4 |
| 3618727 | #value_callback now resolved through the callable resolver | 11.5.x | break | 1 | 0 |
| 3619397 | ElementInfoManager no longer overwrites a form element's own #value_callback | 11.5.x | break | 1 | 0 |
| 3592959 | Functions in update.module have been deprecated | 11.5.x | break | 1 | 35 |
| 3588109 | Admin compact mode logic has been moved to the frontend | 11.5.x | break | 1 | 0 |
| 3610720 | FileStorageFactory::getSync() replaced with ::get() | 11.5.x | break | 1 | 4 |
| 3379194 | user_logout() and user_login_finalize() are deprecated | 11.5.x | break | 1 | 142 |
| 3619513 | A "cancel" method has been added to Drupal.debounce | 11.5.x | new | 1 | 0 |
| 3617082 | Instant queue runner and QueueProcessTrait | 11.5.x | new | 1 | 0 |
| 3587273 | theme-settings.php for hook_form_system_theme_settings_alter() has been deprecated | 11.5.x | break | 1 | 155 |
| 3591900 | New service UploadedFilesExtractor added to extract the uploaded files from file field | 11.5.x | new | 1 | 0 |
| 3619103 | Several underscore locale functions have been deprecated | 11.5.x | break | 1 | 11 |
| 3539363 | _user_mail_notify() is deprecated unreviewed | 11.5.x | break | 2 | 56 |
| 3615589 | Assigning typed data objects to entity or target_id no longer supported | 12.0.x | break | 1 | 0 |
| 3618676 | Performance tests can now store expected metrics and queries in separate files and update them | 11.5.x | new | 1 | 0 |
| 3616293 | Several locale functions have been deprecated | 11.5.x | break | 1 | 21 |
| 3616201 | FunctionalTestSetupTrait::installModulesFromClassProperty() is deprecated | 12.0.x | break | 1 | 0 |
| 3615566 | The 'testing' profile no longer includes configuration for locale modules or 'body_field' | 12.0.x | break | 1 | 0 |
| 3615565 | Install profiles can opt out of being installed | 12.0.x | new | 1 | 0 |
| 3618917 | UpdateRegistry now caches discovered extensions and the constructor has changed | 11.5.x | break | 1 | 0 |
| 2884686 | Filters now store the allowed_html setting as a sorted string for better diffs | 11.5.x | break | 1 | 0 |
| 3614626 | Link field validation constraints are more specific and provides enough detail to editors | 11.5.x | break | 1 | 0 |
| 3613489 | RouteSubscriberBase can define routes as well as alter them | 11.5.x | new | 1 | 0 |
| 3578141 | The Shortcut module is deprecated | 11.5.x | break | 1 | 13 |
| 3617935 | Roles can now have descriptions | 11.5.x | new | 1 | 0 |
| 3616349 | Case-insensitive array conditions on PostgreSQL now require IN or NOT IN operator | 10.6.x | released | 0 | 0 |
| 3617771 | Help search plugin help_search has been moved to sub-module Search Help in Search | 11.4.x | released | 0 | 1 |
| 3616220 | Settings Tray is deprecated | 11.5.x | break | 0 | 2 |
| 3587759 | NavigationShortcutsBlock is deprecated | 11.5.x | break | 0 | 0 |
| 3615246 | PostgreSQL truncate queries now emit TRUNCATE inside transactions | 11.5.x | break | 1 | 0 |
| 3551652 | Hooks in themes can now be OOP | 11.3.x | released | 0 | 367 |
| 3614882 | Status messages now use ARIA live region roles instead of the contentinfo landmark | 11.5.x | break | 0 | 37 |
| 3590230 | User search plugin user_search has been moved to sub-module Search User in Search | 11.5.x | break | 0 | 1 |
| 3613606 | jQuery().resetForm() function removed | 11.5.x | break | 0 | 38 |
| 3581222 | The .theme file extension has been deprecated | 11.5.x | break | 1 | 380 |
| 3614321 | Route attributes support a top level "title" property | 11.5.x | new | 0 | 0 |
| 3572185 | The options_allowed_values() and _options_values_in_use() functions have been deprecated | 11.5.x | break | 0 | 30 |
| 3615361 | PHPUnit test methods can be set to be skipped by applying Skip attribute | 11.5.x | new | 0 | 0 |
| 3615563 | Database driver modules and system module are no longer installed by drupal_install_system() | 12.0.x | break | 2 | 0 |
| 3615554 | Testing profile no longer installs page cache and dynamic page cache | 12.0.x | break | 0 | 0 |
| 3581062 | user_pass_rehash(), user_cancel_url(), user_mail_tokens(), and user_pass_reset_url() are deprecated | 11.4.x | released | 0 | 43 |
| 3606616 | MenuSettingsConstraint is Deprecated | 11.5.x | break | 0 | 0 |
| 3557405 | Database Schema Definitions added to replace array-based structure | 11.5.x | new | 0 | 839 |
| 3607708 | Upsert can specify custom expressions for the update case | 11.5.x | new | 0 | 0 |
| 3614831 | Archive, glossary and recent content block views were removed | 12.0.x | break | 0 | 0 |
| 3591920 | update_fetch_with_http_fallback setting is deprecated | 11.5.x | break | 0 | 0 |
| 3601134 | EntityDefinitionTestTrait now declares $entityDefinitionUpdateManager and $state properties | 11.5.x | new | 0 | 0 |
| 3467489 | Core library definitions support before/after ordering | 11.5.x | break | 0 | 0 |
| 3614259 | Drupal's .htaccess now blocks HTTP access to package-lock.json | 11.5.x | break | 0 | 0 |
| 3585548 | Library definitions support specifying aggregate targets | 11.5.x | new | 0 | 0 |
| 3613159 | drupal/core-recommended allows minor updates for Guzzle and Twig | 10.6.x | released | 0 | 0 |
| 3586484 | \Drupal\Core\Config\FileStorageFactory is deprecated | 11.5.x | new | 1 | 65 |
| 3403883 | Support for enums and PHP constants constants in YAML files | 11.5.x | new | 1 | 0 |
| 3611435 | StubPDO is deprecated | 11.5.x | break | 1 | 1 |
| 3611848 | pdoToFetchAs, clientFetchColumn, clientFetchObject, clientQueryString, $fetchModeLiterals from PdoTrait are deprecated | 11.5.x | break | 1 | 0 |
| 3612421 | The base class implementation of Insert::execute() is deprecated | 11.5.x | break | 1 | 2 |
| 3606576 | BatchStorageInterface::getId() has been added | 11.5.x | new | 1 | 1 |
| 3612237 | Install profiles can list recipes to apply automatically | 11.5.x | new | 1 | 0 |
| 3595653 | module.inc, module_set_weight and module_config_sort are deprecated | 11.5.x | break | 1 | 209 |
| 3606438 | The standard install profile and recipe does not include the tags vocabulary anymore | 11.5.x | break | 1 | 0 |
| 3583674 | htmx now uses version 4 | 12.0.x | break | 2 | 2 |
| 3605544 | Kernel test classes can define their own routes using the Route attribute | 11.5.x | new | 1 | 2 |
| 3582454 | Param convertor can add a route requirement for the parameter | 11.5.x | new | 1 | 0 |
| 3594014 | SYMFONY_DEPRECATIONS_HELPER environment variable is deprecated | 11.5.x | break | 1 | 0 |
| 3589343 | object JSON schema type is no longer added to every SDC prop | 11.5.x | break | 1 | 0 |
| 3608804 | Hook discovery now respects file_scan_ignore_directories setting | 11.5.x | break | 1 | 0 |
| 3606383 | The Telephone module is removed | 12.0.x | break | 1 | 50 |
| 3569194 | Truncate implements QueryExecutionVoidInterface | 11.5.x | break | 1 | 137 |
| 3605597 | Install profiles can opt into being automatically uninstalled | 11.5.x | new | 1 | 0 |
| 3585342 | PHP Attributes can be used for Form route definition and discovery | 11.5.x | new | 1 | 0 |
| 3601304 | drupal/core-recommended allows minor updates of dependencies | 11.4.x | released | 1 | 0 |
| 3595086 | Locale submit callbacks have been deprecated | 11.5.x | break | 1 | 3 |
| 3601472 | Telephone module is deprecated | 11.5.x | break | 1 | 50 |
| 3600808 | CssOptimizer loadFile() Is Now a Protected Function | 12.0.x | break | 1 | 3 |
| 3603991 | setQuery() and getQuery() added to ConditionAggregateInterface | 11.4.x | released | 1 | 0 |
| 3548805 | HookDependsOnModule attribute allows to conditionally register hooks | 11.5.x | new | 1 | 0 |
| 3591939 | CSRF token validation with the 'rest' key is deprecated in Drupal 11.4.0 and removed in Drupal 12.0.0 | 11.4.x | break | 1 | 23 |
| 3594457 | Changes to how translations are downloaded and imported during the installer | 11.5.x | break | 1 | 0 |
| 3591660 | Locale translation status functions deprecated in favor of the LocaleSource service | 11.4.x | released | 1 | 6 |
| 3593641 | 'Promoted to front page' terminology changed to 'Promoted' | 11.5.x | break | 1 | 0 |
| 3588598 | ExtensionList ::getList() now has an optional $skip_cache argument | 11.4.x | released | 1 | 42 |
| 3606437 | Commenting is not enabled in Drupal by default anymore | 11.4.x | released | 1 | 0 |
| 3592731 | JavaScript translation files are now stored in the assets:// path location | 11.4.x | released | 1 | 0 |
| 3309958 | RowPluginBase::render() only accepts \Drupal\views\ResultRow | 11.4.x | released | 1 | 1 |
| 3533073 | New permission available to view unpublished block content | 11.4.x | released | 1 | 0 |
| 3593451 | New cache.file_parsing bin and file parsing cache collector | 11.4.x | released | 1 | 0 |
| 3590298 | Node search plugin node_search moved to sub-module Search Node in Search | 11.4.x | released | 1 | 4 |
| 3585318 | Entity query methods no longer implicitly support passing different query objects | 11.4.x | released | 1 | 2 |
| 3589089 | Route preloading/caching changes | 11.4.x | released | 1 | 0 |
| 3590571 | The Article and Page content types are removed from the Standard profile and recipe | 11.4.x | released | 1 | 0 |
| 3037162 | locale_translation_get_file_history(), locale_translation_update_file_history(), and locale_translation_file_history_delete() have been deprecated | 11.4.x | released | 1 | 1 |
| 3516311 | New config contraint: NoFieldItemsExistWithHigherCardinality | 12.0.x | new | 1 | 0 |
| 3574383 | "Manage display" now defaults to a display-builder agnostic overview page | 11.4.x | released | 1 | 0 |
| 3464803 | Added symfony/polyfill-php86 | 11.4.x | released | 2 | 0 |
| 3580452 | New Exception status code cache context | 11.4.x | released | 1 | 0 |
| 3589759 | All batch related functions in locale.batch.inc, locale.bulk.inc and locale.compare.inc have been deprecated | 11.4.x | released | 1 | 7 |
| 3588040 | The check_markup() function is deprecated | 11.4.x | released | 1 | 104 |
| 3588509 | SDC library overrides now support a fonts key for preloading | 11.4.x | released | 1 | 0 |
| 3589636 | \Drupal\node\Controller\NodeViewController is deprecated | 11.4.x | released | 1 | 36 |
| 3291487 | The '#url' property in the responsive_image_formatter theme element is now a Url object | 11.4.x | released | 1 | 0 |
| 3037033 | Several functions in locale.compare.inc and LocaleProjectStorageInterface are deprecated | 11.4.x | released | 1 | 7 |
| 3576336 | Accessing the autoload global is deprecated | 11.4.x | released | 1 | 0 |
| 3553275 | Drupal now uses symfony/runtime for bootstrap separation | 11.4.x | released | 1 | 0 |
| 3525287 | Block content attributes are moved to the content wrapper | 11.4.x | released | 1 | 1 |
| 3563733 | New KeyValueStoreInterface::getAllKeys() method | 11.4.x | released | 1 | 3 |
| 3261271 | Render control functions hide() and show() are deprecated | 11.4.x | released | 1 | 26 |
| 3574112 | TestRequirementsTrait is deprecated | 11.4.x | released | 3 | 0 |
| 3143736 | New 'resolvable_uri' property is added to link field | 11.4.x | released | 1 | 0 |
| 3552870 | The function _update_cron_notify() has been removed | 11.4.x | released | 1 | 0 |
| 3581570 | user_cookie_save() and user_cookie_delete() are deprecated | 11.4.x | released | 1 | 43 |
| 3587853 | EntityTypeInterface::getOriginalClass method is deprecated | 11.4.x | released | 1 | 28 |
| 3534610 | node_access_rebuild functions are deprecated | 11.4.x | released | 1 | 51 |
| 3559492 | navigation__message theme hook deleted. | 11.4.x | released | 1 | 0 |
| 3494023 | New service for purging field data | 11.4.x | released | 1 | 32 |
| 3526344 | Brotli compression support added for CSS and JavaScript aggregates | 11.4.x | released | 1 | 2 |
| 3586362 | SqlContentEntityStorage::loadFromSharedTables() is deprecated | 11.4.x | released | 1 | 0 |
| 3537128 | HTML5 validation will be disabled in Drupal 12 | 11.4.x | released | 1 | 0 |
| 3581985 | 404 responses are now a CacheableNotFoundHttpException (Router::matchRequest() throws CacheableResourceNotFoundException) | 11.4.x | released | 1 | 0 |
| 3581531 | CKEditor 5 uses UMD builds instead of DLL builds | 12.0.x | break | 1 | 0 |
| 3587286 | The Umami demonstration profile is now hidden | 12.0.x | break | 1 | 0 |
| 3586712 | \Drupal\Component\FileSystem\FileSystem::getOsTemporaryDirectory() checks the directory returned by sys_get_temp_dir() before /tmp and windows specific directories | 11.4.x | released | 1 | 0 |
| 3040111 | The core/modules/views_ui/admin.inc file is deprecated | 11.4.x | released | 1 | 1 |
| 3550055 | CommentItemInterface constants FORM_SEPARATE_PAGE and FORM_BELOW are deprecated | 11.4.x | released | 1 | 6 |
| 3560109 | UUIDs are now validated | 11.4.x | released | 1 | 0 |
| 3565717 | Upsert queries can now use unique / primary key constraints composed of multiple fields | 11.4.x | released | 1 | 30 |
| 3577675 | New LocaleFile and LocaleFileManager | 11.4.x | released | 1 | 6 |
| 3585574 | Library definitions now support a fonts key for preloading | 11.4.x | released | 1 | 1 |
| 3584928 | dr - Drupal CLI capable of running commands from modules | 11.4.x | released | 2 | 16 |
| 3578055 | node_access_grants has been deprecated | 11.4.x | released | 1 | 4 |
| 3591180 | It is possible that entity field info alter hooks are invoked with incomplete set of fields | 11.3.x | released | 1 | 107 |
| 3585881 | SDC components can now be used as form elements | 11.4.x | released | 1 | 0 |
| 3015925 | There is a new Theme extension object. system_region_list() and system_default_region() and region related constants are deprecated | 11.4.x | released | 1 | 54 |
| 3579527 | \Drupal\Core\Recipe\RecipeRunner::installModule() is deprecated | 11.4.x | released | 1 | 0 |
| 3581591 | run-tests.sh --types argument requires PHPUnit test suites names | 12.0.x | break | 1 | 0 |
| 3585783 | Sites must update to Drupal 11.3.0 or higher before updating to Drupal 12.x | 12.0.x | break | 1 | 0 |
| 3588047 | Return types have changed on some JSON:API Normalizer methods | 11.4.x | released | 1 | 0 |
| 3585330 | String formatter can now also link to an entity's edit form | 11.4.x | released | 1 | 0 |
| 3584640 | X-Drupal-Dynamic-Cache response header updated for 4xx and 5xx responses | 11.4.x | released | 0 | 0 |
| 3324749 | InstallerRouteBuilder is no longer needed | 11.4.x | released | 0 | 0 |
| 3324751 | RouteBuilder no longer needs the module handler and controller resolver injected | 11.4.x | released | 0 | 0 |
| 3577846 | Installer-specific extension list implementations are deprecated | 11.5.x | break | 2 | 2 |
| 3324758 | PHP Attributes can be used for route definition and discovery | 11.4.x | released | 1 | 2 |
| 3533560 | Migrate process plugins for legacy upgrade are deprecated | 11.3.x | released | 0 | 0 |
| 3571402 | Functions in menu_ui.module are deprecated and move to hooks | 11.4.x | released | 0 | 19 |
| 3572239 | Migration plugins link_options, link_uri, timezone, and user_langcode are moved to the Migrate module | 11.4.x | released | 1 | 0 |
| 3574425 | Select query objects now provide getRange() method | 11.4.x | released | 1 | 6 |
| 3551924 | Cursor offset and orientation arguments in StatementInterface::fetch() are deprecated | 11.4.x | released | 1 | 81 |
| 3524461 | All transactions in core are converted to use explicit ::commitOrRelease(), implicit commit-on-destruct is deprecated | 11.5.x | break | 4 | 108 |
| 3548961 | ToStringTrait is deprecated | 11.4.x | released | 1 | 1 |
| 3574891 | Entity bundle classes can be defined and discovered using the Drupal\Core\Entity\Attribute\Bundle attribute | 11.4.x | released | 0 | 0 |
| 3582449 | Uninstalling themes in the UI now have a confirmation step | 11.4.x | released | 0 | 0 |
| 3567619 | image_path_flush(), image_style_options() and IMAGE_DERIVATIVE_TOKEN have been deprecated | 11.4.x | released | 1 | 160 |
| 3382344 | views_add_contextual_links() has been deprecated | 11.4.x | released | 0 | 11 |
| 3547362 | CommentItemInterface constants HIDDEN, OPEN and CLOSED are deprecated | 11.4.x | released | 0 | 0 |
| 3547352 | CommentInterface::ANONYMOUS_* constants are deprecated | 11.4.x | released | 0 | 5 |
| 3579037 | AccessResult::allowedIf() and AccessResult::forbiddenIf() now accept a neutral reason | 11.4.x | released | 0 | 1 |
| 3557004 | Deprecated email addresses will no longer pass validation | 11.4.x | released | 1 | 0 |
| 3582107 | user_form_process_password_confirm() is deprecated | 11.4.x | released | 1 | 3 |
| 3035368 | New repository service for filter formats. filter_formats(), filter_formats_reset(), filter_get_formats_by_role(), filter_default_format() & filter_fallback_format() are deprecated | 11.4.x | released | 1 | 209 |
| 3582394 | Inline links in help topics are no longer rendered as absolute | 11.4.x | released | 0 | 0 |
| 3502609 | Kernel tests can make HTTP requests with drupalGet() | 11.4.x | released | 0 | 0 |
| 3582722 | SDCs can now declare expectations and cardinality for slots | 12.0.x | new | 1 | 1 |
| 3579264 | Fallback to sendmail_from ini setting removed | 12.0.x | break | 1 | 0 |
| 3581980 | Password hashing is configurable using kernel parameters | 11.4.x | released | 1 | 0 |
| 3582108 | ConfigManager::findConfigEntityDependenciesAsEntities() returns entities override free | 11.4.x | released | 1 | 0 |
| 3571594 | locale.settings:translation.path config is deprecated in favor of locale_translation_path setting | 11.4.x | released | 1 | 0 |
| 3581981 | Tests with PHPUnit 10 attributes are now required | 12.0.x | break | 1 | 4162 |
| 3576311 | The 'version' value in .info.yml files must be a string | 11.4.x | released | 1 | 0 |
| 3442785 | Calling \Drupal\migrate\Plugin\Migration::getMigrationDependencies with the expand parameter is deprecated | 11.0.x | released | 0 | 7 |
| 3530196 | Default password hashing algorithm is now argon2id | 12.0.x | break | 1 | 0 |
| 3601093 | Stable9 is deprecated | 11.4.x | released | 1 | 3 |
| 3581445 | User and Media Document and Image create links removed from navigation | 11.4.x | released | 0 | 0 |
| 3555936 | user_load_by_mail() and user_load_by_name() are deprecated | 11.4.x | released | 0 | 150 |
| 3572594 | Several Views functions have been deprecated | 11.4.x | released | 1 | 163 |
| 3581193 | Class Variance Authority (CVA) support added to Twig | 11.4.x | released | 1 | 0 |
| 3576427 | Locale now uses file hash instead of mtime to detect translation file changes | 11.4.x | released | 0 | 0 |
| 3580268 | The service created by getContainerWithCacheTagsInvalidator() must be used | 12.0.x | break | 0 | 0 |
| 3566911 | Functions providing a widget to enable content translation on bundle form are moved to a service | 11.4.x | released | 0 | 2 |
| 3567484 | The content_translation_translate_access() and _content_translation_install_field_storage_definitions() functions are deprecated | 11.4.x | released | 0 | 7 |
| 3566742 | The drupal/core-dev-pinned metapackage is deprecated | 11.4.x | released | 0 | 0 |
| 3570884 | Cache metadata for computed fields is now bubbled for JSON:API responses | 11.4.x | released | 0 | 0 |
| 3575335 | AutowireTrait and AutowiredInstanceTrait support container parameters | 11.4.x | released | 0 | 101 |
| 3579056 | Tests will report missing return types in Drupal code | 12.0.x | break | 1 | 0 |
| 3570919 | The editor_image_upload_settings_form() is deprecated | 11.4.x | released | 1 | 3 |
| 3578858 | Test methods consolidated in EntityResourceTestBase | 11.4.x | released | 0 | 0 |
| 3567198 | robots.txt blocks search pages with query parameters | 11.4.x | released | 1 | 0 |
| 3566783 | block_theme_initialize() had been deprecated | 11.4.x | released | 0 | 1 |
| 3568389 | text_summary() is deprecated and moved to new TextSummary service | 11.4.x | released | 0 | 14 |
| 3545276 | expectDeprecation() is deprecated | 11.4.x | released | 0 | 0 |
| 3566511 | The node/form library is deprecated | 11.4.x | released | 0 | 3 |
| 3522346 | Url::createFromRequest does not ignore query parameters anymore | 11.4.x | released | 0 | 0 |
| 3576855 | CachePluginBase::cacheExpire in views module is deprecated | 11.4.x | released | 0 | 2 |
| 3576653 | Automated cron is no longer triggered for CLI requests | 11.3.x | released | 0 | 0 |
| 3348180 | The trusted data concept in Config and Config Entities is deprecated | 11.4.x | released | 0 | 698 |
| 3575184 | FormBase provides create() factory method with autowired parameters | 11.4.x | released | 0 | 3688 |
| 3544512 | Disabled links are now ignored in active trail | 11.4.x | released | 0 | 0 |
| 3577926 | DateTimePlus::checkArray() is now protected | 12.0.x | break | 1 | 36 |
| 3568146 | The editor_filter_xss() function is deprecated and functionality is moved to a service | 11.4.x | released | 0 | 2 |
| 3039250 | views_ui_contextual_links_suppress(), views_ui_contextual_links_suppress_push(), views_ui_contextual_links_suppress_pop() have been deprecated. | 11.4.x | released | 0 | 0 |
| 3574738 | Layout Builder storage plugins must implement SupportAwareSectionStorageInterface | 11.4.x | released | 0 | 0 |
| 3564958 | Views CachePluginBase::getRowCacheKeys() deprecated, row-level caching removed | 11.4.x | released | 0 | 2 |
| 3570851 | SessionManager::delete() is deprecated | 11.4.x | released | 0 | 4 |
| 3573370 | JSON:API normalisation now skips cacheing if a ResourceObject has max-age 0 | 11.4.x | released | 0 | 0 |
| 3283218 | hasRole() has moved from UserInterface to AccountInterface | 11.4.x | released | 0 | 75 |
| 3576115 | The Migrate Drupal module is removed | 12.0.x | break | 0 | 28 |
| 3576114 | The Migrate Drupal UI module is removed | 12.0.x | break | 0 | 3 |
| 3572345 | All functions in locale.fetch.inc are deprecated | 11.4.x | released | 1 | 6 |
| 3566688 | AutowireTrait supports setter injection with the #[Required] attribute | 11.4.x | released | 0 | 1 |
| 3558394 | Passing null as $deserialization_target_class to ResourceType is deprecated | 11.4.x | released | 0 | 0 |
| 3478687 | JSON:API no longer validates every response against schema by default | 11.4.x | released | 0 | 0 |
| 3567812 | Implementations of ExecutableInterface:: execute() require an $object argument | 11.4.x | released | 0 | 23 |
| 3567811 | Implementations of CategorizingPluginManagerInterface:: getSortedDefinitions() and :: getGroupedDefinitions() require a $labelKey argument | 11.4.x | released | 0 | 1 |
| 3367114 | Link field widget supports route:{$route_name} | 11.4.x | released | 0 | 0 |
| 3554139 | LinkWidget::validateTitleElement() is deprecated | 11.4.x | released | 0 | 0 |
| 3571399 | The 'allow_authorize_operations' setting is deprecated | 12.0.x | break | 0 | 0 |
| 3573486 | The Contact module is removed | 12.0.x | break | 0 | 36 |
| 3575062 | 'uri_callback' entity key is deprecated | 11.4.x | released | 0 | 0 |
| 3570904 | Batch api callbacks now support callables supported by the CallableResolver | 11.3.x | released | 0 | 93 |
| 3574837 | The Ban module is removed | 12.0.x | break | 0 | 12 |
| 3471539 | JavaScript files in modules moved to module/js | 11.1.x | released | 0 | 0 |
| 3575093 | The shortcut module has been removed from the standard profile and recipe | 11.4.x | released | 0 | 0 |
| 3566814 | Entity type helper method to determine if the entity ID is integer | 11.4.x | released | 0 | 4 |
| 3613767 | Drupal no longer collects legacy hooks outside of the main extension file | 12.0.x | break | 2 | 0 |
| 3497308 | Reorder hook implementations in other modules with the #[ReorderHook] attribute | 11.2.x | released | 0 | 3 |
| 3571602 | The Contact module is deprecated | 11.4.x | released | 0 | 29 |
| 3566225 | Redundant WAI-ARIA `role` attributes removed from templates | 11.4.x | released | 0 | 0 |
| 3570700 | The History module is removed | 12.0.x | break | 0 | 7 |
| 3460567 | W3C compliant testing | 11.4.x | released | 0 | 0 |
| 3572707 | Site information form now stores unresolved path aliases for front, 403, and 404 pages | 11.4.x | released | 0 | 0 |
| 3569591 | Manual user creation now emails users by default | 11.5.x | break | 1 | 0 |
| 3567958 | Query parameters can be mapped directly to controller arguments | 11.4.x | released | 0 | 0 |
| 3571611 | The Field Layout module is removed | 12.0.x | break | 0 | 4 |
| 3515029 | Views table alignment style options now relies on core alignment classes | 11.4.x | released | 0 | 0 |
| 3558879 | New MappingCollection constraint to validate sets of required and optional fields | 11.3.x | released | 0 | 0 |
| 3558881 | New Serialized constraint to validate if a field is a serialized value | 11.3.x | released | 0 | 0 |
| 3568088 | The _contextual_links_to_id() & _contextual_id_to_links() functions are deprecated | 11.4.x | released | 0 | 3 |
| 3570506 | New config action to override static menu links | 11.4.x | released | 0 | 0 |
| 3558616 | page_top and page_bottom can now be added using attachments on a page's main content | 11.4.x | released | 0 | 0 |
| 3558617 | Drupal\Core\Render\MainContent\HtmlRenderer::buildPageTopAndBottom now has $page_top and $page_bottom parameters | 11.4.x | released | 0 | 0 |
| 3565758 | 'View linked label' operation added to user entity | 11.4.x | released | 0 | 0 |
| 3569876 | AJAX page state is now a request attribute | 11.4.x | released | 0 | 0 |
| 3526434 | New method getSummary() added to Drupal\Core\Field\FieldTypeCategoryInterface | 11.4.x | released | 0 | 0 |
| 3316878 | \Drupal\Core\Field\Plugin\Field\FieldFormatter\EntityReferenceEntityFormatter::RECURSIVE_RENDER_LIMIT and ::$recursiveRenderDepth are deprecated | 11.4.x | released | 0 | 24 |
| 3569330 | All code in locale.translations.inc has been deprecated | 11.4.x | released | 1 | 42 |
| 3567647 | The History module is deprecated | 11.4.x | released | 0 | 6 |
| 3462152 | \Drupal\FunctionalJavascriptTests\WebDriverCurlService is deprecated | 11.1.x | released | 0 | 0 |
| 3569185 | Undocumented User::$password property is deprecated | 11.4.x | released | 0 | 0 |
| 3560399 | dblog_filters and _dblog_get_message_types have been deprecated. | 11.4.x | released | 0 | 6 |
| 3533514 | System menu blocks have configuration option for "Add a CSS class to ancestors of the current page" | 11.4.x | released | 0 | 0 |
| 3568136 | Underscore prefixed functions from editor.module are deprecated | 11.4.x | released | 0 | 13 |
| 3567879 | The long format 'filter tips' are deprecated | 11.4.x | released | 0 | 0 |
| 3554585 | Using #item_attributes with image_formatter and responsive_image_formatter is deprecated | 11.4.x | released | 0 | 0 |
| 3566982 | Views::pluginManager() and Views::handlerManager() are deprecated | 11.4.x | released | 0 | 53 |
| 3554746 | Constraint plugins must use named arguments instead of an options array | 11.4.x | released | 0 | 160 |
| 3566774 | Several procedural submit, validation, Ajax callbacks and other functions were converted to methods and deprecated | 11.4.x | released | 19 | 73 |
| 3557835 | New asset garbage collection threshold | 11.4.x | released | 0 | 0 |
| 3622520 | Navigation module's toolbar and top bar CSS reset changed from :is to :where | 11.3.x | released | 1 | 0 |
| 3549344 | Using a #access value other than a boolean or an AccessResultInterface object is deprecated | 11.4.x | released | 0 | 0 |
| 3569941 | Standard profile and recipes no longer use text_with_summary | 11.4.x | released | 1 | 0 |
| 3539877 | Plugins used in kernel tests need all dependent modules to be installed in order to be discovered | 11.3.x | released | 0 | 0 |
| 3562172 | Single cardinality entity fields are now loaded from the database at once | 11.4.x | released | 0 | 0 |
| 3562304 | ImageToolkit and ImageToolkitOperation plugins are autowirable | 11.4.x | released | 0 | 0 |
| 3566882 | The comment_preview() function is deprecated and the logic has moved to CommentForm | 11.4.x | released | 0 | 0 |
| 2352923 | module:// and theme:// stream wrappers added to core (only .json files) | 11.3.x | released | 0 | 0 |
| 3533080 | Entity operations methods can now add cacheable metadata | 11.3.x | released | 0 | 435 |
| 3568078 | The history module has been removed from the standard profile and recipe | 11.4.x | released | 0 | 0 |
| 3566999 | The Migrate Drupal module is deprecated | 11.4.x | released | 0 | 0 |
| 3394638 | New ConfigImporterFactory service | 11.3.x | released | 0 | 0 |
| 2932520 | watchdog_exception() deprecated | 10.1.x | released | 0 | 372 |
| 3549685 | hook_requirements deprecated in favor of separate runtime and update hooks and install-time requirements checks | 11.3.x | released | 0 | 701 |
| 3464076 | Layout plugin definitions require the label to be set | 11.4.x | released | 0 | 0 |
| 3533565 | Migrate destination plugins for legacy upgrade are deprecated | 11.3.0 | released | 0 | 1 |
| 3563143 | justinrainbow/json-schema moved to a production dependency of Drupal core | 11.4.x | released | 0 | 0 |
| 3531039 | Publishing a workspace will update the changed time for its entities | 11.3.x | released | 0 | 0 |
| 3533315 | node_mass_update() is deprecated | 11.3.x | released | 0 | 1 |
| 3509245 | editor_load() is deprecated | 11.2.x | released | 0 | 22 |
| 3551729 | CommentManagerInterface::getCountNewComments is deprecated | 11.3.x | released | 0 | 1 |
| 3557464 | Static calls to overridden entity type will still work if the entity type is overridden another time | 11.3.x | released | 1 | 0 |
| 3548821 | Form API callbacks now support callables supported by the CallableResolver | 11.3.x | released | 0 | 0 |
| 3558614 | HTMX requests may be configured to use the drupal_htmx wrapper format | 11.3.x | released | 0 | 2 |
| 3559908 | MemoryBackend::garbageCollection() now removes invalid items from memory | 11.3.x | released | 0 | 0 |
| 3520914 | ImageStyle::getReplacementID is deprecated | 11.3.x | released | 1 | 0 |
| 3548573 | content_translation_field_sync_widget has been deprecated | 11.3.x | released | 1 | 5 |
| 3521459 | Block content entity reference fields now use the BlockContentSelection plugin by default | 11.3.x | released | 1 | 0 |
| 3560492 | CSS reset added to Navigation module's toolbar and top bar | 11.3.x | released | 1 | 0 |
| 3556785 | FiberResumeType enum introduced to allow fiber suspensions to indicate the intent | 11.3.x | released | 1 | 0 |
| 3524296 | A new Entity Links Filter format and CKEditor 5 plugin has been added | 11.3.x | released | 1 | 0 |
| 3350853 | Entity Type definitions can now optionally provide a "link_target" handler | 11.3.x | released | 1 | 0 |
| 3558184 | \Drupal\Core\Validation\CompositeConstraintInterface added to bridge Symfony's Composite constraints to Drupal | 11.3.x | released | 1 | 0 |
| 3558133 | AtLeastOneOfConstraintValidator has been replaced by the default Symfony implementation | 11.3.x | released | 1 | 0 |
| 3521594 | New Sequentially constraint added to core | 11.3.x | released | 1 | 0 |
| 3551699 | New TwigAllowed method attribute | 11.3.x | released | 1 | 0 |
| 3556927 | ArchiverManager and other archive management code is deprecated | 11.3.x | released | 1 | 1 |
| 3551049 | doctrine/annotations has been forked into core | 10.6.x | released | 1 | 1 |
| 3557373 | Calls to \Drupal\Core\Field\FieldStorageDefinitionInterface::getPropertyDefinition() will trigger a deprecation if $name is not a string | 11.3.x | released | 1 | 0 |
| 3528495 | Classes used in entity form handlers must implement Drupal\Core\Entity\EntityFormInterface | 11.3.x | released | 1 | 663 |
| 3533901 | Migrate Drupal UI is deprecated | 11.3.x | released | 1 | 0 |
| 3557095 | Field Layout module is deprecated | 11.3.x | released | 1 | 0 |
| 3557003 | \Drupal\migrate\Plugin\migrate\process\StaticMap::transform() cannot map NULL values unless there is a default value or bypass is set | 11.3.x | released | 1 | 0 |
| 3557136 | Do not call \Drupal\Core\Entity\EntityTypeBundleInfo::getBundleInfo() with a NULL value | 11.3.x | released | 1 | 88 |
| 3557689 | "Created" fields are excluded from default content by default | 11.3.x | released | 1 | 0 |
| 3139212 | Memory management removed from MigrateExecutable | 11.3.x | released | 1 | 0 |
| 3551450 | The workspaces.association service has been replaced by workspaces.tracker | 11.3.x | released | 1 | 0 |
| 3556699 | Invalid attributes are changed in language switcher block HTML | 11.3.x | released | 1 | 0 |
| 3547356 | The .engine extension has been deprecated. Use tagged services instead. | 11.3.x | released | 1 | 4 |
| 3553211 | Loading revisions now uses the static and persistent cache like | 11.3.x | released | 1 | 0 |
| 3519307 | Method getValuesSetDuringRequest() added to Drupal\Core\State\StateInterface | 11.3.x | released | 1 | 0 |
| 3547745 | Route option added for routes designed to serve HTMX requests | 11.3.x | released | 1 | 5 |
| 3550193 | ModuleHandler addProfile and addModule no longer do anything. | 11.3.x | released | 1 | 8 |
| 3534091 | file_managed_file_submit() is deprecated | 11.3.x | released | 1 | 29 |
| 3546732 | ConfigSingleExportForm now has a dynamically updated URL | 11.3.x | released | 1 | 0 |
| 3546970 | Removed support for PHPUnit 10 | 11.3.x | released | 3 | 0 |
| 3554070 | Block plugins implementing CacheOptionalInterface will not have their own render cache entries | 11.3.x | released | 1 | 0 |
| 3553794 | Kernel tests can use hook attributes to test hooks | 11.3.x | released | 1 | 0 |
| 3528300 | Drupal\taxonomy\Form\OverviewTerms now extends Drupal\Core\Entity\EntityForm | 11.3.x | released | 1 | 0 |
| 3554127 | _system_default_theme_features is deprecated | 11.3.x | released | 1 | 2 |
| 3035289 | theme_get_setting() is deprecated | 11.3.x | released | 1 | 154 |
| 3553871 | New WorkspaceSwitchEvent event added | 11.3.x | released | 1 | 0 |
| 3553582 | WorkspaceManagerInterface::purgeDeletedWorkspacesBatch() has been deprecated | 11.3.x | released | 1 | 2 |
| 3546856 | New cache.memory cache bin, replaces cache.static, MemoryCacheInterface alias deprecated | 11.3.x | released | 1 | 0 |
| 3549101 | Plugins used in entities with plugin collections can react when the entities' dependencies are removed | 11.3.x | released | 1 | 0 |
| 3553092 | WorkspaceManager::getActiveWorkspace() return value updated | 11.3.x | released | 1 | 0 |
| 3553089 | New Workspace Provider system | 11.3.x | released | 1 | 0 |
| 3539918 | Using the 'access callback' key in views definition is deprecated | 11.3.x | released | 1 | 0 |
| 3553411 | Contact module removed from the Standard profile | 11.3.x | released | 2 | 25 |
| 3552215 | Config actions can now be skipped if the entity does not exist | 11.3.x | released | 1 | 0 |
| 3549500 | template_preprocess_HOOK, and the file and includes keys in hook_theme definitions have been deprecated | 11.3.x | released | 1 | 506 |
| 3555319 | node.add and node.add_page routes have new aliases | 11.3.x | released | 1 | 1 |
| 3552223 | Add AJAX command to Views module that sets the browser URL without refreshing the page | 11.3.x | released | 1 | 0 |
| 3542837 | PluginBase provides create() factory method with autowired parameters | 11.3.x | released | 1 | 2055 |
| 3521446 | Access to rebuild node permissions now requires the "rebuild node access permissions" permission | 11.3.x | released | 1 | 0 |
| 3549174 | New trait assists classes building render arrays for HTMX | 11.3.x | released | 1 | 1 |
| 3549625 | SchemaCheckTrait::isViolationForIgnoredPropertyPath expects a ConstraintViolationInterface | 11.3.x | released | 1 | 53 |
| 3546628 | EntityController::addPage now requires the $request parameter | 11.3.x | released | 1 | 2 |
| 3530643 | The block_content_add_list theme template is deprecated | 11.3.x | released | 1 | 1 |
| 3543039 | The comment.new_comments_node_links route and CommentController::renderNewCommentsNodeLinks are deprecated | 11.3.x | released | 1 | 0 |
| 3550627 | Hooks are no longer event listeners | 11.3.x | released | 1 | 0 |
| 3533566 | Migrate field plugins are deprecated | 11.3.0 | released | 1 | 0 |
| 3548085 | Legacy hook functions are now attributed to the current module instead of the most specific match | 11.3.x | released | 1 | 0 |
| 3544527 | Passing ModuleHandler and EntityTypeManager to CommentLinkBuilder is deprecated | 11.3.x | released | 1 | 0 |
| 3548819 | Block content module no longer ships with field.storage.block_content.body.yml | 11.3.x | released | 1 | 7 |
| 3519410 | "RSS publishing" settings form, system.rss config and RSS viewmode are removed from core | 11.3.x | released | 1 | 0 |
| 3532412 | The path alias preload cache has been removed | 11.3.x | released | 1 | 13 |
| 3336219 | ListingEmpty area plugin for block_content views is deprecated | 11.3.x | released | 1 | 0 |
| 3548325 | Defining theme_file for views plugins with a theme key in their plugin definition is deprecated | 11.3.x | released | 1 | 0 |
| 3548185 | Theme hook definitions for views plugins automatically define initial preprocess callback | 11.3.x | released | 1 | 0 |
| 3540814 | Node module no longer ships with field.storage.node.body.yml | 11.3.x | released | 1 | 0 |
| 3533564 | Migrate source plugins for legacy upgrade are deprecated | 11.3.x | released | 1 | 42 |
| 3538740 | Page Cache Middleware uses Service Closure to speed up serving cached pages | 11.3.x | released | 1 | 4 |
| 3537055 | The comment/drupal.comment-new-indicator and comment/drupal.node-new-comments-link libraries have been deprecated | 11.3.x | released | 2 | 0 |
| 3548329 | _responsive_image_build_source_attributes(), responsive_image_get_image_dimensions(), responsive_image_get_mime_type(), _responsive_image_image_style_url() replaced with ResponsiveImageBuilder | 11.3.x | released | 1 | 8 |
| 3548485 | #[RunTestsInSeparateProcesses] attribute is required for all Kernel, Functional and FunctionalJavascript tests | 11.3.x | released | 5 | 377 |
| 3546663 | Twig rendering now uses yield | 11.3.x | released | 1 | 0 |
| 2690393 | hook_ranking() has been renamed to hook_node_search_ranking() | 11.3.x | released | 2 | 4 |
| 3515212 | The advanced section of views' edit form will no longer collapse | 11.3.x | released | 1 | 0 |
| 3534083 | ExtensionMimeTypeGuesser no longer expects a $fileSystem argument | 11.3.x | released | 1 | 0 |
| 3530869 | FileSystemInterface::basename() deprecated | 11.3.x | released | 1 | 54 |
| 3547277 | Using specific PDO drivers instead of PDOConnection on PHP 8.4+ | 11.3.x | released | 1 | 0 |
| 3523777 | Correctly display form description before the field prefix | 11.3.x | released | 1 | 0 |
| 3495417 | Utility method to replace unserialize() in SqlContentEntityStorage() | 11.3.x | released | 1 | 0 |
| 3535160 | ContentEntityStorageBase::latestRevisionIds has been removed | 11.2.x | released | 1 | 0 |
| 2615198 | {% trans %} Twig tag can contain rendered expressions that return render arrays and MarkupInterface objects | 11.2.x | released | 1 | 0 |
| 3527795 | Inline blocks are no longer editable via the block UI | 11.3.x | released | 1 | 0 |
| 3544666 | Wrapper format to use HtmxRenderer added | 11.3.x | released | 1 | 0 |
| 3531162 | Drupal Scaffold composer plugin generates a new \Drupal\DrupalInstalled class | 11.3.x | released | 1 | 0 |
| 3539472 | Ajax subsystem now includes HTMX | 11.3.x | released | 5 | 8 |
| 3534849 | node_type_get_names is deprecated | 11.3.x | released | 1 | 33 |
| 3519187 | Drupal\node\NodeStorage::revisionIds, ::userRevisionIds, and ::countDefaultLanguageRevisions are deprecated | 11.3.x | released | 1 | 17 |
| 3513877 | UserSession name property visibility changed to protected | 11.3.x | released | 1 | 2 |
| 3448089 | DRUPAL_DISABLED, DRUPAL_OPTIONAL, DRUPAL_REQUIRED are deprecated | 11.3.x | released | 2 | 67 |
| 3541758 | PathBasedBreadcrumbBuilder no longer renders an empty breadcrumb for paths without a title | 11.3.x | released | 1 | 0 |
| 3541463 | The view variable passed to comment templates is deprecated | 11.3.x | released | 1 | 0 |
| 3541462 | Views based theme suggestions for node and comment templates deprecated | 11.3.x | released | 1 | 0 |
| 3542850 | Drupal\comment\Plugin\views\field\NodeNewComments is deprecated | 11.3.x | released | 1 | 0 |
| 3542527 | taxonomy_term_is_page and the page taxonomy-term.html.twig variable are deprecated | 11.3.x | released | 1 | 0 |
| 3541926 | Use the getToolkitId() method instead of the toolkitId property when in an ImageFactory subclass | 11.3.x | released | 1 | 0 |
| 3458593 | node_is_page and the page node.html.twig variable are deprecated | 11.3.x | released | 1 | 9 |
| 3538678 | CommentTestBase::setCommentPreview() now takes a CommentPreviewMode enum instead of an int for $mode | 11.3.x | released | 1 | 0 |
| 3540260 | Recipe input config and env source elements can now have fallbacks set | 11.3.x | released | 1 | 0 |
| 3527390 | Added support for `@>` as a shorthand for `!service_closure` in services.yml files | 11.3.x | released | 1 | 0 |
| 3531733 | MySQL's findTables() will no longer find database views | 11.3.x | released | 1 | 0 |
| 3535678 | Theme suggestions can now be deprecated | 11.3.x | released | 1 | 0 |
| 3538666 | getPreviewMode() and setPreviewMode() on NodeTypeInterface now expect a NodePreviewMode enum | 11.3.x | released | 1 | 1 |
| 3038909 | node_access_view_all_nodes is deprecated | 11.3.x | released | 1 | 3 |
| 3533895 | The Ban module is deprecated | 11.3.x | released | 1 | 9 |
| 3523753 | getDependencies() and setDependencies() methods have been added to Drupal\Component\Plugin\Attribute\AttributeInterface | 11.3.x | released | 1 | 5 |
| 3535528 | block_content_add_body_field is deprecated | 11.3.x | released | 1 | 19 |
| 3536715 | Magically named cancel functions in Views UI forms have been deprecated | 11.3.x | released | 1 | 0 |
| 3518643 | Promoted/Sticky fields are hidden by default for new Node Types | 11.3.x | released | 1 | 0 |
| 3384294 | comment_uri() is deprecated | 11.3.x | released | 1 | 0 |
| 3536709 | Added --phpunit-configuration argument to run-tests.sh | 11.3.x | released | 1 | 0 |
| 3540264 | Package Manager's path to Composer is no longer configurable | 11.2.x | released | 2 | 0 |
| 3537390 | Symfony's File validation constraint is now available to all core code | 11.2.x | released | 1 | 0 |
| 3536166 | The vendor hardening plugin can be configured to skip cleaning certain packages | 11.2.x | released | 1 | 0 |
| 3542594 | New noUi property allowing page builders to exclude SDCs | 11.3.x | released | 1 | 6 |
| 3536432 | ModuleHandler::loadAllIncludes() is deprecated | 11.3.x | released | 1 | 4 |
| 3516778 | node_add_body_field() is deprecated | 11.3.x | released | 1 | 16 |
| 3533632 | node_reindex_node_search() is deprecated | 11.3.x | released | 1 | 0 |
| 3534099 | file_system_settings_submit() is deprecated | 11.3.x | released | 1 | 0 |
| 3533060 | template_preprocess_node_add_list and template_preprocess_node are deprecated | 11.3.x | released | 1 | 94 |
| 3533854 | `content:export` command added to help with recipe development | 11.3.x | released | 3 | 1 |
| 3533301 | node_get_type_label is deprecated | 11.3.x | released | 1 | 9 |
| 3529709 | CKEditor 5 now offers a UI for setting list type | 11.3.x | released | 1 | 0 |
| 3530638 | ViewsConfigUpdater is now a service | 11.3.x | released | 1 | 0 |
| 3525560 | Blocks are no longer created automatically when themes or modules are enabled during config sync | 11.2.x | released | 1 | 0 |
| 3534020 | Passing NULL as the $elements value in RendererInterface::render() is deprecated | 11.3.x | released | 1 | 0 |
| 3524496 | Recipe input now accepts environment variables | 11.3.x | released | 1 | 0 |
| 3509534 | Update details element templates to add description ID attributes | 11.3.x | released | 1 | 0 |
| 3531945 | node_type_get_description is deprecated | 11.3.x | released | 1 | 0 |
| 3525119 | Automatic creation of .htaccess files can be disabled | 11.3.x | released | 2 | 0 |
| 3249817 | HtaccessWriter requires a Settings constructor argument | 11.3.x | released | 1 | 0 |
| 3532939 | Calling WorkspaceManager::__construct without an iterable list of workspace negotiators is deprecated | 11.3.x | released | 2 | 0 |
| 3532912 | New argument ($persist = TRUE) added to WorkspaceManagerInterface::setActiveWorkspace() | 11.3.x | released | 1 | 2 |
| 3529500 | \Drupal\Core\Utility\Error::currentErrorHandler is deprecated | 11.3.x | released | 1 | 0 |
| 3532512 | New BlockContentCreationTrait for tests interacting with block content entities | 11.3.x | released | 1 | 0 |
| 3499836 | status and info settings in block_content blocks are deprecated | 11.3.x | released | 1 | 0 |
| 3478634 | The "Label" entity reference field formatter now restricts links for inaccessible destinations | 10.4.x, 11.1.x | released | 1 | 0 |
| 3531959 | node_title_list is deprecated | 11.3.x | released | 1 | 0 |
| 1290248 | New FAPI properties: "#required_error" and "#required_but_empty" | 8.x | released | 1 | 0 |
| 3486330 | Add mergeWith() to AjaxResponse for merging with another response | 11.3.x | released | 1 | 2 |
| 3530832 | system/base split into more conditionally loaded libraries | 11.3.x | released | 3 | 0 |
| 3516913 | A new database driver (mysqli) for MySQL/MariaDB for parallel queries | 11.3.x | released | 1 | 0 |
| 3519887 | JSON:API's handling of reference fields was changed to support referencing by UUID or revision ID | 11.2.x | released | 1 | 0 |
| 3528806 | Specifying CKEditor5 icons without the "Icon"-prefixed name is deprecated | 10.5.x/11.2.x | released | 1 | 0 |
| 3519574 | Single-Directory Components properties with enum can define meta:enum with meta-information | 11.2.x | released | 2 | 0 |
| 3530572 | 11.2 update of prettier/PostCSS/stylelint dropped use of @nest and rgba() | 11.2.x | released | 1 | 0 |
| 3527964 | Workspaces no longer creates a "Stage" workspace on installation | 11.2.x | released | 1 | 0 |
| 3527501 | Block content access classes moved from block_content to core | 11.2.x | released | 1 | 0 |
| 3484001 | Cron service is no longer lazy and proxy class is removed | 11.2.x | released | 1 | 10 |
| 3523039 | \Drupal\Tests\BrowserTestBase::getOptions() is deprecated | 11.2.x | released | 1 | 0 |
| 3525389 | Calling \Drupal\Core\Render\Renderer::addCacheableDependency with an object that doesn't implement CacheableDependencyInterface is deprecated | 11.3.x | released | 1 | 114 |
| 3530388 | run-tests.sh uses PHPUnit's API to determine the tests to run | 11.2.x | released | 1 | 0 |
| 3447698 | Tests with PHPUnit 10 attributes are now supported | 11.2.x | released | 3 | 529 |
| 3410939 | drupal_requirements_severity() and REQUIREMENT_* severity constants have been deprecated. | 11.2.x | released | 1 | 682 |
| 3526030 | Drupal\node\NodePermissions now requires EntityTypeManagerInterface in its constructor | 11.2.x | released | 1 | 0 |
| 3525649 | Calling \Drupal\Core\Extension\ThemeInstaller::__construct() without the $componentPluginManager argument is deprecated | 11.2.x | released | 1 | 0 |
| 3506770 | Package Manager can allow Composer operations directly on the live site in some situations | 11.2.x | released | 1 | 1 |
| 3524585 | Extending the Hook attribute is no longer directly supported | 11.2.x | released | 1 | 809 |
| 3519248 | The Syndicate block is deprecated | 11.2.x | released | 1 | 0 |
| 3511540 | New image effect, Convert to AVIF (with fallback), added | 11.2.x | released | 1 | 0 |
| 3522219 | The 'cachetags' database table is now purged during cache rebuild | 11.2.x | released | 1 | 0 |
| 3518914 | Custom keys in $_SESSION are deprecated | 11.2.x | released | 1 | 0 |
| 3516115 | Block plugins can now implement CacheOptionalInterface | 11.2.x | released | 3 | 0 |
| 3523938 | system/base split into smaller, conditionally loaded libraries | 11.2.x | released | 1 | 0 |
| 3517675 | Olivero's table.css moved to a standalone library and attached only to tables. | 11.3.x | released | 1 | 0 |
| 3523287 | Contextual links now use native JavaScript instead of BackboneJS | 11.2.x | released | 1 | 0 |
| 3523495 | Calling \Drupal\Core\Menu\MenuActiveTrail::__construct() without the $pathMatcher argument is deprecated | 11.2.x | released | 1 | 3 |
| 3497318 | Renderer::render() $is_root_call parameter deprecated | 11.2.x | released | 1 | 158 |
| 3522240 | Views blocks' `items_per_page` setting can no longer be `none` | 11.2.x | released | 1 | 0 |
| 3522189 | New Recipe Unpack composer plugin | 11.2.x | released | 1 | 0 |
| 3511562 | New #placeholder_strategy_denylist key for render arrays with lazy builders | 11.2.x | released | 1 | 0 |
| 3522612 | SectionListTrait::setSection() is now a public method | 11.2.x | released | 1 | 0 |
| 3519491 | New config action to add a component to a Layout | 11.2.x | released | 1 | 0 |
| 3521395 | PHPUnit 11 support | 11.2.x | released | 1 | 0 |
| 3517871 | NodeForm and NodeTypeForm have moved to the Drupal\node\Form namespace | 11.2.x | released | 1 | 7 |
| 3522119 | Additional 'Update Manager' deprecations | 11.2.x | released | 1 | 0 |
| 3517062 | Added component variants to SDC | 11.2.x | released | 1 | 14 |
| 3522776 | Not providing an attribute class for a plugin that uses annotation based discovery is now deprecated | 11.2.x | released | 2 | 625 |
| 2573637 | All DB drivers limited to executing single SQL statements by checking for delimiter | 8.0.x | released | 1 | 0 |
| 2337437 | State variable node.cron_last has been removed | 8.x | released | 1 | 0 |
| 2166575 | Each image toolkit is able now to provide its own requirements | 8.x | released | 1 | 0 |
| 1945906 | New way to determine whether an entity type, bundle or field supports translation | 8.x | released | 1 | 70 |
| 1845692 | Database creation at the time of Drupal installation. | 8.x | released | 1 | 0 |
| 1282644 | The core ".gitignore" file has been renamed to "example.gitignore". | 8.x | released | 1 | 0 |
| 3511287 | The $root parameter for \Drupal\Core\Database\Connection::createConnectionOptionsFromUrl is deprecated | 11.2.x | released | 2 | 3 |
| 3522023 | BlockSettings migration plugin now requires the block plugin manager | 11.2.x | released | 1 | 0 |
| 3498595 | hooks_converted parameter and StopProceduralHookScan attributes have been renamed. | 11.2.x | released | 1 | 0 |
| 3496491 | Preprocess functions in modules now support object-oriented implementations | 11.2.x | released | 3 | 661 |
| 3521588 | DefaultPluginManager uses attribute before annotation during discovery | 11.2.x | released | 1 | 0 |
| 3515207 | Procedural hooks are ordered before object oriented hooks for a given module | 11.2.x | released | 1 | 0 |
| 3496788 | hook_module_implements_alter requires the #[LegacyModuleImplementsAlter] attribute | 11.2.x | released | 1 | 21 |
| 3496786 | Hook implementations can now be removed with a #[RemoveHook] attribute. | 11.2.x | released | 1 | 4 |
| 3493962 | Hook implementations can be ordered with an order parameter | 11.2.x | released | 1 | 16 |
| 3521054 | The update.module has been renamed back to 'Update Status' | 11.2.x | released | 2 | 0 |
| 3521441 | Various classes and methods renamed from 'Stage' to 'Sandbox' in package manager | 11.2.x | released | 1 | 2 |
| 3306373 | \Drupal\migrate\Attribute\MigrateSource does not include the source_module property | 11.2.x | released | 1 | 93 |
| 3517913 | New AtLeastOneOf constraint for config validation | 11.2.x | released | 1 | 0 |
| 3370509 | New filters 'Is empty (NULL)' and 'Is not empty (NOT NULL)' added to Views field filter operators | 11.2.x | released | 1 | 0 |
| 3519434 | New ClassResolverConstraint to validate bases on service or instantiated class | 11.2.x | released | 1 | 0 |
| 3494040 | ExtensionMimeTypeGuesser extension and mimetype maps are split off into a new MimeTypeMapInterface and service | 11.2.x | released | 1 | 27 |
| 3488580 | The PostgreSQL override of entityQuery is now in the pgsql module | 11.2.x | released | 1 | 1 |
| 3508578 | The d8_config migrate source plugin is replaced by the config_entity plugin | 11.2.x | released | 1 | 0 |
| 3498836 | The storage of user data in localStorage for the prepopulation in anonymous forms is disabled | 11.2.x | released | 1 | 0 |
| 3504125 | template_preprocess_HOOK are defined as callbacks in the theme hook | 11.2.x | released | 2 | 507 |
| 3518611 | SqlContentEntityStorage::deleteFromDedicatedTables() argument changed | 11.2.x | released | 1 | 0 |
| 3452144 | Entity form modes 'description' field can no longer be an empty string | 11.2.x | released | 1 | 0 |
| 3515214 | \Drupal\node\NodeStorage::updateType is deprecated | 11.2.x | released | 1 | 1 |
| 3472016 | Constant blacklist renamed in core/misc/autocomplete.js | 11.2.x | released | 1 | 0 |
| 3515272 | Use #type fieldset and add the fieldgroup as attribute class. | 11.2.x | released | 1 | 0 |
| 3517074 | The 'system.file.path' config key is deprecated | 11.2.x | released | 1 | 0 |
| 3464202 | The JavaScript dialogButtonsChange event is triggered with a CustomEvent instead of jQuery | 11.2.x | released | 1 | 0 |
| 3493129 | \Drupal\node\NodeViewsData() constructor requires \Drupal::service('extension.list.module') | 11.2.x | released | 1 | 0 |
| 3472976 | "Published status or admin user" Views filter becomes inactive when a node access module is enabled | 11.2.x | released | 1 | 0 |
| 3455665 | Unpublished nodes are no longer hidden on Content overview page when a node access module is enabled | 11.2.x | released | 1 | 0 |
| 3485595 | Option added to SectionStorage attribute to make inline block creation optional | 11.2.x | released | 1 | 1 |
| 3515543 | New config action called setProperties for use on configuration entities. simpleConfigUpdate will no longer be allowed for use on configuration entities | 11.2.x | released | 1 | 0 |
| 3510455 | StatementBase abstract class introduced | 11.2.x | released | 1 | 0 |
| 3511798 | New dependency symfony/polyfill-intl-icu | 11.2.x | released | 1 | 0 |
| 3515838 | SDC stylesheets are now added in the "theme" aggregate group (as opposed to "default" group) to correct CSS source order for components | 11.2.x | released | 1 | 0 |
| 3503549 | FieldStorageAddForm is split into FieldStorageAddController and FieldStorageAddForm | 11.2.x | released | 1 | 1 |
| 3514929 | The administration theme is used by default for editing and creating Node content | 11.2.x | released | 1 | 0 |
| 3514189 | node_mark() is deprecated | 11.2.x | released | 1 | 0 |
| 3513697 | Default content can now be assigned to a specific fallback user | 11.2.x | released | 1 | 0 |
| 3512518 | New BlockPluginInterface::createPlaceholder() method | 11.2.x | released | 1 | 12 |
| 3386853 | New cache prewarm API | 11.2.x | released | 1 | 0 |
| 3232020 | Calling \Drupal\Core\Cache\RefinableCacheableDependencyTrait::addCacheableDependency with an object that doesn't implement CacheableDependencyInterface is no longer supported | 11.2.x | released | 1 | 525 |
| 3512407 | MigrateExecutable may fail to free up memory on hosting that has a low memory limit due to new entity LRU cache, causing more batches to run | 11.2.x | released | 1 | 0 |
| 3492429 | There is a new InstallRequirementsInterface to provide install time requirements. | 11.2.x | released | 1 | 8 |
| 3491200 | ModuleHandler::addModule and ModuleHandler::addProfile have been deprecated | 11.2.x | released | 1 | 8 |
| 3512253 | New methods added to BatchBuilder to prevent batch sets from being added more than once | 11.2.x | released | 1 | 0 |
| 3512328 | New EntityType::getBundleListCacheTags() method | 11.2.x | released | 1 | 2 |
| 3492563 | Enforce strict mode on PHP sessions | 11.2.x | released | 1 | 0 |
| 3512788 | jQuery is no longer included in JavaScript aggregates | 11.2.x | released | 1 | 0 |
| 3486781 | HandlerBase::defineExtraOptions is deprecated | 11.2.x | released | 1 | 0 |
| 3512744 | Uninstalled extensions will be checked by Update Status by default | 11.2.x | released | 1 | 0 |
| 3512364 | authorize.php, the FileTransfer and Updater systems, and all related code is deprecated | 11.2.x | released | 1 | 1 |
| 3511149 | PerformanceData getCacheTagChecksumCount and getCacheTagIsValidCount deprecated | 11.2.x | released | 1 | 0 |
| 3511861 | The UI for updating modules and themes via the admin interface has been removed | 11.2.x | released | 1 | 0 |
| 3468251 | Added new DebugDump extension for PHPUnit | 11.2.x | released | 1 | 0 |
| 3543212 | Saving the current default revision as a non-default revision is disallowed | 11.2.x | released | 1 | 0 |
| 3489732 | Navigation Top Bar now exposes three distinct extendable regions via TopBarItem plugin | 11.1.x | released | 1 | 5 |
| 3494172 | file_get_content_headers() is deprecated | 11.2.x | released | 1 | 11 |
| 3482370 | Display classes for all description elements in form-element.html.twig | 11.2.x | released | 1 | 59 |
| 3495241 | \Drupal\datetime_range\DateTimeRangeConstantsInterface is deprecated | 11.2.x | released | 1 | 0 |
| 3499943 | A views UI option to add CSS classes to the views table element when using table formatter | 11.2.x | released | 1 | 0 |
| 3476634 | $entity_type_bundle_info parameter added to EntityContentBase::__construct() | 11.2.x | released | 1 | 5 |
| 3509577 | Classloader with support for moving/deprecating classes | 11.2.x | released | 1 | 0 |
| 3505842 | New key 'submit_button' added to type button | 10.5.x, 11.2.x | released | 1 | 0 |
| 3348348 | GDToolkit supports AVIF image format | 11.2.x | released | 1 | 0 |
| 3488338 | Usage of \PDO::FETCH_* constants to indicate fetch mode is deprecated | 11.2.x | released | 1 | 0 |
| 3505424 | Plugins converted from Annotations to Attributes in 11.2.0 | 11.2.x | released | 2 | 0 |
| 3471509 | Added methods to add dependencies to a migration | 11.2.x | released | 1 | 0 |
| 3490245 | \Drupal\menu_ui\Plugin\Menu\LocalAction\MenuLinkAdd is deprecated | 11.2.x | released | 1 | 0 |
| 3494472 | Passing NULL or an empty string to Number::alphadecimalToInt() is deprecated | 11.2.x | released | 1 | 0 |
| 3268812 | New hook_entity_duplicate() and hook_ENTITY_TYPE_duplicate() hooks | 11.2.x | released | 1 | 2 |
| 3496982 | Workspaces listing page permission changes | 11.2.x | released | 1 | 0 |
| 3505587 | Float and List (float) fields can no longer be added via the field UI | 11.2.x | released | 1 | 0 |
| 3505638 | Entity storage entity_type_id_values cache tags have been removed | 11.2.x | released | 1 | 0 |
| 3505248 | Ability to preload frequently used cache tags | 11.2.x | released | 2 | 1 |
| 3502899 | SqlBase::prepareQuery invoked for ::doCount and ::__toString | 11.2.x | released | 1 | 0 |
| 3504056 | Recipes now allow an "extra" section | 11.1.x | released | 1 | 2 |
| 3504958 | New multiple get methods for render and variation cache | 11.2.x | released | 1 | 0 |
| 3497049 | entity_test_create_bundle(), entity_test_delete_bundle() are deprecated and replaced with an EntityTestHelper methods | 11.2.x | released | 1 | 22 |
| 3500806 | template_preprocess() removed and inlined into ThemeManager | 11.2.x | released | 1 | 0 |
| 3500622 | CacheBackendInterface::invalidateAll() is deprecated | 11.2.x | released | 1 | 49 |
| 3498916 | Drupal\migrate_drupal\Plugin\migrate\source\ContentEntity been moved to the migrate module | 11.2.x | released | 1 | 1 |
| 3439256 | I18nQueryTrait is moved from content_translation to migrate_drupal module | 11.2.x | released | 3 | 1 |
| 3064221 | Entity queries for latest revision now return the latest workspace-specific revision | 11.2.x | released | 1 | 0 |
| 3240278 | Drupal\views\EntityViewsData ::$fieldStorageDefinitions and ::getFieldStorageDefinitions() deprecated | 11.2.x | released | 1 | 0 |
| 3490431 | \Drupal\Core\Extension\ExtensionDiscovery::$fileCache is deprecated | 11.2.x | released | 1 | 1 |
| 3317784 | Added support for route aliases and deprecation | 11.2.x | released | 1 | 1 |
| 3328750 | The SAVED_DELETED constant has been deprecated | 11.2.x | released | 1 | 0 |
| 3489765 | Includes for hook_hook_info implementations have been deprecated. | 11.2.x | released | 2 | 0 |
| 3487802 | Added a content_top section to the navigation for programmatic additions | 11.2.x | released | 1 | 1 |
| 3490852 | Added hook_update_requirements() and hook_update_requirements_alter() | 11.2.x | released | 1 | 3 |
| 3490851 | Added hook_runtime_requirements() and hook_runtime_requirements_alter() | 11.2.x | released | 1 | 24 |
| 3489411 | views_entity_field_label() has been deprecated | 11.2.x | released | 1 | 8 |
| 3489502 | views_field_default_views_data and related helpers have been deprecated or removed. | 11.2.x | released | 1 | 37 |
| 3498345 | node_access_test_add_field has been removed use NodeAccessTrait instead | 11.2.x | released | 1 | 0 |
| 3498715 | Fix for Title Resolution with _raw_variables and _title_arguments | 11.2.x | released | 1 | 0 |
| 3490312 | StatementPrefetchIterator::fetchColumn is deprecated. | 11.2.x | released | 1 | 3 |
| 3414904 | New "Clear cache" block added | 11.2.x | released | 1 | 0 |
| 3488133 | LOCALE_TRANSLATION_DEFAULT_SERVER_PATTERN deprecated | 11.2.x | released | 1 | 1 |
| 3491185 | Static entity caches are now automatially invalidated during POST web requests in tests | 11.2.x | released | 1 | 0 |
| 3497839 | Cron is no longer run by the installer | 11.2.x | released | 1 | 0 |
| 3485431 | DatabaseStorage::doSetIfNotExists() method visibility changed to protected | 11.2.x | released | 1 | 0 |
| 3495601 | JSON:API filter constants have been deprecated | 11.3.x | released | 2 | 13 |
| 3424710 | Drupal core can now generate JSON Schemas for content entities | 11.2.x | released | 1 | 1 |
| 3280569 | Drupal's JSON:API now supports adding metadata programmatically | 11.2.x | released | 1 | 0 |
| 3295826 | New methods to access original (unchanged) entity during entity update added to EntityInterface, EntityBase::$original is deprecated | 11.2.x | released | 2 | 130 |
| 3402926 | New Schema method to execute data definition language (DDL) SQL statements | 11.2.x | released | 1 | 0 |
| 3493981 | Creating a field storage in Kerneltests without the entity schema being installed is deprecated | 11.2.x | released | 1 | 0 |
| 3347878 | \Drupal\user\Plugin\views\argument_default\CurrentUser now requires the AccountProxyInterface | 11.2.x | released | 1 | 0 |
| 3458234 | DateHelper::dayOfWeekName() return value has changed | 10.3.x, 11.0.x | released | 1 | 0 |
| 3492500 | Accessing $this->container from functional tests is deprecated | 11.3.x | released | 2 | 643 |
| 3492559 | Change \Drupal\Core\Config\ConfigInstaller to support installing multiple modules with a single container rebuild | 11.2.x | released | 1 | 5 |
| 3473563 | New container_rebuild_required key in .info.yml files | 11.2.x | released | 3 | 15 |
| 3490771 | Improve performance by preventing unnecessary scanning of procedural hooks | 11.1.x | released | 3 | 0 |
| 3490147 | New config action to add blocks to Navigation | 11.1.x | released | 1 | 0 |
| 3490350 | New API for icon management | 11.1.x | released | 1 | 41 |
| 3490626 | Test profiles have moved to core/profiles/tests | 11.1.x | released | 1 | 0 |
| 3466031 | Using trigger_error() with E_USER_ERROR is deprecated with PHP 8.4+ | 10.4.x, 11.1.x | released | 2 | 0 |
| 3484054 | Adding focus-within in hidden.module.css | 10.4.x, 11.1.x | released | 1 | 0 |
| 3489270 | The node type creation form no longer adds a body field | 11.1.x | released | 1 | 0 |
| 3479562 | Added last() method to TypedData ItemList class | 11.1.x | released | 1 | 11 |
| 3489030 | RecipeInputFormTrait lets you collect recipe inputs in a form | 11.1.x | released | 1 | 1 |
| 3488470 | system_theme has been converted to OOP, drupal_common_theme has moved to ThemeCommonElements | 11.1.x | released | 1 | 2 |
| 3482247 | The length of menu_tree.url and menu_tree.route_param_key were increased | 11.1.x | released | 1 | 0 |
| 3475054 | locale_config_batch_set_config_langcodes() and locale_config_batch_update_config_translations() are deprecated | 11.1.x | released | 1 | 0 |
| 3486952 | New workspaces_ui module | 11.1.x | released | 1 | 0 |
| 3486019 | Package Manager extension is hidden and a setting is required to install | 11.1.x | released | 1 | 0 |
| 3487747 | Recipes can enable/disable Layout builder and Layout builder overrides via config actions | 11.1.x | released | 1 | 0 |
| 3486534 | Most procedural hook implementations have been converted to a hook class | 11.1.x | released | 1 | 0 |
| 3220467 | Media author views filter is now an autocomplete field | 11.1.x | released | 1 | 0 |
| 3505422 | Entity type plugins converted from Annotations to Attributes in 11.1.0 | 11.1.x | released | 1 | 78 |
| 3458398 | Content entities may now use a UUID as the entity ID | 10.4.x, 11.1.x | released | 1 | 0 |
| 3486506 | Drupal supports several additional hook implementations using #Hook | 11.1.x | released | 1 | 175 |
| 3268441 | image_filter_keyword() is deprecated | 11.1.x | released | 1 | 3 |
| 3477712 | Service decoration behaviour can be controlled with `decoration_on_invalid` | 11.1.x | released | 1 | 0 |
| 3483336 | The return of \simpletest_script_command() has changed | 11.1.x | released | 1 | 0 |
| 3483309 | Class property \Drupal\views_ui\ViewUI::$renderPreview is removed | 11.1.x | released | 1 | 0 |
| 3448188 | Destructable services now support priority attribute | 10.4.x | released | 1 | 0 |
| 3403710 | New Views EntityReference filter for all entity reference fields | 10.4.x, 11.1.x | released | 1 | 0 |
| 3449479 | NavigationLinkBlock (navigation_link) block plugin added | 11.1.x | released | 1 | 0 |
| 3442559 | Forms can be opted in to render caching | 11.1.x | released | 1 | 0 |
| 3466800 | Added tokens for UUID-s of the built-in content entities | 11.1.x | released | 1 | 0 |
| 3442349 | Support for object oriented hook implementations using autowired services; some ModuleHandler methods deprecated | 11.1.x | released | 1 | 821 |
| 3479059 | Store the file path instead of ID for the Navigation logo | 10.4.x, 11.1.x | released | 1 | 0 |
| 3481718 | New config action to clone config entities with a new ID | 10.4.x, 11.1.x | released | 2 | 0 |
| 3481714 | New config action that can create entities for each node type, media type, etc. | 11.1.x | released | 1 | 0 |
| 3476110 | Unused assert methods in \Drupal\KernelTests\AssertContentTrait are deprecated | 11.1.x | released | 1 | 0 |
| 3461320 | Return types are required in all new methods and functions | 11.1.x | released | 1 | 0 |
| 3465079 | Quick start command can set password | 11.1.x | released | 1 | 0 |
| 3478662 | Recipes can opt out of strict comparisons with existing config | 10.4.x, 11.1.x | released | 1 | 0 |
| 3456338 | Directive that adds support for webp images when mime module is enabled added to htaccess | 11.1.x | released | 1 | 0 |
| 3478781 | Update Navigation schema to be more consistent | 11.0.x | released | 1 | 0 |
| 3492353 | Composer plugin tbachert/spi required | 10.4.x | released | 2 | 0 |
| 3459903 | The view variable passed to node templates is deprecated | 11.1.x | released | 1 | 2 |
| 2958442 | Page Cache & Dynamic Page Cache modules' response headers improved | 10.4.x, 11.1.x | released | 1 | 0 |
| 3459840 | The "Plain text" field formatter now restricts links for inaccessible destinations | 10.4.x | released | 1 | 0 |
| 3319533 | ResourceTypeBuildEvent can enable as well as disable resource type fields | 10.4.x | released | 1 | 0 |
| 3473558 | Asset ordering is now more strictly determined by library dependencies | 10.4.x, 11.1.x | released | 1 | 0 |
| 3473739 | Calling BlockContentTestBase::createBlockContentType with a string for the block values is deprecated | 11.1.x | released | 1 | 0 |
| 3471343 | Usage of \E_STRICT is removed | 10.4.x | released | 1 | 0 |
| 3471190 | The DynamicPageCacheSubscriber weight has changed from 100 to 7 | 10.4.x | released | 1 | 0 |
| 3471188 | Dynamic Page Cache no longer ignores cacheability information from route access checkers | 10.4.x | released | 1 | 0 |
| 3471203 | PHP 8.4: Deprecation of GET/POST sessions | 10.4.x | released | 1 | 0 |
| 3469305 | PHP 8.4: Deprecation of session.sid_length and session.sid_bits_per_character | 10.4.x, 11.1.x | released | 2 | 0 |
| 3470184 | All tests must declare the use of strict types | 11.1.x | released | 2 | 0 |
| 3470510 | Form state 'immutable' flag is removed | 11.1.x | released | 1 | 0 |
| 3460053 | The default Admin > Content view now correctly uses the Language field plugin | 10.3.x | released | 1 | 0 |
| 3467559 | Deprecations in path_alias modules to remove the term 'whitelist' | 11.1.x | released | 1 | 0 |
| 3470434 | sebastianbergmann/comparator:5.0.2 can cause test failures in assertEqualsCanonicalizing() | 11.1.x | released | 1 | 0 |
| 3470507 | Recipes can now accept input at the command line | 10.4.x, 11.1.x | released | 2 | 0 |
| 3462970 | LibraryDiscovery class is deprecated | 11.1.x | released | 1 | 1 |
| 3467774 | Default date formats have changed | 11.1.x | released | 1 | 0 |
| 3467531 | TestFileCreationTrait::generateFile() is protected | 11.1.x | released | 1 | 0 |
| 3467095 | Risky tests are now configured to fail | 11.1.x | released | 2 | 0 |
| 3467273 | Nightwatch updated to 3.7 | 11.1.x | released | 1 | 0 |
| 3462776 | MatchingRouteNotFoundException is deprecated | 11.1.x | released | 1 | 0 |
| 3463132 | Search blocks must use NULL to specify that they intend to use the default search page | 11.1.x | released | 1 | 0 |
| 3462474 | Block weights must now be integers | 11.1.x | released | 1 | 0 |
| 3445040 | 'status', 'info' and 'view_mode' removed from block_settings and added in block_content config schema | 11.1.x | released | 1 | 0 |
| 3504403 | RSS descriptions no longer wrapped in CDATA tags | 10.4.x, 11.1.x | released | 2 | 0 |
| 3440505 | New event subscriber RssResponseCdata wraps RSS description in CDATA to ensure a valid rss feed | 10.4.x, 11.1.x | released | 1 | 0 |
| 3461934 | The feature to install a new extension from a URL via the Drupal UI has been removed | 10.4.x, 11.0.x | released | 1 | 0 |
| 3250104 | ChangedItem does not update timestamp when entity is synchronizing | 11.1.x | released | 1 | 0 |
| 3458638 | The 'metadata' node.html.twig variable is deprecated | 11.1.x | released | 1 | 2 |
| 3459535 | PluginBase::isConfigurable() is deprecated | 11.1.x | released | 1 | 4 |
| 3460562 | node.html.twig documentation has been simplified | 10.3.x | released | 1 | 0 |
| 3455104 | loading.gif and loading-small.gif deprecated | 11.1.x | released | 1 | 0 |
| 3455177 | The "access block library permission" permission is no longer required to create blocks | 11.1.x | released | 1 | 0 |
| 3374955 | Configuration forms can now show if there is overridden configuration | 10.4.x, 11.0.x | released | 1 | 0 |
| 3460500 | Drupal 11.0.0 will require Node.js 20 for core development | 11.0.x | released | 1 | 0 |
| 3459876 | New API to mark database updates as equivalent | 10.3.x | released | 1 | 0 |
| 3460001 | InstallerExistingConfigTestBase is deprecated | 10.4.x | released | 1 | 0 |
| 3455333 | ExtensionMimeTypeGuesser::guessMimeType() returns NULL instead of 'application/octet-stream' | 10.3.x | released | 1 | 0 |
| 3458658 | UpdateManagerAccessCheck is deprecated | 11.1.x | released | 1 | 0 |
| 3459274 | BreadcrumbBuilderInterface::applies() now takes a second $cacheable_metadata argument | 10.4.x | released | 1 | 0 |
| 3458185 | The teaser variable passed to node templates is deprecated | 11.1.x | released | 1 | 2 |
| 3456233 | Using null as a header value to Drupal\Tests\UiHelperTrait::drupalGet() is deprecated | 11.1.x | released | 1 | 0 |
| 3456178 | Passing an integer as header name to Drupal\Tests\UiHelperTrait::drupalGet() is deprecated | 11.1.x | released | 1 | 0 |
| 3458273 | Config actions have standardized on camel case for a better developer experience | 10.3.x | released | 1 | 0 |
| 3404188 | New config schema data type: mailer_dsn | 11.1.x | released | 1 | 0 |
| 3442726 | Drupal image media in CKEditor can be marked as "decorative" for assistive technologies | 10.4.x | released | 1 | 0 |
| 3454180 | The default for 'Who can register accounts' changed | 11.1.x | released | 1 | 0 |
| 3451855 | Services can now define service closures as arguments in services.yml files | 10.3.x | released | 1 | 0 |
| 3445054 | Update.php now renders with a limited theme registry and will always use the Claro theme | 10.3.x | released | 1 | 0 |
| 3441945 | Added EntityArgument and EntityReferenceArgument Views argument plugins | 10.3.x | released | 1 | 0 |
| 3450563 | The Navigation module permission names have changed | 10.3.x | released | 1 | 0 |
| 3447730 | Claro page-specific header moved to main landmark | 10.3.x | released | 1 | 0 |
| 3442229 | The addCachedDiscovery() method has been removed from CachedDiscoveryClearerInterface | 11.1.x | released | 1 | 0 |
| 3440477 | drupal.tableheader library updated to remove tableheader.js and css moved from system/base to appropriate libraries | 10.3.x | released | 1 | 0 |
| 3362722 | Timeout for oEmbed resource fetching can now be set | 10.4.x | released | 1 | 0 |
| 3446100 | The session name suffix can be configured | 10.3.x | released | 1 | 0 |
| 3446122 | Test setup trait now copies files from the assets directory | 10.4.x | released | 1 | 0 |
| 3447815 | Drupal 11 requires the zlib extension | 11.0.x | released | 1 | 0 |
| 3445266 | JSON:API FileUpload controller now uses FileUploadHandler | 10.3.x | released | 1 | 0 |
| 3453468 | PHPUnit - HtmlOutputLogger extension replaces HtmlOutputPrinter | 11.0.x | released | 2 | 0 |
| 3445169 | The Recipe Initiative APIs have been added to core as experimental | 10.3.x | released | 1 | 0 |
| 3308250 | More helpful links added to Block Layout page | 10.3.x | released | 1 | 0 |
| 3444866 | Drupal custom PHPStan rules | 11.0.x | released | 1 | 0 |
| 3402032 | FileUploadResource now uses FileUploadHandler | 10.3.x | released | 1 | 0 |
| 3443765 | WorkspaceNegotiatorInterface::getActiveWorkspace() has been deprecated | 10.3.x | released | 1 | 11 |
| 3444284 | JSON:API test failures now print document errors when data is missing | 10.3.x | released | 1 | 0 |
| 3405799 | UserRegistrationResource now requires the password generator service | 10.3.x | released | 1 | 0 |
| 3422670 | Create a new DrupalDialogEvent to replace jQuery-only dialog events | 10.3.x | released | 1 | 0 |
| 3444223 | KernelTestBase::stop() is deprecated | 10.3.x | released | 1 | 0 |
| 3376175 | FileItem translations are now synchronisable | 10.3.x | released | 1 | 0 |
| 3437110 | \Drupal\locale\Locale and its methods are deprecated | 10.3.x | released | 1 | 0 |
| 2410395 | New setting for trusted hostname configuration | 8.0.x | released | 1 | 0 |
| 3443793 | Node preview container now responds to Drupal.displace() | 10.3.x | released | 1 | 0 |
| 3443691 | New Navigation in core as an Experimental module | 10.3.x | released | 2 | 0 |
| 3441322 | ImageFieldCreationTrait::createImageField() now supports any entity type | 10.3.x | released | 1 | 0 |
| 3443018 | Settings 'state_cache' is removed and permanently turned on | 11.0.x | released | 1 | 0 |
| 3443437 | Install profiles no longer need to add an administrator role to user 1 | 10.3.x | released | 1 | 0 |
| 3443172 | SiteConfigureForm constructor changes | 10.3.x | released | 1 | 0 |
| 3443277 | PhpassHashedPasswordBase:: generateSalt() deprecated | 10.3.x | released | 1 | 0 |
| 3152693 | New route option for redirecting when access is denied to a CSRF protected route | 10.3.x | released | 1 | 3 |
| 2822514 | User logout route is now CSRF protected | 10.3.x | released | 1 | 0 |
| 3442638 | Locale now set to C.UTF-8, if available | 10.3.x | released | 1 | 0 |
| 3444573 | The Book module is removed | 11.0.x | released | 1 | 4 |
| 3442299 | The shepherd library is deprecated for removal in Drupal 11 | 10.3.x | released | 1 | 0 |
| 3447819 | The core .htaccess no longer supports Statistics module | 11.0.x | released | 1 | 0 |
| 3423969 | The Statistics module has been removed from Drupal 11 | 11.0.x | released | 1 | 0 |
| 3423968 | The Forum module has been removed from Drupal 11 | 11.0.x | released | 1 | 0 |
| 3229111 | New API interfaces for marking forms as workspace-safe | 10.3.x | released | 2 | 6 |
| 3418270 | The Statistics module is deprecated | 10.3.x | released | 1 | 0 |
| 3422602 | The Tour module has been removed from Drupal 11 | 11.0.x | released | 1 | 0 |
| 3444571 | The Activity Tracker module has been removed | 11.0.x | released | 1 | 1 |
| 3438713 | The Actions UI module has been removed from Drupal 11 | 11.0.x | released | 1 | 7 |
| 3442097 | Sites must update to Drupal 10.3.0 or higher before updating to Drupal 11.x | 11.0.x | released | 1 | 0 |
| 3445202 | jQuery updated to 4.0.0-beta | 11.0.x | released | 1 | 0 |
| 3441838 | New CountryCode validation constraint | 10.3.x | released | 1 | 0 |
| 3441616 | The jQuery tabbable shim is deprecated | 10.3.x | released | 1 | 0 |
| 3440844 | 'dialogClass' is replaced with 'classes' in core dialog AJAX commands | 10.3.x | released | 2 | 0 |
| 3406099 | New FileUploadLocationTrait added to remove duplication | 10.3.x | released | 1 | 1 |
| 3384728 | Sites can programmatically opt in to accept more image type uploads in CKEditor 5 | 10.3.x | released | 1 | 0 |
| 3437685 | EntityRepository no longer uses plugin contexts | 10.3.x | released | 1 | 1 |
| 3440755 | WorkspaceOperationFactory constructor no longer receives the $cache_tags_invalidator argument | 10.3.x | released | 1 | 0 |
| 3427368 | \Drupal\user\Plugin\views\filter\Roles requires a new argument | 10.3.x | released | 1 | 1 |
| 3459863 | The 'config_object' schema type can only be placed at the root level | 10.3.x | released | 2 | 0 |
| 3440502 | The Config migration destination now requires the typed config manager | 10.3.x | released | 1 | 0 |
| 3427629 | `langcode: …` is now required for config objects that contain translatable values | 10.3.x | released | 1 | 0 |
| 3363939 | Add alter hooks to EntityQuery | 10.3.x | released | 1 | 10 |
| 3450770 | Use replaceWith, not replace, in #ajax form settings | 10.3.x | released | 1 | 0 |
| 3427367 | TrustedCallbackInterface::TRIGGER_WARNING is deprecated | 10.3.x | released | 2 | 0 |
| 3439484 | DateFormatter no longer uses the country code for instantiation | 10.3.x | released | 1 | 5 |
| 2910500 | Super user access policy can be turned off | 10.3.x | released | 1 | 0 |
| 3426517 | FileSystemInterface replace behaviour constants deprecated and replaced with an enum | 10.3.x | released | 1 | 331 |
| 3439514 | The site configure form no longer asks the user for the default Country of the site. | 10.3.x | released | 1 | 0 |
| 3432346 | CSS moved from system/base library to more appropriate libraries in 10.3.x | 10.3.x | released | 3 | 0 |
| 3438802 | Development settings toggles moved from state to raw key/value storage | 10.3.x | released | 1 | 0 |
| 3431205 | user_validate_name() is deprecated and replaced with a UserNameValidator service | 10.3.x | released | 1 | 3 |
| 3365164 | EntityTypeRepository constructor adds a $entity_type_bundle_info argument | 10.3.x | released | 1 | 0 |
| 3422993 | The Book module is deprecated | 10.3.x | released | 1 | 9 |
| 3440842 | Drupal no longer ships web.config | 11.0.x | released | 2 | 0 |
| 3436859 | Services can now use tagged iterators in services.yml files | 10.3.x | released | 1 | 0 |
| 3431191 | Admin pages now grant access if the user has access to any of the child pages | 10.3.x | released | 1 | 0 |
| 3427050 | shortcut_current_displayed_set() and shortcut_default_set() functions are deprecated | 10.3.x | released | 1 | 1 |
| 3177901 | State service now uses a cache collector for performance | 10.3.x | released | 1 | 5 |
| 3436275 | RenderElement and FormElement base plugin classes are deprecated and renamed to RenderElementBase and FormElementBase | 10.3.x | released | 1 | 257 |
| 3436196 | Theme settings logo now allows SVG | 10.3.x | released | 1 | 0 |
| 3376090 | ContainerAwareEventDispatcher is deprecated | 10.3.x | released | 1 | 2 |
| 3436961 | CacheCollector::normalizeLockName() is deprecated | 10.3.x | released | 1 | 0 |
| 3436818 | New permission for taxonomy module to view vocabulary labels | 10.3.x | released | 1 | 0 |
| 3425844 | Starterkit themes now use starterkit.yml file | 10.3.x | released | 1 | 23 |
| 3432773 | Library definitions now support a moved_files key | 10.3.x | released | 1 | 0 |
| 3410260 | The SDC experimental module is now stable and merged into core | 10.3.x | released | 2 | 113 |
| 3435842 | PermissionsHashGenerator::doGenerate() is deprecated | 10.3.x | released | 1 | 0 |
| 3402110 | PermissionsHashGenerator no longer requires two caches and the entity type manager; depends on AccessPolicyProcessorInterface instead. | 10.3.x | released | 1 | 0 |
| 3402107 | PermissionChecker now relies on the AccessPolicyProcessor rather than the EntityTypeManager | 10.3.x | released | 1 | 0 |
| 3397892 | The SQL storage schema for an existing field can be changed | 10.3.x | released | 2 | 4 |
| 3432920 | \Drupal\media\Plugin\media\Source\OEmbed::getLocalThumbnailUri() requires a new argument | 10.3.x | released | 1 | 0 |
| 3432835 | LoggerChannelFactory no longer implements ContainerAwareInterface and its constructor must be called | 10.3.x | released | 1 | 0 |
| 3432357 | Install profiles can now be uninstalled | 10.3.x | released | 1 | 0 |
| 3432359 | PrivateTempStore does not attempt to force start a session | 10.3.x | released | 1 | 0 |
| 3431286 | Sessions table is no longer defined in system_schema() | 10.3.x | released | 1 | 0 |
| 3432087 | FormBuilderInterface::getForm() and ::submitForm() have an additional variadic argument | 11.0.x | released | 1 | 471 |
| 3426632 | Added \Drupal\Core\Render\MainContent\DialogRenderer::getTitleAsStringable() to make title rendering consistent | 10.3.x | released | 1 | 0 |
| 3428661 | CallableResolver and ClassResolver no longer support ContainerAwareInterface | 10.3.x | released | 1 | 30 |
| 3427843 | "taxonomy_index_tid_depth" and "taxonomy" ViewsArgumentPlugin no longer accepts EntityStorageInterface in __construct() arguments | 10.3.x | released | 1 | 0 |
| 3410349 | \Drupal\views\ViewExecutable and \Drupal\views\ViewExecutableFactory constructor requires \Drupal::service('plugin.manager.views.display') | 10.3.x | released | 1 | 3 |
| 3413187 | ThemeHandlerInterface::getBaseThemes is deprecated | 10.3.x | released | 1 | 6 |
| 3428571 | Core JavaScript development now requires Corepack and Yarn 4 | 11.0.x | released | 2 | 0 |
| 3422372 | JS APIs for the text format/editor config UI deprecated | 10.3.x | released | 1 | 0 |
| 3425074 | The Actions UI module is deprecated | 10.3.x | released | 1 | 10 |
| 3426241 | File size formatter is now available on all integer fields | 10.3.x | released | 1 | 0 |
| 3426891 | Drupal core now stores its PHPStan baseline in PHP format | 10.2.x | released | 1 | 0 |
| 3424506 | UnpublishByKeyword and AssignOwnerNode action plugins are moved to Action UI module | 10.3.x | released | 1 | 0 |
| 3447202 | The jQuery Form library has been forked into core | 10.3.x | released | 1 | 0 |
| 3426319 | New config schema data type: weight | 10.3.x | released | 1 | 0 |
| 3421875 | RedirectResponseSubscriber::checkRedirectUrl() logs errors to logger instead of throwing an error | 10.3.x | released | 1 | 0 |
| 3422624 | MINK_DRIVER_ARGS_WEBDRIVER chromeOptions array key is deprecated, use goog:chromeOptions instead | 10.3.x | released | 1 | 0 |
| 3398575 | New AJAX command to open a URL in a dialog | 10.3.x | released | 2 | 1 |
| 3420901 | POST requests are now render-cached | 10.3.x | released | 1 | 0 |
| 3416592 | Field blocks are only exposed for bundles that have Layout Builder enabled | 10.3.x | released | 1 | 0 |
| 3417034 | Queue factories must implement QueueFactoryInterface | 10.2.x | released | 1 | 3 |
| 3412013 | Classes using operators() when extending \Drupal\views\Plugin\views\filter\FilterPluginBase must implement FilterOperatorsInterface | 10.3.x | released | 1 | 2 |
| 3457521 | Media library opener services should be tagged or autoconfigured | 10.3.x | released | 1 | 9 |
| 3310017 | The method \Drupal::moduleHandler()->getName($module) has been deprecated | 10.3.x | released | 1 | 83 |
| 3404117 | Translations are imported in a consistent order | 10.3.x | released | 1 | 0 |
| 3159776 | UserLoginBlock and ActionListBuilder constructors require $formBuilder argument | 10.3.x | released | 1 | 2 |
| 3420954 | New trait for shared functionality in Layout Builder entity forms | 10.3.x | released | 1 | 0 |
| 3407994 | RendererInterface::renderPlain() is deprecated in favour of ::renderInIsolation() | 10.3.x | released | 1 | 282 |
| 3324297 | New 'workspaces.information' service | 10.3.x | released | 1 | 42 |
| 3427209 | user_is_blocked() is deprecated | 10.3.x | released | 1 | 74 |
| 3411040 | New interface method UserAuthenticationInterface | 10.3.x | released | 1 | 1 |
| 3410706 | UserLoginForm::validateName() is deprecated | 10.3.x | released | 1 | 7 |
| 3418545 | Video dimensions in FileVideoFormatter are now optional | 10.3.x | released | 2 | 0 |
| 3415489 | Yaml decoding no longer uses the YAML PECL extension when available | 10.3.x | released | 1 | 0 |
| 3423659 | Update[Hook]RegistryFactory are deprecated, Update[Hook]Registry services constructor arguments are changed | 10.3.x | released | 1 | 0 |
| 3424780 | Taxonomy terms can now be moderated | 10.3.x | released | 1 | 0 |
| 3413602 | Update Stable9 pager templates to utilize new pagination_heading_level variable | 10.3.x | released | 1 | 0 |
| 3418541 | FileUploadHandler now throws a LockAcquiringException | 10.3.x | released | 1 | 1 |
| 3389017 | \Drupal\file\Upload\FileUploadHandler now does locking based on file name | 10.3.x | released | 1 | 0 |
| 3404250 | New method getLabel() on FieldItemDataDefinition | 10.3.x | released | 1 | 0 |
| 3389479 | New option to show only the start/end date in Datetime Range formatters | 10.3.x | released | 1 | 0 |
| 3424527 | Vendor Hardening Composer plugin can remove individual files | 10.3.x | released | 1 | 0 |
| 3411485 | UserSession::hasPermission() and User::hasPermission() require string permission now | 10.3.x | released | 1 | 47 |
| 3414511 | MigrateSkipProcessException is deprecated | 10.3.x | released | 1 | 10 |
| 3304793 | Core suggests block content bundle and view mode twig suggestions | 10.3.x | released | 1 | 0 |
| 3413308 | Calling \Drupal\Core\Extension\ThemeInstaller::__construct() without the theme extension list is deprecated | 10.3.x | released | 1 | 0 |
| 3413196 | ThemeHandlerInterface::rebuildThemeData() is deprecated | 10.3.x | released | 1 | 17 |
| 3420035 | \Drupal\Core\DrupalKernelInterface::resetContainer() added | 10.3.x | released | 1 | 3 |
| 3396238 | ExecutionContext, ExecutionContextFactory and ConstraintViolationBuilder moved from TypedData to Validation namespace | 10.3.x | released | 1 | 4 |
| 3422775 | \Drupal\Component\Assertion\Inspector::assertTraversable is deprecated | 10.3.x | released | 1 | 0 |
| 3424376 | DrupalKernelInterface is no longer ContainerAware | 11.0.x | released | 1 | 0 |
| 3421972 | The Tour module is deprecated | 10.3.x | released | 1 | 0 |
| 3421927 | Vocabularies' `description` field can no longer be an empty string | 10.3.x | released | 1 | 0 |
| 3423720 | Computed fields can now bubble cache metadata in rendered output via their item lists | 10.2.x | released | 1 | 0 |
| 3411179 | Migration process plugins no longer lookup against hardcoded migration IDs | 10.3.x | released | 1 | 0 |
| 3416738 | New config schema type: bytes | 10.3.x | released | 2 | 0 |
| 3110126 | The "link to any page" permission is no longer required to administer menu links for routes they cannot access | 10.3.x | released | 1 | 0 |
| 3071798 | The Logger argument is removed from FileSystem constructor | 10.3.x | released | 1 | 0 |
| 3410394 | Backwards compatibility layer for views UI CSS classes moved to Stable9 | 11.0.x | released | 1 | 0 |
| 3512006 | Transaction::commitOrRelease() method introduced to explicity commit a transaction | 11.3.x | released | 3 | 2 |
| 3409326 | Replace FileUploadHandler::loadByUri() with FileRepositoryInterface::loadByUri() | 10.3.x | released | 1 | 20 |
| 3411269 | file_icon_class() and file_icon_map() are deprecated and replaced with a utility class | 10.3.x | released | 1 | 25 |
| 3410921 | The sub_process process plugin catches MigrateSkipRowException exceptions | 10.3.x | released | 1 | 0 |
| 3395991 | Plugin classes now require a $time parameter of type \Drupal\Component\Datetime\TimeInterface as last parameter in their __construct method | 11.0.x | released | 1 | 4 |
| 3229001 | Plugins converted from Annotations to Attributes in 10.3.0 | 10.3.x | released | 49 | 583 |
| 3416240 | ConfigExists constraint now has a `prefix` option | 10.3.x | released | 3 | 2 |
| 3421405 | All shipped image styles include webp conversion | 10.3.x | released | 1 | 0 |
| 3421393 | PHPUnit data provider methods should be declared static | 10.3.x | released | 1 | 0 |
| 3444548 | Drupal 11 Database requirements | 11.0.x | released | 3 | 0 |
| 3419963 | ClassResolver and EntityTypeManager now require the service container as a constructor parameter instead of setting it using setContainer() | 10.3.x | released | 1 | 0 |
| 3405829 | *TestSuite classes are deprecated | 10.3.x | released | 1 | 0 |
| 3396786 | Taxonomy now provides a UI for viewing, reverting and deleting revisions | 10.3.x | released | 1 | 0 |
| 3411004 | StatementPrefetchIterator::throwPDOException() is deprecated | 10.3.x | released | 1 | 0 |
| 3410663 | Added event for database statement execution failure | 10.3.x | released | 1 | 0 |
| 3014689 | ObjectAwareSerializationInterface is introduced for serializers that can serialize and deserialize PHP objects | 10.3.x | released | 1 | 0 |
| 3014688 | The serializer service is passed as new parameter to DatabaseBackendFactory and DatabaseBackend constructors | 10.3.x | released | 1 | 2 |
| 3014684 | The database cache backend supports specifying a serializer | 10.3.x | released | 1 | 0 |
| 3419181 | Filter settings config schema types in core fixed — contrib/custom modules should do the same | 10.3.x | released | 1 | 0 |
| 3418480 | '@requires module' test annotation is deprecated | 10.3.x | released | 2 | 0 |
| 3414641 | Help topics heading structure changed to met WCAG 2.0 | 10.2.x | released | 1 | 0 |
| 3418239 | UserAuthenticationController::LOGGED_IN and ::LOGGED_OUT are now strings | 10.3.x | released | 1 | 1 |
| 3418264 | File uploads via REST and JSON:API now ensure the filename property matches the file name on disk | 10.3.x | released | 1 | 0 |
| 3413264 | TypedConfigManager::resolveDynamicTypeName() and ::resolveExpression() are deprecated and moved to TypeResolver | 10.3.x | released | 1 | 3 |
| 3384086 | New "EntityBundleExists" validation constraint | 10.3.x | released | 1 | 0 |
| 3416021 | Destructable services can now be destructed on page cache hits | 10.3.x | released | 1 | 0 |
| 3440902 | New hook_ENTITY_TYPE_form_mode_alter() hook added. | 10.3.x | released | 2 | 4 |
| 3410039 | New hook_ENTITY_TYPE_view_mode_alter() hook added. | 10.3.x | released | 1 | 27 |
| 3415500 | Parsing of extension's .info.yml files is cached in the FileCache | 10.3.x | released | 1 | 0 |
| 3402803 | DerivativeDiscoveryDecorator implements CachedDiscoveryInterface | 10.3.x | released | 1 | 34 |
| 3414687 | StreamWrapperManager uses a service locator to find stream wrapper services | 10.3.x | released | 1 | 0 |
| 3414778 | Node views argument is now available when previewing content | 10.3.x | released | 1 | 0 |
| 3247580 | Migrate process plugin can now stop the process pipeline after they run | 10.3.x | released | 1 | 5 |
| 3346038 | ImageStyleDownloadController::deliver() now takes a string of the expected scheme for derivatives as a required parameter | 10.3.x | released | 1 | 10 |
| 3408283 | views_ui_truncate() is deprecated. | 10.3.x | released | 1 | 2 |
| 3404688 | New traits for modifying language configuration during testing | 10.2.x | released | 1 | 0 |
| 3409738 | user_pass_rehash() hash calculation now separates parameter values | 10.2.x | released | 1 | 0 |
| 3397954 | Passing a ControllerResolverInterface to \Drupal\user\PermissionHandler constructor is deprecated | 10.3.x | released | 1 | 0 |
| 3413288 | Drupal 11 will require PHP 8.3 | 11.0.x | released | 2 | 0 |
| 3425054 | New DraggableListBuilderTrait was added | 10.3.x | released | 1 | 2 |
| 3412894 | Classes inheriting from SessionHandler must add return types | 10.3.x | released | 1 | 0 |
| 3375908 | Drupal dependency injection container dumper now supports iterator arguments for service definitions | 10.3.x | released | 1 | 0 |
| 3383274 | Node access data now is joined to the correct table | 10.3.x | released | 1 | 0 |
| 3411261 | Links to the current-page now include an aria-current=page attribute | 10.3.x | released | 1 | 0 |
| 3410629 | hook_module_preinstall() and hook_module_preuninstall() now have a second argument $is_syncing | 10.3.x | released | 1 | 38 |
| 3161534 | Added second parameter to the method Drupal\Core\Database\Schema::tableExists() | 10.3.x | released | 1 | 0 |
| 3394444 | The path alias path processor is now registered in kernel tests | 10.3.x | released | 1 | 0 |
| 3388990 | \Drupal\ckeditor5\Controller\CKEditor5ImageController::__construct() arguments have changed | 10.3.x | released | 1 | 0 |
| 3337193 | A session is now present on every request | 10.3.x | released | 1 | 0 |
| 3409486 | Node types' `help` and `description` fields can no longer be empty strings | 10.3.x | released | 1 | 0 |
| 3371203 | Show migration messages in the administration interface | 10.3.x | released | 1 | 0 |
| 3409455 | Improved DX surrounding use of MemoryCache | 10.3.x | released | 1 | 2 |
| 3397706 | Passing a ControllerResolverInterface to \Drupal\Core\Access\CustomAccessCheck constructor is deprecated | 10.3.x | released | 1 | 0 |
| 3397577 | file_progress_implementation() is deprecated and replaced with extension_loaded('uploadprogress') | 10.3.x | released | 1 | 0 |
| 3409142 | Claro content editing area is wider | 10.2.x | released | 1 | 0 |
| 3408743 | \Drupal\Core\Field\FieldTypePluginManagerInterface has a new method: getEntityTypeUiDefinitions | 10.3.x | released | 1 | 0 |
| 3408700 | New API for modifying field type UI definitions per entity type | 10.2.x | released | 1 | 2 |
| 3406191 | DefaultSingleLazyPluginCollection::setConfiguration() no longer accepts non-array arguments | 10.3.x | released | 1 | 8 |
| 3408266 | TypedConfigManager's protected methods have been renamed and moved | 10.3.x | released | 1 | 3 |
| 3406204 | New ConfigCollectionEvents | 10.3.x | released | 1 | 3 |
| 3406105 | \Drupal\Core\Config\ConfigEvents::COLLECTION_INFO is deprecated | 10.3.x | released | 2 | 0 |
| 3115868 | BulkForm now takes the current route match service as a constructor argument | 10.3.x | released | 1 | 28 |
| 3380621 | Computed bundle fields can be declared to Views | 10.3.x | released | 1 | 0 |
| 3404425 | Stricter validation for config schema types is available | 10.3.x | released | 7 | 89 |
| 3403096 | New helper methods on Drupal\Core\Config\Schema\Mapping for configuration validataion | 10.3.x | released | 2 | 3 |
| 3399817 | Announcements Feed is now a stable core module | 10.2.x | released | 1 | 0 |
| 3385551 | New access policy API | 10.3.x | released | 1 | 5 |
| 3340781 | Database Logging module now automatically displays backtrace for logged throwables | 10.2.x | released | 1 | 0 |
| 3401201 | assertExpectedAjaxRequest() added | 10.2.x | released | 1 | 7 |
| 3401941 | EntityReferenceTestTrait has been renamed to EntityReferenceFieldCreationTrait | 10.2.x | released | 1 | 98 |
| 3397515 | \Drupal\book\BookManager and \Drupal\Core\Menu\MenuActiveTrail are now lazy loading services | 10.2.x | released | 1 | 0 |
| 3389674 | New trait to create file upload validators from file field settings | 10.3.x | released | 1 | 2 |
| 3380380 | Duplicate code for parsing a filename from the content-disposition header for file uploads is deprecated | 10.3.x | released | 1 | 1 |
| 3380607 | Duplicated input stream file writing logic from REST and JSON API is deprecated and replaced with a service | 10.3.x | released | 2 | 2 |
| 3393754 | Filter formats are consistently sorted | 10.2.x | released | 1 | 0 |
| 3368321 | New dictionary for Drupal specific words | 10.2.x | released | 1 | 0 |
| 3389367 | Libraries item in AJAX page state is compressed | 10.2.x | released | 1 | 0 |
| 3399458 | Allow uninstalling themes that are no longer found on filesystem | 10.2.x | released | 1 | 0 |
| 3366630 | Media now provides a UI for viewing, reverting and deleting revisions | 10.2.x | released | 1 | 0 |
| 3398182 | \Drupal\Core\CacheDecorator\CacheDecoratorInterface is deprecated | 10.2.x | released | 1 | 0 |
| 3399533 | symfony/filesystem and symfony/finder moved from dev dependencies to core runtime dependencies | 10.2.x | released | 3 | 0 |
| 3385127 | New API for marking templates as deprecated | 10.2.x | released | 1 | 0 |
| 3398039 | Components now allow string values in #slots | 10.1.x | released | 1 | 0 |
| 3397979 | Skipping required validation when saving an entity will throw a LogicException instead of an assertion error | 10.2.x | released | 1 | 0 |
| 3391611 | Assertions options usage is deprecated | 10.3.x | released | 2 | 0 |
| 3395436 | Loggers can be autoconfigured for service classes implementing \Psr\Log\LoggerAwareInterface | 10.2.x | released | 1 | 36 |
| 3396179 | AutowireTrait allows ContainerInjectionInterface classes to be autowired | 10.2.x | released | 1 | 92 |
| 3395716 | Controllers can be autowired and a create() method is no longer always necessary | 10.2.x | released | 1 | 2178 |
| 3395294 | Passing a ControllerResolverInterface to \Drupal\Core\Menu\MenuLinkTree constructor is deprecated | 10.2.x | released | 1 | 0 |
| 3369969 | Passing a ControllerResolverInterface to \Drupal\Core\Render\Renderer constructor is deprecated | 10.2.x | released | 2 | 0 |
| 3395582 | Plugin types should use PHP attributes instead of annotations | 10.2.x | released | 2 | 102 |
| 3395575 | Plugin implementations should use PHP attributes instead of annotations | 10.2.x | released | 16 | 833 |
| 3396525 | \Drupal\field_ui\Form\FieldConfigDeleteForm::__construct now requires \Drupal\Core\Entity\EntityTypeManagerInterface | 10.2.x | released | 1 | 0 |
| 3416153 | \Drupal\Core\DependencyInjection\Compiler\ContextProvidersPass is deprecated | 10.2.x | released | 1 | 0 |
| 3396203 | Added a new BasicRecursiveValidatorFactory | 10.3.x | released | 1 | 0 |
| 3375456 | UploadedFileInterface::validate() added and UploadedFileInterface::isValid(), ::getError() and ::getErrorMessage() are deprecated | 10.3.x | released | 2 | 46 |
| 3405469 | Login and password reset forms explicitly declare autocomplete attributes | 10.2.x | released | 1 | 0 |
| 3369935 | Symfony mailer component added as a composer dependency | 10.2.x | released | 2 | 1 |
| 3376146 | Implementations of TranslatableInterface must provide setDefaultTranslationEnforced() method | 10.2.x | released | 1 | 0 |
| 3276803 | CORS: regex support for matching via allowedOriginsPatterns | 10.2.x | released | 1 | 0 |
| 3393717 | New 'refocus-blur' AJAX setting | 10.2.x | released | 1 | 0 |
| 3333575 | New method getUniqueMachineName added to Drupal\block\BlockRepositoryInterface and the signature of the constructor of Drupal\block\BlockForm has changed | 10.2.x | released | 1 | 5 |
| 3388811 | CKEditor 5 now offers "Show Blocks" functionality | 10.2.x | released | 1 | 0 |
| 3389316 | SchemaTableColumnSizeTooLargeException and SchemaTableKeyTooLargeException introduced | 10.2.x | released | 1 | 0 |
| 3391654 | SubformState can now store subform object | 10.2.x | released | 1 | 201 |
| 3391538 | Rendering \Drupal\field_ui\Form\FieldStorageConfigEditForm outside of a subform is deprecated | 10.2.x | released | 1 | 1 |
| 3386675 | Field configuration forms restructured: Field Storage Configuration Form is now a subform within Field Configuration Edit Form | 10.2.x | released | 2 | 151 |
| 3392011 | PHP Fibers support | 10.2.x | released | 2 | 0 |
| 3373248 | hook_image_style_flush is now called and passed a path if ImageStyle::flush is called with a path | 10.2.x | released | 1 | 0 |
| 3225468 | The HTML utility classes and the filter system now output HTML5 | 10.2.x | released | 1 | 0 |
| 3385635 | Stable 9 form elements now have "form-type-INPUT_TYPE" classes | 10.2.x | released | 1 | 0 |
| 3382659 | Nightwatch drupalModuleInstall has a new optional parameter to enable module dependencies | 10.2.x | released | 1 | 0 |
| 3388092 | GenericModuleTestBase added | 10.2.x | released | 1 | 0 |
| 3381669 | Views require labels | 10.2.x | released | 1 | 0 |
| 3383114 | New `ImmutableProperties` validation constraint, and config entity IDs are immutable by default | 10.2.x | released | 1 | 0 |
| 3387433 | Added linkByHrefExistsExact and linkByHrefNotExistsExact to match link hrefs exactly in tests | 10.1.x | released | 1 | 0 |
| 3388118 | Signature of \Drupal\Core\Database\StatementInterface::fetchObject() has been updated | 10.2.x | released | 1 | 175 |
| 3372713 | EntityBase::toUrl() falls back to 'edit-form' as default $rel | 10.2.x | released | 1 | 0 |
| 2999981 | format_size() is deprecated and is replaced by ByteSizeMarkup | 10.2.x | released | 1 | 111 |
| 3373012 | Core themes add fetchpriority=high to the site logo, to improve page rendering performance | 10.2.x | released | 1 | 0 |
| 3359445 | \Drupal\Core\Updater\Module::getSchemaUpdates() is deprecated | 10.2.x | released | 1 | 1 |
| 3377257 | Classes inheriting from SessionHandler must implement SessionHandlerInterface | 10.2.x | released | 2 | 0 |
| 3387830 | \Drupal\taxonomy\Plugin\migrate\process\ForumVocabulary is deprecated | 10.1.x | released | 1 | 0 |
| 3385058 | Sample dates are no longer shown in Datetime element error messages | 10.2.x | released | 1 | 0 |
| 3404140 | New parameter added to \Drupal\Core\Form\ConfigFormBase::__construct | 10.2.x | released | 2 | 1021 |
| 3373502 | #config_target in ConfigFormBase: using validation constraints for editing simple config | 10.2.x | released | 9 | 71 |
| 3383986 | Field and Field Storage config entities now don't get saved until after the last step in the field creation workflow | 10.2.x | released | 1 | 0 |
| 3383771 | \Drupal\field_ui\Form\FieldConfigEditForm::__construct now requires EntityDisplayRepositoryInterface and PrivateTempStore | 10.2.x | released | 1 | 0 |
| 3383720 | \Drupal\field_ui\Form\FieldStorageConfigEditForm::__construct now requires PrivateTempStore | 10.2.x | released | 1 | 0 |
| 3383719 | \Drupal\field_ui\Form\FieldStorageAddForm::__construct now requires EntityDisplayRepositoryInterface and PrivateTempStore | 10.2.x | released | 1 | 0 |
| 3379017 | Button values and messages during field creation workflow have changed | 10.2.x | released | 1 | 0 |
| 3377999 | Supported database fetch modes declared | 10.2.x | released | 2 | 0 |
| 3381002 | New wrapper for database transactions | 10.2.x | released | 5 | 11 |
| 3250632 | Menu link 'Parent link' is limited to the current menu when creating new custom menu links through the UI | 10.2.x | released | 1 | 0 |
| 2972665 | New filename sanitization settings during upload (via UI or REST), new sanitization Event, changes to FileUploadResource constructor | 10.2.x | released | 1 | 0 |
| 3383585 | \Drupal\Core\Controller\ArgumentResolver\RouteMatchValueResolver::supports() and \Drupal\Core\Controller\ArgumentResolver\Psr7RequestValueResolver::supports() are deprecated | 10.2.x | released | 1 | 19 |
| 3381705 | Field settings are now also normalized on field creation | 10.2.x | released | 1 | 0 |
| 3383056 | Toolbar anti-flicker JavaScript is no longer added inline | 10.1.x | released | 1 | 0 |
| 3382805 | Theme update page has a new path | 10.2.x | released | 1 | 0 |
| 3353397 | Modules with the same name as a theme can not be installed anymore and vice versa | 10.2.x | released | 1 | 0 |
| 3385147 | Search filter added to permissions form | 10.2.x | released | 1 | 0 |
| 3372008 | \Drupal\Core\Field\FieldTypePluginManager::getGroupedDefinitions has a new parameter for choosing label for categories | 10.2.x | released | 1 | 1 |
| 3379306 | DeprecationHelper helps modules support multiple versions of core | 10.2.x | released | 1 | 0 |
| 3377046 | Drupal\Core\Database\Connection::makeSequenceName() is deprecated | 10.2.x | released | 1 | 0 |
| 3377475 | The Tour module is no longer enabled by default in the 'Demo Umami' profile | 10.2.x | released | 1 | 0 |
| 3343023 | RecursiveExtensionFilterIterator is deprecated | 10.2.x | released | 1 | 3 |
| 3379650 | CKEditor 5 updated to version 39, now supports empty inline elements, for inline icons such as Fontawesome | 10.1.x | released | 4 | 0 |
| 3377297 | Calling \Drupal\Core\Form\FormSubmitter::_construct() without the $redirect_response_subscriber argument is deprecated | 10.2.x | released | 1 | 0 |
| 3375113 | Forms can now ignore destination parameter | 10.2.x | released | 1 | 0 |
| 3377640 | Field Types can now specify weight | 10.2.x | released | 1 | 0 |
| 3444713 | Pager templates updated to avoid anouncing current page twice | 10.1.x | released | 2 | 0 |
| 3376405 | The Tour module is no longer enabled by default in the 'Standard' profile | 10.2.x | released | 1 | 0 |
| 3377041 | Username and password descriptions are removed from the login form | 10.2.x | released | 1 | 0 |
| 3362879 | SchemaCheckTrait::checkConfigSchema() now checks config schema strictly, including validation constraints — affects most tests | 10.2.x | released | 3 | 0 |
| 3376455 | Adding arguments to interface methods | 10.2.x | released | 1 | 0 |
| 3376447 | New decimal primitive data type added | 10.2.x | released | 1 | 29 |
| 3376374 | Typed data definition of the sequence config schema type returns type of 'sequence' instead of 'list' | 10.2.x | released | 1 | 0 |
| 3366740 | New ConfigEntityMapperInterface for ConfigEntityMapper available | 10.2.x | released | 1 | 0 |
| 3373646 | New core library asset added | 10.2.x | released | 1 | 0 |
| 3176282 | Drupal\Component\Utility\Random::machineName() now generates random strings of lowercase letters, numbers and underscore | 10.2.x | released | 1 | 0 |
| 3376195 | New config validation constraint: Choice | 10.2.x | released | 1 | 0 |
| 3373721 | New config schema data type: langcode | 10.2.x | released | 1 | 0 |
| 3358840 | A new test trait allows configuring update_test module settings | 10.2.x | released | 1 | 0 |
| 3038972 | system_get_module_admin_tasks() is deprecated | 10.2.x | released | 1 | 3 |
| 3360604 | The dependency injection container supports services wrapped in closures | 10.2.x | released | 1 | 0 |
| 3375740 | \Drupal\field_ui\Form\FieldStorageAddForm::__construct now requires FieldTypeCategoryManagerInterface | 10.2.x | released | 1 | 0 |
| 3375737 | \Drupal\Core\Field\FieldTypePluginManager::__construct now requires FieldTypeCategoryManagerInterface | 10.2.x | released | 1 | 1 |
| 3217534 | Usage of Connection::getDriverClass for some classes is deprecated | 10.2.x | released | 2 | 3 |
| 3375751 | When a user fails login, the reset password link no longer pre-fills the username | 10.2.x | released | 1 | 0 |
| 3372085 | UniqueFieldValueValidator now supports multi-value and composite fields | 10.2.x | released | 1 | 0 |
| 3375492 | \Drupal\content_translation\ContentTranslationHandler::entityFormDeleteTranslation has been deprecated | 10.2.x | released | 1 | 2 |
| 3375487 | \Drupal\content_translation\ContentTranslationHandler::__construct now requires RedirectDestinationInterface | 10.2.x | released | 1 | 0 |
| 3358337 | _drupal_flush_css_js() is deprecated and replaced by \Drupal::service('asset.query_string')->reset() | 10.2.x | released | 1 | 30 |
| 2541974 | views.settings skip_cache has been removed | 10.2.x | released | 1 | 0 |
| 3298551 | Drupal now sets a content-length header for most responses | 10.2.x | released | 2 | 0 |
| 3298550 | Drupal conditionally recommends enabling output buffering by default in PHP ini settings | 10.2.x | released | 1 | 0 |
| 3344898 | New database schema sequence methods for PostgreSQL | 10.2.x | released | 1 | 1 |
| 3361300 | MenuLinkContent's getEntity() method is public now | 10.2.x | released | 1 | 8 |
| 3362239 | '@requires externalCommand' build test annotation is deprecated | 10.2.x | released | 1 | 0 |
| 3358389 | RandomGeneratorTrait::randomStringValidate() is deprecated | 10.2.x | released | 1 | 0 |
| 3314465 | New "negated regular expression" operator for views filters (string/integer) | 10.2.x | released | 1 | 0 |
| 3301744 | AssetCollectionOptimizerInterface::getAll() is deprecated | 10.1.x | released | 1 | 1 |
| 3372184 | New node:published_status token added | 10.2.x | released | 1 | 0 |
| 3371925 | Forum title render array structure has changed, now uses a theme hook/template | 10.2.x | released | 1 | 0 |
| 3279140 | Entity Reference field items must implement new EntityReferenceItemInterface | 10.2.x | released | 1 | 0 |
| 3375748 | New API for defining field type categories | 10.2.x | released | 3 | 75 |
| 3364263 | FieldStorageAddForm has new structure | 10.2.x | released | 1 | 2 |
| 2955178 | Entities may provide a "collection permission" | 10.2.x | released | 1 | 0 |
| 3369330 | file.field.inc is deprecated and its functions moved to file.module | 10.2.x | released | 1 | 0 |
| 3344060 | New permission: Use help pages | 10.2.x | released | 1 | 0 |
| 3369507 | \Drupal\migrate\Plugin\migrate\destination\Entity now has methods updateEntity and processStubRow() | 10.2.x | released | 1 | 0 |
| 3382015 | The Experimental Help Topics is replaced by Help module | 10.2.x | released | 2 | 0 |
| 3376368 | ListItemBase::extractAllowedValues now takes array as its first argument | 10.2.x | released | 1 | 13 |
| 3363700 | file_validate and related functions are deprecated and replaced with file.validator service and Constraint plugins | 10.2.x | released | 3 | 25 |
| 3223362 | system_retrieve_file is deprecated without replacement | 10.2.x | released | 1 | 12 |
| 3358445 | Accessing the ::$randomGenerator property directly is deprecated | 10.2.x | released | 1 | 0 |
| 3368754 | PostgreSQL pg_trgm extension is automatically installed on PostgreSQL 13 and above | 10.2.x | released | 1 | 0 |
| 3368504 | New CallableResolver to help standardize the DX and error handling for callbacks | 10.2.x | released | 1 | 0 |
| 3353869 | ControllerResolver now uses CallableResolver | 10.2.x | released | 1 | 0 |
| 3325178 | Calling \Drupal\menu_link_content\Form\MenuLinkContentForm::_construct() with the $language_manager argument is deprecated | 10.2.x | released | 1 | 0 |
| 3335460 | Blocks can be displayed or hidden according to a 200, 403 or 404 response | 10.2.x | released | 1 | 0 |
| 3367037 | Machine name transliteration controller and route are deprecated | 10.2.x | released | 1 | 0 |
| 3258175 | Introduce database driver extensions and autoload database drivers' dependencies | 10.2.x | released | 1 | 3 |
| 3426397 | Content type entities are marked as syncing during migrations | 10.2.x | released | 1 | 0 |
| 3355227 | Various plugin manager related cache tags removed | 10.2.x | released | 2 | 0 |
| 3344524 | ChainedFastBackend now requires that the fast backend supports distributed cache tag invalidations | 10.2.x | released | 1 | 0 |
| 3366904 | New PerformanceTestBase added to core | 10.2.x | released | 4 | 0 |
| 3348054 | Permissions checking has been centralized to a new PermissionChecker service | 10.2.x | released | 1 | 1 |
| 3356132 | Query parameter default argument allows nested keys | 9.5.x | released | 1 | 0 |
| 3349759 | user_roles() and user_role_names() are deprecated | 10.2.x | released | 1 | 90 |
| 3357408 | Symfony autoconfiguration is available for event subscribers | 10.2.x | released | 1 | 0 |
| 3358639 | drupalSettings.path.scriptPath is removed | 10.2.x | released | 1 | 0 |
| 3357478 | Rebuilding permissions now requires the "administer nodes" permission | 10.2.x | released | 1 | 0 |
| 3265963 | GDToolkit resource methods and properties deprecated | 10.2.x | released | 1 | 13 |
| 3349345 | Drupal\Core\Database\Connection::nextId(), the {sequences} table and schema are deprecated | 10.2.x | released | 1 | 2 |
| 3356654 | node_get_recent() is deprecated | 10.2.x | released | 1 | 0 |
| 3365546 | New variation cache for caching something with cache contexts (replaces render cache) | 10.2.x | released | 1 | 0 |
| 3354596 | EntityCacheTagsTestBase::createCacheId has been removed | 10.2.x | released | 1 | 0 |
| 3334622 | Twig variables can be deprecated | 10.2.x | released | 1 | 0 |
| 3367821 | The render array structure for field block content now has an extra level of nesting | 10.1.x | released | 1 | 0 |
| 3358036 | New data-drupal-ajax-container attribute | 10.0.x | released | 1 | 0 |
| 3363551 | New clean_unique_id Twig filter | 10.1.x | released | 1 | 0 |
| 3360166 | Content of phpinfo() admin status page is now configurable | 10.1.x | released | 1 | 0 |
| 3362426 | CKEditor 5 resize unit changed from % to px | 10.1.x | released | 1 | 0 |
| 3357711 | system_get_module_admin_tasks() requires the module_name argument to be a string | 10.2.x | released | 1 | 0 |
| 3359695 | Normalizers/Denormalizers should implement ::getSupportedTypes() instead of ::hasCacheableSupportsMethod() or using protected $supportedInterfaceOrClass | 10.1.x | released | 2 | 39 |
| 3359728 | Twig debugging / caching settings added to administrative user interface | 10.1.x | released | 2 | 0 |
| 3359338 | New Drupal core branching scheme introduced | 11.x | released | 1 | 0 |
| 3389141 | CKEditor 5 now supports autoformatting with Markdown-like shortcodes | 10.1.x | released | 1 | 0 |
| 3358623 | Core JavaScript development now requires Node.js 18 | 10.1.x | released | 1 | 0 |
| 3350667 | Clear Caches button is now separate from the performance form | 10.1.x | released | 1 | 0 |
| 3358180 | Static version of random generator added for PHPUnit 10 compatibility | 10.1.x | released | 1 | 0 |
| 3352703 | Initial revisions created in a workspace are now tracked by that workspace | 10.1.x | released | 1 | 1 |
| 3350272 | The Toolbar loading process adds inline JavaScript and CSS | 10.1.x | released | 1 | 0 |
| 3356871 | The CKEditor Code Block plugin is now configurable | 10.1.x | released | 1 | 0 |
| 3355762 | "Announcements" experimental module | 10.1.x | released | 2 | 0 |
| 3264101 | New transaction isolation level default for new sites for MySQL, MariaDB or equivalent databases | 10.1.x | released | 1 | 0 |
| 3355422 | New AJAX TabledragWarningCommand for adding unsaved changes warnings to tabledrag | 10.1.x | released | 1 | 2 |
| 3338898 | Operations link for MenuLinkContent entity are moved along with entity list builder | 10.1.x | released | 1 | 0 |
| 3334294 | New Twig |add_class and |set_attribute filters for adding CSS classes and setting HTML attributes | 10.1.x | released | 1 | 0 |
| 3355112 | Single-Directory Components (SDC) added as new experimental module | 10.1.x | released | 2 | 110 |
| 3349470 | Trusted callbacks can now be marked with attributes as well as an interface | 10.1.x | released | 1 | 16 |
| 3328126 | New assets:// stream wrapper for custom aggregate path location | 10.1.x | released | 1 | 0 |
| 3345487 | User::isAnonymous() will no longer consider newly created users | 10.1.x | released | 1 | 0 |
| 3352679 | Entity reference selection plugins can now throw UnsupportedEntityTypeDefinitionException when configuration is invalid | 10.1.x | released | 1 | 0 |
| 3193798 | Ajax request type can be set to GET (POST by default) | 10.1.x | released | 2 | 0 |
| 3323142 | Axe Accessibility checks added to Nightwatch Tests | 10.1.x | released | 1 | 0 |
| 3403467 | All route defaults are now route parameters | 9.5.x | released | 1 | 0 |
| 3242573 | New events before and after a workspace is published | 10.1.x | released | 1 | 2 |
| 3322420 | Password hashing is changed | 10.1.x | released | 1 | 1 |
| 3353460 | PostCSS output is formatted with Prettier | 10.1.x | released | 1 | 0 |
| 3346513 | New methods fieldSettingsSummary() and storageSettingsSummary() added to Drupal/Core/Field/FieldItemInterface | 10.1.x | released | 1 | 1 |
| 3348540 | Additions to Locale batch API to support sites with a default language other than English | 9.5.x | released | 1 | 0 |
| 3154948 | Drupal\Core\Ajax\AddCssCommand expects an array | 10.1.x | released | 1 | 1 |
| 3346838 | New Block Content permissions | 10.1.x | released | 1 | 0 |
| 3351478 | Rewrite rules for gzipped CSS and JavaScript aggregates changed | 9.5.x | released | 1 | 0 |
| 3350906 | Calling \Drupal\Core\Extension\ThemeInstaller::__construct() without the theme registry is deprecated | 10.1.x | released | 1 | 0 |
| 3351386 | phpstan/phpstan-phpunit added as a dev dependency | 10.1.x | released | 1 | 0 |
| 3350985 | Passing an array value to a database condition without using a compatible operator is no longer supported | 10.1.x | released | 1 | 0 |
| 3348138 | user_role_permissions() is deprecated | 10.1.x | released | 1 | 3 |
| 3348850 | theme_get_registry() is deprecated | 10.1.x | released | 1 | 0 |
| 3348853 | drupal_theme_rebuild() is deprecated | 10.1.x | released | 1 | 0 |
| 3350215 | AJAX errors now trigger message in the UI | 10.1.x | released | 1 | 0 |
| 3403057 | Drush versions below 12.4.3 are incompatible with Drupal 10.2.0 | 10.2.x | released | 2 | 0 |
| 3220378 | The batch ID is now created by \Drupal::service('batch.storage')->getId() and the primary key field of the {batch} table is changed to a serial type | 10.2.x | released | 2 | 2 |
| 3349094 | Increased "ExpiresDefault" value in .htaccess files | 10.1.x | released | 1 | 0 |
| 3343983 | Calling ::__construct() of Links without the $redirectDestination argument is deprecated | 10.1.x | released | 1 | 0 |
| 3265938 | StatementWrapper and StatementPrefetch are replaced | 10.1.x | released | 1 | 0 |
| 3328053 | The Database API can trigger events on execution of statements | 10.1.x | released | 1 | 1 |
| 3348454 | New protected method to get parent TIDs in TermForm | 9.5.x | released | 1 | 25 |
| 3346839 | FileUploadHandler requires the 'file.repository' service to be injected | 10.1.x | released | 1 | 0 |
| 3346788 | Added return type for \Drupal\user\UserInterface::getPassword() | 9.5.x | released | 1 | 0 |
| 3343754 | Connection service has been removed from NodeRevisionDeleteForm | 10.1.x | released | 1 | 0 |
| 3342977 | Url::toRenderArray() and Url::renderAccess() are deprecated | 10.1.x | released | 1 | 4 |
| 3365413 | Changes required for PHPUnit 10 compatibility | 11.0.x | released | 7 | 0 |
| 3344035 | SqlBase::checkRequirements() re-throws PDOException as RequirementsException | 10.1.x | released | 1 | 0 |
| 3344342 | Changes in render array processing of headers within multi-value fields | 10.1.x | released | 1 | 0 |
| 3262398 | Drupal\Core\Entity\EntityChangedTrait::getChangedTime() return type | 10.1.x | released | 1 | 333 |
| 3176816 | TestRun objects now carry PHPUnit test results | 10.1.x | released | 1 | 0 |
| 3262371 | Drupal\file\FileInterface method return type changes | 10.1.x | released | 1 | 0 |
| 3344141 | ScrollTopCommand views Ajax command is moved to Drupal Core | 10.1.x | released | 1 | 10 |
| 2993639 | The default timestamp formatter has an option to show the date as a time difference | 10.1.x | released | 1 | 0 |
| 3275352 | Drupal now defaults to "Lax" for the SameSite session cookie attribute, and checks for valid values | 10.1.x | released | 1 | 0 |
| 3342893 | 'node' variable is now available in page.html.twig while previewing node | 9.5.x | released | 1 | 0 |
| 3291493 | EditorLinkDialog, EditorImageDialog and EditorMediaDialog are deprecated | 10.1.x | released | 1 | 2 |
| 3331881 | action.module is now labeled as the "Actions UI module" in the Drupal interface | 10.1.x | released | 1 | 0 |
| 3342992 | LinkGeneratorInterface::generateFromLink() is deprecated | 10.1.x | released | 1 | 2 |
| 3343743 | Cron now takes datetime.time and queue_config as dependencies | 10.1.x | released | 1 | 0 |
| 3343288 | New queue.config:suspendMaximumWait container parameter to allow suspended queues to be revisited | 10.1.x | released | 1 | 0 |
| 2917575 | View page displays has new option to select the administration theme | 10.1.x | released | 1 | 0 |
| 3323212 | Calling Drupal\block\Plugin\migrate\process\BlockTheme::_construct() with the $migration argument is deprecated | 10.1.x | released | 1 | 0 |
| 3023528 | system_time_zones() is deprecated | 10.1.x | released | 2 | 42 |
| 3340772 | All actions can now be created at the actions administration page | 10.1.x | released | 1 | 0 |
| 3343661 | Saving a pre-existing non-default revision now loads the same revision into $entity->original | 10.1.x | released | 1 | 0 |
| 3343512 | Suspending a queue no longer logs an error | 10.1.x | released | 1 | 0 |
| 3190172 | hook_options_list_alter adds "widget" parameter to the $context | 10.1.x | released | 1 | 0 |
| 3324270 | UI added to allow files to be deleted and 'Delete any file' and 'Delete own files' permissions added | 10.1.x | released | 1 | 0 |
| 3342375 | Toolbar icon loading improved by inlining svgs | 10.1.x | released | 1 | 0 |
| 3092269 | Added a token to get site's base URL | 10.1.x | released | 1 | 0 |
| 3172280 | UrlGenerator::generateFromRoute() and UrlGenerator::getPathFromRoute() no longer accept route objects | 10.1.x | released | 1 | 0 |
| 3339665 | SensitiveParameter attribute has been applied to sensitive data | 10.1.x | released | 2 | 0 |
| 3322990 | Tar and Zip archiver plugins are configurable now | 10.1.x | released | 1 | 0 |
| 3334317 | \Drupal\Core\Utility\Token::scan now requires a string parameter instead of any type | 10.1.x | released | 1 | 0 |
| 3155413 | PhpStorage ::writeable() is deprecated in drupal:10.1.0 with no replacement | 10.1.x | released | 1 | 0 |
| 3341906 | FunctionalJavascript tests now fail on any JavaScript error thrown during test runs. | 10.1.x | released | 1 | 0 |
| 2954832 | New config schema data type: machine_name | 10.2.x | released | 1 | 0 |
| 3336253 | theme_render_and_autoescape() is deprecated | 10.1.x | released | 1 | 0 |
| 3340701 | The TourTipPluginInterface interface is deprecated | 10.1.x | released | 1 | 1 |
| 3336695 | Email address field in the user account form now applies field access | 10.1.x | released | 1 | 0 |
| 3340838 | Make DatabaseException extend \Throwable | 10.1.x | released | 1 | 0 |
| 3337942 | DiffEngine is deprecated and replaced with sebastianbergmann/diff | 10.1.x | released | 1 | 0 |
| 3340995 | The block content 'info' field no longer requires unique values | 10.1.x | released | 1 | 0 |
| 3334057 | Using assert[Not]Equals() to compare markup between MarkupInterface objects and plain strings is deprecated | 10.1.x | released | 1 | 0 |
| 3172303 | UrlGenerator::supports() and UrlGenerator::getRouteDebugMessage() are deprecated | 10.1.x | released | 1 | 20 |
| 3336973 | DefaultMenuLinkTreeManipulators::__construct() now requires the ModuleHandler | 10.1.x | released | 1 | 5 |
| 3337782 | EntityController now takes the route_match system as a constructor parameter | 10.1.x | released | 1 | 23 |
| 3338948 | BigPipe placeholder content can now be customized | 10.1.x | released | 2 | 0 |
| 3312139 | JavaScript files are now reported as text/javascript MIME type | 10.1.x | released | 1 | 0 |
| 3284397 | ConfigImporter requires the theme extension list to be injected | 10.1.x | released | 1 | 28 |
| 3334163 | Added fix for duplicate X-Content-Type-Options headers with value nosniff to .htaccess | 10.1.x | released | 1 | 0 |
| 3402642 | New option to set the heading level of full and mini pagers in views | 10.3.x | released | 1 | 0 |
| 3336105 | New clearByPrefix() method added to FloodInterface | 10.1.x | released | 1 | 1 |
| 3325904 | \Drupal\Tests\book\Functional\BookTestTrait::generateOutlinePattern is deprecated | 10.1.x | released | 1 | 0 |
| 3333253 | The Modernizr library is deprecrated | 10.1.x | released | 1 | 19 |
| 3209606 | The service views.views_data is now backend-overridable | 10.1.x | released | 1 | 0 |
| 3333071 | Improved exception in EntityReferenceItem | 10.1.x | released | 1 | 0 |
| 3032850 | Umami theme Classy form element templates no longer include <strong> tags | 10.1.x | released | 1 | 0 |
| 3330852 | New validation constraint to check for plugin existence | 10.1.x | released | 2 | 0 |
| 3325458 | MIME type updated for *.flac files from application/x-flac to audio/flac; MIME types added for *.aac and *.opus files | 10.1.x | released | 1 | 0 |
| 3330231 | New getTitle() method added to LinkItemInterface | 10.1.x | released | 1 | 1 |
| 3244583 | drupal_rewrite_settings() is deprecated | 10.1.x | released | 1 | 3 |
| 3330762 | Calling createUser() with $values as the first parameter and/or $permissions as the second parameter is deprecated | 10.1.x | released | 1 | 0 |
| 3322720 | The js-cookie library is deprecated | 10.1.x | released | 1 | 42 |
| 3266691 | Migration::getMigrationDependencies() has a new parameter and MigrationPluginManager::expandPluginIds() is made public | 10.1.x | released | 2 | 3 |
| 3326231 | User::addRole() and User::removeRole() methods are chainable | 10.1.x | released | 1 | 0 |
| 3293709 | $app_root parameter is required in InfoParserDynamic constructor | 10.1.x | released | 1 | 0 |
| 3329818 | pg_trgm requirement for PostgreSQL now enforced at installation | 10.0.x | released | 1 | 0 |
| 3329996 | Claro bulk operation form has been redesigned | 10.1.x | released | 1 | 0 |
| 3259469 | Routine events are now logged at the lower-severity "info" level rather than "notice" | 10.1.x | released | 3 | 0 |
| 3320471 | Html::load() normalizes all newlines to the line feed character | 10.1.x | released | 1 | 0 |
| 3327712 | UniqueFieldValueValidator no longer depends on the current user's access | 10.1.x | released | 1 | 0 |
| 3320855 | Block management pages have new paths and menu items | 10.1.x | released | 8 | 0 |
| 3327942 | New 'Drupal\Component\DependencyInjection\ReverseContainer' service to replace DrupalKernel::getServiceIdMapping() | 9.5.x | released | 1 | 2 |
| 3328698 | Media items will now default to left alignment rather than center when first embedded | 10.1.x | released | 1 | 0 |
| 3241346 | The drupal.sh script is deprecated and will be removed in Drupal 11 | 10.1.x | released | 1 | 0 |
| 3263585 | Key-value pair "experimental: true" in .info.yml files is deprecated | 10.1.x | released | 1 | 128 |
| 3319245 | Block Content now provides a UI for viewing, reverting and deleting revisions | 10.1.x | released | 1 | 0 |
| 3318826 | Html::escape(), ::decodeEntities(), and FormattableMarkup::placeholderEscape() no longer accept NULL | 9.5.x | released | 1 | 0 |
| 3323122 | Core services provide aliases for autowiring | 10.1.x | released | 1 | 261 |
| 2239983 | Temporary file deletion window is now configurable | 8.x | released | 1 | 0 |
| 3324853 | Config entities' dependencies can be validated | 10.1.x | released | 2 | 0 |
| 3279029 | Text filter plugin to support <img loading="lazy"> | 10.1.x | released | 1 | 0 |
| 3318572 | Text fields can enforce a specific text format | 10.1.x | released | 1 | 0 |
| 3324755 | Entity count queries now return an int instead of a string | 9.5.x | released | 1 | 0 |
| 3159499 | ViewAddForm and ViewEditForm constructors adds a module handler service argument | 10.1.x | released | 1 | 0 |
| 3294237 | Methods ::loadRevision() and ::deleteRevision() in classes \Drupal\Core\Entity\EntityStorageInterface, \Drupal\Core\Config\Entity\ConfigEntityStorage and \Drupal\Core\Entity\KeyValueStore\KeyValueEntityStorage are deprecated | 10.1.x | released | 1 | 293 |
| 3323340 | node_revision_load, node_revision_delete and node_type_update_nodes are deprecated | 10.1.x | released | 1 | 293 |
| 3318042 | $connection->startTransaction() calls should now be placed within the try block | 9.5.x | released | 1 | 0 |
| 3305282 | SQLite transactions now acquire an immediate database lock | 9.5.x | released | 1 | 0 |
| 3322608 | Extension::__call() is deprecated | 10.1.x | released | 1 | 4 |
| 3002289 | Added AccountProxy::hasRole() and UserSession::hasRole() methods | 10.1.x | released | 2 | 0 |
| 3279032 | Responsive image tags support loading="lazy" | 10.1.x | released | 2 | 0 |
| 3322247 | yarn.lock and package.json now blocked by default .htaccess and web.config | 9.5.x | released | 1 | 0 |
| 3320787 | Permissions-Policy header is removed since Google has retired FLoC | 9.5.x | released | 1 | 0 |
| 3305725 | JavaScript Minification | 10.1.x | released | 2 | 0 |
| 3322044 | Cache::keyFromQuery is deprecated | 10.1.x | released | 1 | 0 |
| 3310952 | Linkset functionality now available in core | 10.1.x | released | 1 | 0 |
| 3320387 | Uppercase service names are now allowed in service definitions — enabling autowiring | 9.5.x | released | 1 | 0 |
| 3319135 | Chromedriver has been removed as a JavaScript dependency | 9.5.x | released | 1 | 0 |
| 3313821 | CKEditor 5 plugin definitions now can be derived | 9.4.x | released | 1 | 2 |
| 3318162 | The database_statement_monitoring_test module is deprecated | 10.1.x | released | 1 | 0 |
| 3313636 | Renamed the class DBLogResource to DbLogResource | 10.1.x | released | 1 | 0 |
| 3314346 | EntityViewController::viewRevision is deprecated | 10.1.x | released | 1 | 2 |
| 3160443 | Revision UI available to revisionable entities | 10.1.x | released | 1 | 1 |
| 3316569 | The new interface Drupal\Core\Database\SupportsTemporaryTablesInterface has been added | 10.0.x | released | 1 | 1 |
| 3316094 | Third-party modules are able to alter the requirements entries | 9.5.x | released | 1 | 6 |
| 3308362 | CKEditor 5 is now a stable core module | 9.5.x | released | 1 | 0 |
| 3041203 | Permissions added for per block-type edit access to block content (custom blocks) | 10.1.x | released | 1 | 0 |
| 3032260 | Tableselect rows can be disabled | 9.5.x | released | 1 | 0 |
| 3293310 | AssertBlockAppearsTrait::findBlockInstance() is deprecated | 9.5.x | released | 1 | 0 |
| 3313603 | New 'user/edit' redirect to edit current user | 9.5.x | released | 1 | 1 |
| 3313604 | Disallow Oembed media links from search results in robots.txt | 9.5.x | released | 1 | 0 |
| 3282894 | track_last_imported, isTrackLastImported, setTrackLastImported, and getTrackLastImported are deprecated | 10.1.x | released | 1 | 0 |
| 3243396 | Layout Builder's ConfigureSectionForm now has public methods to get the current section and layout | 9.5.x | released | 1 | 18 |
| 3277306 | migrate\Plugin\migrate\id_map\Sql::__construct requires the Migration Plugin Manager service. | 9.5.x | released | 1 | 2 |
| 3278487 | #entity property added to template variables for layout builder templates | 9.5.x | released | 1 | 0 |
| 3293506 | New optional parameter for tests in Database::convertDbUrlToConnectionInfo() and Database::findDriverAutoloadDirectory() | 9.5.x | released | 1 | 3 |
| 3187621 | Set default values in settings.php for the Migrate Drupal UI (/upgrade) | 9.5.x | released | 1 | 0 |
| 3308335 | Rewrite rules for gzipped CSS and JavaScript aggregates changed | 9.5.x | released | 2 | 0 |
| 3273879 | A new 'in_preview' variable is available to block and layout templates | 9.5.x | released | 1 | 0 |
| 3312967 | Drupal core now ships native CSS Logical Properties. | 10.0.x | released | 1 | 0 |
| 3275103 | OEmbed type fields support eager or lazy loading | 10.1.x | released | 1 | 0 |
| 3301862 | New Twig |add_suggestion filter for adding a theme suggestion | 10.0.x | released | 1 | 0 |
| 3312083 | WebAssert::optionExists and WebAssert::optionNotExists now find only exact matches | 9.5.x | released | 1 | 0 |
| 3311862 | EntityTranslationRenderTrait::getEntityTranslation has been deprecated in favour of EntityTranslationRenderTrait::getEntityTranslationByRelationship | 10.1.x | released | 1 | 2 |
| 2959032 | Render methods added to \Drupal\views\Entity\Render\EntityTranslationRendererBase that take relationship into account | 10.1.x | released | 1 | 1 |
| 3261453 | Tracker module is deprecated | 10.1.x | released | 2 | 1 |
| 3162480 | Render cache debug output | 9.5.x | released | 1 | 0 |
| 3307193 | Farbtastic library is removed | 10.0.x | released | 1 | 0 |
| 3307919 | The undeclared ConstraintViolation::$arrayPropertyPath property is deprecated | 9.5.x | released | 1 | 0 |
| 3310025 | Stable theme has been deprecated | 9.5.x | released | 2 | 0 |
| 3309392 | Stable theme has been removed from core | 10.0.x | released | 2 | 0 |
| 3203558 | Migrate only permissions that exist on the destination | 10.0.x | released | 1 | 0 |
| 3292540 | The _serviceId property is no longer added to objects on the container | 9.5.x | released | 1 | 0 |
| 3309346 | toolbar/toolbar no longer loads Modernizr | 10.0.x | released | 1 | 0 |
| 3285858 | Drupal-specific HTML5 collapse script removed | 10.0.x | released | 1 | 0 |
| 3308866 | Shepherd.js is deprecated | 9.5.x | released | 1 | 0 |
| 3313997 | Classy theme is deprecated | 9.5.x | released | 1 | 0 |
| 3305674 | Classy removed and replaced with Starterkit theme generator | 10.0.x | released | 3 | 0 |
| 3305487 | Drupal 10 core stops using *.es6.js files — *.js files can now contain ES6 directly | 10.0.x | released | 2 | 0 |
| 3308802 | CKEditor 4 is removed from Drupal Core in 10.0.0 | 10.0.x | released | 3 | 0 |
| 3304481 | CKEditor 4 is deprecated | 9.5.x | released | 3 | 192 |
| 3307518 | core/popperjs asset library is deprecated | 9.5.x | released | 1 | 10 |
| 3307493 | Drupal core no longer includes the EasyRDF development dependency | 10.0.x | released | 1 | 0 |
| 3307288 | RDF has been removed from core in 10.0.0. | 10.0.x | released | 1 | 3 |
| 3304899 | RDF module is deprecated | 9.5.x | released | 1 | 3 |
| 3306989 | Twig dump() function uses Symfony VarDumper when available | 9.5.x | released | 1 | 0 |
| 3306232 | Farbtastic library deprecated | 9.5.x | released | 1 | 0 |
| 3305024 | HttpKernel now catches \Throwable, not just \Exception | 10.0.x | released | 1 | 0 |
| 3305664 | Off-canvas / Settings Tray CSS refactored to use modern CSS | 10.0.x | released | 1 | 0 |
| 3252839 | Quick Edit is removed from Drupal Core | 10.0.x | released | 2 | 0 |
| 3259831 | Quick Edit is deprecated | 9.5.x | released | 2 | 0 |
| 3304670 | Seven theme is removed | 10.x | released | 1 | 0 |
| 3293830 | Drupal's Component packages are now semi-automated from drupal/drupal's update script | 9.5.x | released | 1 | 0 |
| 3276601 | Color module removed from core | 10.0.x | released | 1 | 5 |
| 3304314 | Seven theme is deprecated | 9.5.x | released | 1 | 0 |
| 3310028 | Bartik theme is deprecated | 9.5.x | released | 2 | 0 |
| 3304352 | Bartik theme is removed from Drupal 10 | 10.0.x | released | 2 | 0 |
| 3347754 | \Drupal\Core\Asset\AssetResolverInterface::getCssAssets and ::getJsAssets now require a $language parameter | 10.1.x | released | 1 | 24 |
| 3301716 | CSS and JavaScript aggregation performance improvements | 10.1.x | released | 1 | 0 |
| 2888767 | Asset aggregation deprecations and additions, hook_js_alter()/hook_css_alter() changes | 10.1.X | released | 1 | 91 |
| 3293812 | Added a new 'add_js' Ajax command | 9.5.x | released | 2 | 1 |
| 3298661 | The public stream wrapper can no longer be used to access private files if the private files directory is inside the public files directory | 9.3.x | released | 0 | 0 |
| 3295096 | Drupal no longer 'replaces' composer namespaces for core modules | 9.4.x | released | 1 | 0 |
| 3270044 | The RDF module is no longer enabled by default in the 'Standard' profile | 9.5.x | released | 2 | 0 |
| 3267018 | rel="canonical" and rel="shortlink" links are no longer added as HTTP headers | 9.5.x | released | 1 | 0 |
| 3198285 | PluginHelper::isConfigurable() is deprecated | 10.1.x | released | 1 | 9 |
| 3227494 | Update timestamp database column from integer to bigint for the Y2K38 bug | 10.1.x | released | 1 | 0 |
| 2996399 | Ignore successive slashes in incoming URL paths (like Drupal 7) | 9.5.x | released | 1 | 0 |
| 3279359 | Download links removed from Available Updates report | 9.5.x | released | 1 | 0 |
| 3295154 | PHP 8.0 or higher is now recommended for Drupal 9.4 | 9.4.x | released | 1 | 0 |
| 3293205 | Fast 404s are now cacheable in page cache like any other 404 response | 9.5.x | released | 1 | 0 |
| 3327300 | \Drupal\Component\Assertion\Handle::register() removed from example.settings.local.php | 9.5.x | released | 1 | 0 |
| 3105918 | \Drupal\Component\Assertion\Handle is deprecated | 10.1.x | released | 2 | 0 |
| 3260849 | Connection::tablePrefix() is deprecated, use Connection::getPrefix() instead | 10.1.x | released | 1 | 37 |
| 3284600 | Adding support for _defaults key to the your_module.services.yml file | 9.5.x | released | 1 | 0 |
| 3292741 | Update skip_protocol_filtering to allow for ':' | 9.5.x | released | 1 | 0 |
| 3293540 | Plugin settings for disabled CKEditor 4 plugins are no longer saved to the editor configuration | 9.4.x | released | 1 | 0 |
| 3292687 | The library responsive_image.ajax has been deleted | 10.0.x | released | 1 | 0 |
| 3280410 | IE 11 Polyfills deprecated and emptied out | 10.0.x | released | 1 | 0 |
| 3295369 | The CKEditor 4 to 5 upgrade path no longer checks if a plugin is available before migrating its configuration | 9.4.x | released | 2 | 0 |
| 3292250 | Drupal.theme.mediaEmbedEditButton theme function moved out of the Media module, into the CKEditor (4) module | 9.5.x | released | 1 | 0 |
| 3295061 | Drupal::RECOMMENDED_PHP increased to PHP 8.1.6 | 9.5.x | released | 2 | 0 |
| 3294646 | Composer 2.2+ Authorized Plugins | 9.3.x | released | 2 | 0 |
| 3293745 | Drupal 10 requires composer 2.3.5 or higher | 10.0.x | released | 1 | 0 |
| 3260624 | Deprecate outdated composer vendor cleanup scripts | 9.5.x | released | 1 | 0 |
| 3285162 | Symfony 6.1 PHPUnitBridge ignoreFile option implemented | 10.0.x | released | 1 | 0 |
| 3269885 | Drupal core will warn if a mysql database is not using READ COMMITTED isolation level. | 9.5.x | released | 1 | 0 |
| 3271653 | Drupal\editor\Ajax\GetUntransformedTextCommand and Drupal\image\editor\InPlaceEditor\Editor are deprecated | 9.5.x | released | 1 | 0 |
| 3265518 | Drupal\layout_builder\QuickEditIntegration is deprecated | 9.4.x | released | 2 | 0 |
| 3285240 | The drupal/core-recommended package now allows patch-level updates | 9.4.x | released | 1 | 0 |
| 3283816 | Module Uninstall Validators are run during configuration import validation | 9.4.x | released | 1 | 0 |
| 3284432 | Syndicate block title reflected to output block title | 9.5.x | released | 1 | 0 |
| 3285017 | UC Browser (non webview version) is no longer supported | 10.0.x | released | 1 | 0 |
| 3284415 | Update code that implements \Psr\Log\LoggerInterface due to Psr/Log version 3 | 10.0.x | released | 1 | 42 |
| 3283526 | CKEditor 5 plugin definitions must explicitly indicate which tags they can create | 9.3.x | released | 1 | 0 |
| 3266120 | rel="alternate" links are no longer added as HTTP headers | 9.4.x | released | 1 | 0 |
| 3270424 | New methods on WebAssert and JsWebAssert for asserting status messages | 9.4.x | released | 1 | 0 |
| 3280366 | image/quickedit.inPlaceEditor.image library deprecated | 9.4.x | released | 1 | 0 |
| 3271848 | \Drupal\image\Controller\QuickEditImageController and \Drupal\image\Plugin\InPlaceEditor\Image are deprecated | 9.4.x | released | 1 | 0 |
| 3261451 | \Drupal::MINIMUM_SUPPORTED_PHP is deprecated in favor of a dynamic method | 9.4.x | released | 1 | 0 |
| 3282096 | Re-wording of initial installation welcome text | 9.4.x | released | 1 | 0 |
| 3260715 | The method Drupal\Core\Database\Connection::lastInsertId() is now part of the public Database API | 9.5.x | released | 1 | 17 |
| 3232491 | New function Token::replacePlain() | 9.4.x | released | 1 | 36 |
| 3276042 | Color module is deprecated | 9.4.x | released | 1 | 5 |
| 3268032 | Drupal 9 sites are able install Guzzle 6 or 7 | 9.4.x | released | 1 | 0 |
| 3273528 | Drupal minor version end-of-life dates updated for Drupal 9 | 9.4.x | released | 1 | 0 |
| 3280206 | CKEditor 5 alignment now available via toolbar dropdown only | 9.4.x | released | 1 | 0 |
| 3280750 | New permission: 'View update notifications' | 9.4.x | released | 1 | 0 |
| 3278195 | Entity range validator yields more accurate violation information | 10.0.x | released | 1 | 0 |
| 3277315 | Contextual JS API is now internal | 9.4.x | released | 1 | 0 |
| 3293156 | core/jquery.form library deprecated | 9.4.x | released | 1 | 0 |
| 3277381 | Modernizr touchevents test deprecated | 9.4.x | released | 1 | 0 |
| 3279939 | Some templates and associated code removed from starterkit | 9.4.x | released | 1 | 0 |
| 3278413 | yarn build:js and watch:js are deprecated | 9.4.x | released | 1 | 0 |
| 3282570 | Maintenance mode theme change for autoupdates | 9.4.x | released | 1 | 0 |
| 3279699 | \Drupal\system\Theme\DbUpdateNegotiator now requires the ThemeHandler | 9.4.x | released | 1 | 0 |
| 3276391 | Context argument added in code that extends from Symfony's Serializer component | 10.0.x | released | 1 | 6 |
| 3278325 | FilterInterface::getHtmlRestrictions() returning a "forbidden_tags" key is deprecated | 9.4.x | released | 2 | 0 |
| 3279884 | API for starterkit themes to post process generated theme | 9.4.x | released | 1 | 5 |
| 3275981 | Drupal.displace utility now adds CSS custom properties to root HTML element | 10.0.x | released | 1 | 0 |
| 3272679 | The Color module is no longer enabled by default in the 'Standard' profile | 9.4.x | released | 2 | 5 |
| 3258267 | core/drupal.date asset library and Drupal\Core\Render\Element\Date::processDate() are deprecated | 9.4.x | released | 1 | 7 |
| 3275490 | The drupal.editor.admin and drupal.filter.filter_html.admin libraries no longer depend on Underscore. | 9.4.x | released | 1 | 0 |
| 3272098 | Added UI for 'loading' html attribute to images | 9.4.x | released | 1 | 0 |
| 3110401 | Action migration source moved to system module | 9.4.x | released | 1 | 0 |
| 3260162 | Post update registry supports themes | 9.4.x | released | 2 | 4 |
| 3259199 | Themes support post update functions | 9.4.x | released | 2 | 529 |
| 3422597 | The Forum module is deprecated | 10.3.x | released | 1 | 3 |
| 3273118 | Underscore library is deprecated | 9.4.x | released | 1 | 0 |
| 3272267 | Block and layout plugins can now determine if they are being rendered in preview mode | 9.4.x | released | 1 | 1 |
| 3267461 | Aggregator is deprecated | 9.4.x | released | 1 | 1 |
| 3305000 | Laminas Feed depeendecy is removed | 10.0.x | released | 1 | 0 |
| 3304999 | Aggregator module is removed from core | 10.0.x | released | 1 | 1 |
| 3295262 | Preprocess callbacks can no longer receive $info by reference | 9.4.x | released | 2 | 0 |
| 3266641 | Allow PHP callables to be used as theme HOOK preprocess callbacks | 9.4.x | released | 1 | 151 |
| 3000490 | All hook invocation delegated to Module Handler service | 9.4.x | released | 1 | 124 |
| 3266437 | User form cancel button element changed to link element. | 9.4.x | released | 1 | 0 |
| 3271335 | ViewsJoin now uses the configuration 'operation' property | 9.4.x | released | 1 | 0 |
| 3262453 | JSON:API now supports version negotiation on all versionable entity types | 9.4.x | released | 1 | 0 |
| 3274803 | Responsive image style multiplier truly ordered numerically | 10.1.x | released | 1 | 0 |
| 3273823 | StorageCopyTrait compares config instead of deleting and re-creating all config | 9.4.x | released | 1 | 0 |
| 3269438 | CKEditor4To5UpgradePluginInterface::mapCKEditor4ToolbarButtonToCKEditor5ToolbarItem() was made more capable | 9.3.x | released | 1 | 1 |
| 3277275 | The 'core' key is completely ignored in .info.yml files. | 10.0.x | released | 1 | 420 |
| 3267857 | Composer 2 incompatibility fixed | 9.4.x | released | 1 | 0 |
| 3267954 | Installing with a PHP version lower than \Drupal::MINIMUM_SUPPORTED_PHP will now show an installation warning instead of an error | 9.4.x | released | 1 | 0 |
| 3268620 | ImageStyleStorageInterface now extends ConfigEntityStorageInterface | 9.4.x | released | 1 | 0 |
| 3259165 | New API for adding theme-specific styles in CKEditor 5 | 9.3.x | released | 1 | 68 |
| 3266403 | Hal module removed from core | 10.0.x | released | 1 | 7 |
| 3263629 | HAL is deprecated | 9.4.x | released | 1 | 7 |
| 3266230 | Added isObsolete() to Drupal\Core\Extension\Extension | 9.4.x | released | 2 | 7 |
| 3262942 | New requiresConfiguration CKEditor 5 plugin condition | 9.3.x | released | 1 | 0 |
| 3262421 | Warning about deprecated and obsolete themes on admin/appearance page | 9.4.x | released | 1 | 0 |
| 3264983 | Automatic discovery of CKEditor 5 plugin translations | 9.3.x | released | 1 | 0 |
| 3074377 | Display entity page title correctly using new template | 9.4.x | released | 1 | 18 |
| 3260060 | The constant Drupal\Core\Utility\Error::DEFAULT_ERROR_MESSAGE has been added to Drupal | 9.4.x | released | 1 | 29 |
| 3265357 | Drupal\Core\Http\RequestStack is deprecated | 10.0.x | released | 1 | 0 |
| 3265441 | Symfony updated to Symfony 6 | 10.0.x | released | 2 | 0 |
| 3264830 | Drupal 10 minimum PHP requirement raised to PHP 8.1 | 10.0.x | released | 1 | 0 |
| 2019303 | Update queries now consistently return the number of all rows matched by the query | 8.x | released | 1 | 0 |
| 3261680 | Installing a deprecated module or theme gives a deprecation notice | 9.4.x | released | 1 | 0 |
| 3264978 | New drupalModuleInstall nightwatch command | 9.3.x | released | 1 | 0 |
| 3264237 | Core updates prior to 9.4.0, 9.4.4 for CKEditor, have been removed | 10.0.x | released | 3 | 0 |
| 3257198 | Deprecated Connection::getUnprefixedTablesMap() and the class variables: $prefixes, $prefixSearch, $prefixReplace and $unprefixedTablesMap | 10.0.x | released | 1 | 1 |
| 3262811 | drupal_required_modules() has been deprecated | 9.4.x | released | 1 | 0 |
| 3262533 | drupal_find_theme_functions() is marked internal | 9.4.x | released | 1 | 1 |
| 3261358 | PHP 8.1 is recommended for Drupal 9.4 and 10 | 9.4.x | released | 1 | 0 |
| 3262039 | Stylelint 14 is used for CSS linting | 9.4.x | released | 1 | 0 |
| 3249384 | SubProcess plugin now throws a MigrateException | 9.4.x | released | 1 | 0 |
| 3252439 | Class \Drupal\Core\Security\PharExtensionInterceptor marked as internal and will be removed in Drupal 10.0.0. | 9.4.x | released | 2 | 0 |
| 3236639 | The Symfony constant "Symfony\Component\HttpKernel\HttpKernelInterface::MASTER_REQUEST" has been deprecated | 10.0.x | released | 1 | 0 |
| 3259113 | Drupal core will warn if a database does not support JSON | 9.4.x | released | 2 | 0 |
| 3258232 | The static analyzer tool PHPStan has been added to Drupal Core | 10.0.x | released | 2 | 0 |
| 3258656 | The feed.bridge.reader service is abandoned. | 9.4.x | released | 2 | 0 |
| 3258948 | Tour module element's z-index updated | 9.4.x | released | 1 | 0 |
| 3259527 | Drupal 10 was updated to Symfony 5.4 as a stepping stone to Symfony 6 | 10.0.x | released | 1 | 0 |
| 3258928 | Computed fields now bubble cacheability metadata to serializer | 9.3.x | released | 1 | 0 |
| 3258440 | The feed.bridge.writer service is deprecated | 9.4.x | released | 1 | 0 |
| 3236434 | The module listing page now indicates non-stable modules | 9.4.x | released | 1 | 123 |
| 3220952 | module_load_install() is deprecated | 9.4.x | released | 1 | 2 |
| 3257436 | The install.inc was removed from KernelTest and UpdatePathTest | 10.0.x | released | 1 | 0 |
| 3256641 | The function db_installer_object() has been deprecated | 10.0.x | released | 1 | 1 |
| 2948698 | module_load_include() is deprecated | 9.4.x | released | 2 | 66 |
| 3256890 | Twig updated from 2.x to 3.x | 10.0.x | released | 1 | 0 |
| 3256859 | \Drupal\Core\Validation\DrupalTranslator:transChoice() is deprecated | 9.4.x | released | 1 | 1 |
| 3256584 | guzzlehttp/psr7 is used instead of laminas/diactoros for PSR-17 compatibility | 10.0.x | released | 2 | 0 |
| 3247792 | LanguageManagerInterface::getLanguageSwitchLinks() now returns an object, or NULL if there are no links | 9.4.x | released | 1 | 0 |
| 3197679 | drupal_js_defaults() is deprecated | 9.4.x | released | 2 | 0 |
| 3255815 | getSiteMaintenanceMessage added to MaintenanceModeInterface | 9.4.x | released | 1 | 5 |
| 3255799 | Maintenance mode now triggers an event to allow custom behaviour | 9.4.x | released | 1 | 0 |
| 3247453 | Drupal jsonapi now serves a JSON:API response with Retry-After header when site is in maintenance mode | 9.4.x | released | 1 | 0 |
| 3129492 | Core provided database drivers moved to their own modules | 9.4.x | released | 1 | 1 |
| 3256326 | Drupal\serialization\Normalizer\NormalizerBase now implements CacheableSupportsMethodInterface to optimize selecting serializers and normalizers | 9.4.x | released | 1 | 0 |
| 3186526 | Added PHP 8 support to .htaccess files | 9.4.x | released | 1 | 0 |
| 3252836 | Views provide a relationship from the revision table to the main table for every revisionable entity | 9.4.x | released | 1 | 0 |
| 3254142 | Various type hints have been added for Symfony subclasses | 10.0.x | released | 14 | 0 |
| 3253062 | Drupal 10 minimum PHP requirement raised to PHP 8.0.0 | 10.0.x | released | 1 | 0 |
| 3243400 | JavaScript Array.includes() polyfill library added | 9.4.x | released | 1 | 0 |
| 3251987 | UserLoginForm constructor now takes bare_html_page_renderer service | 9.4.x | released | 1 | 1 |
| 3249290 | Custom assert* methods must have a 'void' return typehint | 9.3.x | released | 1 | 0 |
| 3249381 | Use of list() replaced with array destructuring | 9.3.x | released | 1 | 0 |
| 3249380 | Usage of isset() in ternary operations replaced with null-coalesce | 9.3.x | released | 1 | 0 |
| 3249061 | CKEditor 5 is a new experimental module | 9.3.x | released | 1 | 0 |
| 3246978 | Hook THEME_ENGINE_init() is deprecated | 9.3.x | released | 1 | 0 |
| 3239379 | The service "update.root" has been changed to return a service instead of a string. | 9.4.x | released | 1 | 0 |
| 3242775 | JavaScript String.includes() polyfill library added | 9.3.x | released | 1 | 0 |
| 3230199 | Config mappings are sorted the way they are defined in their schema | 9.3.x | released | 1 | 0 |
| 3245017 | Drupal\field_ui\Routing\FieldUiRouteEnhancer and the field_ui.route_enhancer service are deprecated | 9.4.x | released | 1 | 0 |
| 3242827 | New "Manage permissions" tab after "Manage display" | 9.4.x | released | 2 | 0 |
| 3214171 | NodeAccessControlHandler and MediaAccessControlHandler constructor adds a $entity_type_manager argument | 9.3.x | released | 1 | 0 |
| 3161210 | NodeRevisionAccessCheck and MediaRevisionAccessCheck are deprecated | 9.3.x | released | 1 | 1 |
| 3223520 | file_save_data, file_copy and file_move are deprecated and replaced with a service | 9.3.x | released | 1 | 235 |
| 3191609 | Introducing bundle classes | 9.3.x | released | 1 | 0 |
| 3142975 | Switch to entity owner in EntityContentBase during validation | 9.3.x | released | 1 | 17 |
| 3228541 | LayoutTempstoreParamConverter has been split into LayoutSectionStorageParamConverter and LayoutTempstoreRouteEnhancer | 9.3.x | released | 1 | 0 |
| 3252818 | Administer content types permission no longer allows content creation | 9.3.x | released | 1 | 0 |
| 2836069 | _node_add_access access check deprecated in favor of _entity_create_access/_entity_create_any_access | 9.3.x | released | 1 | 145 |
| 3243406 | JavaScript CustomEvent polyfill library added | 9.3.x | released | 1 | 0 |
| 3219548 | MenuLink migrate source plugin now supports menu_name configuration option | 9.3.x | released | 1 | 0 |
| 3239547 | _file_save_upload_single() deprecated and moved to a service | 9.3.x | released | 1 | 6 |
| 3243683 | The plugin context system now considers FALSE to be a valid value | 9.3.x | released | 1 | 0 |
| 3242221 | Configuration translation migrations require the translations destination property to be set to true | 9.3.x | released | 1 | 2 |
| 3243014 | \Drupal\Core\Cache\DatabaseCacheTagsChecksum::catchException() is deprecated | 9.3.x | released | 1 | 12 |
| 3240036 | oEmbed source plugin requires the Token service | 9.3.x | released | 1 | 6 |
| 3239948 | oEmbed source plugin expects a response object when determining the thumbnail file extension | 9.3.x | released | 1 | 0 |
| 3240446 | The methods Drupal\comment\CommentInterface::getThread(), Drupal\comment\CommentStorageInterface::getMaxThread() and Drupal\comment\CommentStorageInterface::getMaxThreadPerThread() will return NULL when there is noth | 9.3.x | released | 1 | 0 |
| 3239119 | Drupal.tabbingManager now allows trapping focus | 9.3.x | released | 1 | 0 |
| 3223123 | Permissions can be viewed and edited for one module or a list of modules | 9.3.x | released | 2 | 9 |
| 3236232 | Return type hints added to some class methods for Symfony 5.4/Symfony 6 compatibility | 9.3.x | released | 22 | 0 |
| 3232431 | Typed data plugins for entities can now provide their own ::createFromEntity method | 9.3.x | released | 1 | 28 |
| 3178837 | Drupal core is now using composer/semver version 3 | 9.1.x | released | 1 | 0 |
| 2939099 | render() replaced with Renderer service | 9.3.x | released | 1 | 826 |
| 3228833 | Revisions tab is always visible on nodes and media for users with access | 9.3.x | released | 1 | 0 |
| 3230171 | Cache tags and contexts are no longer always sorted | 9.3.x | released | 1 | 0 |
| 3228826 | All QuickEdit integration test code, including QuickEditImageEditorTestTrait, has been moved to the QuickEdit namespace | 9.3.x | released | 1 | 0 |
| 3229027 | Moved the 'Administrator role' setting to a new 'Role settings' form at admin/people/role-settings | 9.3.x | released | 1 | 0 |
| 3115716 | Controllers that accessed $_SESSION now take a Request parameter | 9.3.x | released | 1 | 4 |
| 3228686 | Drupal 10 platform requirements | 10.0.x | released | 4 | 0 |
| 3226497 | ESLint is now used to validate YAML | 9.3.x | released | 1 | 0 |
| 3227228 | _views_file_status() has been deprecated | 9.3.x | released | 1 | 0 |
| 3186186 | ProviderRepository now requires the keyvalue and logger.factory services | 9.3.x | released | 1 | 1 |
| 3227039 | The Quick Edit module is no longer enabled by default in the 'Standard' profile | 9.3.x | released | 2 | 0 |
| 3221993 | The field UID on the users table as been changed from integer to serial | 9.3.x | released | 1 | 0 |
| 3022147 | FILE_STATUS_PERMANENT is deprecated | 9.3.x | released | 1 | 89 |
| 3225999 | The function system_sort_modules_by_info_name() is deprecated. | 9.3.x | released | 1 | 1 |
| 3043840 | Field template respects configurable field display | 9.3.x | released | 1 | 1 |
| 3226257 | The package doctrine/reflection is no longer used by Drupal core. | 9.3.x | released | 2 | 1 |
| 3197544 | Use package.json to manage third-party JavaScript libraries | 9.3.x | released | 1 | 0 |
| 3225885 | Media Library will pass its current state to hook_ENTITY_TYPE_create_access() | 9.3.x | released | 1 | 0 |
| 3225733 | fabpot/goutte and behat/mink-goutte-driver removed as core dependencies | 9.3.x | released | 1 | 0 |
| 3222362 | JSON:API resource types can now be renamed programmatically | 9.3.x | released | 1 | 0 |
| 3223594 | oEmbed services require a cache backend | 9.3.x | released | 1 | 3 |
| 3225613 | Added support for oEmbed resources that don't have an explicit height | 9.3.x | released | 1 | 0 |
| 3225357 | ConfigManagerInterface::findConfigEntityDependents and ConfigManagerInterface::findConfigEntityDependentsAsEntities are now ConfigManagerInterface::findConfigEntityDependencies and ConfigManagerInterface::findConfigEntityDependenciesAsEntities | 9.3.x | released | 1 | 22 |
| 3223749 | GuzzleMiddlewarePass compiler pass has been removed | 9.3.x | released | 1 | 0 |
| 3223091 | The function file_build_uri() has been deprecated. | 9.3.x | released | 1 | 0 |
| 2940438 | drupal_get_path() and drupal_get_filename() have been deprecated in favor of extension listing services | 9.3.x | released | 1 | 1237 |
| 3039439 | Resetting BookManager internal cache with drupal_static_reset() is deprecated | 9.3.x | released | 1 | 0 |
| 3037203 | Calling drupal_static_reset() with node_mark as argument is deprecated | 9.3.x | released | 1 | 0 |
| 3223515 | Links to files and images now use relative URLs by default | 9.3.x | released | 1 | 0 |
| 2940031 | Functions file_create_url() and file_url_transform_relative() are deprecated | 9.3.x | released | 2 | 45 |
| 3193348 | Permissions must exist | 9.3.x | released | 1 | 0 |
| 3055548 | Permissions can define dependencies | 9.3.x | released | 1 | 27 |
| 2983299 | Node type condition plugin deprecated by generic entity bundle condition | 9.3.x | released | 1 | 0 |
| 3222564 | views_form_callback is no longer supported | 9.3.x | released | 1 | 0 |
| 3221870 | Term views argument validator is deprecated | 9.3.x | released | 1 | 0 |
| 3039041 | Several procedural functions from the Taxonomy module have been deprecated in favor of direct use of the Entity API | 9.3.x | released | 1 | 1 |
| 3221100 | JavaScript errors thrown in FunctionalJavascript tests are now caught | 9.3.x | released | 1 | 0 |
| 3027453 | menu_list_system_menus() and menu_ui_get_menus() are deprecated | 9.3.x | released | 2 | 0 |
| 3221349 | Update module no longer depends on File module | 9.3.x | released | 1 | 0 |
| 3218156 | Services can be autowired | 9.3.x | released | 1 | 1 |
| 3221155 | Eslint rules added to limit new jQuery usage for future compatibility | 9.3.x | released | 1 | 0 |
| 3217966 | #date_time_callbacks and #date_date_callbacks must implement TrustedCallbackInterface | 9.3.x | released | 2 | 0 |
| 3218874 | PHPUnit at() matcher is deprecated | 9.3.x | released | 1 | 0 |
| 3195121 | LayoutBuilderContextTrait::getAvailableContexts() is deprecated in favor of LayoutBuilderContextTrait::getPopulatedContexts() | 9.3.x | released | 1 | 0 |
| 3169366 | Views exposed sort identifiers can be configured | 9.3.x | released | 1 | 0 |
| 3027559 | Creating menu for page view does not require menu_ui enabled | 9.3.x | released | 1 | 0 |
| 3220042 | rel="shortcut icon" is now rel="icon" | 9.3.x | released | 1 | 0 |
| 2444417 | New UpdateHookRegistry replaces functions in schema.inc | 9.3.x | released | 2 | 1 |
| 3091432 | SectionStorageTrait is deprecated in favor of SectionListTrait | 9.3.x | released | 1 | 6 |
| 3221663 | Block plugin forms can no longer access 'block_theme' from form state | 9.3.x | released | 1 | 0 |
| 3218910 | JSON:API:`target_id`of entity references now available as 'meta.drupal_internal__target_id' in resource relations | 9.3.x | released | 1 | 0 |
| 3215042 | Info files can now contain 'lifecycle' and 'lifecycle_link' keys to convey the stability of a module/theme | 9.3.x | released | 2 | 123 |
| 3218372 | \Drupal\content_moderation\Plugin\Derivative\DynamicLocalTasks now requires the Router | 9.3.x | released | 1 | 0 |
| 3215411 | Test trait AssertButtonsTrait deprecated | 9.3.x | released | 1 | 0 |
| 3143489 | Fieldset elements now respect the #description_display option | 9.3.x | released | 1 | 0 |
| 3216941 | Drupal-specific <link> tags have been removed from nodes and taxonomy term pages | 9.3.x | released | 1 | 0 |
| 3217671 | Incorrect Opera Mini (extreme data savings mode) support declaration removed | 9.3.x | released | 1 | 0 |
| 3217978 | text_summary now correctly adds missing closing tags when filter_html is enabled | 9.3.x | released | 1 | 0 |
| 3217694 | Drupal uses Symfony's PHPUnit-Bridge polyfills for forward compatibility | 9.2.x | released | 1 | 0 |
| 3253744 | Forward compatibility shim added for Symfony 5 RequestStack | 9.3.x | released | 2 | 0 |
| 3214907 | PostgreSQL requires that the pg_trgm extension is installed and created | 10.0.x | released | 2 | 0 |
| 3204096 | TipPluginInterface getOutput and getAttributes methods deprecated | 9.2.x | released | 1 | 1 |
| 3204093 | Tour schema properties 'location' and 'attributes' deprecated | 9.2.x | released | 1 | 0 |
| 3195234 | Joyride library deprecated | 9.2.x | released | 1 | 0 |
| 3186368 | Accessing public properties in Statement* classes is deprecated | 9.3.x | released | 1 | 0 |
| 3185520 | Introduced a Connection::lastInsertId method, deprecating the 'return' query option and the Database::RETURN_* constants | 9.4.x | released | 2 | 19 |
| 3232618 | Source counts can be cached by using doCount() | 9.3.x | released | 2 | 17 |
| 3212750 | The method Symfony\Component\HttpKernel\Event\KernelEvent::isMasterRequest() is deprecated | 9.2.x | released | 1 | 0 |
| 3213197 | Permissions-Policy header is added by default to disable a method of browser-based user tracking | 9.2.x | released | 1 | 0 |
| 3213807 | $route_match parameter added to \Drupal\Core\Theme\ThemeManagerInterface::getActiveTheme(): | 9.3.x | released | 1 | 369 |
| 3206473 | Highly critical service advisories are now displayed to administrators | 9.2.x | released | 1 | 0 |
| 2942013 | Node revision routes upcast the {node} and {node_revision} parameters | 9.3.x | released | 1 | 1 |
| 3211781 | Connection::queryTemporary() is deprecated | 9.3.x | released | 1 | 4 |
| 3205079 | The Callback process plugin now handles callbacks with multiple arguments | 9.2.x | released | 1 | 6 |
| 3208135 | targetEntityType constant removed from Drupal\node\Plugin\migrate\source\d6\ViewMode source plugin | 9.2.x | released | 1 | 0 |
| 3201187 | The 'throw_exception' option in the Database API is deprecated | 9.2.x | released | 1 | 0 |
| 3203837 | Core libraries no longer using query UI position-min.js, now use drupal.jquery.position | 9.2.x | released | 2 | 0 |
| 3211146 | JavaScript element.closest() polyfill library added | 9.2.x | released | 1 | 0 |
| 3211042 | Introduced WebAssert::elementTextEquals() method | 9.1.x | released | 1 | 0 |
| 3210925 | update_set_schema() deprecated | 9.2.x | released | 1 | 0 |
| 3210756 | Protection against multiple statements also covers Connection::prepareStatement() | 9.2.x | released | 1 | 0 |
| 3160602 | Added taxonomy term route context provider service | 9.2.x | released | 1 | 0 |
| 3210506 | The service "search.index" is now backend_overridable | 9.2.x | released | 1 | 0 |
| 3210511 | The service "cache_tags.invalidator.checksum" and the service "cache.backend.database" are now backend_overridable | 9.2.x | released | 1 | 0 |
| 3209701 | Unsupported behat/mink-browserkit-driver replaced with friends-of-behat/mink-browserkit-driver | 9.2.x | released | 1 | 0 |
| 2970993 | Module schema management functions from schema.inc are deprecated | 9.2.x | released | 2 | 7 |
| 3201242 | Access checking must be explicitly specified on content entity queries | 9.2.x | released | 1 | 1434 |
| 3201283 | Drupal\Core\Database\StatementEmpty is deprecated | 9.2.x | released | 1 | 0 |
| 3206389 | New starterkit theme generator | 9.3.x | released | 1 | 0 |
| 3154016 | Views cache plugin Time constructor no longer require request argument | 9.2.x | released | 1 | 0 |
| 3204546 | New FocusFirstCommand for assigning focus via an Ajax response without a jQuery dependency | 9.2.x | released | 1 | 11 |
| 3070293 | New permission to view user email | 9.2.x | released | 1 | 3 |
| 3114725 | YAML configuration exports will now use multiline syntax | 9.2.x | released | 1 | 0 |
| 3213138 | Forward compatibility layer for Symfony's InputBag | 9.2.x | released | 2 | 1 |
| 3159731 | JavaScript Element.matches polyfill library added | 9.2.x | released | 1 | 0 |
| 3158256 | Remove jQuery dependency from the once feature | 9.2.x | released | 4 | 0 |
| 3196522 | JavaScript CSS.escape polyfill library added | 9.2.x | released | 1 | 0 |
| 3186532 | Tabbable JavaScript library added to replace jQuery UI tabbable | 9.2.x | released | 2 | 0 |
| 3183730 | jQuery :tabbable selector deprecated | 9.2.x | released | 2 | 0 |
| 3199540 | Drupal core is dropping support for Internet Explorer 11 in Drupal 10 | 10.0.x | released | 1 | 0 |
| 3187222 | New ExceptionHandler class in the database API, Connection::handleQueryException is deprecated | 9.2.x | released | 1 | 1 |
| 3200557 | The WorkspaceManager::$blacklist property has been renamed | 9.2.x | released | 1 | 0 |
| 3194594 | PagerSelectExtender::getElement() allows consuming code to know the pager id used by a query | 9.2.x | released | 1 | 62 |
| 3032541 | New event for sanitizing filenames | 9.2.x | released | 1 | 18 |
| 3192582 | New functions for making links in Help Topics | 9.2.x | released | 1 | 0 |
| 3194641 | _jsonapi_relationship_field_access check is deprecated. | 9.2.x | released | 1 | 0 |
| 3196810 | README.txt converted to Markdown | 9.2.x | released | 1 | 0 |
| 3197514 | Usage of ::verbose() in tests is deprecated | 9.2.x | released | 3 | 0 |
| 3192283 | Added the global function dump() to Unit-, Kernel- and BrowserTests and deprecate the global function debug() | 9.2.x | released | 2 | 29 |
| 3197220 | Added a new parameter 'start' to the method Drupal\Core\Database\Log::log() | 9.2.x | released | 1 | 0 |
| 3133150 | Add optional parameters to StatementInterface::fetchObject() as used in one implementation | 9.1.x | released | 1 | 1 |
| 3197281 | New comment_type migration source | 9.1.x | released | 1 | 0 |
| 3171135 | GDToolkit now supports WebP | 9.2.x | released | 1 | 0 |
| 3189751 | MachineName migrate process plugin reqular expression is configurable | 9.2.x | released | 1 | 0 |
| 3183338 | Layout plugins are now context-aware | 9.2.x | released | 1 | 30 |
| 3195579 | The constant Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_ALL is deprecated. | 9.2.x | released | 1 | 0 |
| 3194517 | Manually created services must specify public or private | 9.2.x | released | 1 | 0 |
| 3180875 | Allow file extensions containing underscores | 9.2.x | released | 1 | 0 |
| 3112213 | Vendor hardening plugin now cleans composer/installers packages | 9.2.x | released | 1 | 0 |
| 3193296 | New static method Drupal\Core\Database\Log::removeDatabaseEntries() | 9.2.x | released | 1 | 0 |
| 3192484 | All databases must support JSON functionality | 10.0.x | released | 1 | 0 |
| 3194107 | Change of behavior for file uploads involving insecure file formats being renamed to .txt files | 9.2.x | released | 1 | 0 |
| 3193299 | $context removed from hook_entity_view_mode_alter() | 10.0.x | released | 2 | 26 |
| 3151365 | Private path on the Upgrade Credential form no longer uses the public path | 9.2.x | released | 1 | 0 |
| 3189884 | New hook_entity_form_mode_alter() added | 9.2.x | released | 1 | 4 |
| 3190568 | New methods on the class Drupal\Core\Database\Connection: getProvider() and enableModuleProvidingDatabaseDriver() | 9.2.x | released | 1 | 2 |
| 3180429 | Streamline field widget hooks | 9.2.x | released | 1 | 161 |
| 3189618 | Password reset form no longer reveals if the username or email address is a valid account | 9.2.x | released | 1 | 0 |
| 3189310 | UserPasswordForm constructor now takes typed data manager and email validator services | 9.2.x | released | 1 | 1 |
| 3192478 | Contrib database driver can now override query extenders | 9.2.x | released | 1 | 0 |
| 3191991 | Migration source plugins derived from DrupalSqlBase can declare a minimum schema version | 9.2.x | released | 1 | 0 |
| 3190792 | EntityFieldManager and EntityLastInstalledSchemaRepository both have an extra construction parameter | 9.2.x | released | 1 | 0 |
| 3080612 | app.root and site.path services have been converted to container parameters | 9.0.x | released | 1 | 0 |
| 3129456 | Extensions can no longer define a 'major' value in their .info.yml files | 9.2.x | released | 1 | 0 |
| 3185278 | Committer checks added to DrupalCI tests for Drupal Core | 9.2.x | released | 1 | 0 |
| 3189589 | Default display in Views is now named "Default" | 9.2.x | released | 1 | 0 |
| 3178412 | The \Drupal\node\Plugin\views\argument\Vid constructor parameter $database is deprecated | 9.2.x | released | 1 | 0 |
| 3188960 | Drupal core now catches TransferException instead of RequestException when handling errors from Guzzle requests | 9.2.x | released | 1 | 38 |
| 3155569 | New 'bundle' property for the entity:* route parameters. The '_entity_bundles' route requirement is deprecated | 9.2.x | released | 1 | 0 |
| 2950598 | The exception object is now part of the context passed to logger implementations | 9.2.x | released | 1 | 0 |
| 3134147 | Several book services now require the Language manager | 9.2.x | released | 1 | 1 |
| 3184178 | The `releaseItem()` and `delayItem()` of `Drupal\Core\Queue\DatabaseQueue` now returns `TRUE` instead of `1` | 9.1.x | released | 1 | 1 |
| 3187082 | The $langcode argument to _user_mail_notify() is deprecated | 9.2.x | released | 1 | 46 |
| 3186502 | Usage of \Drupal\views\Plugin\views\style\StylePluginBase::wizardForm() deprecated | 9.2.x | released | 1 | 0 |
| 3154439 | Passing a StatementInterface object to Connection::query() is deprecated | 9.2.x | released | 1 | 476 |
| 3186830 | Drupal core Composer project templates now explicitly depend on the current minor branch | 9.1.x | released | 1 | 0 |
| 3177235 | Deprecated GoutteDriver replaced with BrowserKitDriver | 9.2.x | released | 1 | 0 |
| 3182378 | Implement a PagerManagerInterface::findPage() method | 9.2.x | released | 1 | 31 |
| 3179315 | New dependencies for \Drupal\update\UpdateFetcher and \Drupal\update\Controller\UpdateController | 9.1.x | released | 1 | 2 |
| 3151229 | The core/bootstrap.inc file is included by Composer's autoloader | 9.1.x | released | 1 | 0 |
| 3173795 | Use \Drupal\Component\Utility\Reflection::getParameterClassName() instead of \ReflectionParamter::getClass() | 9.1.x | released | 1 | 0 |
| 3178987 | "Node from URL" context provides a value on node revision and preview pages | 9.1.x | released | 1 | 0 |
| 3102997 | IE Conditional Comment support is deprecated | 9.1.x | released | 1 | 0 |
| 3115780 | User password field is removed from Views | 9.1.x | released | 1 | 0 |
| 3177488 | \Drupal\Core\Database\Connection::$statementClass is deprecated; use the new DB API StatementWrapper class instead | 9.1.x | released | 1 | 0 |
| 3118908 | Optional configuration from modules is installed before the install profile | 9.0.x | released | 1 | 26 |
| 3120980 | Deprecate passing context values to plugins through configuration and remove ContextAwarePluginBase (component & core) in favor of a new trait | 9.1.x | released | 1 | 30 |
| 3174472 | Drupal Project templates no longer use minimum-stability "dev" | 9.1.x | released | 1 | 0 |
| 3176383 | JavaScript NodeList.forEach polyfill library added | 9.1.x | released | 1 | 0 |
| 3176667 | Using the @expectedDeprecation annotations in tests is deprecated | 9.1.x | released | 1 | 1 |
| 3176567 | Updated to PHPUnit 9 | 9.1.x | released | 1 | 158 |
| 3159977 | Update easyrdf/easyrdf library to 1.0.0 | 9.1.x | released | 1 | 0 |
| 3087114 | Added Drupal\Component\FrontMatter | 9.1.x | released | 1 | 0 |
| 3159286 | Content creators with appropriate permissions can create and edit unpublished book pages and outlines | 9.1.x | released | 1 | 0 |
| 3173719 | Enabled native lazy-load by default for images | 9.1.x | released | 1 | 0 |
| 3136304 | UnitTestCase::assertArrayEquals has been deprecated | 9.1.x | released | 1 | 0 |
| 3160593 | The object returned by Drupal.evaluatePasswordStrength now returns a messageTips property, which will replace message | 9.1.x | released | 1 | 0 |
| 3152101 | Password confirm widget is now using data-drupal-selector | 9.1.x | released | 1 | 0 |
| 3130352 | New JavaScript theme functions to customize password confirm widget | 9.1.x | released | 1 | 0 |
| 3174294 | The "variable" migrate source plugin has a new "variables_no_row_if_missing" configuration | 9.1.x | released | 2 | 0 |
| 3170814 | MigrationPluginManager::createInstancesByTag will now return an empty array when there are no migrations with the provided tags | 9.1.x | released | 1 | 0 |
| 3168858 | drupalPostForm() in functional tests is deprecated | 9.1.x | released | 5 | 0 |
| 3133341 | The "Symfony\Component\HttpFoundation\File\MimeType\MimeTypeGuesser, FileBinaryMimeTypeGuesser, FileinfoMimeTypeGuesser" classes are deprecated | 9.0.x | released | 1 | 6 |
| 3126004 | MimeTypeGuesser::guess() is deprecated | 9.1.0 | released | 1 | 5 |
| 3170152 | AssertLegacyTrait::assertRaw and ::assertNoRaw now raise a deprecation error when too many arguments are passed in | 9.1.x | released | 1 | 0 |
| 3169717 | media_oembed_iframe theme hook now receives the Resource object | 9.1.x | released | 1 | 0 |
| 3168678 | New WebAssert::pageTextMatchesCount method for testing | 9.1.x | released | 1 | 0 |
| 3129881 | Allow deprecating config schemas | 9.1.x | released | 1 | 3 |
| 3127239 | New DelayedRequeueException facilitates delaying the processing of a single queue item without suspending the entire queue or encountering infinite loops | 9.1.x | released | 1 | 16 |
| 3161073 | Tabledrag handles are now rendered by a theme function | 9.1.x | released | 1 | 0 |
| 3163310 | New Drupal\jsonapi\CacheableResourceResponse; Drupal\jsonapi\ResourceResponse no longer implements CacheableResponseInterface | 9.1.x | released | 1 | 3 |
| 3162537 | Calls to WebAssert methods do not allow more arguments than those in the signature | 9.1.x | released | 1 | 0 |
| 3163148 | The 'sanitize_input_whitelist' site setting has been renamed to 'sanitize_input_safe_keys' | 9.1.x | released | 1 | 0 |
| 3135433 | Exclude user register, login, logout, and password pages from search results in robots.txt | 9.1.x | released | 1 | 0 |
| 3162428 | The PostCSS build process automatically inlines SVG background images | 9.1.x | released | 1 | 0 |
| 3163142 | Title attribute removed from site-name link in SystemBrandingBlock | 9.1.x | released | 1 | 0 |
| 3159537 | Migrate NodeReference Drupal 6 field plugin moved to \Drupal\migrate_drupal\Plugin\migrate\field\d6\NodeReference | 9.1.x | released | 1 | 0 |
| 3168383 | Drupal\Tests\BrowserTestBase::drupalGetHeader() method is deprecated | 9.2.x | released | 3 | 0 |
| 3153113 | user_password() is deprecated and is moved to a password generator service | 9.1.x | released | 1 | 4 |
| 3161901 | Drupal\Tests\Traits\ExpectDeprecationTrait is deprecated | 9.1.x | released | 1 | 0 |
| 3162663 | \Drupal\Component\Utility\Bytes::toInt() is deprecated in favor of \Drupal\Component\Utility\Bytes::toNumber() | 9.1.x | released | 1 | 50 |
| 3162897 | "twig_sandbox_whitelisted_*" settings renamed and Drupal\Core\Template\TwigSandboxPolicy protected array members renamed to remove "whitelist" | 9.1.x | released | 1 | 0 |
| 3163231 | File size attribute no longer set for file entity links | 9.1.x | released | 1 | 0 |
| 3131432 | update_delete_file_if_stale() now returns a boolean value | 9.1.x | released | 1 | 0 |
| 3164002 | MySql driver now throws IntegrityConstraintViolationException at insertion when column has no default and no value specified | 9.1.x | released | 1 | 0 |
| 2899047 | Core libraries license links now link to the license file directly | 9.1.x | released | 1 | 0 |
| 3163766 | Core settings keys can be deprecated | 9.1.x | released | 1 | 0 |
| 3152322 | The Drupal\Core\Utility\Error::$blacklistFunctions protected member is now called $ignoredFunctions | 9.1.x | released | 1 | 0 |
| 3126810 | Deprecate support for database drivers placed in DRUPAL_ROOT/drivers | 9.1.x | released | 1 | 0 |
| 3161831 | ckeditor_stylesheets can now refer to a Drupal root URL | 9.1.x | released | 1 | 0 |
| 2957624 | Added TableMappingInterface::getAllFieldTableNames() | 9.1.x | released | 1 | 16 |
| 3162546 | A more specific exception is being thrown from \Drupal\Core\Config\FileStorageFactory::getSync() when the config sync directory does not exists | 9.1.x | released | 1 | 3 |
| 3160696 | New getRequirements() method on MigrationInterface | 9.1.x | released | 1 | 2 |
| 3162143 | Drupal\Core\Extension\Discovery\RecursiveExtensionFilterIterator protected array members have been renamed to remove "whitelist" and "blacklist" | 9.1.x | released | 1 | 0 |
| 3159706 | \Drupal\Core\Routing\RouteCompiler expectes a Route object that has never been injected. | 9.1.x | released | 1 | 0 |
| 3157433 | Changes to phpunit.xml for deprecation testing | 9.1.x | released | 1 | 0 |
| 3151292 | X-Drupal-Cache-Max-Age header | 9.1.x | released | 1 | 0 |
| 3160782 | Tabledrag's show/hide weights button is now rendered by theme functions | 9.1.x | released | 1 | 0 |
| 3160587 | New Event for preparing a LayoutBuilder element | 9.1.x | released | 1 | 2 |
| 3152690 | Service change/deprecation for LayoutBuilder element | 9.1.x | released | 1 | 5 |
| 3078162 | Search text process has been moved to a service | 9.1.x | released | 1 | 0 |
| 3159762 | HtmlRenderer constructor adds a $theme_manager argument | 9.1.x | released | 1 | 4 |
| 3159506 | ViewEditForm constructor adds a $theme_manager argument | 9.1.x | released | 1 | 0 |
| 3122435 | Added installer paths for profiles to Drupal Composer project templates | 9.1.x | released | 1 | 0 |
| 3158440 | \Drupal\Core\Installer\Form\SiteConfigureForm no longer uses the state service | 9.1.x | released | 1 | 1 |
| 3269272 | .htaccess rewrite conditions and rules consistently escape the dot (.) character | 9.1.x | released | 1 | 0 |
| 2984152 | Exposed numeric/date views filters with multiple elements now have a wrapper, update form structure | 9.1.x | released | 1 | 0 |
| 3139371 | The backend overridable service discovery now also checks the database type for an overridden service | 9.1.x | released | 1 | 0 |
| 3158723 | BlockInterface type hint added to BlockViewBuilder::buildPreRenderableBlock | 9.1.x | released | 1 | 0 |
| 2975283 | New "translate editable entities" permission | 9.1.x | released | 1 | 0 |
| 3159012 | Symfony Event class deprecated, EventDispatcher::dispatch() argument order changed | 9.1.x | released | 4 | 293 |
| 3154407 | Signature of EventDispatcherInterface::dispatch() has changed | 9.1.x | released | 1 | 368 |
| 3142866 | \Drupal\Core\Database\Connection::destroy() has been replaced by __destruct() | 9.1.x | released | 1 | 0 |
| 3152106 | The pageContainsNoDuplicateId assert was added to WebAssert | 9.1.x | released | 1 | 0 |
| 3035573 | ToolkitTestBase is deprecated. New ToolkitTestTrait to provide reusable code | 9.1.x | released | 1 | 0 |
| 3100801 | New isModeratedEntity method added to moderation entity handlers | 9.1.x | released | 1 | 0 |
| 3150727 | update_check_incompatibility() deprecated | 9.1.x | released | 1 | 0 |
| 3152420 | YAML format in default.services.yml may need updating | 9.1.x | released | 1 | 0 |
| 3151009 | Usage of symfony-cmf/routing dependency deprecated | 9.1.x | released | 1 | 0 |
| 3122084 | Drupal core now using cspell for code spell checking | 9.1.x | released | 1 | 0 |
| 2909361 | Global PHP-related constants in core/includes/bootstrap.inc are deprecated | 9.1.x | released | 1 | 5 |
| 3191344 | ContentEntity migration source has option to include revision ID as a source key | 9.1.x | released | 2 | 0 |
| 3137786 | Connection::prepareQuery() and Connection::prepare() are deprecated | 9.1.x | released | 1 | 133 |
| 3067148 | New user.flood_control service provides better logging and events for modules to interact with | 9.1.x | released | 1 | 0 |
| 3144379 | Added symfony/polyfill-php80 | 9.0.x | released | 1 | 0 |
| 3087853 | Search plugins can specify results should be in admin theme | 9.1.x | released | 1 | 0 |
| 3139364 | New public method Drupal\views\Plugin\views\query\Sql::getConnection() | 9.1.x | released | 1 | 7 |
| 3143707 | update_replace_permissions() removed without replacement | 9.1.x | released | 1 | 0 |
| 3129738 | Simpletest's legacy assertion methods are deprecated | 9.1.x | released | 3 | 0 |
| 3136769 | migrate_drupal_ui ReviewForm constructor adds a $module_handler argument | 9.1.x | released | 1 | 0 |
| 3136363 | Database version requirements are checked during updates and on the status report | 9.0.x | released | 1 | 0 |
| 3130551 | Drupal\Core\Update\UpdateKernel::fixSerializedExtensionObjects() removed | 9.0.x | released | 1 | 0 |
| 3132773 | LanguageNegotiationBrowser now explicitly depends on the 'page_cache_kill_switch' policy | 9.1.x | released | 2 | 0 |
| 3133054 | Custom and contributed database drivers no longer need to implement all database classes | 9.0.x | released | 1 | 2 |
| 3125498 | Cache::merge* functions accept more arguments | 9.1.x | released | 1 | 358 |
| 3127769 | \Drupal\Core\Database\Database::getDatabaseDriverNamespace() is removed | 9.0.x | released | 1 | 0 |
| 3114724 | Overridden test methods require void return type hints | 9.0.x | released | 1 | 2864 |
| 3119495 | Drupal core themes no longer extend Stable | 9.0.x | released | 1 | 0 |
| 3104677 | jquery.cookie replaced with js-cookie | 9.0.x | released | 2 | 0 |
| 3119415 | info.yml files no longer accept 'core: 9.x' | 9.0.x | released | 1 | 0 |
| 3053689 | Menu links can be buttons | 9.0.x | released | 1 | 0 |
| 2986894 | All identifiers should be quoted in database queries | 9.0.x | released | 3 | 0 |
| 3159568 | Creating an instance of the class Drupal\Core\Database\Query\Condition with the new keyword is deprecated and an API addition with the method Drupal\Core\Database\Query\Query::getConnection() | 9.1.x | released | 2 | 71 |
| 3119204 | Drupal now uses PSR-17 compliant message factories to create PSR-7 Requests and Responses. | 9.0.x | released | 1 | 0 |
| 3116655 | Normalize.css updated to 8.0.1 | 9.0.x | released | 1 | 0 |
| 2847322 | PostgreSQL version requirements raised to 10.0 | 9.0.x | released | 2 | 0 |
| 3118718 | Apache 2.4.7 or higher required | 9.0.x | released | 1 | 0 |
| 3119118 | SQLite version requirements raised to 3.26 | 9.0.x | released | 1 | 0 |
| 3119156 | MySQL version requirement raised to to 5.7.8, MariaDB to 10.3.7 | 9.0.x | released | 2 | 0 |
| 3116386 | Trait DeprecatedModulesTestTrait removed | 9.0.x | released | 1 | 0 |
| 3116384 | Only Composer's classloader is used | 9.0.x | released | 1 | 0 |
| 3116297 | Symfony's WinCache class loader is no longer included in core | 9.0.x | released | 1 | 0 |
| 3115102 | JavaScript ES6-promise library added | 9.0.x | released | 1 | 0 |
| 3113447 | JavaScript Object.assign polyfill library added | 9.0.x | released | 1 | 0 |
| 3113446 | JavaScript Array.find polyfill library added | 9.0.x | released | 1 | 0 |
| 3112670 | Popper.js updated to version 2.0.6 | 9.0.x | released | 1 | 0 |
| 3387233 | Several classes now require the datetime.time service as a constructor parameter | 10.3.x | released | 2 | 14 |
| 3113653 | Updated to PHPUnit 8 | 9.0.x | released | 5 | 0 |
| 3112907 | Simpletest module moved to a contributed module | 9.0.x | released | 3 | 0 |
| 3111612 | Make the Connection parameter the first parameter in the Select query builder | 9.0.x | released | 1 | 1 |
| 3107179 | New "Stable 9" theme added for backwards-compatible markup and assets | 9.0.x | released | 2 | 0 |
| 3117956 | Some Doctrine dependencies have been removed | 9.0.x | released | 1 | 0 |
| 3098327 | Upgrade paths for Drupal 8 site from before Drupal 8.8.0 have been removed from Drupal 9 | 9.0.x | released | 3 | 0 |
| 3103178 | Drupal core themes no longer extend Classy | 9.0.x | released | 3 | 0 |
| 3123638 | AssertHelperTrait::castSafeStrings is no longer required | 9.1.x | released | 3 | 3 |
| 3116334 | Changes to update-version.html.twig for displaying core compatibility on Available updates report unreviewed | 9.0.x, 8.8.x | released | 2 | 0 |
| 3267323 | Unfork jQuery UI source from core | 9.4.x | released | 2 | 0 |
| 3089526 | jQuery UI source added to Drupal core and deprecated code removed | 9.0.x | released | 1 | 0 |
| 3096454 | Deprecated twig_without() function has been removed. | 9.0.x | released | 1 | 0 |
| 2955931 | easyrdf/easyrdf is moved to require-dev for Drupal core | 9.0.x | released | 1 | 0 |
| 3098322 | Database dump for upgrade path has been updated | 9.0.0 | released | 2 | 0 |
| 3095199 | Twig updated from 1.x to 2.x in Drupal 9 | 9.0.x | released | 2 | 0 |
| 3089508 | Deprecated polyfills (html5shiv, matchMedia, domready, classList) are removed in Drupal 9 | 9.0.x | released | 5 | 0 |
| 3088712 | Drupal 9 now requires Symfony 4.4 | 9.0.x | released | 3 | 0 |
| 3156376 | jQuery UI library definitions have been deprecated | 9.2.x | released | 3 | 0 |
| 3089166 | Drupal 9.0.x-dev now requires PHP 7.3 | 9.0.x | released | 3 | 0 |
| 3219051 | Migrate process plugin UrlAliasLanguage is deprecated | 9.3.x | released | 2 | 0 |
| 3155460 | Drupal\BuildTests\Framework\DrupalMinkClient has been removed | 9.1.x | released | 2 | 0 |
| 2853355 | ConfigurableTrait and ConfigurablePluginBase available to reduce plugin boilerplate | 11.3.x | released | 1 | 1 |
| 3189758 | \Drupal\Core\Session\SessionManager::migrateStoredSession() is removed | 9.2.x | released | 1 | 0 |
| 3187914 | MetadataBag::clearCsrfTokenSeed replaced by stampNew | 9.2.x | released | 1 | 4 |
| 3006306 | Drupal uses PHP session ID generation | 9.2.x | released | 1 | 0 |
| 3006268 | SharedTempStore and SharedTempStoreFactory have new dependencies and generate the owner ID for anonymous users themselves | 9.2.x | released | 1 | 3 |
| 2909426 | $modules is now a protected property in tests | 9.0.x | released | 2 | 0 |
| 3112189 | Test trait files with @deprecated methods removed | 9.0.x | released | 5 | 0 |
| 2894934 | \Drupal\Core\Routing\Enhancer\RouteEnhancerInterface | \Drupal\Core\Routing\RouteFilterInterface are deprecated | 10.1.x | released | 3 | 29 |
| 3221964 | \Drupal\comment\Plugin\migrate\source\d6\Comment::prepareComment() is deprecated | 9.3.x | released | 2 | 3 |
| 2887146 | The html_tag render element supports nested render arrays | 8.4.x | released | 1 | 0 |
| 3581605 | Use of md5(), sha1(), crc32() and hash() with weak algorithms is disallowed in Drupal code | 12.0.x | break | 3 | 0 |
| 2828126 | New config.schema_checker service to check configuration schema in a development setting | 11.2.x | released | 1 | 0 |
| 3330010 | CKEditor 5 now respects row value within field widget settings | 10.1.x | released | 2 | 0 |
| 3143286 | Calling KernelTestBase::installSchema() for the tables key_value and key_value_expire is deprecated | 9.1.x | released | 1 | 0 |
| 3206320 | Configuration system.authorize removed | 9.3.x | released | 2 | 0 |
| 2842748 | Return 404 if Batch ID does not exist | 10.4.x, 11.1.x | released | 1 | 0 |
| 3349638 | New config schema data type: required_label | 10.2.x | released | 4 | 0 |
| 3068104 | Ajax render element deprecated | 10.1.x | released | 2 | 677 |
| 3357432 | Possibility to use non-default schema for PostgreSQL | 10.1.x | released | 2 | 0 |
| 3573884 | file_get_file_references() is deprecated in favor of the FileReferenceResolver | 11.4.x | released | 1 | 5 |
| 3224439 | File form element now has a value and can be required | 9.5.x | released | 1 | 0 |
| 3517642 | Promoted to front page now defaults to FALSE for new content types | 11.3.x | released | 1 | 0 |
| 3382316 | The Views setting default_argument_skip_url has been removed | 10.2.x | released | 1 | 0 |
| 3207439 | Mime encoding/decoding functions deprecated | 9.2.x | released | 1 | 1 |
| 3528500 | New permission available to control the Published status of Nodes | 11.3.x | released | 1 | 0 |