Generated 2026-06-03 12:51 UTC
| ID | Title | Target | Flavor | Issues | Projects |
|---|---|---|---|---|---|
| 3590298 | Node search plugin node_search moved to sub-module Search Node in Search | 11.4.x | new | 1 | 0 |
| 3585318 | Entity query methods no longer implicitly support passing different query objects | 11.4.x | break | 1 | 0 |
| 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 | new | 1 | 0 |
| 3464803 | Added symfony/polyfill-php86 | 11.4.x | new | 1 | 0 |
| 3580452 | New Exception status code cache context | 11.4.x | new | 1 | 0 |
| 3589759 | All batch related functions in locale.batch.inc, locale.bulk.inc and locale.compare.inc have been deprecated | 11.4.x | break | 1 | 7 |
| 3588040 | The check_markup() function is deprecated | 11.4.x | break | 1 | 94 |
| 3588509 | SDC library overrides now support a fonts key for preloading | 11.4.x | new | 1 | 0 |
| 3589636 | \Drupal\node\Controller\NodeViewController is deprecated | 11.4.x | break | 1 | 31 |
| 3291487 | The '#url' property in the responsive_image_formatter theme element is now a Url object | 11.4.x | break | 1 | 0 |
| 3037033 | Several functions in locale.compare.inc and LocaleProjectStorageInterface are deprecated | 11.4.x | break | 1 | 8 |
| 3576336 | Accessing the autoload global is deprecated | 11.4.x | break | 1 | 0 |
| 3553275 | Drupal now uses symfony/runtime for bootstrap separation | 11.4.x | new | 1 | 0 |
| 3525287 | Block content attributes are moved to the content wrapper | 11.4.0 | break | 1 | 0 |
| 3563733 | New KeyValueStoreInterface::getAllKeys() method | 11.4.x | new | 1 | 2 |
| 3581445 | User and Media Document and Image create links removed from navigation | 11.4.x | break | 1 | 0 |
| 3261271 | Render control functions hide() and show() are deprecated | 11.4.x | break | 1 | 28 |
| 3574112 | TestRequirementsTrait is deprecated | 11.4.x | break | 3 | 0 |
| 3143736 | New 'resolvable_uri' property is added to link field | 11.4.x | new | 1 | 0 |
| 3552870 | The function _update_cron_notify() has been removed | 11.4.x | break | 1 | 0 |
| 3581570 | user_cookie_save() and user_cookie_delete() are deprecated | 11.4.x | break | 1 | 52 |
| 3587853 | EntityTypeInterface::getOriginalClass method is deprecated | 11.4.x | break | 1 | 28 |
| 3552724 | user.pass.http, user.login.http, user.login_status.http and user.logout.http routes moved to the rest module | 11.4.x | break | 1 | 18 |
| 3534610 | node_access_rebuild functions are deprecated | 11.4.x | break | 1 | 48 |
| 3559492 | navigation__message theme hook deleted. | 11.4.x | break | 1 | 0 |
| 3494023 | New service for purging field data | 11.4.x | break | 1 | 29 |
| 3526344 | Brotli compression support added for CSS and JavaScript aggregates | 11.4.x | break | 1 | 5 |
| 3586362 | SqlContentEntityStorage::loadFromSharedTables() is deprecated | 11.4.x | break | 1 | 0 |
| 3537128 | HTML5 validation will be disabled in Drupal 12 | 11.4.x | new | 1 | 0 |
| 3581985 | 404 responses are now a CacheableNotFoundHttpException (Router::matchRequest() throws CacheableResourceNotFoundException) | 11.4.x | new | 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 | break | 1 | 0 |
| 3040111 | The core/modules/views_ui/admin.inc file is deprecated | 11.4.x | break | 1 | 0 |
| 3550055 | CommentItemInterface constants FORM_SEPARATE_PAGE and FORM_BELOW are deprecated | 11.4.x | break | 1 | 6 |
| 3560109 | UUIDs are now validated | 11.4.x | break | 1 | 0 |
| 3565717 | Upsert queries can now use unique / primary key constraints composed of multiple fields | 11.4.x | break | 1 | 31 |
| 3577675 | New LocaleFile and LocaleFileManager | 11.4.x | break | 1 | 6 |
| 3585574 | Library definitions now support a fonts key for preloading | 11.4.x | new | 1 | 0 |
| 3578055 | node_access_grants has been deprecated | 11.4.x | break | 1 | 3 |
| 3585881 | SDC components can now be used as form elements | 12.0.x | new | 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 | break | 1 | 54 |
| 3579527 | \Drupal\Core\Recipe\RecipeRunner::installModule() is deprecated | 11.4.x | break | 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 | break | 1 | 0 |
| 3585330 | String formatter can now also link to an entity's edit form | 11.4.x | new | 1 | 0 |
| 3584640 | X-Drupal-Dynamic-Cache response header updated for 4xx and 5xx responses | 11.4.x | break | 1 | 0 |
| 3324758 | PHP Attributes can be used for route definition and discovery | 11.4.x | new | 1 | 0 |
| 3324751 | RouteBuilder no longer needs the module handler and controller resolver injected | 11.4.x | break | 1 | 0 |
| 3324749 | InstallerRouteBuilder is no longer needed | 11.4.x | break | 1 | 0 |
| 3571402 | Functions in menu_ui.module are deprecated and move to hooks | 11.4.x | break | 1 | 18 |
| 3572239 | Migration plugins link_options, link_uri, timezone, and user_langcode are moved to the Migrate module | 11.4.x | break | 1 | 0 |
| 3574425 | Select query objects now provide getRange() method | 11.4.x | new | 1 | 6 |
| 3551924 | Cursor offset and orientation arguments in StatementInterface::fetch() are deprecated | 11.4.x | break | 1 | 79 |
| 3548961 | ToStringTrait is deprecated | 11.4.x | break | 1 | 2 |
| 3574891 | Entity bundle classes can be defined and discovered using the Drupal\Core\Entity\Attribute\Bundle attribute | 11.4.x | new | 1 | 0 |
| 3582449 | Uninstalling themes in the UI now have a confirmation step | 11.4.x | break | 1 | 0 |
| 3567619 | image_path_flush(), image_style_options() and IMAGE_DERIVATIVE_TOKEN have been deprecated | 11.4.x | break | 1 | 161 |
| 3382344 | views_add_contextual_links() has been deprecated | 11.4.x | break | 1 | 11 |
| 3579037 | AccessResult::allowedIf() and AccessResult::forbiddenIf() now accept a neutral reason | 11.4.x | new | 1 | 1 |
| 3557004 | Deprecated email addresses will no longer pass validation | 11.4.x | break | 1 | 0 |
| 3582107 | user_form_process_password_confirm() is deprecated | 11.4.x | break | 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 | break | 1 | 207 |
| 3582394 | Inline links in help topics are no longer rendered as absolute | 11.4.x | break | 1 | 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 | new | 1 | 0 |
| 3502609 | Kernel tests can make HTTP requests with drupalGet() | 11.4.x | break | 2 | 0 |
| 3582108 | ConfigManager::findConfigEntityDependenciesAsEntities() returns entities override free | 11.4.x | break | 1 | 0 |
| 3571594 | locale.settings:translation.path config is deprecated in favor of locale_translation_path setting | 11.4.x | break | 1 | 0 |
| 3581981 | Tests with PHPUnit 10 attributes are now required | 12.0.x | break | 1 | 3392 |
| 3576311 | The 'version' value in .info.yml files must be a string | 11.4.x | break | 1 | 0 |
| 3530196 | Default password hashing algorithm is now argon2id | 12.0.x | break | 1 | 0 |
| 3555936 | user_load_by_mail() and user_load_by_name() are deprecated | 11.4.x | break | 1 | 153 |
| 3572594 | Several Views functions have been deprecated | 11.4.x | break | 1 | 146 |
| 3581193 | Class Variance Authority (CVA) support added to Twig | 11.4.x | new | 1 | 0 |
| 3567484 | The content_translation_translate_access() and _content_translation_install_field_storage_definitions() functions are deprecated | 11.4.x | break | 1 | 7 |
| 3566911 | Functions providing a widget to enable content translation on bundle form are moved to a service | 11.4.x | break | 1 | 2 |
| 3580268 | The service created by getContainerWithCacheTagsInvalidator() must be used | 12.0.x | break | 1 | 0 |
| 3576427 | Locale now uses file hash instead of mtime to detect translation file changes | 11.4.x | break | 1 | 0 |
| 3570884 | Cache metadata for computed fields is now bubbled for JSON:API responses | 11.4.x | new | 1 | 0 |
| 3566742 | The drupal/core-dev-pinned metapackage is deprecated | 11.4.x | break | 1 | 0 |
| 3575335 | AutowireTrait and AutowiredInstanceTrait support container parameters | 11.4.x | new | 1 | 96 |
| 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 | break | 1 | 3 |
| 3578858 | Test methods consolidated in EntityResourceTestBase | 11.4.x | break | 1 | 0 |
| 3567198 | robots.txt blocks search pages with query parameters | 11.4.x | break | 1 | 0 |
| 3568389 | text_summary() is deprecated and moved to new TextSummary service | 11.4.x | break | 1 | 14 |
| 3545276 | expectDeprecation() is deprecated | 11.4.x | break | 0 | 0 |
| 3566511 | The node/form library is deprecated | 11.4.x | break | 0 | 3 |
| 3522346 | Url::createFromRequest does not ignore query parameters anymore | 11.4.x | break | 0 | 0 |
| 3576855 | CachePluginBase::cacheExpire in views module is deprecated | 11.4.x | break | 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 | break | 0 | 689 |
| 3547362 | CommentItemInterface constants HIDDEN, OPEN and CLOSED are deprecated | 11.4.x | break | 1 | 0 |
| 3575184 | FormBase provides create() factory method with autowired parameters | 11.4.x | new | 1 | 3535 |
| 3544512 | Disabled links are now ignored in active trail | 11.4.x | break | 1 | 0 |
| 3577926 | DateTimePlus::checkArray() is now protected | 12.0.x | break | 1 | 31 |
| 3568146 | The editor_filter_xss() function is deprecated and functionality is moved to a service | 11.4.x | break | 1 | 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 | break | 1 | 1 |
| 3570851 | SessionManager::delete() is deprecated | 11.4.x | break | 1 | 3 |
| 3283218 | hasRole() has moved from UserInterface to AccountInterface | 11.4.x | break | 1 | 72 |
| 3576115 | The Migrate Drupal module is removed | 12.0.x | break | 1 | 20 |
| 3566783 | block_theme_initialize() had been deprecated | 11.4.x | break | 1 | 1 |
| 3573370 | JSON:API normalisation now skips cacheing if a ResourceObject has max-age 0 | 11.4.x | break | 1 | 0 |
| 3572345 | All functions in locale.fetch.inc are deprecated | 11.4.x | break | 1 | 6 |
| 3576114 | The Migrate Drupal UI module is removed | 12.0.x | break | 1 | 2 |
| 3573486 | The Contact module is removed | 12.0.x | break | 1 | 29 |
| 3575062 | 'uri_callback' entity key is deprecated | 11.4.x | break | 1 | 0 |
| 3574837 | The Ban module is removed | 12.0.x | break | 1 | 10 |
| 3566688 | AutowireTrait supports setter injection with the #[Required] attribute | 11.4.x | new | 1 | 0 |
| 3575093 | The shortcut module has been removed from the standard profile and recipe | 11.4.x | break | 1 | 0 |
| 3566814 | Entity type helper method to determine if the entity ID is integer | 11.4.x | break | 1 | 1 |
| 3571602 | The Contact module is deprecated | 11.4.x | break | 1 | 29 |
| 3566225 | Redundant WAI-ARIA `role` attributes removed from templates | 11.4.x | break | 1 | 0 |
| 3572707 | Site information form now stores unresolved path aliases for front, 403, and 404 pages | 11.4.x | break | 1 | 0 |
| 3567958 | Query parameters can be mapped directly to controller arguments | 11.4.x | new | 1 | 0 |
| 3570700 | The History module is removed | 12.0.x | break | 1 | 6 |
| 3569330 | All code in locale.translations.inc has been deprecated | 11.4.x | break | 1 | 40 |
| 3571611 | The Field Layout module is removed | 12.0.x | break | 1 | 1 |
| 3564958 | Views CachePluginBase::getRowCacheKeys() deprecated, row-level caching removed | 11.4.x | break | 1 | 2 |
| 3569185 | Undocumented User::$password property is deprecated | 11.4.x | break | 1 | 0 |
| 3560399 | dblog_filters and _dblog_get_message_types have been deprecated. | 11.4.x | break | 1 | 6 |
| 3533514 | System menu blocks have configuration option for "Add a CSS class to ancestors of the current page" | 11.4.x | new | 1 | 0 |
| 3568136 | Underscore prefixed functions from editor.module are deprecated | 11.4.x | break | 1 | 13 |
| 3558617 | Drupal\Core\Render\MainContent\HtmlRenderer::buildPageTopAndBottom now has $page_top and $page_bottom parameters | 11.4.x | break | 1 | 0 |
| 3558616 | page_top and page_bottom can now be added using attachments on a page's main content | 11.4.x | new | 1 | 0 |
| 3567879 | The long format 'filter tips' are deprecated | 11.4.x | break | 1 | 0 |
| 3566982 | Views::pluginManager() and Views::handlerManager() are deprecated | 11.4.x | break | 1 | 52 |
| 3567812 | Implementations of ExecutableInterface:: execute() require an $object argument | 11.4.x | break | 1 | 21 |
| 3567811 | Implementations of CategorizingPluginManagerInterface:: getSortedDefinitions() and :: getGroupedDefinitions() require a $labelKey argument | 11.4.x | break | 1 | 1 |
| 3566774 | Several procedural submit, validation, Ajax callbacks and other functions were converted to methods and deprecated | 11.4.x | break | 20 | 73 |
| 3568088 | The _contextual_links_to_id() & _contextual_id_to_links() functions are deprecated | 11.4.x | break | 1 | 3 |
| 3367114 | Link field widget supports route:{$route_name} | 11.4.x | break | 1 | 0 |
| 3557835 | New asset garbage collection threshold | 11.4.x | new | 1 | 0 |
| 3570506 | New config action to override static menu links | 11.4.x | new | 1 | 0 |
| 3569876 | AJAX page state is now a request attribute | 11.4.x | break | 1 | 0 |
| 3549344 | Using a #access value other than a boolean or an AccessResultInterface object is deprecated | 11.4.x | break | 1 | 0 |
| 3569941 | Standard profile and recipes no longer use text_with_summary | 11.4.x | break | 1 | 0 |
| 3547352 | CommentInterface::ANONYMOUS_* constants are deprecated | 11.4.x | break | 1 | 6 |
| 3565758 | 'View linked label' operation added to user entity | 11.4.x | new | 1 | 0 |
| 3478687 | JSON:API no longer validates every response against schema by default | 11.4.x | break | 1 | 0 |
| 3554585 | Using #item_attributes with image_formatter and responsive_image_formatter is deprecated | 11.4.x | break | 1 | 0 |
| 3566882 | The comment_preview() function is deprecated and the logic has moved to CommentForm | 11.4.x | break | 1 | 0 |
| 3567647 | The History module is deprecated | 11.4.x | break | 1 | 6 |
| 3562304 | ImageToolkit and ImageToolkitOperation plugins are autowirable | 11.4.x | new | 1 | 0 |
| 3554746 | Constraint plugins must use named arguments instead of an options array | 11.4.x | break | 3 | 156 |
| 3515029 | Views table alignment style options now relies on core alignment classes | 11.4.x | break | 1 | 0 |
| 3316878 | \Drupal\Core\Field\Plugin\Field\FieldFormatter\EntityReferenceEntityFormatter::RECURSIVE_RENDER_LIMIT and ::$recursiveRenderDepth are deprecated | 11.4.x | break | 1 | 23 |
| 3568078 | The history module has been removed from the standard profile and recipe | 11.4.x | break | 1 | 0 |
| 3558394 | Passing null as $deserialization_target_class to ResourceType is deprecated | 11.4.x | break | 1 | 0 |
| 3566999 | The Migrate Drupal module is deprecated | 11.4.x | break | 1 | 0 |
| 3554139 | LinkWidget::validateTitleElement() is deprecated | 11.4.x | break | 1 | 0 |
| 3464076 | Layout plugin definitions require the label to be set | 11.4.x | break | 1 | 0 |
| 3533565 | Migrate destination plugins for legacy upgrade are deprecated | 11.3.0 | released | 1 | 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 |
| 3562172 | Single cardinality entity fields are now loaded from the database at once | 11.4.x | break | 2 | 0 |
| 3549685 | hook_requirements deprecated in favor of separate runtime and update hooks and install-time requirements checks | 11.3.x | released | 1 | 694 |
| 3558614 | HTMX requests may be configured to use the drupal_htmx wrapper format | 11.3.x | released | 1 | 1 |
| 3558881 | New Serialized constraint to validate if a field is a serialized value | 11.3.x | released | 1 | 0 |
| 3558879 | New MappingCollection constraint to validate sets of required and optional fields | 11.3.x | released | 1 | 0 |
| 3548821 | Form API callbacks now support callables supported by the CallableResolver | 11.3.x | released | 1 | 0 |
| 3520914 | ImageStyle::getReplacementID is deprecated | 11.3.x | released | 1 | 0 |
| 3533560 | Migrate process plugins for legacy upgrade are deprecated | 11.3.x | released | 1 | 0 |
| 3574738 | Layout Builder storage plugins must implement SupportAwareSectionStorageInterface | 11.4.x | break | 2 | 0 |
| 3559908 | MemoryBackend::garbageCollection() now removes invalid items from memory | 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 |
| 2352923 | module:// and theme:// stream wrappers added to core (only .json files) | 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 |
| 3551729 | CommentManagerInterface::getCountNewComments is deprecated | 11.3.x | released | 1 | 1 |
| 3551049 | doctrine/annotations has been forked into core | 10.6.x | released | 1 | 0 |
| 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 | 657 |
| 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 | 148 |
| 3557689 | "Created" fields are excluded from default content by default | 11.3.x | released | 1 | 0 |
| 3570904 | Batch api callbacks now support callables supported by the CallableResolver | 11.3.x | released | 1 | 89 |
| 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 | 3 |
| 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 |
| 3394638 | New ConfigImporterFactory service | 11.3.x | released | 1 | 0 |
| 3547745 | Route option added for routes designed to serve HTMX requests | 11.3.x | released | 1 | 4 |
| 3550193 | ModuleHandler addProfile and addModule no longer do anything. | 11.3.x | released | 1 | 9 |
| 3534091 | file_managed_file_submit() is deprecated | 11.3.x | released | 1 | 27 |
| 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 |
| 3551652 | Hooks in themes can now be OOP | 11.3.x | released | 1 | 171 |
| 1282508 | Refactor conf_path() to provide new find_conf_path() function unreviewed | 8.x | policy | 0 | 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 | 158 |
| 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 | 24 |
| 3563143 | justinrainbow/json-schema moved to a production dependency of Drupal core | 11.4.x | break | 2 | 0 |
| 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 | 358 |
| 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 | 2025 |
| 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 | 0 |
| 3549625 | SchemaCheckTrait::isViolationForIgnoredPropertyPath expects a ConstraintViolationInterface | 11.3.x | released | 1 | 50 |
| 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 | 2 |
| 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 unreviewed | 11.3.x | released | 1 | 44 |
| 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 | 162 |
| 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 | 53 |
| 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 |
| 2608772 | Removed Options +FollowSymLinks and -Multiviews from .htaccess files unreviewed | 8.0.0 | released | 2 | 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 | 7 |
| 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 |
| 3533080 | Entity operations methods can now add cacheable metadata | 11.3.x | released | 1 | 431 |
| 3541463 | The view variable passed to comment templates is deprecated | 11.3.x | released | 1 | 44 |
| 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 | 24 |
| 3541926 | Use the getToolkitId() method instead of the toolkitId property when in an ImageFactory subclass | 11.3.x | released | 1 | 0 |
| 3533315 | node_mass_update() is deprecated | 11.3.x | released | 1 | 1 |
| 3458593 | node_is_page and the page node.html.twig variable are deprecated | 11.3.x | released | 1 | 78 |
| 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 |
| 3539877 | Plugins used in kernel tests need all dependent modules to be installed in order to be discovered | 11.3.x | released | 1 | 0 |
| 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 | 21 |
| 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 | 4 |
| 3536432 | ModuleHandler::loadAllIncludes() is deprecated | 11.3.x | released | 1 | 6 |
| 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 |
| 3531039 | Publishing a workspace will update the changed time for its entities | 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 | 93 |
| 3533854 | `content:export` command added to help with recipe development | 11.3.x | released | 3 | 0 |
| 3533301 | node_get_type_label is deprecated | 11.3.x | released | 1 | 10 |
| 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 | 2 |
| 1290248 | New FAPI properties: "#required_error" and "#required_but_empty" | 8.x | released | 1 | 4 |
| 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 | 0 |
| 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 | 107 |
| 3526434 | New method getSummary() added to Drupal\Core\Field\FieldTypeCategoryInterface | 11.4.x | break | 1 | 0 |
| 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 | 299 |
| 3410939 | drupal_requirements_severity() and REQUIREMENT_* severity constants have been deprecated. | 11.2.x | released | 1 | 680 |
| 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 | 423 |
| 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 | 2 |
| 3497318 | Renderer::render() $is_root_call parameter deprecated | 11.2.x | released | 1 | 147 |
| 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 | 12 |
| 3522776 | Not providing an attribute class for a plugin that uses annotation based discovery is now deprecated | 11.2.x | released | 1 | 611 |
| 2573637 | All DB drivers limited to executing single SQL statements by checking for delimiter | 8.0.x | released | 1 | 0 |
| 2403603 | Language code validation supports numbers, made stricter unreviewed | 8.0.x | released | 1 | 0 |
| 2400207 | Search plugin interface has new method for help unreviewed | 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 | 69 |
| 1845692 | Database creation at the time of Drupal installation. | 8.x | released | 1 | 0 |
| 1776566 | Added ability to map external language codes to Drupal configured languages unreviewed | 8.x | released | 1 | 0 |
| 1626346 | Entities now have generic language support unreviewed | 7.x | released | 1 | 0 |
| 1335516 | Database field {files}.pathinfo renamed to {files}.uri unreviewed | 7.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 | 111 |
| 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 |
| 3497308 | Reorder hook implementations in other modules with the #[ReorderHook] attribute | 11.2.x | released | 1 | 2 |
| 3496788 | hook_module_implements_alter requires the #[LegacyModuleImplementsAlter] attribute | 11.2.x | released | 1 | 17 |
| 3496786 | Hook implementations can now be removed with a #[RemoveHook] attribute. | 11.2.x | released | 1 | 3 |
| 3493962 | Hook implementations can be ordered with an order parameter | 11.2.x | released | 1 | 0 |
| 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 | 95 |
| 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 | 359 |
| 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 |
| 3511803 | ConfigEntityBase::sort() is deprecated | 11.2.x | released | 1 | 27 |
| 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 | 440 |
| 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 | 6 |
| 3491200 | ModuleHandler::addModule and ModuleHandler::addProfile have been deprecated | 11.2.x | released | 1 | 9 |
| 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 | 1 |
| 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 |
| 3509245 | editor_load() is deprecated | 11.2.x | released | 1 | 22 |
| 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 | 4 |
| 3494172 | file_get_content_headers() is deprecated | 11.2.x | released | 1 | 12 |
| 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 | 1 |
| 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 | 51 |
| 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 | 111 |
| 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 | 617 |
| 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 |
| 3491626 | Mail headers line endings were changed in PHP 8 in Drupal 7 unreviewed | 7.x | released | 1 | 0 |
| 3491623 | DRUPAL_ROOT path is now stripped from errors that are displayed in Drupal 7 unreviewed | 7.x | released | 1 | 0 |
| 3491619 | New setting for trusted hostname configuration in Drupal 7 unreviewed | 7.x | released | 1 | 0 |
| 3491616 | "administer url aliases" permission is now considered restricted in Drupal 7 unreviewed | 7.x | released | 1 | 0 |
| 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 | 31 |
| 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 | 12 |
| 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 | 66 |
| 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 | 172 |
| 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 | 435 |
| 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 | 70 |
| 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 |
| 3471539 | JavaScript files in modules moved to module/js | 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 |
| 3462152 | \Drupal\FunctionalJavascriptTests\WebDriverCurlService is deprecated | 11.1.x | released | 1 | 0 |
| 3460567 | W3C compliant testing | 11.4.x | break | 2 | 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 |
| 3571399 | The 'allow_authorize_operations' setting is deprecated | 12.0.x | break | 3 | 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 | 70 |
| 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 |
| 3461901 | PDOException query string and args moved to errorInfo property unreviewed | 7.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 | 51 |
| 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 | 70 |
| 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 |
| 3438765 | CLI tools that cause a fatal error now exit with an error status in Drupal 7 unreviewed | 7.x | released | 1 | 0 |
| 3443661 | Added fix for duplicate X-Content-Type-Options headers with value nosniff to .htaccess in Drupal 7 unreviewed | 7.x | released | 1 | 0 |
| 3451526 | Archive_Tar now uses 775 permissions by default when creating directories in Drupal 7 unreviewed | 7.x | released | 1 | 0 |
| 3451532 | Missing or non-existent entity controller class now throws an EntityMalformedException in Drupal 7 unreviewed | 7.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 | 2 |
| 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 |
| 3442785 | Calling \Drupal\migrate\Plugin\Migration::getMigrationDependencies with the expand parameter is deprecated | 11.0.x | released | 1 | 7 |
| 3152693 | New route option for redirecting when access is denied to a CSRF protected route | 10.3.x | released | 1 | 2 |
| 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 | 332 |
| 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 | 2 |
| 3436275 | RenderElement and FormElement base plugin classes are deprecated and renamed to RenderElementBase and FormElementBase | 10.3.x | released | 1 | 255 |
| 3436196 | Theme settings logo now allows SVG | 10.3.x | released | 1 | 0 |
| 3376090 | ContainerAwareEventDispatcher is deprecated | 10.3.x | released | 1 | 1 |
| 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 | 19 |
| 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 | 101 |
| 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 | 465 |
| 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 | 20 |
| 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 | 1 |
| 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 | 9 |
| 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 | 0 |
| 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 |
| 3424912 | Announcements module is enabled by default and added to the Standard profile in Drupal 7.100 unreviewed | 7.x | released | 2 | 0 |
| 3409960 | user_pass_rehash() hash calculation now separates parameter values in Drupal 7 unreviewed | 7.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 | 51 |
| 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 | 290 |
| 3324297 | New 'workspaces.information' service | 10.3.x | released | 1 | 41 |
| 3427209 | user_is_blocked() is deprecated | 10.3.x | released | 1 | 70 |
| 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 | 0 |
| 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 | 42 |
| 3414511 | MigrateSkipProcessException is deprecated | 10.3.x | released | 1 | 0 |
| 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 | 1 |
| 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 | 1 |
| 3409326 | Replace FileUploadHandler::loadByUri() with FileRepositoryInterface::loadByUri() | 10.3.x | released | 1 | 19 |
| 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 | 533 |
| 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 |
| 3139198 | jQuery changes in SA-CORE-2020-002 may break some edge cases unreviewed | 8.7.x, 8.8.x | released | 0 | 0 |
| 3440902 | New hook_ENTITY_TYPE_form_mode_alter() hook added. | 10.3.x | released | 2 | 1 |
| 3410039 | New hook_ENTITY_TYPE_view_mode_alter() hook added. | 10.3.x | released | 1 | 18 |
| 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 |
| 3383555 | Drupal 7's minimum PHP version is now PHP 5.6 unreviewed | 7.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 | 2 |
| 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 | 27 |
| 3383562 | When a user fails login, the reset password link no longer pre-fills the username in Drupal 7 unreviewed | 7.x | released | 1 | 0 |
| 3381030 | Protection against abuse of DrupalCacheArray::__destruct() in Drupal 7 unreviewed | 7.x | released | 1 | 0 |
| 3383554 | Drupal 7's aggregator feed now displays up to 255 characters from description if no title is found unreviewed | 7.x | released | 1 | 0 |
| 3386939 | ModuleUpdater::getSchemaUpdates() was removed in Drupal 7 unreviewed | 7.x | released | 1 | 0 |
| 3405563 | Node translations table now contains a link to delete translation in Drupal 7 unreviewed | 7.x | released | 1 | 0 |
| 3406291 | file_validate_image_resolution() now validates minimum dimensions against the resized image in Drupal 7 unreviewed | 7.x | released | 1 | 0 |
| 3406312 | hook_field_schema_alter() was added in Drupal 7 unreviewed | 7.x | released | 1 | 0 |
| 3406314 | Menu link 'Parent link' is limited to the current menu when creating new custom menu links through the UI in Drupal 7 unreviewed | 7.x | released | 1 | 0 |
| 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 | 65 |
| 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 | 4 |
| 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 | 0 |
| 3401941 | EntityReferenceTestTrait has been renamed to EntityReferenceFieldCreationTrait | 10.2.x | released | 1 | 97 |
| 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 | 1 |
| 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 | 29 |
| 3396179 | AutowireTrait allows ContainerInjectionInterface classes to be autowired | 10.2.x | released | 1 | 85 |
| 3395716 | Controllers can be autowired and a create() method is no longer always necessary | 10.2.x | released | 1 | 2158 |
| 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 | 99 |
| 3395575 | Plugin implementations should use PHP attributes instead of annotations | 10.2.x | released | 16 | 796 |
| 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 | 43 |
| 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 | 200 |
| 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 | 144 |
| 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 | 173 |
| 3372713 | EntityBase::toUrl() falls back to 'edit-form' as default $rel | 10.2.x | released | 1 | 0 |
| 3251649 | Drupal 7 now has a "changed" property on the user entity unreviewed | 7.x | released | 1 | 0 |
| 2999981 | format_size() is deprecated and is replaced by ByteSizeMarkup | 10.2.x | released | 1 | 110 |
| 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 |
| 3018664 | CSS/JS Aggregation is no longer used during automatic maintenance mode unreviewed | 7.x | released | 1 | 0 |
| 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 | 1004 |
| 3373502 | #config_target in ConfigFormBase: using validation constraints for editing simple config | 10.2.x | released | 9 | 36 |
| 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 | 1 |
| 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 | 0 |
| 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 | 20 |
| 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 | 0 |
| 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 | 68 |
| 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 | 24 |
| 3223362 | system_retrieve_file is deprecated without replacement | 10.2.x | released | 1 | 13 |
| 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 | 4 |
| 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 | 93 |
| 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 | 14 |
| 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 |
| 3362955 | Content of phpinfo() admin status page is now configurable in Drupal 7 unreviewed | 7.x | released | 1 | 0 |
| 3364841 | Session IDs are now hashed in the database in Drupal 7 unreviewed | 7.x | released | 1 | 0 |
| 3365108 | Update info is fetched over https by default in Drupal 7 unreviewed | 7.x | released | 1 | 0 |
| 3365142 | Double click prevention introduced in Drupal 7 unreviewed | 7.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 | 37 |
| 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 |
| 2932520 | watchdog_exception() deprecated | 10.1.x | released | 1 | 371 |
| 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 |
| 3362227 | "Announcements" module unreviewed | 7.x | released | 2 | 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 | 0 |
| 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 | 2 |
| 3355112 | Single-Directory Components (SDC) added as new experimental module | 10.1.x | released | 2 | 102 |
| 3349470 | Trusted callbacks can now be marked with attributes as well as an interface | 10.1.x | released | 1 | 15 |
| 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 | 1 |
| 3322420 | Password hashing is changed | 10.1.x | released | 1 | 0 |
| 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 | 0 |
| 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 | 1 |
| 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 | 0 |
| 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 | 330 |
| 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 | 1 |
| 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 | 1 |
| 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 | 0 |
| 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 | 20 |
| 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 | 0 |
| 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 | 105 |
| 3319245 | Block Content now provides a UI for viewing, reverting and deleting revisions | 10.1.x | released | 1 | 0 |
| 3324216 | The time limit for cron locks in Drupal 7 has been increased to 15 minutes, and is configurable from settings.php unreviewed | 7.x | released | 1 | 0 |
| 3322500 | SameSite attribute set to Lax on various Drupal 7 cookies unreviewed | 7.x | released | 1 | 0 |
| 3324391 | New hook_valid_email_address_alter() in Drupal 7 unreviewed | 7.x | released | 1 | 0 |
| 3322488 | Drupal 7's minimum PHP version is now PHP 5.3 unreviewed | 7.x | released | 1 | 0 |
| 3324532 | Drupal 7's hook_comment_unpublished is now invoked unreviewed | 7.x | released | 1 | 0 |
| 3322476 | Permissions-Policy header is removed since Google has retired FLoC (D7) unreviewed | 7.x | released | 1 | 0 |
| 3322453 | Drupal 7's EntityFieldQuery uses $ordered_results instead of the declared $orderedResults property unreviewed | 7.x | released | 1 | 0 |
| 3325143 | Drupal 7 now has a user action "unblock current user" unreviewed | 7.x | released | 1 | 0 |
| 3306399 | Optional $mail parameter added in user_pass_rehash() unreviewed | 7.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 | 213 |
| 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 | 288 |
| 3323340 | node_revision_load, node_revision_delete and node_type_update_nodes are deprecated | 10.1.x | released | 1 | 222 |
| 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 | 0 |
| 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 |
| 3308346 | Drupal 7's .htaccess protects .orig and .save files unreviewed | 7.x | released | 1 | 0 |
| 3307804 | drupal_http_request() now strips Cookie and Authorization headers on HTTP downgrade or HTTP host change unreviewed | 7.x | released | 1 | 0 |
| 3307802 | Image and file fields on taxonomy terms using private filesystem will no longer return 403 / access denied unreviewed | 7.x | released | 1 | 0 |
| 3307800 | ID attribute changed on DIV wrappers in managed_file form element markup unreviewed | 7.x | released | 1 | 0 |
| 3307791 | l() now strips dangerous protocols from the $path unreviewed | 7.x | released | 1 | 0 |
| 3307777 | PagerSelectExtender::getElement() allows consuming code to know the pager id used by a query unreviewed | 7.x | released | 1 | 0 |
| 3307766 | path_load() will now consistently load the newest alias unreviewed | 7.x | released | 1 | 0 |
| 3282642 | D7 adds a "X-Content-Type-Options: nosniff" header to cached page responses unreviewed | 7.x | released | 1 | 0 |
| 3282640 | D7's Field API now supports entity ids that are strings (the entity system already did) unreviewed | 7.x | released | 1 | 0 |
| 3282637 | D7 no longer accepts trailing dots in entity_ids which may affect some URLs unreviewed | 7.x | released | 1 | 0 |
| 3282625 | Editing a comment in D7 no longer changes the creation date unreviewed | 7.x | released | 1 | 0 |
| 3282619 | CSRF token added to admin/reports/status/run-cron in Drupal 7 unreviewed | 7.x | released | 1 | 0 |
| 3282614 | Added PHP 8 support to .htaccess files in Drupal 7 unreviewed | 7.x | released | 1 | 0 |
| 3251654 | Drupal 7 now has a date-based default for the directory that file uploads are saved to unreviewed | 7.x | released | 1 | 0 |
| 3251648 | Drupal 7 now has a skip_permissions_hardening setting unreviewed | 7.x | released | 1 | 0 |
| 3251636 | The has_js cookie has been removed from Drupal 7 unreviewed | 7.x | released | 1 | 0 |
| 3250913 | Drupal 7 no longer strips leading www. from cookie domain by default because that leaks session cookies to subdomains unreviewed | 7.x | released | 1 | 0 |
| 3247944 | Link tags with duplicate href attributes and different hreflang attributes are now supported in Drupal 7 unreviewed | 7.x | released | 1 | 0 |
| 3217023 | Changes to password reset process in Drupal 7 to prevent email or username enumeration unreviewed | 7.x | released | 1 | 0 |
| 3216921 | Disable brotli compression of pre-compressed CSS and JS unreviewed | 7.x | released | 1 | 0 |
| 3216913 | Drupal 7 testing improvements - new cache and fail-only options unreviewed | 7.x | released | 2 | 0 |
| 3215877 | Permissions-Policy header is added by default to disable a method of browser-based user tracking unreviewed | 7.x | released | 1 | 0 |
| 3215527 | Backport server configuration code from SA-CORE-2016-003 to Drupal 7 unreviewed | 7.x | released | 1 | 0 |
| 3207213 | Support for SameSite attribute on cookies unreviewed | 7.x | released | 1 | 0 |
| 3206338 | UI text change: Images must be smaller than !max pixels unreviewed | 7.x | released | 1 | 0 |
| 3205476 | Password reset confirmation form changes unreviewed | 7.x | released | 1 | 0 |
| 3205293 | Avoid field storage write when field content did not change unreviewed | 7.x | released | 1 | 0 |
| 3185889 | MySQL 8 Support on Drupal 7 unreviewed | 7.x | released | 1 | 0 |
| 3185878 | waiting for lock in D7's variable_initialize() is optional and off by default unreviewed | 7.x | released | 1 | 0 |
| 3185877 | D7 can use site name in From: header for system e-mails unreviewed | 7.x | released | 1 | 0 |
| 3182011 | element_children() sort order inconsistency is now fixed in 7.76 unreviewed | 7.x | released | 1 | 0 |
| 3179936 | The user module's flood control provides better logging and hook_user_flood_control() unreviewed | 7.x | released | 1 | 0 |
| 3174855 | Drupal 7 enables SQLite's Write Ahead Log journal (WAL) by default unreviewed | 7.x | released | 1 | 0 |
| 3098694 | theme_table() takes an optional footer variable and produces <tfoot> unreviewed | 7.x | released | 1 | 0 |
| 3098687 | Access to web.config is blocked in .htaccess (and vice-versa) unreviewed | 7.x | released | 1 | 0 |
| 3098661 | drupal_http_request() accepts data as an array in Drupal 7 unreviewed | 7.x | released | 1 | 0 |
| 3051383 | New "scripts" element unreviewed | 7.x | released | 1 | 0 |
| 3024333 | Some directory names are skipped when searching for extensions (module, themes, etc.) unreviewed | 7.x | released | 1 | 0 |
| 2857751 | cache_form expiration is configurable in Drupal 7 unreviewed | 7.x | released | 1 | 0 |
| 2827134 | Drupal 7 adds menu tree render structure to (pre-)process hooks for theme_menu_tree() unreviewed | 7.x | released | 0 | 0 |
| 2826480 | Modules can now define theme engines unreviewed | 7.x | released | 0 | 0 |
| 2824590 | New drupal_is_https() API function added unreviewed | 7.x | released | 0 | 0 |
| 2810369 | Drupal 7 adds a new allow_css_double_underscores variable to allow for double underscores in CSS identifiers unreviewed | 7.x | released | 1 | 0 |
| 2810365 | system_region_list() now takes an (optional) new third parameter unreviewed | 7.x | released | 1 | 0 |
| 2762251 | Robots.txt now allows search engines access to CSS, JavaScript and image files unreviewed | 7.x | released | 1 | 0 |
| 2762249 | Drupal 7 now includes an .editorconfig file unreviewed | 7.x | released | 1 | 0 |
| 2761183 | Added support for full UTF-8 (emojis, Asian symbols, mathematical symbols) on MySQL when the site and database are configured to allow it unreviewed | 7.x | released | 1 | 0 |
| 2761169 | PHP callables can be used in more places in the Ajax system and form API (for PHP 5.4 and higher) unreviewed | 7.x | released | 0 | 0 |
| 2759023 | Users are now logged out automatically when following a password reset link unreviewed | 7.x | released | 1 | 0 |
| 2735873 | Drupal 7 core is now protected against clickjacking by default (X-Frame-Options: SAMEORIGIN) unreviewed | 7.x | released | 1 | 0 |
| 2714035 | Contact link is now created by the standard profile instead of contact module unreviewed | 8.2.x | policy | 1 | 0 |
| 2659678 | The menu item title form maxlength reflects the field maxlength setting unreviewed | 8.0.x | released | 1 | 0 |
| 2581445 | Performance improvements for drupal_get_filename(), which will now trigger a PHP warning when it can't find a file (unless the new $trigger_error parameter is set to FALSE) unreviewed | 7.x | released | 1 | 0 |
| 2552435 | Drupal\Core\Database\Schema::findTables() has been changed to work with the virtual, un-prefixed, table names | 8.0.x | released | 1 | 20 |
| 2550739 | views_plugin_list() has been moved to a static method unreviewed | 8.x | policy | 1 | 0 |
| 2532212 | Redirect to external URLs now requires a special object | 8.0.x | policy | 1 | 1 |
| 2523826 | Leading www. no longer stripped from cookie domain by default because that leaks session cookies to subdomains unreviewed | 8.0.x | released | 1 | 0 |
| 2514152 | Core is now protected against click-jacking by default (X-Frame-Options: SAMEORIGIN) unreviewed | 8.0.x | released | 1 | 0 |
| 2483307 | New "administer fields" permission added for trusted users unreviewed | 7.x | released | 1 | 0 |
| 2463973 | If the PHP version is new enough, MySQL PDO no longer allows multiple database queries to be executed at the same time unreviewed | 8.0.x | released | 1 | 0 |
| 2462717 | Added methods to avoid loading jQuery and related JavaScript libraries on all pages when they are not needed unreviewed | 7.x | released | 1 | 0 |
| 2462411 | Added a user_has_role() API function to check if a user has a certain role unreviewed | 7.x | released | 0 | 0 |
| 2459413 | Default "upload location" configuration variable for file/image fields is provided unreviewed | 8.0.x | released | 1 | 0 |
| 2369141 | Added entity_view_mode_prepare() to allow entity-providing modules to invoke hook_entity_view_mode_alter() correctly unreviewed | 7.x | released | 1 | 0 |
| 2164069 | Content viewing counter statistics can now be collected asynchronously unreviewed | 7.x | released | 1 | 0 |
| 2107873 | DBTNG condition() and NULL handling have changed unreviewed | 8.x | policy | 0 | 0 |
| 2070823 | Rename Views methods to core standards unreviewed | 8.x | policy | 0 | 0 |
| 2059483 | View results use a classed object | 8.x | policy | 1 | 3 |
| 2058463 | The default ordering of CSS files has changed for sites using right-to-left languages unreviewed | 7.x | released | 0 | 0 |
| 1961012 | New "exclusive" property for installation profile info files to auto-select the profile during installation unreviewed | 7.x, 8.x | released | 1 | 0 |
| 1915646 | The Field API's memory usage has been optimized (includes recommended changes to contributed modules to leverage the changes) unreviewed | 7.x | released | 1 | 0 |
| 1894418 | Each fieldable entity type has separate permissions to manage fields and display unreviewed | 8.x | policy | 1 | 0 |
| 1893032 | #type 'user_profile_item' is now #type 'item' in hook_user_view() | 8.x | policy | 0 | 422 |
| 1882722 | The number of parameters that can be passed by reference to drupal_alter() has changed (affects hook_file_download_access_alter() in Drupal 7 core) unreviewed | 7.x, 8.x | released | 0 | 0 |
| 1874724 | The Locale module has changed its handling of comment field language unreviewed | 7.x | released | 1 | 0 |
| 1872554 | Update necessary if your module defined a cache bin unreviewed | 8.x | policy | 1 | 0 |
| 1863664 | .clear-block CSS class has been changed to .clearfix unreviewed | 7.x | released | 0 | 0 |
| 1833086 | Added hook_entity_view_mode_alter() to allow modules to change entity view modes on display unreviewed | 7.x, 8.x | released | 1 | 0 |
| 1808870 | Added hook_taxonomy_term_view() and standardized the process for displaying taxonomy terms unreviewed | 7.x | released | 1 | 0 |
| 1785368 | List of variables converted to file-based configuration system unreviewed | 8.x | policy | 1 | 0 |
| 1762604 | shortcut_set_title_callback() has been removed, and shortcut_set_title() no longer sanitizes its output unreviewed | 8.x | policy | 0 | 0 |
| 1740112 | setUp() methods in test base classes split into multiple methods unreviewed | 8.x, 7.x | released | 1 | 0 |
| 1739964 | Removed has_js cookie unreviewed | 8.x | policy | 1 | 0 |
| 1663020 | Field forms are built with the same structure regardless of whether or not form_access() = TRUE. unreviewed | 8.x, 7.x | released | 1 | 0 |
| 1597378 | DANGEROUS_ACCESS_CHECK_OPT_OUT query tag added to EntityFieldQuery unreviewed | 8.x, 7.x | released | 1 | 0 |
| 1595218 | Database columns are fetched with natural casing unreviewed | 8.x, 7.x | released | 1 | 0 |
| 1569594 | The field_bundle_settings variable has been split into per-bundle variables unreviewed | 8.x, 7.x | released | 0 | 0 |
| 1525776 | drupal_depth_first_search() moved to Drupal\Component\Graph\Graph unreviewed | 8.x | policy | 1 | 0 |
| 1506388 | Use of $user->cache and {session}.cache deprecated in favor of $_SESSION['cache_expiration'][$bin] unreviewed | 7.x | policy | 1 | 0 |
| 1464758 | Fixed conditionals to allow OR and XOR constructions unreviewed | 7.x, 8.x | released | 1 | 0 |
| 1439500 | Remove the term 'vancode' unreviewed | 8.x | policy | 0 | 0 |
| 1433140 | hook_node_search_result() now returns an associative array unreviewed | 7.x | policy | 0 | 0 |
| 1424840 | Use drupal_basename() instead of basename() unreviewed | 8.x | released | 1 | 0 |
| 1422264 | DrupalCacheArray set method has changed unreviewed | 7.x | released | 1 | 0 |
| 1393236 | The category system is removed from user edit and view unreviewed | 8.x | policy | 0 | 0 |
| 1388118 | hook_openid('request', ...) renamed hook_openid_request_alter() unreviewed | 8.x | policy | 1 | 0 |
| 1387546 | New language.module introduced unreviewed | 8.x | policy | 0 | 0 |
| 1387338 | Konqueror (-khtml- prefix) is no longer supported unreviewed | 8.x | released | 0 | 0 |
| 1385912 | Setup completion flag added for automated tests unreviewed | 7.x, 8.x | released | 0 | 0 |
| 1384082 | db_select 'conditions' parameter added for menu_build_tree() unreviewed | 7.x | released | 0 | 0 |
| 1370062 | $uri is no longer an available variable in node.tpl.php unreviewed | 7.x | released | 0 | 0 |
| 1369972 | 'theme_default' variable changed to 'stark' unreviewed | 8.x | policy | 0 | 0 |
| 1357914 | Reset button is removed from the system settings form unreviewed | 7.x | released | 0 | 0 |
| 1357900 | menu_get_names() was removed unreviewed | 8.x | policy | 0 | 0 |
| 1353920 | hook_image_effect_info() now has optional dimensions keys unreviewed | 7.x | released | 1 | 0 |
| 1353496 | $form['#node_edit_form'] removed unreviewed | 8.x | policy | 0 | 0 |
| 1353146 | Image system 'path' attribute renamed to 'uri' unreviewed | 8.x | policy | 0 | 0 |
| 1339664 | The '!=' operator in is deprecated in favor of the '<>' operator in database queries unreviewed | 8.x | released | 1 | 0 |
| 1339434 | Return value for file_usage_list() changed unreviewed | 8.x | released | 0 | 0 |
| 1337464 | Locale module related data removed from language objects unreviewed | 8.x | policy | 0 | 0 |
| 1336568 | file_create_htaccess() renamed to file_save_htaccess() unreviewed | 8.x | policy | 0 | 0 |
| 1328756 | Drupal 8 html.tpl.php outputs HTML5 DOCTYPE by default unreviewed | 8.x | policy | 0 | 0 |
| 1325380 | Changed documentation and example for setting $cookie_domain in default.settings.php unreviewed | 8.x | released | 1 | 0 |
| 1323342 | Alternative OpenID authentication method for invalid OpenID accounts transition unreviewed | 7.x | released | 1 | 0 |
| 1323310 | Change in Openid discovery methods registered by hook_openid_discovery_method_info() unreviewed | 7.x | released | 1 | 0 |
| 1323152 | Added ability to use contexts in Drupal.t() and Drupal.formatPlural unreviewed | 8.x | released | 1 | 0 |
| 1323148 | Added language_load() API to load languages by langcode unreviewed | 8.x | policy | 0 | 0 |
| 1323146 | Language configuration does not store native names anymore unreviewed | 8.x | policy | 0 | 0 |
| 1323140 | Built-in interface language code is now defined by LANGUAGE_SYSTEM and is not 'en' unreviewed | 8.x | policy | 0 | 0 |
| 1320400 | Symfony2 HttpFoundation component provided in core unreviewed | 8.x | policy | 0 | 0 |
| 1312352 | Coding standards: Data types in param/return docs unreviewed | 8.x | policy | 0 | 0 |
| 1298642 | New functions to dynamically set active trails unreviewed | 7.x | policy | 0 | 0 |
| 1297712 | locale_add_language() replaced by locale_language_save() unreviewed | 8.x | policy | 0 | 0 |
| 1297592 | Data must be truncated in PHP before written to varchar fields unreviewed | 7.x | released | 0 | 0 |
| 1296384 | 404s for static resources are now handled through drupal_fast_404() unreviewed | 7.x | released | 0 | 0 |
| 1294560 | Messages are now wrapped in their own DIV (#messages) unreviewed | 8.x | policy | 0 | 0 |
| 1294434 | "Run the clean URL test" UX has been improved unreviewed | 7.x | released | 0 | 0 |
| 1294416 | hook_library() and hook_library_alter() have been renamed to hook_library_info() and hook_library_info_alter() unreviewed | 8.x | policy | 0 | 0 |
| 1294406 | {vocabulary}.module removed unreviewed | 8.x | policy | 0 | 0 |
| 1294082 | search_block_form theme hook and search-block-form.tpl.php removed | 8.x | policy | 0 | 2 |
| 1293830 | hook_mail_alter() implementations may cancel mail sending by setting $message['send'] to FALSE. unreviewed | 7.x | released | 1 | 0 |
| 1289974 | Refactor module_implements() into 2 functions | 8.x | policy | 0 | 0 |
| 1276640 | hook_multilingual_settings_changed() removed in favor of more specific hooks unreviewed | 8.x | policy | 0 | 0 |
| 1276632 | Removed $property argument from language_default() unreviewed | 8.x | policy | 0 | 0 |
| 1276626 | iso.inc became standard.inc, functions renamed to standard_*() unreviewed | 8.x | policy | 0 | 0 |
| 1266462 | Textgroup support removed in Locale module unreviewed | 8.x | policy | 0 | 0 |
| 1235918 | API cleanup: $form_state key 'complete_form' changed to include underscore in Drupal 8 unreviewed | 8.x | policy | 0 | 0 |
| 1225062 | Core fields default translatability unreviewed | 8.x | released | 0 | 0 |
| 1218314 | Error reporting defaults to E_STRICT unreviewed | 8.x | released | 0 | 0 |
| 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 | 22 |
| 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 | 197 |
| 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 | 92 |
| 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 | 36 |
| 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 | 27 |
| 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 | 16 |
| 3232491 | New function Token::replacePlain() | 9.4.x | released | 1 | 35 |
| 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 |
| 2186029 | Modules primarily providing field types are now in the 'Field type' package unreviewed | 8.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 | 8 |
| 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 | 3 |
| 3259199 | Themes support post update functions | 9.4.x | released | 2 | 478 |
| 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 | 118 |
| 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 | 398 |
| 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 | 63 |
| 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 | 16 |
| 3260060 | The constant Drupal\Core\Utility\Error::DEFAULT_ERROR_MESSAGE has been added to Drupal | 9.4.x | released | 1 | 27 |
| 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 | 100 |
| 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 | 60 |
| 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 | 129 |
| 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 | 138 |
| 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 | 5 |
| 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 | 0 |
| 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 | 8 |
| 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 | 27 |
| 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 | 829 |
| 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 | 0 |
| 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 | 88 |
| 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 | 0 |
| 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 | 2 |
| 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 | 21 |
| 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 | 67 |
| 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 | 46 |
| 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 | 100 |
| 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 | 18 |
| 3232618 | Source counts can be cached by using doCount() | 9.3.x | released | 2 | 10 |
| 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 | 368 |
| 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 | 4 |
| 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 | 1321 |
| 3201283 | Drupal\Core\Database\StatementEmpty is deprecated | 9.2.x | released | 1 | 0 |
| 3212880 | Off-canvas styles are now reset inclusively instead of exclusively | 8.9.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 | 0 |
| 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 | 0 |
| 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 | 59 |
| 3032541 | New event for sanitizing filenames | 9.2.x | released | 1 | 4 |
| 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 | 30 |
| 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 | 25 |
| 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 | 157 |
| 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 | 0 |
| 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 | 0 |
| 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 | 473 |
| 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 | 30 |
| 3180764 | Drupal 8.9 and Drupal 9.0 marked incompatible with PHP 8 | 8.9.x | released | 2 | 0 |
| 3179315 | New dependencies for \Drupal\update\UpdateFetcher and \Drupal\update\Controller\UpdateController | 9.1.x | released | 1 | 1 |
| 3151229 | The core/bootstrap.inc file is included by Composer's autoloader | 9.1.x | released | 1 | 0 |
| 3206340 | New PHP Warning emitted in PHP 8 when a database rollback is attempted with no active transaction in MySQL unreviewed | 7.x | released | 2 | 0 |
| 3144708 | External CSS files support attributes | 8.9.x | released | 1 | 26 |
| 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 | 24 |
| 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 | 136 |
| 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 | 0 |
| 3126004 | MimeTypeGuesser::guess() is deprecated | 9.1.0 | released | 1 | 4 |
| 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 | 3 |
| 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 | 0 |
| 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 | 49 |
| 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 | 15 |
| 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 | 0 |
| 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 | 0 |
| 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 | 289 |
| 3154407 | Signature of EventDispatcherInterface::dispatch() has changed | 9.1.x | released | 1 | 417 |
| 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 |
| 3109982 | Text format migrations from Drupal 7 to 8 no longer fail on missing filters that only apply transformations | 8.9.x | released | 2 | 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 |
| 3105503 | New default 'complete node migration' migrates all revisions including translations | 8.9.x | released | 1 | 0 |
| 3137786 | Connection::prepareQuery() and Connection::prepare() are deprecated | 9.1.x | released | 1 | 131 |
| 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 |
| 3137842 | Allow SQLite to run as a memory database | 8.9.x | released | 1 | 0 |
| 3119264 | Update behat/mink and behat/mink-selenium2-driver to stable releases unreviewed | 8.8.x | released | 1 | 0 |
| 3137656 | Update.php warns administrators if there are orphaned entries in the system.schema key/value storage unreviewed | 8.8.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 |
| 3139186 | jQuery updated to 3.5.1 | 8.9.x | released | 2 | 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 |
| 3132977 | Composer plugins provided by Drupal are now compatible with Composer 2 | 8.9.x | released | 1 | 0 |
| 3132773 | LanguageNegotiationBrowser now explicitly depends on the 'page_cache_kill_switch' policy | 9.1.x | released | 2 | 0 |
| 3119928 | Views table template now uses a render array instead of hardcoded details and summary tags | 8.9.x | released | 1 | 0 |
| 3133054 | Custom and contributed database drivers no longer need to implement all database classes | 9.0.x | released | 1 | 1 |
| 3125498 | Cache::merge* functions accept more arguments | 9.1.x | released | 1 | 351 |
| 3133050 | Forwards-compatibility shims of PHPUnit 8 functionality added for PHPUnit 6 & 7 unreviewed | 8.8.x | released | 4 | 0 |
| 3053584 | Added PHP 7 support to .htaccess files and removed support for PHP 5 | 8.9.x | released | 1 | 0 |
| 3096875 | Views joins can use 'left_formula' instead of 'left_field' in order to use a SQL expression for the left part of the join | 8.9.x | released | 1 | 0 |
| 3127769 | \Drupal\Core\Database\Database::getDatabaseDriverNamespace() is removed | 9.0.x | released | 1 | 0 |
| 3127178 | wikimedia/composer-merge-plugin removed from drupal/drupal composer.json | 8.9.0 | released | 1 | 0 |
| 3114724 | Overridden test methods require void return type hints | 9.0.x | released | 1 | 2507 |
| 3123251 | Contrib database drivers can now be in the module's namespace and "src" directory | 8.9.x | released | 1 | 1 |
| 3104895 | Replace Zend framework components with Laminas components | 8.9.x | released | 1 | 0 |
| 3119495 | Drupal core themes no longer extend Stable | 9.0.x | released | 1 | 0 |
| 3026100 | update.php will no longer attempt to automatically remove modules unreviewed | 8.8.x | released | 1 | 0 |
| 2937955 | Themes can declare dependencies on modules | 8.9.x | released | 1 | 0 |
| 3119413 | Drupal core jQuery Joyride library no longer depends on jQuery Cookie | 8.9.x | released | 1 | 0 |
| 3104677 | jquery.cookie replaced with js-cookie | 9.0.x | released | 2 | 0 |
| 3106024 | \Drupal\Tests\Traits\ExpectDeprecationTrait::expectDeprecation has been renamed to ::addExpectedDeprecationMessage unreviewed | 8.8.x | released | 1 | 0 |
| 3119933 | Custom database drivers with the same name as a core one are now used by the installer, tests, and console commands that pass a database URL | 8.9.x | released | 1 | 0 |
| 3117473 | hook_removed_post_updates() added | 8.9.x | released | 1 | 24 |
| 3080264 | Multilingual migrations are stable. Migrate Drupal Multilingual module is no longer required. | 8.9.x | released | 1 | 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 | 0 |
| 3119372 | Drupal\Core\Database\Query\Condition driver must now be overridden by all database drivers | 8.9.x | released | 1 | 0 |
| 3119160 | Menu links or taxonomy term with no default translation are automatically fixed before making the entity type revisionable unreviewed | 8.7.x | released | 1 | 0 |
| 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 |
| 3054049 | Entity bundle access checker | 8.9.x | released | 1 | 0 |
| 3387233 | Several classes now require the datetime.time service as a constructor parameter | 10.3.x | released | 2 | 2 |
| 3113062 | system_user_timezone() is marked @internal and will be removed in Drupal 9 | 8.9.x | released | 1 | 0 |
| 3114366 | Explicit schema check added on Path alias save unreviewed | 8.8.x | released | 1 | 0 |
| 3113653 | Updated to PHPUnit 8 | 9.0.x | released | 5 | 0 |
| 3092180 | New 'protocol_version' cache context. | 8.9.x | released | 1 | 0 |
| 3112907 | Simpletest module moved to a contributed module | 9.0.x | released | 3 | 0 |
| 3111613 | Removed 2 protected methods from the class Drupal\Core\Entity\Sql\SqlContentEntityStorageSchema | 8.9.x | released | 1 | 0 |
| 3110716 | AttributeHelper is introduced to manage mixed array/Attribute object operations | 8.8.x | released | 1 | 0 |
| 3111612 | Make the Connection parameter the first parameter in the Select query builder | 9.0.x | released | 1 | 0 |
| 3109877 | Custom session bags can be registered with the session object | 8.9.x | released | 1 | 0 |
| 3099614 | Support for third party libraries in site specific and install profile specific libraries folders | 8.9.x | released | 1 | 2 |
| 3083486 | Configuration action.settings.recursion_limit removed | 8.9.x | released | 1 | 0 |
| 3087592 | No longer supporting Hiawatha web server unreviewed | 8.8.x | released | 1 | 0 |
| 3107179 | New "Stable 9" theme added for backwards-compatible markup and assets | 9.0.x | released | 2 | 0 |
| 3107058 | Added an ENTITY_TYPE_list:BUNDLE cache tag. | 8.9.x | released | 2 | 0 |
| 3117956 | Some Doctrine dependencies have been removed | 9.0.x | released | 1 | 0 |
| 3082742 | Data type returned in color.module by color_valid_hexadecimal_string() function changed | 8.9.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 |
| 3105980 | \Drupal\migrate_drupal\Tests\StubTestTrait::createStub has been renamed to createEntityStub | 8.9.x | released | 1 | 0 |
| 3102853 | Twig without() filter takes both arrays and strings as arguments | 8.9.x | released | 1 | 167 |
| 3103178 | Drupal core themes no longer extend Classy | 9.0.x | released | 3 | 0 |
| 2936107 | DRUPAL_PHP_FUNCTION_PATTERN is deprecated unreviewed | 8.5.x | released | 1 | 0 |
| 3100978 | Config entity updater can only update one entity type per update hook unreviewed | 8.8.x | released | 1 | 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 |
| 3040758 | Classy has clearfix class on field container when field label is configured as inline | 8.9.x | released | 1 | 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 |
| 3098920 | hook_install, hook_uninstall, hook_modules_installed and hook_modules_uninstalled now receive an $is_syncing parameter | 8.9.x | released | 1 | 1863 |
| 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 |
| 3093409 | Metapackage version numbers need to be updated at release time. unreviewed | 8.8.x | released | 1 | 0 |
| 3092185 | Added rel="nofollow" to table sort headers in views-view-table.html.twig template | 8.9.x | released | 1 | 0 |
| 3089181 | The service argument_resolver.raw_parameter has been removed unreviewed | 8.8.x | released | 1 | 0 |
| 3075102 | CKEditor editor plugin now takes the state system as a constructor parameter unreviewed | 8.8.x | released | 1 | 0 |
| 3091784 | The Drupal core SimpleTest module is deprecated unreviewed | 8.8.x | released | 1 | 0 |
| 3082086 | Deprecated assertTrue/False() compatibility overrides in PHPUnit Kernel, Functional and FunctionalJavascript tests unreviewed | 8.8.x | released | 1 | 0 |
| 3092086 | The Path Alias core subsystem has been moved to the "path_alias" module | 8.8.x | released | 3 | 5 |
| 3092447 | Added the ability to create sub-workspaces in order to enable parent/child (branching) workflows for content unreviewed | 8.8.x | released | 1 | 0 |
| 3075385 | Taxonomy and aggregator field rendering respects configurable field display unreviewed | 8.8.x | released | 1 | 0 |
| 3087431 | Media Library is now a stable core module unreviewed | 8.8.x | released | 1 | 0 |
| 3090416 | Introduced the Core Project Message composer plugin | 8.9.x | released | 1 | 0 |
| 3084730 | jQuery UI Sortable deprecated and core usages removed unreviewed | 8.8.x | released | 1 | 0 |
| 3095199 | Twig updated from 1.x to 2.x in Drupal 9 | 9.0.x | released | 2 | 0 |
| 3081864 | jQuery UI datepicker deprecated and core usages removed unreviewed | 8.8.x | released | 1 | 0 |
| 3087598 | JSON:API now returns error codes as strings in error objects unreviewed | 8.8.x | released | 1 | 0 |
| 3089511 | classList polyfill is deprecated unreviewed | 8.8.x | released | 1 | 0 |
| 3089508 | Deprecated polyfills (html5shiv, matchMedia, domready, classList) are removed in Drupal 9 | 9.0.x | released | 5 | 0 |
| 3088385 | \Drupal\jsonapi\JsonApiResource\Link::merge now throws an assertion error when links with different relation types or target attributes are merged unreviewed | 8.8.x | released | 1 | 0 |
| 3087821 | Constructing a JSON:API Link object with an array of resource types is deprecated, usa a single-valued string instead unreviewed | 8.8.x | released | 1 | 0 |
| 3087832 | The 'core' key is removed from Views configuration | 8.8.x | released | 1 | 215 |
| 3089300 | Media Library no longer applies presentational CSS classes by default unreviewed | 8.8.x | released | 2 | 0 |
| 3089298 | Media library view no longer includes CSS classes unreviewed | 8.8.x | released | 2 | 0 |
| 3089245 | Media Library exposes templates for theming unreviewed | 8.8.x | released | 2 | 0 |
| 3089217 | Media Library's AddFormBase now requires subclasses to provide a form ID unreviewed | 8.8.x | released | 2 | 0 |
| 3089457 | Drupal 8.8.0 requires pathauto version 8.x-1.6 or higher if installed unreviewed | 8.8.x | released | 1 | 0 |
| 3086953 | Libraries may contain only other libraries as dependencies unreviewed | 8.8.x | released | 1 | 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 |
| 3088233 | New hooks for altering Views UI unreviewed | 8.8.x | released | 1 | 0 |
| 3086653 | matchMedia polyfill is deprecated unreviewed | 8.8.x | released | 1 | 0 |
| 3086669 | domready is deprecated unreviewed | 8.8.x | released | 1 | 0 |
| 3086643 | Popper.js added to Drupal core to replace jQuery UI Position unreviewed | 8.8.x | released | 1 | 0 |
| 3086773 | A forked copy of Doctrine's SimpleAnnotationReader is now provided by Drupal core and should be used instead of Doctrine's own version unreviewed | 8.8.x | released | 1 | 0 |
| 3086383 | html5shiv polyfill is deprecated unreviewed | 8.8.x | released | 1 | 0 |
| 3071740 | New CacheTagsChecksumTrait for cache tag checksum implementations | 8.8.x | released | 1 | 1 |
| 2791359 | \Drupal\views\Plugin\EntityReferenceSelection\ViewsSelection::__construct adds the render parameter | 8.8.x | released | 1 | 1 |
| 3078763 | PHPUnit 7 can be used for testing on PHP 7.1+ unreviewed | 8.8.x | released | 1 | 0 |
| 3087157 | New experimental administration theme: Claro! unreviewed | 8.8.x | released | 1 | 0 |
| 2779457 | The pager has now a backend changeable service | 8.8.x | released | 2 | 3 |
| 3087295 | Methods isLatestRevision, getLatestRevision and getLatestRevisionId are deprecated from the content_moderation.moderation_information service unreviewed | 8.8.x | released | 1 | 0 |
| 3061099 | The views relationship to the Content Moderation State entity has been deprecated unreviewed | 8.8.x | released | 1 | 0 |
| 3219051 | Migrate process plugin UrlAliasLanguage is deprecated | 9.3.x | released | 2 | 0 |
| 3075696 | Search index related functions have been moved to a service | 8.8.x | released | 1 | 6 |
| 3081957 | Drupal core's Place Block module deprecated unreviewed | 8.8.x | released | 2 | 0 |
| 3088475 | Views now adds an ENTITY_TYPE_ID_access query tag to all its queries by default. unreviewed | 8.8.x | released | 1 | 0 |
| 3086403 | New MessageCommand allows adding messages from an Ajax response unreviewed | 8.8.x | released | 1 | 0 |
| 3072984 | Help topics are now searchable unreviewed | 8.8.x | released | 3 | 0 |
| 3087129 | Media Library multilingual improvements: default views are now language filterable, and admin/content/media uses the default table view unreviewed | 8.8.x | released | 2 | 0 |
| 3086531 | Themes can now be marked experimental | 8.8.x | released | 1 | 9 |
| 3086614 | Profile configuration entity overrides are installed at the same time as the profile unreviewed | 8.8.x | released | 1 | 0 |
| 3024684 | Added configurable match limit to the entity autocomplete matcher unreviewed | 8.8.x | released | 1 | 0 |
| 3047268 | New Migration Lookup and Stub services have been added. | 8.8.x | released | 1 | 13 |
| 3086401 | Scaffold "append" operations may now append to files that were not themselves scaffolded. unreviewed | 8.8.x | released | 1 | 0 |
| 3084856 | NodeController::add() method is deprecated unreviewed | 8.8.x | released | 1 | 0 |
| 3086279 | Added a new API for installing a fieldable entity type: EntityDefinitionUpdateManager::installFieldableEntityType() | 8.8.x | released | 1 | 4 |
| 3087336 | Content Moderation can be used together with Workspaces unreviewed | 8.8.x | released | 1 | 0 |
| 3084859 | Drupal core using PostCSS for development unreviewed | 8.8.x | released | 1 | 0 |
| 3000069 | Procedural function drupal_process_states() is deprecated | 8.8.x | released | 1 | 1 |
| 2981313 | Initial sort when a table's header is clicked unreviewed | 8.8.x | released | 1 | 0 |
| 3085704 | Password reset form has flood control unreviewed | 8.8.x | released | 1 | 0 |
| 3155460 | Drupal\BuildTests\Framework\DrupalMinkClient has been removed | 9.1.x | released | 2 | 0 |
| 3082383 | New Build Test Type | 8.8.x | released | 1 | 1 |
| 3085857 | New template for embedded media errors unreviewed | 8.8.x | released | 1 | 0 |
| 3052704 | drupal_installation_attempted() has been deprecated | 8.8.x | released | 1 | 62 |
| 3079797 | JSON:API resource types can now be configured programmatically unreviewed | 8.8.x | released | 2 | 0 |
| 3030645 | tracker_page() has been deprecated unreviewed | 8.8.x | released | 1 | 0 |
| 3068163 | Options sorting ability has been added to Select form element unreviewed | 8.8.x | released | 1 | 0 |
| 3075165 | \Drupal\media_library\Form\ FileUploadForm now takes the file usage service as a constructor parameter unreviewed | 8.8.x | released | 1 | 0 |
| 3083549 | The --browser option in run-tests.sh is deprecated unreviewed | 8.8.x | released | 1 | 0 |
| 3013865 | Path aliases have been converted to revisionable entities unreviewed | 8.8.x | released | 7 | 0 |
| 3079238 | Changes to browsers supported by Drupal core unreviewed | 8.8.x | released | 2 | 0 |
| 3084746 | \Drupal\jsonapi\ResourceType\ResourceType::getFieldMapping() is deprecated in Drupal 8.8.0 and will not be allowed in Drupal 9.0.0. Use ResourceType::getFields() instead. | 8.8.x | released | 1 | 4 |
| 3084721 | The protected properties \Drupal\jsonapi\ResourceType\ResourceType::$disabledFields and ResourceType::$invertedFieldMapping are deprecated unreviewed | 8.8.x | released | 1 | 0 |
| 3084710 | JSON:API's entity reference field normalizer has been removed | 8.8.x | released | 1 | 1 |
| 3085950 | Nightwatch tests now use Stark by default (instead of Classy) unreviewed | 8.8.x | released | 2 | 0 |
| 3088444 | A media-specific Views filter was added to determine access based on published/unpublished status. This filter was added to Media Library default views. unreviewed | 8.8.x | released | 1 | 0 |
| 3082474 | Composer project templates introduced in Drupal core unreviewed | 8.8.x | released | 2 | 0 |
| 3066723 | Ajax progress bar classes moved to a new wrapping element unreviewed | 8.8.x | released | 1 | 0 |
| 3066722 | New JavaScript theme function to customize ajax progress bar wrapper markup unreviewed | 8.8.x | released | 1 | 0 |
| 3061281 | Added JavaScript theme function for checkboxes unreviewed | 8.8.x | released | 1 | 0 |
| 3072313 | Added dropbutton_type setting for specifying dropbutton variant unreviewed | 8.8.x | released | 1 | 0 |
| 3078036 | The signature of Drupal\jsonapi\Context\FieldResolver::resolveInternalEntityQueryPath() has changed | 8.8.x | released | 1 | 3 |
| 3082134 | Decouple FunctionalTestSetupTrait from the simpletest module unreviewed | 8.8.x | released | 2 | 0 |
| 3096868 | The internal workspace_association entity type has been removed unreviewed | 8.8.x | released | 1 | 0 |
| 3078389 | JSON:API resource object omission links are now serialized with a double dash (--) instead of a colon (:) unreviewed | 8.8.x | released | 1 | 0 |
| 3077671 | Exception is now thrown if migration_dependencies is incorrectly formatted unreviewed | 8.8.x | released | 1 | 0 |
| 3079589 | Vendor Hardening plugin now has its own copy of the file security class unreviewed | 8.8.x | released | 1 | 0 |
| 3085275 | JSON:API now serializes a user's display name under a new, read-only display_name field and the name field contains the raw, unaltered user name unreviewed | 8.8.x | released | 1 | 0 |
| 3066038 | The base theme property in theme .info.yml files is now required | 8.8.x | released | 1 | 367 |
| 3076634 | Simpletest cleanup-related functions replaced, deprecated unreviewed | 8.8.x | released | 3 | 0 |
| 3079028 | Modules can be excluded from the configuration synchronization unreviewed | 8.8.x | released | 2 | 0 |
| 2929443 | Modules can now declare their Drupal 8 upgrade status | 8.8.x | released | 1 | 60 |
| 3077623 | \Drupal\Core\Extension\Extension's constructor now validates input during development unreviewed | 8.8.x | released | 1 | 0 |
| 3075567 | EntityType::getSingularLabel() now handles lower-casing the entity type label; getLowercaseLabel() deprecated | 8.8.x | released | 1 | 6 |
| 3071527 | The 'Live' workspace has been removed | 8.8.x | released | 1 | 11 |
| 3082634 | Drupal.deprecationError() and Drupal.deprecatedProperty() added to allow triggering JavaScript deprecation errors unreviewed | 8.8.x | released | 2 | 0 |
| 3070687 | New 'core_version_requirement' key in info.yml files for modules, themes and profiles allows Composer semantic version constraints including specifying multiple major versions of core unreviewed | 8.7.x | released | 3 | 0 |
| 3075873 | Drupal "scaffold" files now duplicated in drupal/core unreviewed | 8.8.x | released | 1 | 0 |
| 3059717 | Added drupal/core-vendor-hardening Composer plugin unreviewed | 8.8.x | released | 2 | 0 |
| 2948547 | Simpletest's PHPUnit-related functions are now classes unreviewed | 8.8.x | released | 3 | 0 |
| 3075252 | Simpletest DB-related functions deprecated, moved to TestDatabase unreviewed | 8.8.x | released | 1 | 0 |
| 3075098 | Htaccess lines moved to new FileSecurity component | 8.8.x | released | 1 | 6 |
| 2960810 | Add theme support for content of 401/403/404 responses unreviewed | 8.8.x | released | 1 | 0 |
| 3066713 | Password confirm message class name changed unreviewed | 8.8.x | released | 1 | 0 |
| 2949692 | Drupal\simpletest\TestDiscovery deprecated in favor of Drupal\Core\Test\TestDiscovery unreviewed | 8.8.x | released | 2 | 0 |
| 3060969 | In MigrateIdMapInterface, getMessageIterator() is deprecated in favor of getMessages() | 8.8.x | released | 1 | 5 |
| 3066604 | ViewsExposedForm now takes the current path stack as a constructor parameter unreviewed | 8.8.x | released | 1 | 0 |
| 2906685 | Added waitForElementRemoved to JSWebAssert unreviewed | 8.8.x | released | 1 | 0 |
| 3074716 | template_preprocess_file_link() now retains the link variable as a render array unreviewed | 8.8.x | released | 1 | 0 |
| 3074409 | The <channel> element created by views RSS is no longer rendered during preprocessing unreviewed | 8.8.x | released | 1 | 0 |
| 3009387 | drupal_get_user_timezone() is no longer necessary | 8.8.x | released | 1 | 2 |
| 3073707 | Migrations can now opt into validation for content entities unreviewed | 8.8.x | released | 1 | 0 |
| 3052114 | Content moderation will no longer force new revisions on entities that have been flagged as 'syncing' unreviewed | 8.8.x | released | 1 | 0 |
| 3069730 | wikimedia/composer-merge-plugin removed in favor of a path repository unreviewed | 8.8.x | released | 1 | 0 |
| 3067713 | New element_plugin_alter() hook unreviewed | 8.8.x | released | 1 | 0 |
| 3070036 | Search block has new setting for search page unreviewed | 8.8.x | released | 1 | 0 |
| 3068527 | HelpSection plugins now can have weight for order unreviewed | 8.8.x | released | 1 | 0 |
| 3021778 | menu_local_tabs() is deprecated | 8.8.x | released | 1 | 1 |
| 3069692 | Calling ContentEntityStorageBase::doLoadMultipleRevisionsFieldItems() directly is deprecated. unreviewed | 8.8.x | released | 1 | 0 |
| 3072765 | Views UI no longer attaches jquery.ui.tabs unreviewed | 8.8.x | released | 1 | 0 |
| 3039255 | file_directory_temp() is deprecated and moved to the FileSystem service | 8.8.x | released | 2 | 92 |
| 3038437 | file_scan_directory() has been moved to the file_system service | 8.8.x | released | 1 | 110 |
| 3063510 | \Drupal\Core\Cache\Apcu4Backend is deprecated unreviewed | 8.8.x | released | 1 | 0 |
| 3066775 | Entity storage method ::restore() no longer calls preSave on entities or their fields | 8.7.x | released | 1 | 3 |
| 3009400 | Renderer service injected into several classes and services | 8.8.x | released | 1 | 6 |
| 3066407 | Null caches used while updating Drupal unreviewed | 8.8.x | released | 1 | 0 |
| 3067207 | Drupal\Tests\BrowserTestBase::drupalGetHeaders() method is deprecated unreviewed | 8.8.x | released | 1 | 0 |
| 3067969 | Most jQuery UI asset libraries are deprecated and moved to contrib modules | 8.8.x | released | 3 | 69 |
| 3066005 | Event is dispatched before configuration import and export to transform the configuration unreviewed | 8.8.x | released | 2 | 0 |
| 3087775 | New "Media embed" filter added unreviewed | 8.8.x | released | 1 | 0 |
| 3041017 | Introduce Drupal Scaffold Composer plugin unreviewed | 8.8.x | released | 3 | 0 |
| 3064022 | Asset libraries in *.libraries.yml can now be marked as deprecated | 8.8.x | released | 2 | 5 |
| 2966725 | Render callbacks must be a closure or implement TrustedCallbackInterface or RenderCallbackInterface | 8.8.x | released | 1 | 283 |
| 3056217 | Additional "getOriginalState" method added to the moderation information service and ModerationInformationInterface | 8.8.x | released | 1 | 8 |
| 3054173 | Objects returned by getMessageIterator() now include source and destination IDs unreviewed | 8.8.x | released | 1 | 0 |
| 3063749 | Kernel tests that perform no assertions are now marked as risky unreviewed | 8.8.x | released | 1 | 0 |
| 3067480 | The UpdateKernel removes services with unmet dependencies from the container unreviewed | 8.7.x | released | 1 | 0 |
| 2354963 | New Help Topics experimental module unreviewed | 8.7.x | released | 4 | 0 |
| 3059039 | Drupal\Core\Field\WidgetBase and Drupal\Core\Field\FormatterBase implement ContainerFactoryPluginInterface unreviewed | 8.8.x | released | 1 | 0 |
| 3045094 | The 'summary' field for a Text with Summary widget can now be marked as required unreviewed | 8.8.x | released | 1 | 0 |
| 3018145 | The sync directory is defined in $settings and not $config_directories | 8.8.x | released | 1 | 29 |
| 3057322 | \Drupal\Component\Utility\Unicode::caseFlip() will be removed unreviewed | 8.8.x | released | 1 | 0 |
| 3061125 | The BackendChain constructor parameter is deprecated unreviewed | 8.8.x | released | 1 | 0 |
| 3087622 | The composer/composer package is now a development requirement for Drupal core unreviewed | 8.8.x | released | 1 | 0 |
| 3061520 | Formatting guidelines visual styles removed from filter module unreviewed | 8.8.x | released | 1 | 0 |
| 2869168 | Exposed filters can now limit which operator they expose unreviewed | 8.8.x | released | 1 | 0 |
| 3060703 | New file_size variable in file-link.html.twig unreviewed | 8.8.x | released | 1 | 0 |
| 3054692 | \Drupal\system\SystemRequirements::phpVersionWithPdoDisallowMultipleStatements() is deprecated unreviewed | 8.8.x | released | 1 | 0 |
| 3054488 | Drupal\Component\Utility\Crypt::hashEquals() is deprecated in favour of PHP's built-in hash_equals() | 8.8.x | released | 1 | 1 |
| 3057326 | Passing a File entity as the first argument to assertFileExists and assertFileNotExists is deprecated unreviewed | 8.8.x | released | 1 | 0 |
| 3117753 | Data integrity issues with menu content and taxonomy term entities while updating to 8.7 and above unreviewed | 8.7.x | released | 1 | 0 |
| 3023427 | \Drupal\views\Plugin\views\field\LinkBase now requires the EntityManager and Language manager | 8.8.x | released | 1 | 3 |
| 3057191 | Deprecate \Drupal\Component\Utility\Crypt::randomBytes() in favour of PHP's builtin random_bytes() (3054311) | 8.8.x | released | 1 | 1 |
| 2943918 | ConfigImporter now takes the module extension list as a constructor parameter unreviewed | 8.8.x | released | 2 | 0 |
| 3035273 | Several file uri/scheme functions deprecated and moved to \Drupal\Core\StreamWrapper\StreamWrapperManagerInterface | 8.8.x | released | 1 | 3 |
| 3058400 | CLI tools that cause a fatal error now exit with an error status unreviewed | 8.7.x | released | 1 | 0 |
| 3056639 | MailManagerInterface::mail() allows override of error message unreviewed | 8.8.x | released | 1 | 0 |
| 3056869 | Support for PHPUnit 4 has been removed unreviewed | 8.8.x | released | 6 | 0 |
| 3030340 | WebTestBase is deprecated | 8.8.x | released | 1 | 2061 |
| 3047897 | NodeNewComments requires the entity type manager and entity field manager to be passed into the constructor unreviewed | 8.8.x | released | 1 | 0 |
| 3055990 | Animations are disabled in WebDriverTestBase javascript testing unreviewed | 8.7.x | released | 1 | 0 |
| 3049030 | file_default_scheme() is deprecated | 8.8.x | released | 1 | 1 |
| 2999951 | Deprecated archiver procedural functions | 8.8.x | released | 1 | 18 |
| 3051983 | drupal_schema_get_field_value() deprecated | 8.8.x | released | 1 | 1 |
| 3050078 | Field formatters now pass their third party settings | 8.8.x | released | 1 | 1 |
| 3040204 | Views exposed filters identifiers are now validated correctly unreviewed | 8.8.x | released | 1 | 0 |
| 3046938 | TrackerTestBase is deprecated unreviewed | 8.8.x | released | 1 | 0 |
| 3051463 | user_delete and user_delete_multiple have been deprecated | 8.8.x | released | 2 | 1 |
| 3051072 | entity_delete_multiple is deprecated | 8.8.x | released | 1 | 339 |
| 3050910 | entity_load_multiple_by_properties() is deprecated | 8.8.x | released | 1 | 1248 |
| 3033656 | Functions to view entities are deprecated unreviewed | 8.8.x | released | 2 | 0 |
| 3051077 | entity_get_bundles() deprecated in favor of EntityTypeBundleInfo service unreviewed | 8.0.x | released | 1 | 0 |
| 2835616 | entity_get_display() and entity_get_form_display() moved to EntityDisplayRepositoryInterface | 8.8.x | released | 1 | 716 |
| 3041703 | TaxonomyTestTrait moved under Traits directory unreviewed | 8.8.x | released | 1 | 0 |
| 2853355 | ConfigurableTrait and ConfigurablePluginBase available to reduce plugin boilerplate | 11.3.x | released | 1 | 0 |
| 3035275 | drupal_classloader_register() & system_register() are deprecated unreviewed | 8.8.x | released | 1 | 0 |
| 3038171 | Add support for RFC5785 change password well known resource unreviewed | 8.8.x | released | 1 | 0 |
| 3047051 | Menu link title and description can now be changed in non-default workspaces and content moderation enabled node edit forms unreviewed | 8.7.x | released | 1 | 0 |
| 3043694 | Passing an array as value to the link_uri migrate source plugin has been deprecated unreviewed | 8.8.x | released | 1 | 0 |
| 3041002 | CSS standards for ordering enforced using stylelint-order plugin unreviewed | 8.8.x | released | 1 | 0 |
| 3037022 | New ExportStorage service to assist with configuration export | 8.8.x | released | 1 | 113 |
| 3044409 | PHP 5.5 only supported for existing Drupal 8 sites, new Drupal 8 sites require PHP 7.0.8 unreviewed | 8.7.x | released | 1 | 0 |
| 3033540 | Action module forms moved to src/Form unreviewed | 8.8.x | released | 1 | 0 |
| 3043943 | LayoutBuilderSampleEntityGenerator now implements an interface unreviewed | 8.7.x | released | 1 | 0 |
| 3043944 | InlineBlockUsage now implements an interface | 8.7.x | released | 1 | 3 |
| 3043164 | Layout Builder overrides are now stored in a non-translatable field unreviewed | 8.7.x | released | 2 | 0 |
| 3043523 | Media now has a permission to view unpublished items unreviewed | 8.7.x | released | 1 | 0 |
| 3003756 | Drupal Coder/PHPCS Updates unreviewed | 8.7.x | released | 1 | 0 |
| 3039551 | Additional permissions added for Layout Builder unreviewed | 8.7.x | released | 1 | 0 |
| 3042512 | hook_layout_builder_overrides_entity_form_display_alter() has been removed in favor of the generic hook_entity_form_display_alter() unreviewed | 8.7.x | released | 1 | 0 |
| 3042396 | oEmbed content can now be responsive unreviewed | 8.7.x | released | 1 | 0 |
| 3040966 | The content entity storage and entity query now use the last installed entity type and field storage definitions | 8.7.x | released | 1 | 278 |
| 3042234 | FileSystem::copy(), FileSystem::move() and FileSystem::saveData() no longer support an optional destination | 8.7.x | released | 1 | 191 |
| 3042154 | PHP dependencies updated for 8.7.0 unreviewed | 8.7.x | released | 1 | 0 |
| 3041438 | JSON:API is a new stable module unreviewed | 8.7.x | released | 1 | 0 |
| 2973222 | ContentTranslationUpdatesManager is deprecated unreviewed | 8.7.x | released | 1 | 0 |
| 3028211 | Layout Builder helper function isEntityUsingFieldOverride() has been deprecated | 8.7.x | released | 1 | 11 |
| 2897789 | Taxonomy terms are revisionable unreviewed | 8.7.x | released | 1 | 0 |
| 3039034 | Custom menu links are revisionable unreviewed | 8.7.x | released | 1 | 0 |
| 3029856 | ContextDefinition annotations can specify constraints | 8.7.x | released | 1 | 5 |
| 2961643 | Serialized field properties are now serialized when loaded from the storage unreviewed | 8.7.x | released | 1 | 0 |
| 3037305 | New StorageCopyTrait to copy all the configuration from one storage to another | 8.7.x | released | 1 | 7 |
| 3006076 | Drupal\migrate_drupal\Plugin\migrate::PLUGIN_METHOD is deprecated. unreviewed | 8.7.x | released | 1 | 0 |
| 2954670 | New migrate field discovery service for fields and field instances unreviewed | 8.7.x | released | 1 | 0 |
| 3036689 | Kernel tests have to install entity type schemas for all the entity types they are testing, and before installing any other configuration unreviewed | 8.7.x | released | 1 | 0 |
| 3034742 | Support for automatic entity updates has been removed unreviewed | 8.7.x | released | 1 | 0 |
| 3036722 | New API to perform entity variant negotiation available | 8.7.x | released | 2 | 584 |
| 3036823 | Drupal\Component\DependencyInjection\Container does not implement Symfony\Component\DependencyInjection\ResettableContainerInterface anymore | 8.7.x | released | 1 | 2 |
| 3213625 | Add ArchiveTar to composer.json unreviewed | 8.7.x | released | 1 | 0 |
| 3036709 | New helper method available to set up the "current_user" service in kernel tests unreviewed | 8.7.x | released | 2 | 0 |
| 3000058 | Procedural functions drupal_set_time_limit() and file_upload_max_size() are deprecated | 8.7.x | released | 1 | 77 |
| 3035166 | Section lists can now differentiate between newly created empty lists and those that have had all sections removed | 8.7.x | released | 1 | 24 |
| 2925634 | Field rendering respects configurable field display unreviewed | 8.7.x | released | 1 | 0 |
| 3035954 | Layout Builder's CSS classes now follow BEM standards unreviewed | 8.7.x | released | 1 | 0 |
| 3039683 | \Drupal\Core\Validation\TranslatorInterface no longer extends \Symfony\Component\Translation\TranslatorInterface unreviewed | 8.7.x | released | 1 | 0 |
| 3035507 | Filenames now include the _NUMBER if renamed by file_save_upload() due to FILE_EXISTS_RENAME unreviewed | 8.7.x | released | 1 | 0 |
| 3035096 | Layout sections can now have third-party settings unreviewed | 8.7.x | released | 1 | 0 |
| 3006851 | Unmanaged file functions replaced with a service | 8.7.x | released | 3 | 7 |
| 3002434 | hook_process_html 'attributes' variable is consistently an array unreviewed | 8.7.x | released | 1 | 0 |
| 3032823 | Per-entity layout changes are now restricted to users that can view the entity unreviewed | 8.6.x | released | 1 | 0 |
| 3032731 | UpdatePathTestBase has been changed to re-initialize the test site (rebuild container, clear caches) after running the database updates unreviewed | 8.7.x | released | 2 | 0 |
| 3030634 | SelectionTrait has been deprecated unreviewed | 8.7.x | released | 1 | 0 |
| 3021663 | file_delete() and file_delete_multiple() are deprecated | 8.7.x | released | 1 | 338 |
| 3030558 | New reverse proxy settings format introduced in Drupal 8.7.0 for Symfony 4 compatibility unreviewed | 8.7.x | released | 1 | 0 |
| 3032274 | Hook introduced to add form elements to layout builder overrides form unreviewed | 8.7.x | released | 1 | 0 |
| 3021808 | The abstract class Entity has been renamed to EntityBase | 8.7.x | released | 1 | 4 |
| 3031697 | Prevent access to Layout Builder data via REST unreviewed | 8.7.x | released | 1 | 0 |
| 3021276 | New AnnounceCommand allows including screen reader announcement in Ajax responses. unreviewed | 8.7.x | released | 1 | 0 |
| 3030415 | The permission to use the toolbar has been relabeled from "Use the administration toolbar" to "Use the toolbar" unreviewed | 8.7.x | released | 1 | 0 |
| 3025869 | TempStore lock metadata now uses the \Drupal\Core\TempStore\Lock class | 8.7.x | released | 1 | 12 |
| 3046576 | Entity Update backup data is now preserved by default unreviewed | 8.7.x | released | 2 | 0 |
| 3029997 | New Entity Update API for converting the schema of a content entity type, with or without pre-existing data unreviewed | 8.7.x | released | 1 | 0 |
| 3029850 | Render element for Layout Builder UI has been added unreviewed | 8.7.x | released | 1 | 0 |
| 3026087 | Content entity now available when validating content moderation transitions | 8.6.x | released | 1 | 4 |
| 3029284 | RevisionableInterface, TranslatableInterface and other specialized entity interfaces now extend EntityInterface unreviewed | 8.7.x | released | 1 | 0 |
| 3027618 | The naming scheme for PostgreSQL sequence generators has been changed unreviewed | 8.6.x | released | 1 | 0 |
| 2946161 | ConfigurablePluginInterface is deprecated in favor of ConfigurableInterface, DependentPluginInterface. | 8.7.x | released | 1 | 272 |
| 2934242 | hook_test_*() hooks are deprecated unreviewed | 8.7.x | released | 3 | 0 |
| 3001185 | Session handler proxy 'session_handler.write_check' has been removed from the container unreviewed | 8.7.x | released | 1 | 0 |
| 3011154 | Procedural function twig_without() is deprecated unreviewed | 8.7.x | released | 1 | 0 |
| 3024541 | ModuleHandler::getName() will no longer support uninstalled modules | 8.6.x | released | 1 | 2 |
| 3024762 | "Add media" button removed from media library widget unreviewed | 8.7.x | released | 3 | 0 |
| 3024321 | Link relations now use absolute URLs because Google doesn't support relative URLs unreviewed | 8.7.x | released | 1 | 0 |
| 3020140 | Layout Builder now ships with single row sections instead of stacked sections unreviewed | 8.7.x | released | 1 | 0 |
| 2917674 | Text fields can be click sorted in table views unreviewed | 8.7.x | released | 1 | 0 |
| 3022574 | LayoutBuilderEntityViewDisplay::getRuntimeSections() is deprecated | 8.7.x | released | 1 | 17 |
| 3022118 | SectionStorage plugins must implement isApplicable() | 8.7.x | released | 1 | 1 |
| 3000037 | entity_render_cache_clear() function is deprecated | 8.0.x | released | 1 | 12 |
| 3021135 | Optimized the use of the routing system in the REST module's entity support unreviewed | 8.7.x | released | 1 | 0 |
| 3018300 | Message, goto, and email action plugins are moved to Drupal\Core\Action\Plugin\Action namespace | 8.7.x | released | 1 | 2 |
| 2940126 | file_ensure_htaccess() and file_save_htaccess() are deprecated | 8.8.x | released | 1 | 8 |
| 3019948 | ActiveTheme::getBaseThemes() is deprecated | 8.7.x | released | 1 | 59 |
| 3020137 | Comment fragment identifier moved to the comment container unreviewed | 8.7.x | released | 1 | 0 |
| 3019830 | $file->url() returning the URL to the physical file is deprecated, use $file->createFileUrl() instead. | 8.7.x | released | 1 | 96 |
| 3020367 | DateTimeIso8601::getDateTime() now works as documented unreviewed | 8.7.x | released | 1 | 0 |
| 3016262 | Layout Builder SectionStorage plugins no longer support having their section list injected, and must rely on context instead | 8.7.x | released | 1 | 3 |
| 3012353 | Layout section storage plugins should be loaded based on a list of available contexts | 8.7.x | released | 1 | 21 |
| 3018742 | Media items no longer available at /media/{id} by default unreviewed | 8.7.x | released | 1 | 0 |
| 2669550 | Added the "Expand all items in this tree" option in system menu block unreviewed | 8.7.0 | released | 1 | 0 |
| 3002643 | status_messages render element can now render an optional fallback area unreviewed | 8.7.x | released | 1 | 0 |
| 2935209 | JavaScript messages template changes unreviewed | 8.7.x | released | 1 | 0 |
| 2930536 | JavaScript Messages API unreviewed | 8.7.x | released | 1 | 0 |
| 3018097 | Pager CSS ID changed from "pagination-heading" to an unique ID unreviewed | 8.7.x | released | 1 | 0 |
| 3016699 | Plugins now use the 'context_definitions' key to define their contexts unreviewed | 8.7.x | released | 1 | 0 |
| 3053046 | The entity_type and field_name fields on Comment entities are now required and should not be NULL unreviewed | 8.7.x | released | 2 | 0 |
| 3009182 | New TableSort class and deprecated tablesort.inc functions | 8.7.x | released | 1 | 19 |
| 2986918 | Display extenders are now validated when the view is saved unreviewed | 8.7.x | released | 1 | 0 |
| 3015116 | New \Drupal\Component\Utility\Mail added unreviewed | 8.6.x | released | 1 | 0 |
| 2880055 | Datetime and Datelist elements now obey #date_timezone attribute unreviewed | 8.7.x | released | 1 | 0 |
| 3015367 | New hook_entity_preload() added unreviewed | 8.7.x | released | 1 | 0 |
| 3006470 | MigrateField plugins are now weighted. unreviewed | 8.7.x | released | 1 | 0 |
| 2925510 | Views exposed form blocks now properly display their titles unreviewed | 8.7.x | released | 1 | 0 |
| 3009286 | MigrateField email, entityreference, and number_default plugins have moved from Core\Field into the field module. | 8.7.x | released | 1 | 1 |
| 2999991 | Procedural function date_iso8601() is deprecated in favour of PHP date('c', $timestamp) unreviewed | 8.7.x | released | 1 | 0 |
| 3014010 | getSourceStorage() added to ConfigInstallerInterface | 8.7.x | released | 1 | 15 |
| 2979986 | taxonomy_check_vocabulary_hierarchy() has been deprecated unreviewed | 8.7.x | released | 1 | 0 |
| 2982512 | FieldDefinition class added to support defining bundle fields in code unreviewed | 8.7.x | released | 1 | 0 |
| 3038583 | PHP 7.3 support unreviewed | 8.6.x | released | 1 | 0 |
| 2997196 | New EmailValidatorInterface interface for typehinting the email.validator service | 8.7.x | released | 3 | 3 |
| 3001550 | http_client service now supports empty headers unreviewed | 8.7.x | released | 1 | 0 |
| 3009700 | Username formatter checks access hooks unreviewed | 8.7.x | released | 1 | 0 |
| 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 | 3 |
| 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 | 1 |
| 2993171 | CSS Rendering no longer includes workaround for Internet Explorer 9 unreviewed | 8.7.x | released | 1 | 0 |
| 3001283 | Drupal\migrate\Plugin\migrate\process\MigrationLookup::skipOnEmpty() is removed. | 8.7.x | released | 1 | 5 |
| 3001247 | The migration_lookup process plugin now correctly accepts 0 as a valid lookup value. unreviewed | 8.7.x | released | 1 | 0 |
| 3006487 | Deprecated migrate source plugin d6/VariableTranslation unreviewed | 8.7.x | released | 1 | 0 |
| 2756875 | New Drupal\Core\Extension\Dependency to parse and check Drupal module dependencies unreviewed | 8.7.x | released | 1 | 0 |
| 3007330 | Profiles now support hook_requirements() unreviewed | 8.6.x | released | 1 | 0 |
| 2997500 | db_ignore_replica() is deprecated and converted into a service. unreviewed | 8.7.x | released | 1 | 0 |
| 3002321 | Added DeprecatedServicePropertyTrait to simplify deprecating injected services/properties | 8.7.x | released | 1 | 5 |
| 3001535 | Add ::get() and ::getMultiple() methods to the Drupal\migrate\Row class. | 8.7.x | released | 1 | 15 |
| 3001533 | $process_plugin_manager parameter in Drupal\migrate\Plugin\migrate\process\MigrationLookup::_construct has been removed. | 8.7.x | released | 1 | 5 |
| 2299747 | Project namespaces can now be added for module dependencies unreviewed | 8.0.x | released | 2 | 0 |
| 3000051 | Procedural function drupal_http_header_attributes() is deprecated unreviewed | 8.7.x | released | 1 | 0 |
| 3001224 | Revisions tab is now visible with one draft unreviewed | 8.7.x | released | 1 | 0 |
| 3001664 | \Drupal\field_ui\Tests\FieldUiTestTrait deprecated unreviewed | 8.6.x | released | 1 | 0 |
| 2998780 | Using PluginManagerInterface::getInstance() is now discouraged unreviewed | 8.6.x | released | 1 | 0 |
| 2998888 | Drupal\field\Tests\EntityReference\EntityReferenceTestTrait deprecated | 8.6.x | released | 2 | 23 |
| 3001134 | Content moderation now allows you to customise the starting moderation state unreviewed | 8.7.x | released | 1 | 0 |
| 3000819 | The data-drupal-link-system-path attribute is only set for routes with a system path or <front> unreviewed | 8.7.x | released | 1 | 0 |
| 2986827 | Added a way to enforce an empty result set for a database condition query | 8.7.x | released | 1 | 6 |
| 2992821 | User form access fixes unreviewed | 8.7.x | released | 1 | 0 |
| 2999766 | \Drupal\user\Tests\UserResetEmailTestTrait has been deprecated unreviewed | 8.6.x | released | 1 | 0 |
| 3000572 | MySql Schema::renameTable() now always return NULL unreviewed | 8.7.x | released | 1 | 0 |
| 2989742 | Replace all calls to db_insert, which is deprecated | 8.7.x | released | 1 | 550 |
| 2999418 | Layout Builder section storage plugins can opt-in to providing local tasks unreviewed | 8.7.x | released | 1 | 0 |
| 2996668 | The form element has a new property #label_for | 8.7.x | released | 1 | 1 |
| 2997808 | Add hook_aggregator_*_info_alter() to alter Aggregator plugin definitions unreviewed | 8.7.x | released | 1 | 0 |
| 2999035 | Schema::fieldSetDefault and Schema::fieldSetNoDefault are deprecated | 8.7.x | released | 1 | 131 |
| 2993033 | db_* procedural functions of the Database API layer have been deprecated | 8.0.x | released | 6 | 17 |
| 2998929 | EntityOwnerTrait can be used as a default implementation of EntityOwnerInterface | 8.7.x | released | 2 | 134 |
| 2997122 | Allow invokable services as controllers unreviewed | 8.7.x | released | 1 | 0 |
| 2929327 | The workflow entity has additional access operations for states and transitions. unreviewed | 8.7.x | released | 1 | 0 |
| 2986320 | Current user object is no longer available in $context array when writing logs unreviewed | 8.7.x | released | 1 | 0 |
| 2981627 | EntityAdapter typed data class now has a getEntity method | 8.7.x | released | 1 | 17 |
| 2988067 | New SynchronizableInterface available for all entity types unreviewed | 8.7.x | released | 1 | 0 |
| 2994780 | Comment module no longer logs IP addresses for comments by default unreviewed | 8.7.x | released | 1 | 0 |
| 2944081 | Replace all calls to db_close, which is deprecated | 8.0.x | released | 1 | 2 |
| 2946521 | HAL and JSON normalizers now support map field and property types unreviewed | 8.6.x | released | 1 | 0 |
| 2909426 | $modules is now a protected property in tests | 9.0.x | released | 2 | 0 |
| 2993487 | Temporary files are not migrated anymore unreviewed | 8.6.x | released | 1 | 0 |
| 2986680 | Using Prettier with Core JavaScript unreviewed | 8.6.x | released | 1 | 0 |
| 2893876 | StringTranslationTrait::getStringTranslation() will no longer set $this->stringTranslation unreviewed | 8.6.x | released | 1 | 0 |
| 2989020 | Field module WebTestBase helper classes have been deprecated unreviewed | 8.6.x | released | 1 | 0 |
| 2989138 | menu_cache_clear_all() is deprecated | 8.6.x | released | 1 | 230 |
| 2979042 | Use Zend-Feed's standalone extension managers to prevent sites breaking | 8.6.x | released | 2 | 3 |
| 2988752 | \Drupal\simpletest\InstallerTestBase deprecated in favor of \Drupal\FunctionalTests\Installer\InstallerTestBase | 8.6.x | released | 1 | 1 |
| 2863031 | Implementors of ConfigMapperInterface::populateFromRouteMatch() should call their parent implementation last unreviewed | 8.6.x | released | 1 | 0 |
| 2985366 | Taxonomy terms are publishable unreviewed | 8.6.x | released | 1 | 0 |
| 2991970 | d6_entity_reference_translation and d7_entity_reference_translation depend on migrate_drupal | 8.6.x | released | 2 | 101 |
| 2960040 | Multilingual migrations now require the Migrate Drupal Multilingual module unreviewed | 8.6.x | released | 1 | 0 |
| 2978419 | Added the ability to set Custom Block entities as non-reusable | 8.6.x | released | 2 | 41 |
| 2987737 | Replace all calls to db_drop_table, which is deprecated. | 8.0.x | released | 1 | 169 |
| 2981389 | Changes to Download and FileCopy process plugin | 8.6.x | released | 1 | 6 |
| 2973666 | File migrations can download by reusing existing files unreviewed | 8.6.x | released | 1 | 0 |
| 2986276 | New nightwatch commands for login and logout unreviewed | 8.6.x | released | 1 | 0 |
| 2985163 | SearchTestBase is deprecated in favor of BrowserTestBase unreviewed | 8.6.x | released | 1 | 0 |
| 2985957 | New hook_entity_revision_create() and hook_ENTITY_TYPE_revision_create() hooks unreviewed | 8.6.x | released | 1 | 0 |
| 2949023 | Move schema fallback from ConfigEntity::toArray() to ConfigEntityType::getPropertiesToExport() unreviewed | 8.6.x | released | 2 | 0 |
| 2976400 | Entity contexts have dedicated classes | 8.6.x | released | 1 | 3 |
| 2944598 | Update method names to be more meaningful in MigrateFieldInterface | 8.6.x | released | 1 | 16 |
| 2985785 | UpdatePathTestBase tests have to be in the legacy group unreviewed | 8.6.x | released | 1 | 0 |
| 2896416 | Drupal core tests can be run with contributed database drivers | 8.6.x | released | 2 | 3 |
| 2979523 | UI helper functions are moved from BrowserTestBase into the traits unreviewed | 8.6.x | released | 1 | 0 |
| 2983788 | Simpletest validates its parent class unreviewed | 8.6.x | released | 1 | 0 |
| 2945059 | JavascriptTestBase is deprecated in favor of WebDriverTestBase | 8.6.x | released | 2 | 532 |
| 2960492 | \Drupal\migrate\Plugin\migrate\destination\EntityContentBase::updateEntity() return value deprecated unreviewed | 8.5.x | released | 1 | 0 |
| 2969361 | \Drupal\file\Tests\FileFieldTestBase and FileManagedTestBase have been deprecated unreviewed | 8.6.x | released | 1 | 0 |
| 2981614 | MediaFunctionalTestCreateMediaTypeTrait replaced by MediaTypeCreationTrait | 8.6.x | released | 1 | 103 |
| 2980179 | Added EntityDefinitionUpdateManager::getEntityTypes() | 8.6.x | released | 1 | 1 |
| 2980591 | Validation constraint added to check if an entity has a field unreviewed | 8.6.x | released | 1 | 0 |
| 2946549 | EntityDefinitionTestTrait and EntityWithUriCacheTagsTestBase have been deprecated unreviewed | 8.5.x | released | 1 | 0 |
| 2979920 | Context handler can now filter object-based plugin definitions | 8.6.x | released | 1 | 1 |
| 2997504 | Config installer now installs optional configuration with recursive dependencies unreviewed | 8.6.x | released | 1 | 0 |
| 2897299 | Installing Drupal from configuration (only certain profiles) unreviewed | 8.6.x | released | 2 | 0 |
| 2958726 | Editorial workflow config moved from content_moderation into standard profile unreviewed | 8.6.x | released | 1 | 0 |
| 2979950 | \Drupal\Tests\search\Functional\SearchTestBase::submitGetForm() has been deprecated unreviewed | 8.6.x | released | 1 | 0 |
| 2974681 | New JavaScript theme function for customizing throbber markup unreviewed | 8.6.x | released | 1 | 0 |
| 2961774 | Permissions hardening shows only valid warnings for conf files when skip_permissions_hardening is on unreviewed | 8.6.x | released | 1 | 0 |
| 2975901 | Add node type to node preview page body class unreviewed | 8.6.x | released | 1 | 0 |
| 2882674 | Allow contrib/custom modules to grant field-level access to User fields unreviewed | 8.6.x | released | 1 | 0 |
| 2954182 | Configuration entities are now supported by the typed data system unreviewed | 8.6.x | released | 1 | 0 |
| 2855055 | Double underscores in views css classes are now preserved unreviewed | 8.6.x | released | 1 | 0 |
| 2974956 | Contrib or custom database drivers need to implement Schema::findPrimaryKeyColumns method | 8.6.x | released | 1 | 1 |
| 2914601 | BrowserTestBase provides a method to get an HTTP client unreviewed | 8.5.x | released | 1 | 0 |
| 2966029 | oEmbed support added to Media module | 8.6.x | released | 1 | 5 |
| 2973262 | Added memory cache | 8.6.x | released | 1 | 2 |
| 2975280 | Fields and widgets have more control about affecting changes and pending revision translations | 8.6.x | released | 6 | 9 |
| 2974784 | Off-canvas dialogs can be rendered at the top of the page unreviewed | 8.6.x | released | 1 | 0 |
| 2974044 | TestDiscovery::scanDirectory() will ignore *TestBase.php, *Trait.php, and *Interface.php files unreviewed | 8.6.x | released | 1 | 0 |
| 2972030 | Anchor option added to "Scale and Crop" image effect unreviewed | 8.6.x | released | 1 | 0 |
| 2958395 | 403 responses to REST PATCH requests now specify the reason for disallowing PATCHing a field unreviewed | 8.6.x | released | 1 | 0 |
| 2971931 | Move all entity type REST tests to the providing modules unreviewed | 8.6.x | released | 1 | 0 |
| 2974112 | ConfigInstaller now checks whether config file name and entity ID match unreviewed | 8.6.x | released | 1 | 0 |
| 2939152 | Theme developers can add the default logo filename to the theme's .info.yml unreviewed | 8.6.x | released | 1 | 0 |
| 2971305 | Details elements allow specifying attributes for the <summary> element unreviewed | 8.6.x | released | 1 | 0 |
| 2959408 | Use http_kernel.controller.argument_resolver service to get arguments instead of controller_resolver service unreviewed | 8.6.x | released | 1 | 0 |
| 2850048 | Use mb_* functions instead of Unicode::* methods | 8.6.x | released | 2 | 1 |
| 2968570 | JS testing using nightwatch unreviewed | 8.6.x | released | 1 | 0 |
| 2968491 | Workspaces is a new experimental module unreviewed | 8.6.x | released | 1 | 0 |
| 2908461 | New method to invalidate twig templates | 8.6.x | released | 1 | 545 |
| 2969396 | New command line tool to install & run Drupal unreviewed | 8.6.x | released | 1 | 0 |
| 2952947 | Install profiles can now define explicit dependencies | 8.6.x | released | 1 | 18 |
| 2962688 | Invalid image token with or without missing source image now always returns a 404 unreviewed | 8.6.x | released | 1 | 0 |
| 2917910 | \Drupal\menu_ui\Tests\MenuWebTestBase have been deprecated unreviewed | 8.5.x | released | 1 | 0 |
| 2961820 | New hooks available for filtering plugins at runtime | 8.6.x | released | 1 | 3 |
| 2962731 | Distributions are now able to provide a destination to visit after installation is finished unreviewed | 8.6.x | released | 1 | 0 |
| 2918193 | Language reference fields now implement \Drupal\Core\TypedData\OptionsProviderInterface | 8.6.x | released | 1 | 31 |
| 2955658 | Migrations can now be derived and executed after a specific other migration | 8.5.x | released | 1 | 1 |
| 2945251 | Bottom padding added to drupal-off-canvas dialog unreviewed | 8.6.x | released | 1 | 0 |
| 2960601 | Use hook_post_update_NAME instead of hook_update_N to clear the cache unreviewed | 8.6.x | released | 2 | 0 |
| 2949630 | New service to make updating configuration entities easier inside update hooks unreviewed | 8.6.x | released | 1 | 0 |
| 2936388 | New method DrupalDateTime::getPhpDateTime() exposes PHP's native \DateTime object | 8.6.x | released | 1 | 18 |
| 2950404 | Ajax helper traits | 8.6.x | released | 1 | 53 |
| 2943615 | Add commands to install and tear down a test site unreviewed | 8.6.x | released | 1 | 0 |
| 2958072 | BaseFieldDefinition::setInitialValueFromField() accepts a default value | 8.5.x | released | 1 | 3 |
| 2875389 | BatchBuilder class for batch API | 8.6.x | released | 1 | 2 |
| 2941424 | HAL's FileEntityNormalizer::denormalize() removed unreviewed | 8.6.x | released | 1 | 0 |
| 2941420 | New "file_upload" REST resource plugin: allows file uploads of any size, creates File entities unreviewed | 8.6.x | released | 1 | 0 |
| 2950118 | \Drupal::classResolver() now takes an optional argument to directly load a class | 8.6.x | released | 1 | 224 |
| 2901603 | Original topics variable added to forum template unreviewed | 8.6.x | released | 1 | 0 |
| 2947487 | D6 Book source plugin is deprecated unreviewed | 8.5.x | released | 1 | 0 |
| 2857691 | Views integration for the Datetime Range module | 8.6.x | released | 1 | 3 |
| 2941907 | Simpletest version of SystemConfigFormTestBase has been deprecated and replaced with a kernel test version | 8.6.x | released | 1 | 3 |
| 2944589 | The field_type_defaults has been deprecated unreviewed | 8.5.x | released | 1 | 0 |
| 2936061 | Migrate Image CCK and Field plugins moved to image module | 8.5.x | released | 1 | 1 |
| 2939892 | hook_simpletest_alter() is deprecated for removal before Drupal 9. unreviewed | 8.6.x | released | 2 | 0 |
| 2944084 | Replace all calls to db_set_active, which is deprecated. | 8.0.x | released | 1 | 10 |
| 2943146 | Isolate KernelTestBase from Simpletest dependencies | 8.6.x | released | 3 | 6 |
| 2944527 | Core migrations are now categorized to Configuration or Content unreviewed | 8.6.x | released | 2 | 0 |
| 2940334 | Added a migrate entity content source plugin unreviewed | 8.5.x | released | 1 | 0 |
| 2941464 | Test Drupal using webDriver unreviewed | 8.5.x | released | 1 | 0 |
| 2940780 | hook_field_widget_multivalue_form_alter() and hook_field_widget_multivalue_WIDGET_TYPE_form_alter() added unreviewed | 8.5.x | released | 1 | 0 |
| 2941474 | New API to retrieve field properties having translation synchronization enabled unreviewed | 8.5.x | released | 1 | 0 |
| 2929216 | Form handler and link template keys for the Settings Tray block form have change unreviewed | 8.5.x | released | 1 | 0 |
| 2940777 | The Field UI's "Manage Display" functionality is replaced by the layout builder UI when layout builder module is enabled unreviewed | 8.6.x | released | 1 | 0 |
| 2875519 | Merge Component composer.json files to account for them during build unreviewed | 8.5.x | released | 1 | 0 |
| 2939930 | Migrate Drupal UI supports incremental upgrades unreviewed | 8.5.x | released | 1 | 0 |
| 2925008 | Update versions of core JavaScript dependencies unreviewed | 8.5.x | released | 1 | 0 |
| 2926696 | Better Greek transliteration unreviewed | 8.6.x | released | 1 | 0 |
| 2934349 | Entity action plugins replace node's and comment's delete action plugins | 8.6.x | released | 1 | 16 |
| 2941753 | Extension system methods and functions now throw UnknownExtensionException and UninstalledExtensionException instead of \InvalidArgumentException unreviewed | 8.6.x | released | 3 | 0 |
| 2709919 | _system_rebuild_module_data() and co. are replaced by services to give you all available modules and themes | 8.7.x | released | 7 | 1348 |
| 2938193 | New option to hide untranslatable field widgets unreviewed | 8.5.x | released | 1 | 0 |
| 2938191 | New API to specify whether changes to untranslatable fields should affect only the default revision translation | 8.5.x | released | 1 | 21 |
| 2936675 | Term entity type's "parent" field is now a standard Entity Reference field and the taxonomy_term_hierarchy table has been removed unreviewed | 8.6.x | released | 2 | 0 |
| 2937545 | Symfony components updated to 3.4.x unreviewed | 8.5.x | released | 4 | 0 |
| 2895605 | Introduce per-bundle permissions for media types in preparation to deprecate existing ones unreviewed | 8.5.x | released | 1 | 0 |
| 2865645 | REST resources now have a single "GET" route for all supported formats unreviewed | 8.5.x | released | 1 | 0 |
| 2934705 | It is now possible again to manually set the ID for newly-created entities with string IDs unreviewed | 8.5.x | released | 1 | 0 |
| 2936380 | Views filters for content moderation state added unreviewed | 8.5.x | released | 1 | 0 |
| 2936357 | New API to create entity revisions | 8.5.x | released | 2 | 8 |
| 2936349 | Added a way to determine whether a revision was default when it was created | 8.5.x | released | 1 | 17 |
| 2935639 | User module's user.private_tempstore and user.shared_tempstore services moved to core | 8.5.x | released | 1 | 8 |
| 2885746 | FormatDate migration process plugin now supports specifying of source and destination timezones unreviewed | 8.5.x | released | 1 | 0 |
| 2911881 | Require 'source_module' annotation to indicate module responsible for migration unreviewed | 8.5.x | released | 1 | 0 |
| 2935860 | New isAuditable method added to MigrationInterface unreviewed | 8.5.x | released | 1 | 0 |
| 2914149 | createInstancesByTag method added to MigrationPluginManagerInterface | 8.5.0 | released | 1 | 9 |
| 2930829 | New method \Drupal\Core\Config\Config::hasOverrides($key) determines if a configuration object or any of its keys are overridden | 8.5.x | released | 1 | 21 |
| 2935083 | Introduce collection route for media unreviewed | 8.5.x | released | 1 | 0 |
| 2919303 | Entity action plugins replace node's and comment's save, publish and unpublish action plugins | 8.5.x | released | 1 | 2 |
| 2935088 | Media entities now support contextual links unreviewed | 8.5.x | released | 1 | 0 |
| 2935063 | Views exposed filters now support HTML5 placeholder text unreviewed | 8.5.x | released | 1 | 0 |
| 2934989 | getSourceFieldValue() method added to MediaSourceInterface | 8.5.x | released | 1 | 59 |
| 2934902 | ContextDefinitions now able to determine if a given context object will satisfy definition requirements. unreviewed | 8.5.x | released | 1 | 0 |
| 2899118 | Inline Form Errors can be disabled for the complete form (#disable_inline_form_error) unreviewed | 8.5.x | released | 1 | 0 |
| 2957906 | PHPUnit 6 is used for testing on PHP 7.0+ unreviewed | 8.6.x | released | 2 | 0 |
| 2928884 | PHPUnit 6+ compatibility layer for \Drupal\Tests\Listeners classes unreviewed | 8.5.x | released | 1 | 0 |
| 2932468 | Add new alter hook "hook_field_ui_preconfigured_options_alter()" unreviewed | 8.5.x | released | 1 | 0 |
| 2881531 | ModuleHandlerInterface allows the deprecation of hooks | 8.5.x | released | 2 | 17 |
| 2930012 | "processed" property of text fields now available in REST unreviewed | 8.5.x | released | 1 | 0 |
| 2932554 | The include computed parameter has been removed from FieldItemList::getValue() unreviewed | 8.5.x | released | 1 | 0 |
| 2925783 | File entities' HAL+JSON serialization no longer contain the absolute URL by default for their 'uri' field value unreviewed | 8.5.x | released | 1 | 0 |
| 2931188 | locale_translation_manual_status() is deprecated for removal before Drupal 9.0.0 unreviewed | 8.5.x | released | 1 | 0 |
| 2930241 | New interfaces added to group methods concerning entity translation and entity revision translation | 8.5.x | released | 2 | 1 |
| 2928118 | New classes for auditing migration ID conflicts unreviewed | 8.5.x | released | 1 | 0 |
| 2928113 | When upgrading using the web browser UI, a warning is now displayed if content may be overwritten unreviewed | 8.5.x | released | 1 | 0 |
| 2818693 | Date handling is now injected as a separate service to the Views SQL query plugin | 8.5.x | released | 1 | 5 |
| 2813317 | Timezone calculation in datetime views plugins unreviewed | 8.5.x | released | 1 | 0 |
| 3112189 | Test trait files with @deprecated methods removed | 9.0.x | released | 5 | 0 |
| 2907725 | getMock() deprecated in \Drupal\Tests\UnitTestCase, \Drupal\KernelTests\KernelTestBase and \Drupal\Tests\BrowserTestBase unreviewed | 8.4.x | released | 2 | 0 |
| 2928238 | MediaSource plugins can now provide default form and view display options for their source field | 8.5.x | released | 1 | 3 |
| 2938726 | Drupal 8 support for PHP 5.5 and 5.6 will end on March 6, 2019 unreviewed | 8.7.x | released | 3 | 0 |
| 2928555 | Introduce contextual links support for all entities | 8.5.x | released | 1 | 3 |
| 2924233 | Drupal\taxonomy\TermViewBuilder has been deprecated | 8.5.x | released | 1 | 97 |
| 2927918 | Viewing public files now requires 'access content' permissions unreviewed | 8.5.x | released | 1 | 0 |
| 2928117 | Drupal core ESLint validation expanded to check camel case unreviewed | 8.5.x | released | 4 | 0 |
| 2927226 | RevisionableStorageInterface was added to group together all revision-related entity storage methods | 8.5.x | released | 4 | 3 |
| 2924915 | \Drupal\Core\Entity\EntityStorageInterface::loadMultipleRevisions() has been added so It is now possible to load multiple entity revisions at once | 8.5.x | released | 1 | 37 |
| 2922269 | Allow for more granular overriding of driver settings for tests unreviewed | 8.5.x | released | 1 | 0 |
| 2918286 | EntityConverter can now load the latest revision of an entity. unreviewed | 8.5.x | released | 1 | 0 |
| 2872254 | Syslog log messages now accepts !severity as valid placeholder. unreviewed | 8.5.x | released | 1 | 0 |
| 2922096 | Added file field formatters to display <audio> and <video> tags | 8.5.x | released | 1 | 11 |
| 2924128 | Layout Builder is a new experimental module unreviewed | 8.5.x | released | 3 | 0 |
| 2907785 | Base fields with existing data can now be uninstalled unreviewed | 8.5.x | released | 1 | 0 |
| 2936045 | PHPUnit 6 is used for testing on PHP7.2 unreviewed | 8.5.x | released | 4 | 0 |
| 2916667 | ComputedItemListTrait has been added to standardize the behavior of computed fields | 8.4.x | released | 1 | 83 |
| 2920529 | Cacheable HTTP exceptions: Symfony HTTP exceptions + Drupal cacheability metadata unreviewed | 8.5.x | released | 2 | 0 |
| 2918937 | Normalizers and REST responses now support explicit cacheability bubbling | 8.5.x | released | 4 | 7 |
| 2920988 | Renamed migrations_templates directory to migrations | 8.5.x | released | 1 | 60 |
| 2921521 | AdminRouteSubscriber now only marks HTML routes as administrative unreviewed | 8.5.x | released | 1 | 0 |
| 2921484 | The 'access content' permission is always available | 8.5.x | released | 2 | 19 |
| 2936397 | All serializer encoders + normalizers services are now private unreviewed | 8.6.x | released | 2 | 0 |
| 2921232 | "Serializer encoder" services now explicitly marked @internal unreviewed | 8.5.x | released | 1 | 0 |
| 2921159 | The BigPipe module is now enabled by default in the Standard profile unreviewed | 8.5.x | released | 1 | 0 |
| 2916592 | TypedData DataDefinitions such as fields and properties can now be marked as internal | 8.5.x | released | 2 | 77 |
| 2914530 | Migrate field plugins now require source_module and destination_module unreviewed | 8.5.x | released | 1 | 0 |
| 2915307 | Layout icons can be dynamically generated unreviewed | 8.5.x | released | 1 | 0 |
| 2912980 | Global constants in datetime.module are deprecated and DateTimeItemInterface has been introduced. | 8.5.x | released | 1 | 2 |
| 2894934 | \Drupal\Core\Routing\Enhancer\RouteEnhancerInterface | \Drupal\Core\Routing\RouteFilterInterface are deprecated | 10.1.x | released | 3 | 28 |
| 2918184 | Entity queries can now target only the latest revisions of an entity type | 8.4.x | released | 1 | 17 |
| 2913853 | Migrate d6_field_link process plugin is deprecated unreviewed | 8.4.x | released | 1 | 0 |
| 2916197 | \Drupal\config\Tests\AssertConfigEntityImportTrait has been deprecated unreviewed | 8.4.x | released | 1 | 0 |
| 2916716 | Drupal\system\Plugin\views\field\BulkForm moved to the Views module | 8.5.x | released | 1 | 27 |
| 2913019 | Router file for PHP's built-in webserver available unreviewed | 8.5.x | released | 1 | 0 |
| 2916804 | EntityFormDisplay & EntityViewDisplay entity types now have access control handlers | 8.5.x | released | 2 | 4 |
| 2838648 | New setting on "Table of files" and "Generic files" formatters to use files descriptions (or not) unreviewed | 8.5.x | released | 1 | 0 |
| 2844730 | Temporary internal function _file_save_upload_from_form() wraps file_save_upload() to support Inline Form Errors unreviewed | 8.5.x | released | 1 | 0 |
| 2912663 | Twig is updated from v1.32.0 to v1.35.0 unreviewed | 8.5.x | released | 1 | 0 |
| 2914791 | Workflows transitions directions changed to use class constants unreviewed | 8.5.x | released | 1 | 0 |
| 3221964 | \Drupal\comment\Plugin\migrate\source\d6\Comment::prepareComment() is deprecated | 9.3.x | released | 2 | 3 |
| 2906610 | Deprecated migrate source plugins CommentVariable, CommentVariablePerCommentType & CommentType | 8.4.x | released | 1 | 1 |
| 2906603 | Migration of comment types from Drupal 6 now creating one comment type per node type unreviewed | 8.4.x | released | 1 | 0 |
| 2900684 | Multi-value base fields in views no longer use an incorrect field name unreviewed | 8.5.x | released | 1 | 0 |
| 2913464 | New temporary eslint config which core passes 100% unreviewed | 8.5.x | released | 1 | 0 |
| 2880931 | datetime_date_default_time() is deprecated | 8.5.x | released | 1 | 17 |
| 2857891 | Drupal\node\Plugin\views\field\Path deprecated, Drupal\views\Plugin\views\field\EntityLink now provides this functionality | 8.5.x | released | 1 | 17 |
| 2902390 | New term overview and create permissions unreviewed | 8.5.x | released | 1 | 0 |
| 2858640 | Content entity source properties with values that are not set are now migrated | 8.4.x | released | 1 | 2 |
| 2857979 | KernelTestBase, BrowserTestBase explicitly skip based on @requires module annotation unreviewed | 8.4.x | released | 2 | 0 |
| 2908490 | \Drupal\comment\Tests\CommentTestBase and \Drupal\comment\Tests\Views\CommentTestBase have been deprecated unreviewed | 8.4.x | released | 1 | 0 |
| 2896072 | Deprecate UnitTestCase::getBlockMockWithMachineName() unreviewed | 8.5.x | released | 1 | 0 |
| 2910338 | REST routes can now use different request and response formats unreviewed | 8.5.x | released | 1 | 0 |
| 2909464 | Content Entity Storage classes can now create sample entities | 8.5.x | released | 1 | 7 |
| 2880094 | Message object is now optional when constructing MigrateExecutable | 8.5.x | released | 1 | 2 |
| 2907014 | New hasData() method added to EntityStorageInterface | 8.4.x | released | 1 | 23 |
| 2908666 | Views wizard plugins adds a default filter on the 'published' field unreviewed | 8.5.x | released | 1 | 0 |
| 2908665 | Custom blocks are now publishable | 8.5.x | released | 1 | 106 |
| 2906736 | \Drupal\shortcut\Tests\ShortcutTestBase has been deprecated unreviewed | 8.4.x | released | 1 | 0 |
| 2908181 | ContentEntityForm now has a footer container unreviewed | 8.5.x | released | 1 | 0 |
| 2907352 | New methods added to MigrateFieldInterface and implemented by FieldPluginBase unreviewed | 8.4.x | released | 1 | 0 |
| 2907815 | BrowserTestBase::drupalPostForm now returns the HTML of the rendered page unreviewed | 8.4.x | released | 1 | 0 |
| 2894819 | Resource plugin methods can leverage the argument resolver now unreviewed | 8.5.x | released | 1 | 0 |
| 2904410 | Computed fields can now be displayed by Views unreviewed | 8.4.0 | released | 1 | 0 |
| 2906468 | Migration of "Text", "Long text" and "Long text and summary" fields with both "Plain text" and "Filtered text" instances are now skipped unreviewed | 8.4.x | released | 1 | 0 |
| 2901823 | \Drupal\block\Tests\BlockTestBase has been deprecated unreviewed | 8.4.x | released | 1 | 0 |
| 2868845 | _drupal_log_error() now passes the raw backtrace to logger implementations unreviewed | 8.5.x | released | 1 | 0 |
| 2884454 | Isolate BrowserTestBase from Simpletest dependencies unreviewed | 8.4.x | released | 2 | 0 |
| 2905774 | Added a new migrate process plugin: ProcessField unreviewed | 8.4.x | released | 1 | 0 |
| 2898649 | Rename all d6_i18n migrations unreviewed | 8.4.x | released | 1 | 0 |
| 2904992 | MediaInterface expanded with SetName()/getName() | 8.4.x | released | 1 | 31 |
| 2896640 | Simpletest update components in the system module are deprecated | 8.4.x | released | 1 | 68 |
| 2904582 | EntityListBuilder now adds destination query argument to edit, delete, enable/disable operations unreviewed | 8.5.x | released | 2 | 0 |
| 2904089 | The 'content_revision_tracker' table from Content Moderation has been removed unreviewed | 8.4.x | released | 1 | 0 |
| 2891281 | Database cache bins are now fixed size — no more unlimited growth unreviewed | 8.4.x | released | 1 | 0 |
| 2895513 | Pass optional "reason" to AccessResult::forbiddenIf method. | 8.5.x | released | 1 | 85 |
| 2900171 | Additional methods added to \Drupal\migrate_drupal\Plugin\migrate\field\FieldPluginBase to reduce code duplication in child classes. | 8.4.x | released | 1 | 9 |
| 2895127 | Container render element now supports #optional property unreviewed | 8.5.x | released | 1 | 0 |
| 2831566 | Use 'source_module' and 'destination_module' annotation to indicate module responsible for migration unreviewed | 8.4.x | released | 2 | 0 |
| 2900445 | Removal of 'view content moderation' permission & checkWorkflowAccess() unreviewed | 8.4.x | released | 1 | 0 |
| 2897586 | The 'revision_translation_affected' base field is now provided by default for all translatable and revisionable entity types unreviewed | 8.4.x | released | 1 | 0 |
| 2896537 | FieldInstance source plugin updated yaml keys unreviewed | 8.4.x | released | 1 | 0 |
| 2901687 | $workflow parameter removed from WorkflowTypeInterface::getInitialState | 8.4.x | released | 1 | 18 |
| 2902228 | Introducing new events for container initialization on sub requests unreviewed | 8.4.x | released | 2 | 0 |
| 2897971 | Internet Explorer 9 and 10 support dropped from Drupal 8.4.x unreviewed | 8.4.x | released | 1 | 0 |
| 2896632 | \Drupal\system\Tests\Cache\AssertPageCacheContextsAndTagsTrait is deprecated | 8.4.x | released | 1 | 38 |
| 3073223 | jQuery updated to version 3.4 (3.4.1) unreviewed | 8.8.x | released | 2 | 0 |
| 2898818 | jQuery updated to version 3 (3.2.1) unreviewed | 8.4.x | released | 2 | 0 |
| 2898013 | Comment admin screen is converted to a view unreviewed | 8.4.x | released | 1 | 0 |
| 2897706 | Workflow type plugins are now responsible for state and transition schema | 8.4.x | released | 4 | 24 |
| 2873857 | Optional system_time_zones() parameter to provide timezones nested by region | 8.4.x | released | 1 | 18 |
| 3070148 | The signature of the constructor of Drupal\file\FileUsage\DatabaseFileUsageBackend has changed. unreviewed | 8.8.x | released | 2 | 0 |
| 2891902 | Files that have no remaining usages are no longer deleted by default unreviewed | 8.4.x | released | 2 | 0 |
| 2896679 | The internal page cache now has a dedicated cache bin. unreviewed | 8.4.x | released | 1 | 0 |
| 2950608 | Content translations can be moderated independently unreviewed | 8.5.x | released | 7 | 0 |
| 2864029 | assertNoCacheTag added to assertLegacyTrait unreviewed | 8.4.x | released | 1 | 0 |
| 2896596 | New Off-Canvas dialog tray now available unreviewed | 8.5.x | released | 2 | 0 |
| 2882666 | filter_format_permission process plugin now takes optional 'migration' option unreviewed | 8.3.x | released | 1 | 0 |
| 2887146 | The html_tag render element supports nested render arrays | 8.4.x | released | 1 | 0 |
| 2889470 | Libraries provided by media module have been renamed unreviewed | 8.4.x | released | 1 | 0 |
| 2887280 | Textarea Form API element now supports #maxlength attribute unreviewed | 8.4.x | released | 1 | 0 |
| 2871997 | CSS changes introduced into stable theme to support toolbar anti-flicker unreviewed | 8.4.x | released | 2 | 0 |
| 2887199 | ::getPath and ::setPath of CurrentPathStack typehint request param as Symfony\Component\HttpFoundation\Request unreviewed | 8.4.x | released | 1 | 411 |
| 2886860 | Layouts have support for per-region attributes unreviewed | 8.4.x | released | 1 | 0 |
| 2886176 | Added a Image media source unreviewed | 8.4.x | released | 3 | 0 |
| 2873299 | ToolkitTestBase: Support is going away, unreviewed | 8.4.x | released | 1 | 0 |
| 2885190 | Deprecate unused functions _tracker_myrecent_access and _tracker_user_access unreviewed | 8.4.x | released | 1 | 0 |
| 2847274 | "Save and Publish" button on entity forms changed to checkbox unreviewed | 8.4.x | released | 1 | 0 |
| 2884698 | unicode_requirements() is deprecated unreviewed | 8.4.0 | released | 1 | 0 |
| 2817655 | Added a new FieldUpdateActionBase class | 8.4.x | released | 1 | 118 |
| 3067458 | Deprecated MigrateUpgradeTestBase removed | 8.8.x | released | 2 | 7 |
| 2860500 | Warn users installing on 32-bit PHP installations about date limitations unreviewed | 8.4.x | released | 1 | 0 |
| 2877964 | Base fields can now provide initial values when they are installed | 8.4.x | released | 1 | 27 |
| 2883488 | Added a File media source unreviewed | 8.4.x | released | 2 | 0 |
| 2856220 | Path fields now load existing aliases unreviewed | 8.4.x | released | 1 | 0 |
| 2883825 | EntityManager::loadEntityByUuid() and EntityStorageInterface::loadByProperties() no longer enforce access checks | 8.4.x | released | 1 | 1248 |
| 2598944 | Service ID collector functionality added unreviewed | 8.4.x | released | 3 | 0 |
| 2476661 | MySQL requirements raised to 5.5.3 unreviewed | 8.0.x | released | 1 | 0 |
| 2860642 | Migration SqlBase connection fallbacks reprioritized and documented unreviewed | 8.4.x | released | 1 | 0 |
| 2880427 | Renamed Migrate iterator process plugin to sub_process unreviewed | 8.4.x | released | 1 | 0 |
| 2955581 | Fixed normalization of "Date" and "Date range" fields configured to store "Date and time" or "Date only" unreviewed | 8.7.x | released | 3 | 0 |
| 2859657 | Timestamp fields now (de)normalize to/from ISO timestamps, not UNIX timestamps unreviewed | 8.4.x | released | 1 | 0 |
| 2870971 | Entity reference selection handlers should extend a base class | 8.4.x | released | 1 | 11 |
| 2868114 | stylelint replacing csslint in core unreviewed | 8.4.x | released | 2 | 0 |
| 2863992 | Moved a refined version of the contributed Media entity module to core as Media module | 8.4.x | released | 2 | 22 |
| 2737401 | POSTing to EntityResource can now happen at /node, /taxonomy/term … instead of /entity/node, /entity/taxonomy_term … unreviewed | 8.4.x | released | 2 | 0 |
| 2877608 | \Drupal\hal\LinkManager\RelationLinkManager::getRelations() return value changed unreviewed | 8.3.x | released | 2 | 0 |
| 2869873 | A field type definition is able now to enforce the cardinality unreviewed | 8.4.x | released | 1 | 0 |
| 2877282 | Added \Drupal\Core\Config\TypedConfigManagerInterface:: createFromNameAndData() to make it easy to get a typed configuration object | 8.4.x | released | 1 | 24 |
| 2875643 | Content Moderation entity types now selected in the Workflow unreviewed | 8.4.x | released | 1 | 0 |
| 2873849 | Adopt airbnb javascript style guide v14.1 as new baseline javascript coding standards for Drupal 8 core and contrib unreviewed | 8.4.x | released | 1 | 0 |
| 2891254 | Symfony components are updated to 3.2.8 unreviewed | 8.4.x | released | 2 | 0 |
| 2876378 | Views integration for the Database Logging(dblog) module has been updated unreviewed | 8.4.x | released | 1 | 0 |
| 2811561 | New deprecation handling that can fail tests unreviewed | 8.5.x | released | 4 | 0 |
| 2857562 | Disabled methods to inspect headers for JavascriptTestBase tests unreviewed | 8.4.x | released | 1 | 0 |
| 2868275 | \Drupal\hal\Normalizer\NormalizerBase uses static::$format instead of static::$formats unreviewed | 8.4.x | released | 1 | 0 |
| 2874609 | Corrected field assertions on AssertLegacyTrait for BrowserTestBase unreviewed | 8.4.x | released | 1 | 0 |
| 2856658 | Renamed \Drupal\Core\EventSubscriber\AcceptNegotiation406 to \Drupal\Core\EventSubscriber\RenderArrayNonHtmlSubscriber unreviewed | 8.4.x | released | 1 | 0 |
| 2861226 | Renamed migration process plugin to migration_lookup unreviewed | 8.3.x | released | 1 | 0 |
| 2774203 | Content entity types with existing data can now be converted to be revisionable unreviewed | 8.4.x | released | 1 | 0 |
| 2873762 | DedupeBase class and DeDupeEntity are deprecated | 8.4.x | released | 1 | 1 |
| 2856738 | Standardize fatal error/exception handling: backtrace for all formats, not just HTML | 8.4.x | released | 1 | 3 |
| 2829381 | Added FormatDate migrate process plugin unreviewed | 8.4.x | released | 1 | 0 |
| 2868331 | Image styles will fail more gracefully with unsupported formats unreviewed | 8.4.x | released | 1 | 0 |
| 2866988 | Custom modules and themes can be installed to correct locations using composer unreviewed | 8.3.x | released | 1 | 0 |
| 2864262 | Deprecate assertNoPattern() in favor of responseNotMatches() unreviewed | 8.4.x | released | 2 | 0 |
| 2862800 | Deprecate Drupal\basic_auth\Tests\BasicAuthTestTrait unreviewed | 8.3.x | released | 1 | 0 |
| 2871981 | Views plugins may now react to removal of dependencies | 8.4.x | released | 1 | 2 |
| 2852566 | New orderby key added to configuration schema for sequences | 8.4.x | released | 2 | 6 |
| 2850615 | Changes to datetime-wrapper.html.twig and to Datetime and Daterange widgets unreviewed | 8.3.x | released | 1 | 0 |
| 2912736 | Remove menu active trail service from SystemMenuBlock | 8.5.x | released | 1 | 15 |
| 2837696 | Serialized values are now integers or Boolean when appropriate instead of strings unreviewed | 8.3.x | released | 1 | 0 |
| 2854661 | Datetime Range custom formatter now uses `#markup` instead of `#plain_text` unreviewed | 8.4.x | released | 1 | 0 |
| 2855748 | EditEntityFieldAccessCheck deprecated in favor of QuickEditEntityFieldAccessCheck unreviewed | 8.4.x | released | 1 | 0 |
| 2831499 | Revision metadata fields are now defined in the entity annotation unreviewed | 8.4.x | released | 2 | 0 |
| 2854519 | ConfigurableLanguageManager language_switch_links alter now use Url variable instead of no typed path unreviewed | 8.3.x | released | 1 | 0 |
| 2999939 | Automated conversion of Simpletest tests to PHPUnit unreviewed | 8.4.x | released | 2 | 0 |
| 2852554 | Route discovery by path falls back to case-insensitive matching to avoid unexpected 404s unreviewed | 8.3.x | released | 1 | 0 |
| 2828773 | 422 HTTP errors thrown when a wrong entity is passed into REST unreviewed | 8.4.x | released | 1 | 0 |
| 2852190 | Configurable plugins should merge default configuration values within setConfiguration() unreviewed | 8.4.x | released | 2 | 0 |
| 2845300 | NumericFilter views handler 'regular_expression' operator method renamed | 8.3.x, 8.4.x | released | 1 | 1 |
| 2726125 | The entity reference 'Label' formatter display usernames to users that don't have the 'access user profiles' permission unreviewed | 8.3.x | released | 1 | 0 |
| 2846863 | Contextual filters for views blocks are exposed as context unreviewed | 8.3.x | released | 1 | 0 |
| 2844943 | Default batch redirect now persists query arguments unreviewed | 8.3.x | released | 1 | 0 |
| 2831620 | Most global constants in *.module deprecated | 8.3.x | released | 9 | 247 |
| 3009364 | Deprecate d6_search_configuration_rankings unreviewed | 8.7.x | released | 1 | 0 |
| 2834360 | Configuration entity translation migration is now supported unreviewed | 8.3.x | released | 1 | 0 |
| 2847072 | All responses now have the 'http_response' cache tag unreviewed | 8.3.x | released | 1 | 0 |
| 2851653 | The form elements names for installing a module via the UI have changed unreviewed | 8.3.x | released | 1 | 0 |
| 2661732 | Whitelisted ".well-known" directory in .htaccess unreviewed | 8.1.x | released | 1 | 0 |
| 2316145 | Node-related constants moved to NodeInterface | 8.3.x | released | 1 | 99 |
| 2847370 | Plugin class names consistently stored without a leading slash unreviewed | 8.3.x | released | 2 | 0 |
| 2841493 | The maximum length of Twig PHP cache file paths is limited to 143 unreviewed | 8.3.x | released | 1 | 0 |
| 2850115 | Recent log messages was replaced with a view unreviewed | 8.4.x | released | 1 | 0 |
| 2848889 | Aligned test discovery for PHPUnit-based tests; traits now can be used for PHPUnit-based tests unreviewed | 8.3.x | released | 1 | 0 |
| 2830467 | REST module's "link manager" services (and 'link_domain' setting) moved to hal module unreviewed | 8.3.x | released | 3 | 0 |
| 2839574 | drupal/coder and phpcs are dev requirements for Drupal core unreviewed | 8.3.x | released | 2 | 0 |
| 2848231 | Entity types can specify collection labels now unreviewed | 8.3.0 | released | 1 | 0 |
| 2834620 | PluginDefinitionInterface has a new getProvider() method | 8.3.x | released | 1 | 103 |
| 1638360 | Options list callbacks now receive addition context unreviewed | 7.x | released | 2 | 0 |
| 2847355 | \Drupal\migrate\Plugin\migrate\source\SqlBaseSqlBase implements RequirementsInterface unreviewed | 8.3.x | released | 1 | 0 |
| 2830117 | SqlBase source plugin class now implements RequirementsInterface, throws RequirementsException unreviewed | 8.3.x | released | 1 | 0 |
| 2846936 | New methods for Javascript testing | 8.2.x | released | 1 | 30 |
| 2844297 | Field Layout is a new experimental module unreviewed | 8.3.x | released | 1 | 0 |
| 2846775 | REST 400 error responses are now handled consistently unreviewed | 8.3.x | released | 1 | 0 |
| 2844303 | Url gets a mergeOptions method | 8.3.x | released | 1 | 44 |
| 2825707 | Original revision id is stored when creating a new revision unreviewed | 8.3.x | released | 1 | 0 |
| 2842808 | EntityTypeInterface::isSubclassOf() deprecated in favor of EntityTypeInterface::entityClassImplements() | 8.3.x | released | 1 | 217 |
| 2842254 | DateTimePlus throws \InvalidArgumentException and \UnexpectedValueException unreviewed | 8.3.x | released | 1 | 0 |
| 2841350 | Support marking field storage definitions as required | 8.3.x | released | 1 | 1 |
| 2776671 | Exception subscribers can now handle all 4xx HTTP status in one method | 8.3.x | released | 1 | 17 |
| 2836018 | Denormalization on field items is now called | 8.3.x | released | 1 | 3 |
| 2822566 | CKEditors can now load style sheets dynamically via AJAX unreviewed | 8.3.x | released | 1 | 0 |
| 2836959 | State entry locale.translation_status moved to a separate key value collection unreviewed | 8.3.x | released | 1 | 0 |
| 2833433 | Never use crc32b, md5, sha1, and other weak hashes in Drupal code unreviewed | 8.3.x | released | 1 | 0 |
| 2833264 | Twig cache directory prefix stored in State instead of container unreviewed | 8.3.x | released | 1 | 0 |
| 2830647 | Domready event handling split from drupal.js unreviewed | 8.3.x | released | 1 | 0 |
| 3067365 | NodeTypeInterface::isNewRevision() has been deprecated | 8.3.x | released | 2 | 9 |
| 2835025 | The show_revision_ui key has been added to ContentEntityType annotations unreviewed | 8.3.x | released | 1 | 0 |
| 2833359 | Experimental Workflows module added to core unreviewed | 8.3.x | released | 1 | 0 |
| 2821240 | Layout is a new experimental subsystem unreviewed | 8.3.x | released | 1 | 0 |
| 2743809 | Symfony components are updated to 3.2.6 (including several API breaks) unreviewed | 8.4.x | released | 3 | 0 |
| 2538996 | The install profile has moved from settings.php to the core.extension configuration object unreviewed | 8.3.x | released | 3 | 0 |
| 2870643 | EditorialContentEntityBase - a new base entity class for revisionable and publishable entity types | 8.4.x | released | 3 | 48 |
| 2830201 | Published/Unpublished API for content entities | 8.3.x | released | 1 | 110 |
| 2830442 | Cache context for determining the Front Page unreviewed | 8.3.x | released | 1 | 0 |
| 2792419 | md_entity destination plugin deprecated unreviewed | 8.2.x | released | 1 | 0 |
| 2879193 | Migration source plugin taxonomy_term split into d6_taxonomy_term/d7_taxonomy_term unreviewed | 8.2.x | released | 1 | 0 |
| 2829775 | \Drupal\block\BlockInterface::BLOCK_LABEL_VISIBLE is now \Drupal\Core\Block\BlockPluginInterface::BLOCK_LABEL_VISIBLE | 8.3.x | released | 1 | 9 |
| 2825947 | Entity query allows to specify entity type ID for reference fields unreviewed | 8.2.x | released | 1 | 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 |
| 2824621 | Added a new URL formatter for image fields unreviewed | 8.3.x | released | 1 | 0 |
| 2824521 | dedupe_entity process plugin now takes optional 'migrated' option unreviewed | 8.2.x | released | 1 | 0 |
| 2820197 | Internals of the router services got compressed unreviewed | 8.3.x | released | 1 | 0 |
| 2811047 | Constraint validators should subclass ConstraintValidator instead of implementing ConstraintValidatorInterface directly | 8.3.x | released | 1 | 211 |
| 2833984 | $modules property on BrowserTestBase and KernelTestBase is protected unreviewed | 8.2.x | released | 2 | 0 |
| 3089106 | \Drupal\views\Plugin\views\field\Field is deprecated | 8.3.x | released | 2 | 31 |
| 2818293 | New Twig function added to allow instantiating Attribute objects inside templates | 8.3.x | released | 1 | 52 |
| 2937365 | New Profile 'demo_umami' added to Drupal Core unreviewed | 8.6.x | released | 2 | 0 |
| 2819753 | EditorPluginInterface now extends PluginFormInterface unreviewed | 8.3.x, 8.8.x | released | 3 | 0 |
| 2789903 | New TranslationStatusInterface to ask for the translation status of an entity unreviewed | 8.3.x | released | 1 | 0 |
| 2849893 | Bug fix for encoding generated URLs may change behavior for query param handling with rarely used option unreviewed | 8.3.x | released | 1 | 0 |
| 2823856 | d6_cck_file process plugin now takes optional 'migration' option unreviewed | 8.2.x | released | 1 | 0 |
| 2815083 | Drupal core now using ES6 for JavaScript development unreviewed | 8.4.x | released | 5 | 0 |
| 2785211 | Time Service Added and REQUEST_TIME deprecated | 8.3.x | released | 3 | 832 |
| 2815137 | Renaming of the rollback() methods to rollBack() in the DBTNG. unreviewed | 8.3.x | released | 1 | 0 |
| 2909405 | New helper method addNextBaseTable added to \Drupal\Core\Entity\Query\Sql\Tables | 8.4.x | released | 3 | 2 |
| 2751897 | Migration field plugins and classes renamed | 8.3.x | released | 3 | 26 |
| 2808425 | Removed system-of-record APIs from migrate unreviewed | 8.2.x | released | 1 | 0 |
| 2801513 | Visible components (fields, extra fields) in Entity Display config entities store their region unreviewed | 8.3.x | released | 1 | 0 |
| 2807795 | TAXONOMY_HIERARCHY_(DISABLED|SINGLE|MULTIPLE) constants deprecated, use corresponding constants on VocabularyInterface | 8.2.x | released | 1 | 7 |
| 3143286 | Calling KernelTestBase::installSchema() for the tables key_value and key_value_expire is deprecated | 9.1.x | released | 1 | 0 |
| 2806653 | Running concurrent tests now requires a writable temp directory unreviewed | 8.2.x | released | 1 | 0 |
| 3077768 | Test methods to generate files turned into TestFileCreationTrait unreviewed | 8.8.x | released | 2 | 0 |
| 2796749 | Configuration may be merged into migration plugins through createInstance() | 8.2.x | released | 1 | 28 |
| 2801549 | Custom source plugins should implement protected doCount() | 8.2.x | released | 2 | 10 |
| 2796725 | Input to Migrate's BlockRegion process plugin has changed unreviewed | 8.2.x | released | 1 | 0 |
| 2797353 | The handling of database settings and/or connection problems is made more friendly. unreviewed | 8.3.x | released | 1 | 0 |
| 2801819 | Remove TranslationManager dependency from LanguageManager | 8.0.x | released | 1 | 7 |
| 2800597 | Simpletest test database prefix changed unreviewed | 8.2.x | released | 1 | 0 |
| 2796577 | Migrate source and destination plugins can react to Migrate events | 8.2.x | released | 1 | 2 |
| 2795403 | Changes to migration highwater support unreviewed | 8.2.x | released | 1 | 0 |
| 2802569 | New \Drupal\Component\FileSystem\FileSystem component | 8.2.x | released | 2 | 5 |
| 2783903 | Path fields must be marked as computed so that deleting aliases works unreviewed | 8.2.x | released | 1 | 0 |
| 2747025 | Changes to file migration configuration unreviewed | 8.2.x | released | 1 | 0 |
| 2782031 | New templates introduced for views listing, old ones deprecated unreviewed | 8.3.x | released | 1 | 0 |
| 2781591 | Simplified Views listing page so it is consistent with other admin listings unreviewed | 8.3.x | released | 1 | 0 |
| 2804081 | Password reset confirmation form changes unreviewed | 8.1.x | released | 1 | 0 |
| 2782363 | Link relations on content pages for anonymous users depend on access | 8.1.x | released | 1 | 4 |
| 2752071 | Anonymous users can register via REST | 8.3.x | released | 1 | 1 |
| 2786039 | Outside-In is a new experimental module unreviewed | 8.2.x | released | 1 | 0 |
| 2783813 | Removed cache MemoryBackend's constructor unreviewed | 8.3.x | released | 1 | 0 |
| 3082630 | ThemeHandlerInterface::setDefault() is deprecated unreviewed | 8.2.x | released | 2 | 0 |
| 2757719 | Content Moderation is a new experimental module unreviewed | 8.2.x | released | 2 | 0 |
| 2778489 | Disabled region for blocks has been removed | 8.3.x | released | 1 | 14 |
| 2768219 | Per-table prefixes deprecated unreviewed | 8.2.x | released | 4 | 0 |
| 2778245 | Statistics module now has an overridable backend unreviewed | 8.3.x | released | 1 | 0 |
| 2775197 | drupal_log_error() logs a backtrace now, Error::decodeException() return value changed unreviewed | 8.2.x | released | 1 | 0 |
| 2769555 | Added a YAML wrapper to default to PECL Yaml PHP extension | 8.2.x | released | 2 | 1 |
| 2774077 | Subforms should receive SubformStateInterface | 8.2.x | released | 2 | 2 |
| 2733435 | Accessing entities via REST no longer requires additional REST-specific permissions unreviewed | 8.2.x | released | 1 | 0 |
| 2656940 | Redirect and message field values added to the contact form. unreviewed | 8.2.x | released | 1 | 0 |
| 2770421 | Subqueries can now be added to query conditions unreviewed | 8.3.x | released | 1 | 0 |
| 2849066 | AccessResultNeutral & AccessResultForbidden can now have an associated reason — REST 403 responses now list that reason | 8.3.x | released | 2 | 1 |
| 2775521 | Introduce AccessResultReasonInterface | 8.2.x | released | 1 | 1 |
| 2765249 | SelectInterface::rightJoin() deprecated unreviewed | 8.2.x | released | 1 | 0 |
| 2774931 | drupal_set_message() and drupal_get_messages() replaced by Messenger service | 8.5.x | released | 7 | 1624 |
| 2773829 | Plugins can provide multiple forms | 8.2.x | released | 2 | 28 |
| 2715637 | Opt-in CORS support unreviewed | 8.2.x | released | 1 | 0 |
| 2772525 | Modules that provide content entity types can now be uninstalled through the UI unreviewed | 8.2.x | released | 1 | 0 |
| 2770845 | A collection route is automatically provided for custom entity types unreviewed | 8.2.x | released | 1 | 0 |
| 2772399 | CSRF token route protection moved out of the REST module to be available to other core systems and contrib. unreviewed | 8.2.x | released | 3 | 0 |
| 2544502 | Some directory names are skipped when searching for extensions (module, themes, etc.) unreviewed | 8.2.x | released | 1 | 0 |
| 2769027 | SQLite enables Write-Ahead Log journal (WAL) by default unreviewed | 8.2.x | released | 1 | 0 |
| 2769727 | Adding support for the database operator "NOT BETWEEN" unreviewed | 8.2.x | released | 1 | 0 |
| 2758779 | FileCacheFactory now takes passed configuration into account before default configuration | 8.2.x | released | 1 | 5 |
| 2761389 | Migrate process plugin internal_uri and d7_internal_uri changed to link_uri unreviewed | 8.1.x | released | 1 | 0 |
| 2712513 | FilterPluginBase::hasValidGroupedValue() has been added unreviewed | 8.2.x | released | 1 | 0 |
| 2769201 | The comment view mode can be configured in the formatter form unreviewed | 8.2.x | released | 1 | 0 |
| 2754499 | Date-only fields ignore time zone configuration now unreviewed | 8.2.x | released | 1 | 0 |
| 2751101 | Migration providers are automatically determined in most cases unreviewed | 8.2.x | released | 1 | 0 |
| 2756929 | SQLite requirements raised to 3.7.11 unreviewed | 8.1.x | released | 1 | 0 |
| 2758325 | FileCache can be disabled completely now | 8.2.x | released | 1 | 4 |
| 2755611 | Add support for authorization in views REST | 8.2.x | released | 1 | 4 |
| 2799437 | Core's PHPUnit configuration uses test suite classes to define test suites unreviewed | 8.1.x | released | 3 | 0 |
| 2755201 | Added support for a 'initial_from_field' field schema specification key unreviewed | 8.2.x | released | 1 | 0 |
| 2754947 | New cache backend configuration order, per-bin default before default configuration unreviewed | 8.2.x | released | 1 | 0 |
| 2842699 | $form_state->get('entity_default_langcode') returns the updated language when changing the language unreviewed | 8.3.x | released | 1 | 0 |
| 2736393 | REST plugins no longer have to specify a serialization_class unreviewed | 8.2.x | released | 1 | 0 |
| 2752989 | '_theme: ajax_base_page' route option obsolete: no longer required to use a route in an AJAX context | 8.2.x | released | 1 | 2 |
| 2752067 | getMigrationTags() method added to \Drupal\migrate\Plugin\MigrationInterface | 8.2.x | released | 1 | 14 |
| 2747231 | REST config converted to config entities unreviewed | 8.2.x | released | 1 | 0 |
| 2746015 | Config entities readable via REST: GET support unreviewed | 8.2.x | released | 1 | 0 |
| 3090442 | Calling ViewsData::get() without the $key argument is deprecated | 8.8.x | released | 2 | 15 |
| 2760303 | MailManager::mail() constructor requires RendererInterface | 8.2.x | released | 1 | 2 |
| 2720655 | Additional RPC endpoints: user/login user/login/status user/logout user/password unreviewed | 8.2.x | released | 1 | 0 |
| 2497341 | Added DateFormatter::formatDiff() function and two convenience wrappers | 8.0.x | released | 1 | 33 |
| 2873794 | Rename MigrationCreationTrait to MigrationConfigurationTrait | 8.1.x | released | 2 | 5 |
| 2778563 | Comments can be updated via REST unreviewed | 8.2.x | released | 1 | 0 |
| 2723393 | BlockContent entity has revision_user and revision_created fields, and implements RevisionLogInterface unreviewed | 8.2.x | released | 1 | 0 |
| 3206320 | Configuration system.authorize removed | 9.3.x | released | 2 | 0 |
| 2725809 | MigrateIdMapInterface::lookupDestinationId() deprecated | 8.1.x | released | 1 | 14 |
| 2725099 | SkipProcessException sets values to NULL unreviewed | 8.1.x | released | 1 | 0 |
| 2725391 | \Drupal\Core\Theme\Registry is internal | 8.0.x | released | 1 | 4 |
| 2491507 | Node revisions are enabled by default unreviewed | 8.2.x | released | 1 | 0 |
| 2874934 | \Drupal\rest\Plugin\Type\ResourcePluginManager::getInstance() is deprecated in favor of ::createInstance() | 8.2.x | released | 3 | 2 |
| 2717985 | ckeditor_stylesheets can now refer to external URLs unreviewed | 8.1.x | released | 1 | 0 |
| 2720913 | Use CssSelectorConverter instead of CssSelector unreviewed | 8.2.x | released | 2 | 0 |
| 2718423 | DrupalDateTime::diff() and DateTimePlus::diff() can throw \BadMethodCallException | 8.1.X | released | 1 | 27 |
| 2715953 | REST export views now support translated entities unreviewed | 8.1.x | released | 1 | 0 |
| 3069750 | Node::getRevisionAuthor() and Node::setRevisionAuthorId() are deprecated unreviewed | 8.2.x | released | 3 | 0 |
| 2715157 | Backport policy update unreviewed | 8.1.x | released | 1 | 0 |
| 2713593 | New 'path parent' cache context unreviewed | 8.1.x | released | 1 | 0 |
| 2713329 | \Twig_Error_Loader exceptions are no longer caught unreviewed | 8.2.x | released | 1 | 0 |
| 2708973 | allRevisions() entity queries now work with non-revisionable fields unreviewed | 8.1.x | released | 1 | 0 |
| 2692565 | New required parameter added to _node_mass_update_batch_process() unreviewed | 8.0.x | released | 1 | 0 |
| 2689949 | Entity types can specify plural labels now unreviewed | 8.1.x | released | 2 | 0 |
| 2661092 | New 'view label' entity access operation added unreviewed | 8.1.x | released | 1 | 0 |
| 2686097 | Allow annotations to inherit across namespaces unreviewed | 8.1.x | released | 1 | 0 |
| 2677482 | install_database_errors() no longer returns rendered list of errors unreviewed | 8.1.x | released | 1 | 0 |
| 2873795 | Migration::get() deprecated | 8.1.x | released | 2 | 9 |
| 2689681 | Backwards compatibility policy updated for 8.1.x unreviewed | 8.1.x | released | 2 | 0 |
| 2716803 | Javascript end-to-end testing added unreviewed | 8.1.x | released | 2 | 0 |
| 2669966 | Help page admin/help — uses plugins and has new markup unreviewed | 8.1.x | released | 1 | 0 |
| 2648056 | Added CKEditorPluginManager::getEnabledButtons(Editor $editor) unreviewed | 8.1.x | released | 1 | 0 |
| 2668742 | Migrations are plugins instead of configuration entities | 8.1.x | released | 3 | 1 |
| 2660712 | Added CKEditorPluginCssInterface: loading additional CSS in CKEditor iframe instances no longer requires hook_ckeditor_css_alter() to be implemented | 8.1.x | released | 1 | 15 |
| 2673014 | Bartik is now internal and will change in minor versions unreviewed | 8.0.x | released | 1 | 0 |
| 2582945 | Seven is now internal and will change in minor versions unreviewed | 8.0.x | released | 1 | 0 |
| 2671022 | Symfony is updated to 2.8 unreviewed | 8.1.x | released | 1 | 0 |
| 2667938 | Entity local ID and revision ID are now included in HAL responses unreviewed | 8.1.x | released | 1 | 0 |
| 2667356 | Queue workers can ask for immediate requeueuing unreviewed | 8.1.x | released | 1 | 0 |
| 3003360 | KernelTestBase::installSchema() special case of the system module is deprecated unreviewed | 8.7.x | released | 2 | 0 |
| 2669988 | hook_help() allows you to return render arrays or strings unreviewed | 8.1.x | released | 1 | 0 |
| 2664936 | Views forms now have arguments in form ID unreviewed | 8.1.x | released | 1 | 0 |
| 2668850 | \Drupal\Core\Field\WidgetBase::getFilteredDescription() added | 8.1.x | released | 1 | 21 |
| 2709511 | Improvements in creating entities in 8.1 | 8.1.x | released | 4 | 14 |
| 2733655 | Updating entities via REST now returns the updated entity in the response unreviewed | 8.2.x | released | 2 | 0 |
| 2665276 | Creating new entities via REST now returns the created entity in the response unreviewed | 8.1.x | released | 2 | 0 |
| 2649278 | Entity form handlers are no longer statically cached unreviewed | 8.1.x | released | 1 | 0 |
| 2648064 | External dependencies removed from the core repo and managed by Composer instead unreviewed | 8.1.x | released | 1 | 0 |
| 2783545 | Deprecate FormattedDateDiff::getMaxAge() | 8.1.x | released | 3 | 183 |
| 3034299 | Avoid drupal_get_path() when referring paths inside the same extension unreviewed | 8.1.x | released | 1 | 0 |
| 2656648 | link.html.twig provided with indexed links will no longer produce '_' classes unreviewed | 8.1.x | released | 1 | 0 |
| 2650374 | References to CSS, JS, and similar files are now root-relative URLs: avoids mixed content warnings & fewer bytes to send unreviewed | 8.0.x | released | 2 | 0 |
| 2181523 | Use symfony request & response objects unreviewed | 8.x | released | 1 | 0 |
| 2633182 | Views filter InOperator::getValueOptions() children should always return the stored value options unreviewed | 8.1.x | released | 1 | 0 |
| 2645822 | All the images rotated via styling have width and height HTML attributes unreviewed | 8.1.x | released | 2 | 0 |
| 2709451 | Distributions can now force an installation language code unreviewed | 8.1.x | released | 1 | 0 |
| 2635864 | BooleanOperator::queryOpBoolean now has a second parameter | 8.1.x | released | 1 | 1 |
| 2653358 | New _core key added to configuration files to store default configuration hash and other things unreviewed | 8.0.x | released | 3 | 0 |
| 2623760 | Unused images removed from core unreviewed | 8.1.x | released | 1 | 0 |
| 2623682 | ControllerBase now has a logger method unreviewed | 8.1.x | released | 1 | 0 |
| 2617598 | Views no longer uses fields on base tables when they also exists on the data table unreviewed | 8.0.x | released | 1 | 0 |
| 2616322 | New hook_entity_field_values_init() and hook_entity_translation_create() added unreviewed | 8.0.x | released | 1 | 0 |
| 2616318 | New ContentEntityStorageInterface added | 8.0.x | released | 1 | 90 |
| 2614472 | node--type-TYPE body class in Classy theme changed to page-node-type-TYPE unreviewed | 8.0.x | released | 1 | 0 |
| 2606656 | Entity reference Selection plugins are now responsible for validating the values of an entity reference field | 8.0.x | released | 1 | 3 |
| 2614380 | New route names for entity routes provided by Content Translation unreviewed | 8.0.x | released | 1 | 0 |
| 2614344 | Many methods for generating URLs and links deprecated; EntityInterface::toUrl() and EntityInterface::toLink() added | 8.0.x | released | 5 | 1262 |
| 2605274 | Fallthrough for unrecognised placeholders to %variable has been removed unreviewed | 8.0.x | released | 2 | 0 |
| 2549139 | EntityManager has been split into 11 classes | 8.0.x | released | 5 | 7 |
| 2545966 | Using Crypt::hashEquals() for hash/token comparisons unreviewed | 8.0.x | released | 1 | 0 |
| 2595803 | Theme system restricts which object methods can be accessed from templates unreviewed | 8.0.x | released | 1 | 0 |
| 2593897 | CommentStorageInterface::getNewCommentPageNumber() no longer defaults the field name unreviewed | 8.0.x | released | 1 | 0 |
| 2492389 | Add support for X-Forwarded-* HTTP headers alternates unreviewed | 8.0.x | released | 2 | 0 |
| 2593577 | Some helper classes added for dealing with entity routes | 8.0.x | released | 1 | 32 |
| 2592851 | Update Modernizr to version 3.1 unreviewed | 8.0.x | released | 1 | 0 |
| 2581447 | Entity access control handler no longer has a $langcode parameter | 8.0.x | released | 1 | 185 |
| 2582265 | First argument of t()/TranslatableMarkup must be a string (not an object) | 8.0.x | released | 1 | 2 |
| 2581375 | New FieldItemInterface::calculateStorageDependencies() | 8.0.x | released | 1 | 7 |
| 2581455 | \Drupal\Core\Routing\UrlGeneratorInterface::generateFromPath() has been removed | 8.0.x | released | 2 | 442 |
| 2580687 | Stable base theme added as default for backwards compatibility unreviewed | 8.0.x | released | 1 | 0 |
| 2598002 | The Entity Reference module has been deprecated | 8.0.x | released | 1 | 60 |
| 2581003 | Explicit language code argument removed from entity API methods unreviewed | 8.0.x | released | 1 | 0 |
| 2578753 | \Drupal\Core\Entity\Plugin\EntityReferenceSelection\SelectionBase deprecated in favor of \Drupal\Core\Entity\Plugin\EntityReferenceSelection\DefaultSelection | 8.0.x | released | 1 | 57 |
| 2579991 | gd/CreateNew allows an 'is_temp' argument unreviewed | 8.0.x | released | 1 | 0 |
| 2501967 | Added active_theme_path() function to Twig | 8.0.x | released | 1 | 8 |
| 2574957 | Configuration "staging" directory now moved to "sync" | 8.0.x | released | 1 | 64 |
| 2579995 | Only Responses implementing CacheableResponseInterface are cached automatically now | 8.0.x | released | 1 | 6 |
| 2529168 | Removed base_url option from settings.php unreviewed | 8.0.x | released | 1 | 0 |
| 2575579 | Custom storage now enabled for configurable fields unreviewed | 8.0.x | released | 1 | 0 |
| 2554545 | Standard profile no longer installs the "user login block", instead adds a "Log in" link unreviewed | 8.0.x | released | 1 | 0 |
| 2497313 | Libraries can now be overridden and extended by themes unreviewed | 8.0.x | released | 3 | 0 |
| 2577791 | ConfigNamesMapper::hasTranslatable() logic was fixed unreviewed | 8.0.x | released | 1 | 0 |
| 2570143 | \Drupal\views\Plugin\views\display\DisplayPluginBase::getType() is public unreviewed | 8.0.x | released | 1 | 0 |
| 2579355 | MigrationInterface::isComplete() renamed to allRowsProcessed() unreviewed | 8.0.x | released | 1 | 0 |
| 2578373 | ContentEntityInterface::getTranslation() no longer instantiates a new translation unreviewed | 8.0.x | released | 1 | 0 |
| 2578365 | Token API / hook_tokens() changed to be more secure unreviewed | 8.0.x | released | 1 | 0 |
| 2574533 | Move vendor directory to the project root unreviewed | 8.0.x | released | 1 | 0 |
| 2576151 | The 'target_bundle' storage setting for entity_reference fields is removed | 8.0.x | released | 1 | 4 |
| 2568563 | Page title is now a block unreviewed | 8.0.x | released | 1 | 0 |
| 2571349 | "Limit allowed HTML tags" filter also allows attributes that have been whitelisted unreviewed | 8.0.x | released | 1 | 0 |
| 2577435 | EntityChangedInterface now also defines the function setChangedTime | 8.0.x | released | 1 | 340 |
| 2852656 | Object-based plugin definitions now supported | 8.3.x | released | 4 | 14 |
| 2575711 | Context objects are now immutable | 8.0.x | released | 1 | 3 |
| 2575199 | PHPTemplate has been removed from Drupal core | 8.0.x | released | 1 | 4 |
| 2575573 | SafeMarkup::format() returns a FormattableMarkup object instead of a string unreviewed | 8.0.x | released | 2 | 0 |
| 2575445 | Theme functions deprecated, helper function for autoescaping added for theme functions unreviewed | 8.0.x | released | 2 | 0 |
| 2488278 | Table sort indicators are now rendered with CSS via twig unreviewed | 8.0.x | released | 1 | 0 |
| 2574697 | Output strategy classes are now used to deal with non-HTML output unreviewed | 8.0.x | released | 4 | 0 |
| 2572493 | getUsername() now returns the username, use getDisplayName() for the formatted user name unreviewed | 8.0.x | released | 1 | 0 |
| 2532384 | Content links position managed by node display unreviewed | 8.0.x | released | 1 | 0 |
| 2573651 | DateFormatterInterface added | 8.0.x | released | 2 | 1 |
| 2571689 | New :variable placeholder for URLs in HTML attributes added to SafeMarkup::format() and t() unreviewed | 8.0.x | released | 1 | 0 |
| 3014611 | PluralTranslatableMarkup::DELIMITER deprecated in favour of Drupal\Component\Gettext\PoItem::DELIMITER | 8.7.x | released | 3 | 14 |
| 2571563 | TranslationManager->formatPlural() returns a PluralTranslatableMarkup | 8.0.x | released | 3 | 3 |
| 2571255 | TranslationWrapper has been renamed to TranslatableMarkup | 8.0.x | released | 4 | 4 |
| 2569811 | Message queueing removed from MigrateExecutable | 8.0.x | released | 1 | 5 |
| 3050794 | Entity type annotation label_callback is deprecated unreviewed | 8.0.x | released | 2 | 0 |
| 2575819 | !placeholder removed from t() and format_string() unreviewed | 8.0.x | released | 5 | 0 |
| 2566251 | Views uses twig tokens for argument tokens unreviewed | 8.0.x | released | 1 | 0 |
| 2565285 | drupal_process_attached() has been removed unreviewed | 8.0.x | released | 3 | 0 |
| 2564451 | t() returns a TranslatableMarkup object instead of a string unreviewed | 8.0.x | released | 3 | 0 |
| 2564977 | MarkupInterface objects in config are automatically cast to string during set() and setData() unreviewed | 8.0.x | released | 1 | 0 |
| 2534062 | ImageToolkitInterface::setImage() and ::getImage() have been removed | 8.0.x | released | 1 | 463 |
| 2546598 | Access default_value using methods in FieldConfigBase and BaseFieldDefinition | 8.0.x | released | 1 | 21 |
| 2563673 | hook_post_update_NAME() introduced to change content after hook_update_N() runs unreviewed | 8.0.x | released | 1 | 0 |
| 2561493 | Deprecated drupal_merge_attached() replaced with BubbleableMetadata::mergeAttachments() | 8.0.x | released | 1 | 10 |
| 2565823 | RenderableInterface was introduced | 8.0.x | released | 1 | 10 |
| 2501187 | Drupal Core doesn't create an active config directory anymore unreviewed | 8.0.x | released | 3 | 0 |
| 2565453 | Dynamic Page Cache module added, enabled by default unreviewed | 8.0.x | released | 1 | 0 |
| 2565021 | HTML template head, scripts, styles and scripts_bottom replaced with placeholder_token unreviewed | 8.0.x | released | 2 | 0 |
| 2561005 | EntityListBuilder::getLabel() is no longer safe markup | 8.0.x | released | 1 | 834 |
| 2874695 | menu_primary_local_tasks() and menu_secondary_local_tasks() have been removed | 8.0.x | released | 3 | 17 |
| 2544940 | hook_menu_local_tasks() has been removed unreviewed | 8.0.x | released | 2 | 0 |
| 2511508 | Local tasks and actions are now blocks unreviewed | 8.0.x | released | 1 | 0 |
| 2556847 | getUrlFromPath() has been removed from Twig (url_from_path() Twig function) unreviewed | 8.0.x | released | 1 | 0 |
| 2560027 | check_url() is deprecated and no longer mark strings as safe, use UrlHelper::stripDangerousProtocols() instead | 8.0.x | released | 2 | 57 |
| 2548291 | Views tokens need to be valid Twig variables; subtoken separator now double underscore instead of dash unreviewed | 8.0.x | released | 1 | 0 |
| 2559657 | update_manager_access() renamed to _update_manager_access() unreviewed | 8.0.x | released | 1 | 0 |
| 2559263 | Support for #plain_text has been added for the render arrays | 8.0.x | released | 1 | 101 |
| 2558851 | Migrate load plugins removed unreviewed | 8.0.x | released | 2 | 0 |
| 2554101 | update.php will not automatically update entity schemas anymore unreviewed | 8.0.x | released | 2 | 0 |
| 2554097 | Write update functions for entity schema updates, automation removed unreviewed | 8.0.x | released | 2 | 0 |
| 2549231 | ContentNegotiation got removed unreviewed | 8.0.x | released | 1 | 0 |
| 2540430 | The service container definition is now stored in the database by default unreviewed | 8.0.x | released | 1 | 0 |
| 2540408 | Drupal now has its own Symfony compatible service container and a PHP array dumper unreviewed | 8.0.x | released | 1 | 0 |
| 2554995 | New isEmpty() method on StringBase, required values are now required :) | 8.x | released | 1 | 3 |
| 2549107 | SafeMarkup::format() requires $args unreviewed | 8.0.x | released | 1 | 0 |
| 2564263 | search_excerpt() returns a render array | 8.0.x | released | 1 | 8 |
| 2564261 | aggregator_filter_xss() is removed unreviewed | 8.0.x | released | 1 | 0 |
| 2549395 | SafeMarkup methods are removed | 8.0.x | released | 11 | 28 |
| 2551435 | Twig template storage changed unreviewed | 8.0.x | released | 1 | 0 |
| 2489956 | Added a new KernelTestBase build upon PHPUnit | 8.0.x | released | 2 | 1169 |
| 2545280 | The bundle entity of a content entity type defaults to NULL instead of 'bundle' unreviewed | 8.0.x | released | 1 | 0 |
| 2543936 | Breadcrumbs are now passed using a value object with cacheability metadata instead of an array unreviewed | 8.0.x | released | 1 | 0 |
| 2549159 | Response header and status code should be changed through the render array, the Response object, or one of Symfony's HTTP exceptions, depending on context. unreviewed | 8.0.x | released | 3 | 0 |
| 2549923 | Remove node_page_title() and entity_page_label() in favor of EntityInterface::label() unreviewed | 8.0.x | released | 2 | 0 |
| 2549311 | Added an 'Upsert' database query class | 8.0.x | released | 2 | 1 |
| 2547841 | Responsive Image module UI now supports sizes attribute unreviewed | 8.0.x | released | 1 | 0 |
| 2912748 | language_negotiation_url_prefixes() and language_negotiation_url_domains() replaced by Domain::Config Language Negotations unreviewed | 8.0.x | released | 1 | 0 |
| 2545980 | Statistics module depends on node | 8.0.x | released | 1 | 4 |
| 2547351 | renderer.config container parameter got a new auto_placeholdering_contexts key unreviewed | 8.0.x | released | 1 | 0 |
| 2544880 | Migration load plugins replaced by builders unreviewed | 8.0.x | released | 1 | 0 |
| 2181361 | Moved FAPI callbacks for file/image widgets in classes | 8.x | released | 1 | 31 |
| 2534082 | ImageEffectInterface::transformDimensions() method now has an additional $uri parameter | 8.0.x | released | 1 | 5 |
| 2545510 | Migration functionality obsoleted by events removed unreviewed | 8.0.x | released | 1 | 0 |
| 2540310 | db_add_index() and Schema::addIndex() now require passing the table specification | 8.0.x | released | 1 | 1 |
| 2544874 | Events added to the migration process unreviewed | 8.0.x | released | 1 | 0 |
| 2540620 | Menu links discovered in YAML files now use a TranslatableMarkup for title and description, with title_arguments and title_context removed | 8.0.x | released | 1 | 1 |
| 2540418 | ViewExecutable::getMenuLinks has been removed | 8.0.x | released | 1 | 4 |
| 2947929 | Replace all calls to db_table_exists, which is deprecated. unreviewed | 8.0.x | released | 2 | 0 |
| 2320285 | Deprecated all db_* functions | 8.0.x | released | 1 | 1566 |
| 2420781 | Not using clean urls requires Apache 2.2.16 or greater unreviewed | 8.0.x | released | 1 | 0 |
| 2536926 | \Drupal::config('system.filter::protocols') is replaced with 'filter_protocols' container parameters unreviewed | 8.0.x | released | 1 | 0 |
| 2539326 | Database Statement objects now must contain all methods from PDOStatement unreviewed | 8.x | released | 1 | 0 |
| 2592471 | X-Drupal-Cache-Tags and -Contexts headers are now only sent when developer explicitly enables them unreviewed | 8.0.x | released | 1 | 0 |
| 2575729 | Additional $langcode argument added to FormatterInterface::view(), FormatterInterface::viewElements() and EntityReferenceFormatterBase::getEntitiesToView() | 8.0.x | released | 2 | 189 |
| 2540360 | LocalActionDefault, LocalTaskDefault and ContextualLinkDefault plugins do not support title_arguments anymore unreviewed | 8.0.x | released | 1 | 0 |
| 2540342 | LocalActionDefault, LocalTaskDefault and ContextualLinkDefault class capability changes | 8.0.x | released | 1 | 63 |
| 2539156 | Yaml plugin discovery now returns TranslatableMarkup objects just like annotations unreviewed | 8.0.x | released | 1 | 0 |
| 2532882 | ConfigBase and ConfigFactoryOverrideInterface changed to support cache metadata propagation unreviewed | 8.0.x | released | 1 | 0 |
| 2532870 | AccessResult cache metadata API changes | 8.0.x | released | 1 | 300 |
| 2537942 | sdboyer/gliph has been removed from core unreviewed | 8.0.x | released | 1 | 0 |
| 2528662 | Token replacement needs to consider cacheability metadata | 8.0.x | released | 1 | 572 |
| 2536856 | Guzzle updated to version 6 | 8.0.x | released | 1 | 104 |
| 2569701 | Runtime Assertions have been added to Drupal core unreviewed | 8.0.x | released | 1 | 0 |
| 2535416 | RenderInterface::render(), ::renderPlain(), ::renderRoot() return an object that implements MarkupInterface unreviewed | 8.0.x | released | 2 | 0 |
| 2532218 | Route key '_only_fragment' is changed to '_no_path' unreviewed | 8.0.x | released | 1 | 0 |
| 2472065 | Breakpoints in breakpoints.yml should increase in weight as they increase in size unreviewed | 8.0.x | released | 1 | 0 |
| 2528462 | Normalize library no longer loaded by default unreviewed | 8.x | released | 1 | 0 |
| 2513818 | Javascript settings are now using application/json to be CSP compatible unreviewed | 8.0.x | released | 1 | 0 |
| 2506757 | Xss::filter() and Xss::filterAdmin() no longer return safe string (objects); SafeMarkup::checkAdminXss() and SafeMarkup::xssFilter() are removed; #allowed_tags added for #markup unreviewed | 8.0.x | released | 4 | 0 |
| 2528396 | The container (base) class is now overridable via settings.php unreviewed | 8.0.x | released | 1 | 0 |
| 2528990 | PostgreSQL requirements raised to 9.1.2 unreviewed | 8.0.x | released | 1 | 0 |
| 2528246 | DrupalKernel now has a centralized container invalidation method | 8.0.x | released | 1 | 13 |
| 2528342 | New method EntityInterface::getCacheTagsToInvalidate() | 8.0.x | released | 1 | 50 |
| 2525764 | New interface added to ensure request context-dependent values do not break cacheability | 8.0.x | released | 2 | 26 |
| 2528176 | Make the class variables protected for Drupal\Core\Datetime\Entity\DateFormat unreviewed | 8.0.x | released | 1 | 0 |
| 2524364 | EntityFormInterface::validate() removed in favor of FormInterface::validateForm() | 8.x | released | 1 | 927 |
| 2513810 | All rendering must happen in a render context, early rendering's metadata no longer lost unreviewed | 8.0.x | released | 1 | 0 |
| 2508673 | New ContentEntityStorageBase::do*FieldItems() abstract methods | 8.0.x | released | 1 | 1 |
| 2508662 | FieldItemInterface::insert() and FieldItemInterface::update() removed in favor of FieldItemInterface::postSave() | 8.0.x | released | 1 | 23 |
| 2515902 | user_pass_rehash() now requires a full user object | 8.0.x | released | 1 | 21 |
| 2527568 | Migrations now support "templates" unreviewed | 8.0.x | released | 2 | 0 |
| 2514588 | #access now supports AccessResultInterface objects unreviewed | 8.0.x | released | 1 | 0 |
| 2509872 | Proxy services require now manual work unreviewed | 8.0.x | released | 1 | 0 |
| 2516824 | The path processing system now works with a starting slash, also the system.site:page.front, page.403 and page.404 unreviewed | 8.0.x | released | 1 | 0 |
| 2513894 | Revert translatable content entity revisions per translation unreviewed | 8.0.x | released | 1 | 0 |
| 2522770 | "Translate user edited configuration" permission now considered restricted" unreviewed | 8.0.x | released | 2 | 0 |
| 2508968 | Decouple PasswordInterface from UserInterface unreviewed | 8.0.x | released | 1 | 0 |
| 2509216 | Route providers now takes care of incoming path processing unreviewed | 8.0.x | released | 1 | 0 |
| 2503277 | HTML IDs are now randomized for AJAX responses unreviewed | 8.0.x | released | 1 | 0 |
| 2506487 | BubbleableMetadata::*assets() methods removed unreviewed | 8.0.x | released | 2 | 0 |
| 2510940 | UTF-8 based fields that have primary keys or unique indexes now have a maximum length of 191 characters unreviewed | 8.0.x | released | 1 | 0 |
| 2495707 | Move cache contexts classes from \Drupal\Core\Cache to \Drupal\Core\Cache\Context unreviewed | 8.0.x | released | 1 | 0 |
| 2501435 | AJAX forms are no longer cached by default unreviewed | 8.0.x | released | 2 | 0 |
| 2500997 | Drupal\views\Views::getApplicableViews no longer returns view executables. unreviewed | 8.0.x | released | 1 | 0 |
| 2501221 | Accept header based routing got replaced by a query parameter unreviewed | 8.0.x | released | 1 | 0 |
| 2501343 | node_last_changed() got removed and replaced by methods on the NodeInterface unreviewed | 8.0.x | released | 1 | 0 |
| 2498875 | New API to validate entity fields without an actual widget unreviewed | 8.0.x | released | 1 | 0 |
| 2498803 | Introduce placeholders (#lazy_builder) to replace #post_render_cache | 8.0.x | released | 5 | 31 |
| 2498887 | Outdated: Only lowercase service and parameter names are allowed in service definitions unreviewed | 8.0.x | released | 1 | 0 |
| 2495275 | Shortcut CSS class changes unreviewed | 8.0.x | released | 1 | 0 |
| 2497309 | hook_toolbar() now needs cacheability metadata to indicate conditionality unreviewed | 8.0.x | released | 1 | 0 |
| 2489948 | Removed usage of deprecated APIs in symfony 2.7 unreviewed | 8.0.x | released | 1 | 0 |
| 2496807 | Added active_theme twig function unreviewed | 8.0.x | released | 1 | 0 |
| 2494927 | Menu link tree handling changes to allow menu trees to be render cached | 8.0.x | released | 1 | 46 |
| 3017233 | Deprecated ThemeHandlerInterface install() and uninstall() unreviewed | 8.8.x | released | 2 | 0 |
| 2236965 | #wrapper_attributes now offically added to Form API | 8.0.x | released | 1 | 141 |
| 2484581 | Simplify and optimize Drupal.ajax() instantiation and implementation unreviewed | 8.0.x | released | 1 | 0 |
| 2489636 | Removed Timer Call From Core Boot() unreviewed | 8.0.x | released | 1 | 0 |
| 2483093 | EntityChangedInterface::getChangedTime() returns timestamp for current translation, EntityChangedInterface::getChangedTimeAcrossTranslations() for last entity change at all | 8.0.x | released | 1 | 92 |
| 2486961 | 'Messages' region renamed to 'Highlighted' for all themes unreviewed | 8.0.x | released | 1 | 0 |
| 2468139 | format_xml_elements has been removed unreviewed | 8.0.x | released | 1 | 0 |
| 2488192 | Modal/dialog/ajax is using query parameters instead of accept headers unreviewed | 8.0.x | released | 1 | 0 |
| 2480761 | URLs/links now have the bubbleable metadata of the outbound path & route processors that were applied | 8.0.x | released | 3 | 47 |
| 2484561 | Added CompositeConstraintBase for validating multiple fields | 8.0.x | released | 1 | 12 |
| 2484399 | Rest type and relation links now support configurable domain | 8.0.x | released | 1 | 4 |
| 2480711 | Updated symfony validator API unreviewed | 8.0.x | released | 1 | 0 |
| 2483117 | New base class(es) for link field handlers in Views | 8.0.x | released | 1 | 29 |
| 2481913 | Configuration data is trusted during installation | 8.0.x | released | 1 | 35 |
| 2481909 | Configuration entity can declare which properties need export using annotations unreviewed | 8.0.x | released | 2 | 0 |
| 2480283 | Config-specific entity type functionality moved to a new ConfigEntityTypeInterface unreviewed | 8.0.x | released | 1 | 0 |
| 2480357 | ContentEntityInterface::initTranslation() method removed unreviewed | 8.0.x | released | 1 | 0 |
| 2475903 | DX of responsive image is improved unreviewed | 8.0.x | released | 2 | 0 |
| 2462579 | Help component CSS classes replaced with generic classes unreviewed | 8.0.x | released | 1 | 0 |
| 2472153 | Fallback image style for responsive image styles have been moved from instance settings to the responsive image style entity | 8.0.x | released | 1 | 19 |
| 2473869 | stylesheets-remove takes the full file path instead of just the file name unreviewed | 8.0.x | released | 1 | 0 |
| 2473199 | Stylesheets-override has been removed | 8.0.x | released | 1 | 353 |
| 2424389 | Page cache moved into a separate module for better performance unreviewed | 8.0.x | released | 1 | 0 |
| 2472583 | Block plugins subclassing BlockBase::blockAccess() must return AccessResult instead of a bool | 8.0.x | released | 1 | 126 |
| 2281785 | Change active class in l() function to is-active unreviewed | 8.0.0 | released | 1 | 0 |
| 2466759 | Removed comment_prepare_thread() unreviewed | 8.0.x | released | 1 | 0 |
| 2469723 | New PHPUnit based classes added for testing: BrowserTestBase and JavascriptTestBase | 8.0.x | released | 2 | 2062 |
| 2468669 | Added OptionsWidgetBase::getEmptyLabel() and removed OptionsWidgetBase::getEmptyOption() | 8.0.x | released | 1 | 11 |
| 2467519 | Removed age() method and introduced currentRevision() and allRevisions() methods | 8.0.x | released | 1 | 87 |
| 2467521 | drupal_get_schema(), drupal_get_complete_schema(), drupal_get_schema_unprocessed(), and hook_schema_alter() no longer exist | 8.0.x | released | 1 | 6 |
| 2463059 | The REQUEST_TIME constant can no longer be used in PHPUnit tests unreviewed | 8.0.x | released | 1 | 0 |
| 2459807 | user_attach_accounts() and comment_prepare_author() have been removed unreviewed | 8.0.x | released | 1 | 0 |
| 2464095 | CSS changes to the system status report component unreviewed | 8.0.x | released | 1 | 0 |
| 2464873 | Flood control must be applied upon submit, not when viewing unreviewed | 8.0.x | released | 1 | 0 |
| 2438011 | Entity level validation constraints can be added unreviewed | 8.0.x | released | 1 | 0 |
| 2463533 | Added 'no_cache' route option to mark a route's responses as uncacheable unreviewed | 8.0.x | released | 1 | 0 |
| 2460819 | Added RendererInterface::addDependency($render_array, $cacheable_dependency) unreviewed | 8.0.x | released | 2 | 0 |
| 2460247 | REST user updates have to include the existing password in some cases unreviewed | 8.0.x | released | 1 | 0 |
| 2460231 | Two methods added to the UserInterface | 8.0.x | released | 1 | 3 |
| 2456753 | Libraries can now be attached from Twig templates via an attach_library() function | 8.0.x | released | 1 | 120 |
| 2462107 | Entity validation constraints receive $entity as data unreviewed | 8.0.x | released | 1 | 0 |
| 2460751 | New config_object base type added, use for simple configuration unreviewed | 8.0.x | released | 1 | 0 |
| 2456869 | The Taxonomy term reference field has been removed in favor of Entity reference unreviewed | 8.0.x | released | 1 | 0 |
| 2458999 | Made it possible to use KernelTestBase to test foreign language environments unreviewed | 8.0.x | released | 1 | 0 |
| 2458995 | locale_translate_english() is now locale_is_translatable($langcode) unreviewed | 8.0.x | released | 1 | 0 |
| 2458599 | Removed LocaleTypedConfig unreviewed | 8.0.x | released | 1 | 0 |
| 2458591 | Made possible to get the source data out of TranslatableMarkup objects unreviewed | 8.0.x | released | 1 | 0 |
| 2458583 | The locale.config.typed service is renamed to locale.config_manager, most public methods changed unreviewed | 8.0.x | released | 1 | 0 |
| 2458575 | Default configuration is now translated in-place unreviewed | 8.0.x | released | 1 | 0 |
| 2459177 | hook_install() has to rebuild the routes manually, if needed unreviewed | 8.0.x | released | 1 | 0 |
| 2459373 | New 'user.permissions' cache context, should be used instead of 'user.roles' cache context unreviewed | 8.0.x | released | 1 | 0 |
| 2459073 | The site default language code is now separate from the site name's and slogan's language unreviewed | 8.0.x | released | 1 | 0 |
| 2457545 | User signatures support moved to contrib | 8.0.x | released | 1 | 8 |
| 2451661 | Cache contexts are now hierarchical unreviewed | 8.0.x | released | 3 | 0 |
| 2457769 | jQuery Once plugin upgrade to 2.x unreviewed | 8.0.x | released | 1 | 0 |
| 2453919 | Optional configuration provided by modules and themes is now stored in config/optional unreviewed | 8.0.x | released | 1 | 0 |
| 2413003 | Install profiles are installed after their themes unreviewed | 8.0.x | released | 1 | 0 |
| 2461557 | ALT text is now required by default on image fields unreviewed | 8.0.x | released | 1 | 0 |
| 2457593 | Various classes/interfaces renamed to support PHP 7 unreviewed | 8.0.x | released | 7 | 0 |
| 2447357 | Search removes diacritics in indexing rather than relying on database collation unreviewed | 8.0.x | released | 1 | 0 |
| 2447327 | New Transliteration method added unreviewed | 8.0.x | released | 1 | 0 |
| 2450673 | Bundle entity form ID pattern has changed unreviewed | 8.0.x | released | 1 | 0 |
| 2455005 | The user_pass_rehash() function now requires the user account ID to be passed in unreviewed | 6.x, 7.x | released | 1 | 0 |
| 2453449 | Authentication now only runs once per request | 8.0.x | released | 2 | 3 |
| 2455007 | External URLs can no longer be passed through the "destination" query parameter unreviewed | 6.x, 7.x | released | 0 | 0 |
| 2450019 | $GLOBALS['script_path'] is removed unreviewed | 8.0.x | released | 1 | 0 |
| 2451555 | Added #cache['max-age'] unreviewed | 8.0.x | released | 1 | 0 |
| 2452735 | Route rebuilding moved to an explicit model | 8.0.x | released | 1 | 32 |
| 2452797 | Base fields are being converted to behave the same as configurable fields in Views unreviewed | 8.0.x | released | 1 | 0 |
| 2448083 | views_get_views_as_options() has been moved to a static method unreviewed | 8.x | released | 1 | 0 |
| 2448081 | views_get_disabled_views() has been moved to a static method unreviewed | 8.x | released | 1 | 0 |
| 2448079 | views_get_enabled_views() has been moved to a static method unreviewed | 8.x | released | 1 | 0 |
| 2448219 | Added "render" Twig filter | 8.0.x | released | 1 | 59 |
| 2446647 | Messages have been converted into a block | 8.0.x | released | 1 | 318 |
| 2446615 | #type => status_messages instead of #theme => status_messages | 8.0.x | released | 2 | 113 |
| 2446539 | #type => pager instead of #theme => pager unreviewed | 8.0.x | released | 1 | 0 |
| 2420145 | Front controllers in core subdirectory have been moved to root unreviewed | 8.0.x | released | 1 | 0 |
| 2446315 | The langcode field is now translatable unreviewed | 8.0.x | released | 1 | 0 |
| 2448603 | drupal_get_destination() is replaced by the redirect.destination service unreviewed | 8.0.x | released | 2 | 0 |
| 2444099 | request_uri() is replaced with $request->getRequestUri() unreviewed | 8.0.x | released | 1 | 0 |
| 2407077 | HTML5-lib is added to Drupal 8 core for the filter system unreviewed | 8.0.x | released | 2 | 0 |
| 2442603 | Simplified definition format for sequences in configuration schemas unreviewed | 8.0.x | released | 1 | 0 |
| 2448715 | Classy's template subfolders reorganized unreviewed | 8.x | released | 1 | 0 |
| 2433153 | Field data tables now used as default base tables in Views unreviewed | 8.0.x | released | 1 | 0 |
| 2444095 | Admin roles are stored on the roles itself | 8.0.x | released | 1 | 49 |
| 2443461 | Url::__toString() was removed unreviewed | 8.0.x | released | 1 | 0 |
| 2430443 | Functions update_project_storage(), _update_fetch_data(), _update_refresh() have been removed unreviewed | 8.0.x | released | 3 | 0 |
| 2443769 | Renamed indentation css class to js-indentation unreviewed | 8.0.x | released | 1 | 0 |
| 2431401 | \Drupal::getContainer() will throw an exception if the container is not initialized unreviewed | 8.0.x | released | 1 | 0 |
| 2430511 | Temp store service split into Shared and Private instances unreviewed | 8.0.x | released | 1 | 0 |
| 2332051 | file_htaccess_lines() replaced by FileStorage::htaccessLines() unreviewed | 8.0.x | released | 1 | 0 |
| 2428843 | Finalized Cache Context API | 8.0.x | released | 4 | 20 |
| 2428705 | theme_aggregator_block_item() replaced with #type link unreviewed | 8.x | released | 1 | 0 |
| 2427579 | Menu Item CSS class changes and removal of .leaf unreviewed | 8.0.x | released | 2 | 0 |
| 2452297 | Some visual classes removed from core templates unreviewed | 8.x | released | 13 | 0 |
| 2842748 | Return 404 if Batch ID does not exist | 10.4.x, 11.1.x | released | 1 | 0 |
| 2424079 | Responsive images | 8.0.x | released | 1 | 5 |
| 2911449 | head_title_array variable deprecated in favour of head_title unreviewed | 8.0.x | released | 1 | 0 |
| 2411239 | CommentManagerInterface::addDefaultField() deprecated in favour of CommentTestTrait unreviewed | 8.0.x | released | 1 | 0 |
| 2119699 | Page callbacks converted to controllers unreviewed | 8.x | released | 1 | 0 |
| 2380327 | Access session data through the Request object unreviewed | 8.0.x | released | 1 | 0 |
| 2393897 | Bartik Region Renaming: Featured -> Featured top, Triptych -> Featured bottom unreviewed | 8.0.x | released | 1 | 0 |
| 2421043 | Views fields' delta_limit value 'all' now represented as 0 (zero) unreviewed | 8.0.x | released | 1 | 0 |
| 2420011 | Views language rendering options now unified unreviewed | 8.0.x | released | 1 | 0 |
| 2420001 | Views display options field_langcode and field_langcode_add_to_query removed in favor of unified rendering_language option unreviewed | 8.0.x | released | 1 | 0 |
| 2404453 | FieldItems do not auto-create new objects on reading of $entity->field[N] anymore | 8.0.x | released | 1 | 13 |
| 2418529 | New 'entity_autocomplete' form element added | 8.0.x | released | 1 | 106 |
| 2419827 | ThirdPartySettingsTrait is removed and merged into ConfigEntityBase unreviewed | 8.0.x | released | 1 | 0 |
| 2419867 | Base field descriptions are no longer saved into database schemata unreviewed | 8.0.x | released | 1 | 0 |
| 2409999 | Footer regions in Bartik have been renamed | 8.0.x | released | 2 | 246 |
| 2409997 | Footer regions in Bartik have been removed unreviewed | 8.0.x | released | 2 | 0 |
| 2401615 | Require a specific placeholder format in db_query() in order to trigger argument expansion, and require explicit 'IN' parameter for conditions | 8.0.x | released | 1 | 90 |
| 2418229 | Query destination should be a relative URL instead of a path unreviewed | 8.0.x | released | 2 | 0 |
| 2418133 | File system functions are now methods on the 'file_system' service | 8.0.x | released | 2 | 1 |
| 2417421 | Configurable link field, short cut, menu links store user entered paths as URI (not routes or paths) unreviewed | 8.0.x | released | 5 | 0 |
| 2424003 | Menu link UI now an autocomplete, with optional manual path entry unreviewed | 8.0.x | released | 2 | 0 |
| 2410773 | Breadcrumbs have been converted into block unreviewed | 8.0.x | released | 1 | 0 |
| 2912661 | valid_email_address() replaced with alternative provided by email-validator service unreviewed | 8.0.x | released | 2 | 0 |
| 2414149 | Site specific services.yml is no longer a default unreviewed | 8.0.x | released | 1 | 0 |
| 2404255 | Content translation metadata is now implemented through a translation wrapper | 8.0.x | released | 1 | 140 |
| 2412769 | Default all JS to the footer, allow asset libraries to force their JS to the header unreviewed | 8.0.x | released | 1 | 0 |
| 2409067 | Page cache stack middleware unreviewed | 8.0.x | released | 1 | 0 |
| 2381103 | Twig templates can now be loaded based on theme registry data unreviewed | 8.0.x | released | 1 | 0 |
| 2381097 | Twig loaders can now be added as tagged services unreviewed | 8.0.x | released | 1 | 0 |
| 2420295 | hook_node_validate() and hook_node_submit() have been removed | 8.0.x | released | 2 | 3 |
| 2410787 | The default logo type for themes is SVG | 8.0.x | released | 1 | 1132 |
| 2408597 | Finalize the assets API/optimize AJAX page state: remove drupal_get_(css|js)() and _drupal_add_(css|js|library)() unreviewed | 8.0.x | released | 1 | 0 |
| 2410365 | ConfigFactory::setOverrideState() and ConfigFactory::getOverrideState() removed unreviewed | 8.0.x | released | 1 | 0 |
| 2399169 | Theme_image_formatter now requires a URL object instead of a path | 8.0.x | released | 1 | 485 |
| 2407153 | Configuration objects by default are immutable. | 8.0.x | released | 1 | 3678 |
| 2445441 | t() and SafeMarkup::format() input and output are better integrated with Twig autoescaping unreviewed | 8.0.x | released | 3 | 0 |
| 2403887 | Add RenderCache::getCacheableRenderArray() to encapsulate which data is needed for caching a render array | 8.x | released | 3 | 2 |
| 2406455 | Config objects now have cache tags | 8.0.x | released | 1 | 114 |
| 2382937 | Entity annotation link templates are paths again unreviewed | 8.0.x | released | 3 | 0 |
| 2405829 | Route filters / enhancers can be lazy now unreviewed | 8.0.x | released | 1 | 0 |
| 2393491 | Action plugins have to implement AccessibleInterface::access() unreviewed | 8.0.x | released | 1 | 0 |
| 2404639 | Views' rewrite functionality now uses Twig. unreviewed | 8.x | released | 1 | 0 |
| 2383927 | views_ajax_form_wrapper() replaced by \Drupal\views_ui\Form/Ajax/ViewsFormBase::ajaxFormWrapper() unreviewed | 8.0.x | released | 1 | 0 |
| 2396439 | Added file_url() function to Twig | 8.0.x | released | 1 | 18 |
| 2391871 | Session settings and $cookie_domain global moved to container parameters unreviewed | 8.0.x | released | 1 | 0 |
| 2398539 | Bartik region 'Highlighted' moved from the main column to between header and featured top unreviewed | 8.x | released | 2 | 0 |
| 2404131 | Composer can now be used to manage Drupal core, modules, themes, PHP dependencies, etc. unreviewed | 8.0.x | released | 2 | 0 |
| 2402315 | hook_library_info_build() added: for registering libraries dynamically | 8.0.x | released | 1 | 142 |
| 2374649 | hook_library_info_build() added for dynamic library definitions | 8.0.x | released | 1 | 142 |
| 2403135 | Drupal 8 will upgrade to Symfony 3.0 in a minor release and drop Symfony 2.x backwards compatibility unreviewed | 8.x | released | 1 | 0 |
| 2402215 | Functions in the field <-> views integration got renamed (field_views_field_default_views_data, field_views_field_label) unreviewed | 8.0.x | released | 1 | 0 |
| 2398255 | Cache tag invalidation moved to separate invalidator services and invalidator checksum provider, deleteTags() removed | 8.0.x | released | 1 | 412 |
| 2401825 | An installer task can now return a list of batches unreviewed | 8.0.x | released | 1 | 0 |
| 2401495 | <none> route added to support cases where only a #fragment should be printed unreviewed | 8.0.x | released | 1 | 0 |
| 2396385 | Entity type definitions now have a 'langcode' entity key unreviewed | 8.0.x | released | 1 | 0 |
| 2393007 | Language widget and formatter are now available unreviewed | 8.0.x | released | 1 | 0 |
| 2394917 | Language related view settings are moved to common place unreviewed | 8.0.x | released | 1 | 0 |
| 2393181 | Adding/re-using existing field in Field UI is now a separate task | 8.0.x | released | 1 | 22 |
| 2392959 | The private files directory is no longer configurable in the UI or available in config | 8.0.x | released | 1 | 21 |
| 2392803 | 'html' => TRUE option is removed from l() and link generator unreviewed | 8.0.x | released | 1 | 0 |
| 2392677 | ModuleUninstallValidatorInterface is now preferred over hook_system_info_alter() to test module uninstall readiness | 8.0.x | released | 2 | 48 |
| 2392315 | String formatters are split up into a basic string formatter and one which allows to link to an entity unreviewed | 8.0.x | released | 1 | 0 |
| 2391981 | hook_library_alter() is removed in favour of hook_library_info_alter() | 8.x | released | 2 | 355 |
| 2391795 | All TestBase derived tests now enforce strict configuration schema adherence by default unreviewed | 8.0.x | released | 1 | 0 |
| 2391205 | Content translation entity bundle specific settings now use third party settings on language configuration | 8.0.x | released | 1 | 85 |
| 2849874 | entity.query service deprecated in favor of EntityStorageInterface::getQuery() unreviewed | 8.3.x | released | 3 | 0 |
| 2387757 | Entity storage handlers are now required to implement ::hasData() | 8.0.x | released | 1 | 9 |
| 2386287 | install_drupal() and install_begin_request() have a new $class_loader argument unreviewed | 8.0.x | released | 1 | 0 |
| 2382481 | language.settings configuration replaced by configuration entities per bundle unreviewed | 8.0.x | released | 1 | 0 |
| 2387167 | System Help block becomes Help block unreviewed | 8.x | released | 1 | 0 |
| 2383115 | Change JavaScript settings into a separate asset type | 8.0.x | released | 3 | 49 |
| 2385285 | node_search_admin form now uses #type => table unreviewed | 8.0.x | released | 1 | 0 |
| 2384903 | Mixed mode SSL session support removed from core unreviewed | 8.0.x | released | 1 | 0 |
| 2380287 | new filter() method added to TypedData's ListInterface | 8.0.x | released | 1 | 12 |
| 2382211 | current_path() is replaced by the <current> route unreviewed | 8.0.x | released | 2 | 0 |
| 2527840 | BlockEvent and BlockSubscriberBase removed in favor of a context repository service. unreviewed | 8.0.x | released | 3 | 0 |
| 2407035 | Added 'with_config_overrides' option to convert entity IDs to entities with overrides unreviewed | 8.0.x | released | 2 | 0 |
| 2382645 | Theme settings default values can not be set in a theme's info.yml files | 8.0.x | released | 1 | 5 |
| 2379475 | Themes now use asset libraries exclusively, not individual stylesheets or JavaScript files | 8.0.x | released | 1 | 379 |
| 2381665 | Views: 'access all views' permission removed unreviewed | 8.0.x | released | 1 | 0 |
| 2381651 | Inserted images now use data-entity-type="file" + data-entity-uuid="<UUID>" instead of data-editor-file-uuid="<UUID>" unreviewed | 8.0.x | released | 1 | 0 |
| 2326581 | SearchIndexingInterface methods updated | 8.x | released | 1 | 5 |
| 2326575 | search_reindex() has been refactored into two different functions | 8.x | released | 1 | 1 |
| 2358805 | LanguageConfigOverride::getLangcode() is introduced | 8.0.x | released | 1 | 5 |
| 2358801 | LanguageConfigOverrideEvents::SAVE_OVERRIDE and LanguageConfigOverrideEvents::DELETE_OVERRIDE events are introduced unreviewed | 8.0.x | released | 1 | 0 |
| 2358799 | Config translation form elements output both the source and the translation build and submit values themselves (ElementInterface::getFormElement() no longer exists) unreviewed | 8.0.x | released | 1 | 0 |
| 3083055 | The 'testing' install profile's setting of a default theme (Classy) is now deprecated unreviewed | 8.8.x | released | 4 | 0 |
| 2380181 | Testing now uses Classy as the default theme instead of Stark unreviewed | 8.0.x | released | 1 | 0 |
| 2912696 | drupal_render() and drupal_render_root() replaced with Renderer service unreviewed | 8.0.x | released | 2 | 0 |
| 2378809 | Routes use _controller instead of _content unreviewed | 8.0.x | released | 2 | 0 |
| 2367239 | Conditions / context system now allows for multiple configurable contexts unreviewed | 8.x | released | 1 | 0 |
| 2381115 | Field settings, storage settings and widget/formatter settings now only persisted if they have defaults unreviewed | 8.x | released | 2 | 0 |
| 2381105 | Configuration schema for field settings, default values and entity view/form displays changed unreviewed | 8.x | released | 3 | 0 |
| 2375053 | is_front variable moved to template_preprocess_page unreviewed | 8.x | policy | 1 | 0 |
| 2377441 | Account switcher service added to safely impersonate user account | 8.0.x | released | 1 | 1 |
| 2330441 | app.root container parameter replaces DRUPAL_ROOT | 8.x | policy | 1 | 136 |
| 2365293 | The optional $mode argument is removed from Filter:Xss | 8.0.x | released | 1 | 88 |
| 2392807 | Field schema no longer uses 'not null' entries unreviewed | 8.0.x | released | 1 | 0 |
| 2358511 | File field icons are now added in CSS rather than inline images unreviewed | 8.0.x | released | 1 | 0 |
| 2372691 | Added assert methods for determining if text has been escaped properly unreviewed | 8.0.x | policy | 1 | 0 |
| 2368475 | Added methods for setting and removing attributes on Attribute objects | 8.0.x | policy | 1 | 134 |
| 3069599 | ForumManagerInterface::getParents() is deprecated | 8.0.x | released | 2 | 2 |
| 2371365 | Comment module tokens cleaned unreviewed | 8.x | policy | 2 | 0 |
| 2367463 | Existence of a CSS class can be tested on Attributes object | 8.0.x | policy | 1 | 11 |
| 2362865 | {{ feed_icons }} removed from page template (page.html.twig) | 8.0.x | released | 2 | 6 |
| 2364725 | Configuration dependencies support content entity dependencies unreviewed | 8.0.x | policy | 1 | 0 |
| 2404451 | Forum module cannot be uninstalled until all content and configuration is removed unreviewed | 8.0.x | released | 1 | 0 |
| 2404447 | Config dependencies can optionally be enforced unreviewed | 8.0.x | released | 1 | 0 |
| 2360567 | EntityInterface::getCacheTag() renamed to getCacheTags() unreviewed | 8.0.x | released | 1 | 0 |
| 2350653 | Added events to notify create/update/delete events for entity type and field stroage definitions | 8.0.x | released | 1 | 5 |
| 2352673 | PluginBag has been renamed to LazyPluginCollection unreviewed | 8.0.x | policy | 1 | 0 |
| 2357755 | Added hook_page_attachments(_alter)() and removed hook_page_build/alter() unreviewed | 8.0.x | released | 2 | 0 |
| 2330261 | Default body classes have been updated unreviewed | 8.0.x | policy | 1 | 0 |
| 2356113 | Creating a new image canvas is now an image toolkit operation unreviewed | 8.0.0-beta1 | policy | 1 | 0 |
| 2393323 | hook_stream_wrappers() replaced with tagged services | 8.0.x | policy | 4 | 1 |
| 2347535 | The values of Language::DIRECTION_RTL and Language::DIRECTION_LTR (used to be LANGUAGE_RTL and LANGUAGE_LTR) are now 'rtl' and 'ltr' unreviewed | 8.0.x | released | 1 | 0 |
| 2351405 | Search plugin interface has new method for page title | 8.0.x | released | 1 | 1 |
| 2350519 | Remove #type link(s) support for href route_name, parameters and replace with url unreviewed | 8.0.x | policy | 1 | 0 |
| 2538352 | Views' custom CacheablePluginInterface is replaced by the standardized CacheableDependencyInterface | 8.0.x | released | 2 | 166 |
| 2352319 | Add assets in theme preprocess functions | 8.0.x | policy | 1 | 23 |
| 2231673 | 'template' is now the default output option for hook_theme() unreviewed | 8.x | policy | 3 | 0 |
| 2337467 | Added a new base theme to core called Classy unreviewed | 8.x | policy | 3 | 0 |
| 2380413 | update_fetch_data_batch() and update_parse_xml() have been removed | 8.0.x | policy | 2 | 0 |
| 2346875 | Introduced FieldableEntityInterface (being implemented by ContentEntityInterface) unreviewed | 8.0.x | released | 1 | 0 |
| 2346779 | l() and url() are removed in favor of a routing based URL generation API | 8.x | policy | 9 | 44 |
| 2346455 | The fieldable key has been removed from EntityType annotations | 8.0.x | policy | 1 | 2 |
| 2346441 | ContentEntityInterface does not implement ComplexDataInterface/TypedDataInterface any more | 8.0.x | released | 1 | 206 |
| 3238149 | theme_menu_link() has been removed unreviewed | 8.0.x | released | 1 | 0 |
| 2345443 | 'list_text' field type renamed to 'list_string' unreviewed | 8.0.x | policy | 1 | 0 |
| 2344683 | Improved cache tags DX: strings instead of nested arrays, strict validation unreviewed | 8.0.x | policy | 1 | 0 |
| 2341759 | Permissions on routing allows OR/AND unreviewed | 8.0.x | released | 2 | 0 |
| 2323571 | Flexible page cache policy | 8.0.x | released | 1 | 150 |
| 2328205 | taxonomy_term_load_parents(), taxonomy_term_load_parents_all(), taxonomy_term_load_children(), taxonomy_get_tree() all removed in favour of methods on TermStorage unreviewed | 8.0.x | released | 4 | 0 |
| 2329465 | "Text processing" option removed from Text field types, split into formatted and plain field types unreviewed | 8.0.x | policy | 1 | 0 |
| 2337377 | All access-checking logic must now return AccessResultInterface objects, allows for cacheability metadata | 8.0.x | policy | 2 | 3 |
| 2535396 | Entity type changes are handled automatically by update.php unreviewed | 8.0.x | policy | 3 | 0 |
| 2325067 | CSS classes being moved from preprocess to Twig templates unreviewed | 8.0.x | policy | 2 | 0 |
| 2331613 | Exception handling is now modular unreviewed | 8.0.x | released | 1 | 0 |
| 2336669 | Use ConfigurableLanguage configuration entity instead of language_save() and language_delete() unreviewed | 8.0.x | policy | 1 | 0 |
| 2337599 | field_filter_xss functions replaced by AllowedTagsXssTrait unreviewed | 8.0.x | policy | 1 | 0 |
| 2337551 | drupal_render_page() has been removed unreviewed | 8.0.x | policy | 1 | 0 |
| 2336611 | hook_path_update() now receives the original alias unreviewed | 8.0.x | policy | 1 | 0 |
| 2338561 | Plugin factories check inheritance of plugins | 8.0.x | policy | 1 | 1 |
| 2336747 | submit() is removed from EntityFormInterface, logic moved into submitForm() and save() | 8.0.x | released | 1 | 3763 |
| 2286175 | Removed deprecated 'class' key from #theme links and #theme menu_tree heading arrays unreviewed | 8.x | policy | 1 | 0 |
| 2343643 | Global menus (primary links, secondary links) have been converted into blocks unreviewed | 8.0.x | released | 2 | 0 |
| 2281851 | Replaced theme_more_link() with #type 'more_link' unreviewed | 8.0.x | policy | 1 | 0 |
| 2301057 | Namespace for PHPUnit tests of modules has changed unreviewed | 8.x | policy | 1 | 0 |
| 2324707 | Node/comment links are implemented as extra fields and can be hidden unreviewed | 8.0.x | released | 1 | 0 |
| 2327163 | Changed ApcClassLoader support (and added support for other class loaders) unreviewed | 8.0.x | policy | 1 | 0 |
| 2327157 | drupal_classloader() removed unreviewed | 8.0.x | policy | 1 | 0 |
| 2335315 | Entity form and view modes moved from Entity module to Core | 8.0.x | released | 1 | 252 |
| 2328585 | views_language_list() has been moved to a class method | 8.x | policy | 1 | 1 |
| 2328581 | Internal Views special language machine codes have changed unreviewed | 8.x | policy | 1 | 0 |
| 2326151 | New ThirdPartySettingsInterface and ThirdPartySettingsTrait for configuration entities to store third party settings | 8.0.x | released | 1 | 6 |
| 2388737 | HTML functions moved to a component | 8.x | policy | 5 | 514 |
| 2341041 | ajax_process_form() and ajax_pre_render_form() are now static methods on \Drupal\Core\Render\RenderElement | 8.0.x | released | 2 | 3 |
| 2311427 | hook_permission() replaced with permissions defined in a $module.permissions.yml file | 8.x | policy | 4 | 369 |
| 2326617 | 'datetime' theme hook/template renamed to 'time' unreviewed | 8.0.x | policy | 1 | 0 |
| 2325875 | Form objects can now specifiy callbacks to themself on #submit/#validate as strings unreviewed | 8.0.x | policy | 1 | 0 |
| 2317985 | Installer will create a services.yml file next to settings.php unreviewed | 8.0.x | released | 1 | 0 |
| 2324939 | Theme initialization was moved into its own service | 8.0.x | policy | 1 | 143 |
| 2324935 | Global theme variables got replaced by an ActiveTheme unreviewed | 8.0.x | policy | 1 | 0 |
| 2318879 | COMMENT_FORM_BELOW and COMMENT_FORM_SEPARATE_PAGE moved to constants on CommentItem class unreviewed | 8.0.x | released | 1 | 0 |
| 2320547 | Entity controller admin-form annotation replaced by field_ui_base_route unreviewed | 8.x | policy | 1 | 0 |
| 2322527 | Contact categories are now contact forms | 8.x | policy | 1 | 9 |
| 2320249 | hook_views_data() for entities replaced with EntityViewsDataInterface | 8.0.x | released | 1 | 371 |
| 2321051 | Base field storage for users has now multilingual support unreviewed | 8.x | policy | 1 | 0 |
| 2319739 | Configuration schema wildcards can now be used to match plugin derivative identifiers as well unreviewed | 8.x | released | 1 | 0 |
| 2320115 | hook_element_info() is replaced by annotated classes | 8.0.x | policy | 3 | 383 |
| 2306387 | Entity HTML route patterns standardized unreviewed | 8.0.x | policy | 4 | 0 |
| 2324025 | Description of a form element can be moved below the input fields | 8.0.x | policy | 1 | 47 |
| 2319169 | Node types cannot opt out of standard permissions unreviewed | 8.0.x | released | 1 | 0 |
| 2309379 | Moved drupal_mail to MailManager::mail | 8.x | policy | 7 | 296 |
| 2315471 | Classes on Attribute objects can be manipulated with new addClass() and removeClass() methods | 8.0.x | policy | 1 | 137 |
| 2316687 | Forms no longer support path-based redirects unreviewed | 8.0.x | policy | 1 | 0 |
| 2315865 | Renamed DrupalTestBase and UnitTestCase::randomName() to randomMachineName() unreviewed | 8.0.x | policy | 1 | 0 |
| 2309413 | Drupal\Core\Datetime\Date has been renamed to DateFormatter unreviewed | 8.x | released | 1 | 0 |
| 2301901 | Base field storage for taxonomy terms has now multilingual support unreviewed | 8.x | policy | 1 | 0 |
| 2311123 | New inline_template render element for HTML code in PHP | 8.x | policy | 2 | 244 |
| 2310411 | $form_state is now a classed object | 8.x | policy | 8 | 3 |
| 2306083 | Backend specific services now have a standard way to override unreviewed | 8.x | policy | 1 | 0 |
| 2308415 | hook_file_download_access() has been removed unreviewed | 8.0.x | released | 1 | 0 |
| 2307365 | Configuration entities may now alter their data format for storage unreviewed | 8.x | released | 1 | 0 |
| 2297375 | Migrations now use / as property separator instead of dots unreviewed | 8.x | released | 1 | 0 |
| 2297369 | Field allowed value storage changed unreviewed | 8.x | released | 1 | 0 |
| 2297311 | Dots are explicitly forbidden in configuration data keys now unreviewed | 8.x | released | 1 | 0 |
| 2305851 | Search logging is configurable, off by default unreviewed | 8.x | released | 1 | 0 |
| 2296163 | Twig autoescape enabled and text sanitization APIs updated unreviewed | 8.x | policy | 3 | 0 |
| 2307387 | Asset libraries should declare their license; implement JavaScript License Web Labels | 8.x | policy | 2 | 71 |
| 2304127 | 'list_boolean' field type renamed 'boolean', only stores 0 and 1 unreviewed | 8.0.x | policy | 1 | 0 |
| 2227667 | Image operations are plugins unreviewed | 8.x | released | 2 | 0 |
| 2303785 | FormInterface::validateForm() and FormInterface::submitForm() are always called unreviewed | 8.0.x | policy | 1 | 0 |
| 2302893 | YAML files for menu links, contextual links, local tasks, and local actions have been renamed unreviewed | 8.x | policy | 2 | 0 |
| 2302541 | drupal_valid_path moved to PathValidator service unreviewed | 8.x | policy | 2 | 0 |
| 2298227 | Drupal 8 does not support browsers that do not support SVG unreviewed | 8.x | policy | 1 | 0 |
| 2302379 | Comment subject field is configurable via widget unreviewed | 8.x | released | 1 | 0 |
| 2294409 | Documentation for entity hooks has been consolidated unreviewed | 8.x | released | 1 | 0 |
| 2301459 | Comment properties are made multilingual unreviewed | 8.x | released | 1 | 0 |
| 2301125 | Test class getInfo() method removed in favor of PHPDoc unreviewed | 8.x | policy | 2 | 0 |
| 2295487 | Comment mode constants have moved unreviewed | 8.x | released | 2 | 0 |
| 2296867 | hook_comment_publish() and hook_comment_unpublish() have been removed unreviewed | 8.x | released | 1 | 0 |
| 2294435 | field_form_set_state() / field_form_get_state() moved to WidgetBaseInterface | 8.x | policy | 1 | 18 |
| 2294431 | _field_sort_items_value_helper() renamed to _field_multiple_value_form_sort_helper() unreviewed | 8.x | policy | 1 | 0 |
| 2295037 | drupal_is_cli() is removed unreviewed | 8.x | policy | 2 | 0 |
| 2257811 | Changed definition of plugin derivatives unreviewed | 8.x | policy | 1 | 0 |
| 2294629 | Field widgets generate lighter default $form[$field_name] structures | 8.x | policy | 1 | 104 |
| 2291171 | block_get_blocks_by_region() and block_list() are removed unreviewed | 8.x | policy | 1 | 0 |
| 2287827 | Block visibility is controlled by condition plugins | 8.x | policy | 1 | 111 |
| 2288297 | Configuration entities require configuration schema for persistence by default unreviewed | 8.x | released | 1 | 0 |
| 2286193 | Replaced "master/slave" terminology with "primary/replica" unreviewed | 8.x | policy | 1 | 0 |
| 2285633 | Comment type config entity added | 8.x | released | 1 | 1 |
| 2284277 | Plugin caching now not language dependent by default, include language in cache key as needed unreviewed | 8.x | released | 1 | 0 |
| 2231763 | node_type->has_title removed in favor of entity form displays unreviewed | 8.x | policy | 1 | 0 |
| 2282663 | Tables can now output "tfoot" elements | 8.x | policy | 1 | 6 |
| 2277677 | Token descriptions are now optional unreviewed | 8.x | policy | 1 | 0 |
| 2258015 | MimeTypeGuessers replaced file_get_mimetype() functionality | 8.x | policy | 5 | 24 |
| 2274675 | New PathMatcher service | 8.x | policy | 6 | 321 |
| 2278483 | Filters can now define #attached assets, #cache contexts, #cache tags and placeholders unreviewed | 8.x | policy | 3 | 0 |
| 2281529 | Simplification of node.html.twig unreviewed | 8.x | policy | 1 | 0 |
| 2278745 | Drupal 8 no longer supports MyISAM as the default storage engine unreviewed | 8.x | released | 2 | 0 |
| 3070678 | DrupalKernelInterface::prepareLegacyRequest() is deprecated | 8.x | released | 2 | 15 |
| 2275139 | Bootstrap refactored to use the kernel unreviewed | 8.x | released | 5 | 0 |
| 2230005 | Test specific overrides in settings.php unreviewed | 8.0.x | policy | 1 | 0 |
| 2259243 | Database schema of content entities is automatically generated based on entity type and field definitions | 8.x | policy | 2 | 0 |
| 2276689 | Symfony/css-selector added to make writing web tests easier unreviewed | 8.x-1.x | released | 1 | 0 |
| 2274705 | arg() is deprecated and will be removed | 8.x | policy | 3 | 1 |
| 2281897 | entity_info_cache_clear(), field_cache_clear(), field_info_cache_clear() removed, use clear cache methods on EntityManagerInterface instead unreviewed | 8.x | policy | 1 | 0 |
| 2274351 | Language configuration overrides now use configuration collections unreviewed | 8.x | released | 1 | 0 |
| 2253127 | drupal_check_memory_limit and parse_size, DRUPAL_KILOBYTE moved to components unreviewed | 8.x | policy | 3 | 0 |
| 2214873 | Queue API callback_queue_worker() may throw exceptions to indicate the whole queue has a problem unreviewed | 8.x | policy | 1 | 0 |
| 2245853 | Added a generic class resolver in addition to controller resolver | 8.x | released | 1 | 3 |
| 2271271 | DrupalUnitTestBase renamed to KernelTestBase unreviewed | 8.x | policy | 1 | 0 |
| 2270941 | hook_watchdog() and watchdog() removed | 8.x | released | 6 | 58 |
| 2271603 | Default/Undefined/Property type now universally Undefined, new Ignore type in configuration schemas unreviewed | 8.x | released | 2 | 0 |
| 2266845 | EntityInterface::load(), loadMultiple() and create() added to load and create new entities | 8.x | released | 5 | 2858 |
| 2250487 | Theme hook suggestion for node view mode added unreviewed | 8.x | policy | 1 | 0 |
| 2268523 | Configuration storage supports collections unreviewed | 8.x | policy | 1 | 0 |
| 2260037 | Field info methods are now provided by EntityManager unreviewed | 8.x | policy | 2 | 0 |
| 2259045 | Added elements to the html head got replaced with objects on the html page unreviewed | 8.0.x | policy | 1 | 0 |
| 2228895 | Nodes now have a storage controller; node_revision_list() removed. unreviewed | 8.0.x | released | 1 | 0 |
| 2250345 | hook_help() uses routes instead of paths unreviewed | 8.x | released | 2 | 0 |
| 2259297 | form_options_flatten() is replaced by \Drupal\Core\Form\OptGroup::flattenOptions unreviewed | 8.x | policy | 2 | 0 |
| 2327507 | Several cache bins now use APCu caching by default unreviewed | 8.0.x | policy | 4 | 0 |
| 2259531 | Change all default settings and config to fast/safe production values unreviewed | 8.x | policy | 5 | 0 |
| 2246735 | Entity renderable building is delayed through a #pre_render callback until after a cache check unreviewed | 8.x | policy | 2 | 0 |
| 2246681 | The signature of hook_entity_view implementations has changed unreviewed | 8.x | policy | 1 | 0 |
| 2247531 | Tagged "handler" services can be consumed through a centralized compiler pass now unreviewed | 8.x | policy | 1 | 0 |
| 2250341 | Delete buttons switched to links unreviewed | 8.x | policy | 1 | 0 |
| 2235461 | element_info() and element_info_property() moved to the element_info service. | 8.x | policy | 2 | 37 |
| 2231633 | Search UI changes unreviewed | 8.x | released | 1 | 0 |
| 2231623 | SearchQuery extender updated unreviewed | 8.x | released | 1 | 0 |
| 2245849 | Additional methods added to \Drupal\Core\Entity\EntityStorageBase to improve DX of subclasses | 8.x | policy | 1 | 35 |
| 2232651 | Themes have an installation status unreviewed | 8.x | policy | 2 | 0 |
| 2246865 | New centralized set of default serialization classes | 8.x | policy | 3 | 12 |
| 2237119 | Drupal\Core\KeyValueStore\State moved into Drupal\Core\State\State | 8.x | policy | 1 | 7 |
| 2242671 | form_set_cache() now validates the passed-in form build ID unreviewed | 7.x | released | 0 | 0 |
| 2242663 | Modules which use custom Ajax form page callbacks require updates for Drupal 7.27 unreviewed | 7.x | released | 0 | 0 |
| 2242659 | Modules which provide alternative page cache implementations require updates for Drupal 6.31 and Drupal 7.27 unreviewed | 6.x, 7.x | released | 0 | 0 |
| 2234799 | Default configuration moved into an "install" subdirectory unreviewed | 8.x | released | 1 | 0 |
| 2242711 | edit.module renamed to quickedit.module unreviewed | 8.x | released | 1 | 0 |
| 2241767 | Form errors should only be set during validation unreviewed | 8.x | policy | 3 | 0 |
| 2241059 | Default active config changed from file storage to DB storage unreviewed | 8.x | released | 1 | 0 |
| 2239929 | It is now possible to add steps to the configuration sync process unreviewed | 8.x | released | 1 | 0 |
| 2240005 | The Attribute object now prints all attributes by default unreviewed | 8.x | policy | 1 | 0 |
| 2236285 | FieldStorageDefinitionInterface and FieldDefinitionInterface | released | 3 | 1 | |
| 2216585 | menu got renamed to menu_ui unreviewed | 8.x | released | 3 | 0 |
| 2328179 | _node_revision_access() replaced | 8.0.x | policy | 1 | 0 |
| 2228871 | Session management functions have been converted into a SessionManager service | 8.x | policy | 2 | 494 |
| 2235431 | drupal_get_profile() no longer falls back to 'standard' unreviewed | 8.x | released | 1 | 0 |
| 2196751 | Use Unicode::ucwords() and Unicode::lcfirst() instead of ucwords() and lcfirst() | 8.x | policy | 1 | 219 |
| 2232665 | Entity type and bundle machine names have a maximum length of 32 characters unreviewed | 8.x | policy | 2 | 0 |
| 2228783 | Remove 'scripts' and add 'libraries' key to theme info files | 8.x | policy | 2 | 401 |
| 2216631 | Many functions moved out of book module into its own services unreviewed | 8.x | policy | 1 | 0 |
| 2227275 | Name length limits: extensions, ids and configuration file names unreviewed | 8.x | policy | 2 | 0 |
| 2228089 | hook_menu_link_defaults() moved to *.links.menu.yml files unreviewed | 8.x | policy | 1 | 0 |
| 2221879 | New and updated Entity URL methods unreviewed | 8.x | policy | 5 | 0 |
| 2227585 | Extra field definitions and retrieval has changed | 8.x | policy | 1 | 1 |
| 2226891 | Routing, tabs, actions and contextual link titles support replacement arguments again unreviewed | 8.x | released | 1 | 0 |
| 2191221 | aggregator_refresh() and aggregator_remove() removed unreviewed | 8.x | policy | 1 | 0 |
| 2240003 | menu_get_active_trail(), menu_set_active_trail(), and menu_link_get_preferred() removed unreviewed | 8.x | policy | 7 | 0 |
| 2226481 | Menu tree building is now a service unreviewed | 8.x | policy | 6 | 0 |
| 2221691 | Default field type / widget / formatter settings have been moved out of annotation and into methods | 8.x | policy | 1 | 481 |
| 2225341 | Use entity hooks instead of hook_language_insert/update/delete/presave unreviewed | 8.x | policy | 1 | 0 |
| 2222835 | X-Drupal-Cache-Tags header unreviewed | 8.x | policy | 2 | 0 |
| 2218341 | View modes and form modes listing functions moved to EntityManager unreviewed | 8.x | policy | 1 | 0 |
| 2384159 | Icons in core/misc/ removed in favour of Libricons unreviewed | 8.0.x | released | 4 | 0 |
| 2224647 | Encoding method added to \Drupal\Component\Utility\Tags | 8.x | policy | 1 | 27 |
| 2224207 | Admin paths are now defined as part of route definitions unreviewed | 8.x | policy | 2 | 0 |
| 2222293 | Block Cache API is removed; blocks now use standard caching patterns unreviewed | 8.x | policy | 5 | 0 |
| 2220437 | Dependency management for configuration entities | 8.x | policy | 1 | 136 |
| 2199185 | REST URI paths changed to canonical paths unreviewed | 8.x | policy | 2 | 0 |
| 2217597 | Added a KeyValueStoreInterface::has() method | 8.x | policy | 1 | 43 |
| 2217931 | .module and .profile files are no longer required; ModuleHandler::getModuleList() now returns Extension objects | 8.x | policy | 1 | 427 |
| 2218621 | New tag to allow plugin managers to opt into cache clears unreviewed | 8.x | released | 1 | 0 |
| 1388376 | Default thousand separator for numeric fields changed from ' ' to '' e.g. '1 000' to '1000' unreviewed | 8.0.x | released | 1 | 0 |
| 2187781 | Distribution level settings added to install profiles unreviewed | 8.x | released | 1 | 0 |
| 2084329 | upcasting converters replaced with ParamConverter Service unreviewed | 8.x | policy | 2 | 0 |
| 2186931 | Shortened directory structure for some plugin types unreviewed | 8.x | policy | 1 | 0 |
| 2213737 | 'show' variable removed from admin_block theme hook unreviewed | 8.x | policy | 1 | 0 |
| 2197921 | COMMENT_HIDDEN & COMMENT_CLOSED & COMMENT_OPEN converted to constants on CommentItemInterface unreviewed | 8.x | policy | 1 | 0 |
| 2340291 | drupal_write_record() and drupal_schema_fields_sql() removed in favor of merge queries and entity API unreviewed | 8.0.x | policy | 2 | 0 |
| 2214507 | user_authenticate() has been replaced by a 'user.auth' service | 8.x | released | 2 | 4 |
| 2212845 | show and hide functions removed from Twig in favor of a new "without" Twig filter | 8.x | policy | 1 | 237 |
| 2212815 | drupal_get_filename() always returns pathname of main extension file unreviewed | 8.x | policy | 1 | 0 |
| 2211557 | PluginBags have been moved to Drupal\Core unreviewed | 8.x | policy | 1 | 0 |
| 2205327 | Merge::key() renamed to Merge::keys(), and arguments to Merge::key() have changed unreviewed | 8.0.x | released | 2 | 0 |
| 2203985 | hook_field_update_forbid() and FieldUpdateForbiddenException renamed to hook_field_config_update_forbid() and FieldConfigUpdateForbiddenException unreviewed | 8.x | policy | 2 | 0 |
| 2208327 | field_view_field() and field_view_value() moved to view() methods on FieldItemListInterface and FieldItemInterface unreviewed | 8.x | policy | 1 | 0 |
| 2205235 | Added ability to define fields and field alterations for specific entity bundles unreviewed | 8.x | released | 2 | 0 |
| 2544012 | Branding block used in place of page template branding variables (site name, slogan, site logo) unreviewed | 8.0.x | policy | 2 | 0 |
| 2208415 | Book module no longer depends on menu links | 8.x | policy | 2 | 3 |
| 2218535 | Plugins can depend on a module | 8.x | policy | 1 | 842 |
| 2207453 | drupal_map_assoc() has been removed unreviewed | 8.x | policy | 1 | 0 |
| 2642834 | system_rebuild_module_data() no longer returns hidden modules unreviewed | 8.0.x | policy | 2 | 0 |
| 2198695 | drupal_system_listing(), SystemListing, SystemListingInfo replaced with ExtensionDiscovery unreviewed | 8.x | policy | 4 | 0 |
| 2191201 | Mail backends are now annotated plugins, drupal_mail_service() has been removed unreviewed | 8.x | released | 3 | 0 |
| 2204083 | global $databases removed in favor of existing static Database class methods unreviewed | 8.0.x | policy | 1 | 0 |
| 2203633 | Updates to PluginBag, DefaultSinglePluginBag, and DefaultPluginBag unreviewed | 8.x | policy | 1 | 0 |
| 2203617 | Config entities that use plugin bags should implement EntityWithPluginBagInterface unreviewed | 8.x | policy | 1 | 0 |
| 2204765 | Config entities are guaranteed to start with the module that provides the entity type unreviewed | 8.x | policy | 1 | 0 |
| 2203305 | Removed menu_get_item() and menu_set_item() unreviewed | 8.x | policy | 4 | 0 |
| 2203309 | ContentEntityBase::getPropertyDefinitions() is replaced by ContentEntityBase::getFieldDefinitions() unreviewed | 8.x | policy | 1 | 0 |
| 2203303 | Field item properties are now declared in FieldItemClass::propertyDefinitions() unreviewed | 8.x | policy | 1 | 0 |
| 2203297 | TypedData metadata introspection moved to definition objects unreviewed | 8.x | policy | 2 | 0 |
| 2201089 | hook_library_info() is replaced by *.libraries.yml file unreviewed | 8.x | released | 1 | 0 |
| 2189199 | Node base field widgets are now at the top of the node form unreviewed | 8.x | released | 1 | 0 |
| 2197037 | drupal_hash_salt global removed unreviewed | 8.x | policy | 3 | 0 |
| 2196275 | hook_entity_info() renamed to hook_entity_type_build(), hook_entity_info_alter() to hook_entity_type_alter() unreviewed | 8.x | policy | 1 | 0 |
| 2199111 | ContentEntityType and ConfigEntityType objects and annotations have been added | 8.x | policy | 1 | 0 |
| 2195739 | theme() renamed to _theme() and should not be called directly | 8.x | released | 1 | 13 |
| 2197131 | filter_dom_*() and _filter_htmlcorrector() have been replaced with Html utility class | 8.x | released | 1 | 198 |
| 2219113 | drupal_json_encode() and drupal_json_decode() moved to \Drupal\Component\Serialization\Json unreviewed | 8.x | policy | 3 | 0 |
| 1217104 | Entity label callbacks now receive $entity_type as second parameter unreviewed | 7.x | policy | 1 | 0 |
| 2195599 | Introduce composer.json files for Drupal\Component\* unreviewed | 8.x | policy | 2 | 0 |
| 2193813 | field_attach_view() and field_attach_prepare_view() removed, field formatter output is generated by EntityViewDisplayInterface::build() / buildMultiple() unreviewed | 8.x | policy | 1 | 0 |
| 2193665 | Configuration events have their own class unreviewed | 8.x | released | 1 | 0 |
| 2193603 | config.inc has been removed unreviewed | 8.x | policy | 2 | 0 |
| 2188851 | hook_forms() has been removed unreviewed | 8.x | policy | 1 | 0 |
| 2193261 | Simpletests now run as clean multi-site installations in /sites/simpletest/ unreviewed | 8.x | released | 1 | 0 |
| 2295317 | Request parameters, route name, and route object should be accessed via RouteMatch | 8.x | policy | 2 | 824 |
| 2189619 | Use the \Drupal\Core\Url object in place of arrays of route info unreviewed | 8.x | policy | 3 | 0 |
| 2191411 | Drupal::hasService() added | 8.x | policy | 1 | 574 |
| 2190891 | DefaultPluginBag and DefaultSinglePluginBag added for common use cases unreviewed | 8.x | policy | 1 | 0 |
| 2190815 | PluginFormInterface for UI configurable plugins | 8.x | policy | 1 | 329 |
| 2188259 | ParamConverterManager for routes throws ParamNotConvertedException instead of NotFoundHttpException when upcasting fails unreviewed | 8.x | policy | 1 | 0 |
| 2185953 | BlockPluginInterface::access gets passed in the account unreviewed | 8.x | policy | 1 | 0 |
| 2188553 | Removed default value for 'nomask' option in file_scan_directory() unreviewed | 8.x | released | 1 | 0 |
| 2187853 | Blocks are stored as configuration entities unreviewed | 8.x | released | 1 | 0 |
| 2188299 | EntityOwnerInterface added that allows to identify and change the owner of an entity unreviewed | 8.x | policy | 1 | 0 |
| 2188305 | system_get_module_info()/ModuleInfo removed from Core unreviewed | 8.x | policy | 1 | 0 |
| 2202701 | Autocomplete behavior updated to jQuery UI (10.3) unreviewed | 8.x | released | 1 | 0 |
| 2186163 | user_is_blocked() now returns a boolean value | 8.x | policy | 1 | 14 |
| 2186135 | form_set_error() in FormStateInterface classes replaced with setErrorByName method unreviewed | 8.x | policy | 3 | 0 |
| 2186501 | CacheCollector added to support maintaining a single cache of a set of data, CacheArray removed unreviewed | 8.x | policy | 2 | 0 |
| 2186315 | Drupal 7 sites can no longer be upgraded to Drupal 8 with update.php unreviewed | 8.x | policy | 2 | 0 |
| 2186197 | Added form modes UI and configuration entity unreviewed | 8.x | released | 1 | 0 |
| 2217009 | drupal_load() has been removed unreviewed | 8.x | policy | 2 | 0 |
| 2114953 | Dynamic routes can now be registered easier using the RouteSubscriberBase | 8.x | policy | 1 | 545 |
| 2113073 | Introduced \Drupal\Core\Access\AccessInterface for unified access control | 8.x | policy | 1 | 298 |
| 2113061 | \Drupal\Core\TypedData\AccessibleInterface is now Drupal\Core\Access\AccessibleInterface unreviewed | 8.x | policy | 1 | 0 |
| 2185947 | Router rebuilding is lazy now unreviewed | 8.x | policy | 1 | 0 |
| 2185955 | simpletest - added a drupalProcessAjaxResponse() method to WebTestBase unreviewed | 8.x | policy | 1 | 0 |
| 2185941 | Converted user_page() to a new style controller | 8.x | policy | 1 | 105 |
| 2185427 | entityType() method renamed to getEntityTypeId(), entityInfo() to getEntityType() in EntityInterface and EntityStorageControllerInterface unreviewed | 8.x | policy | 1 | 0 |
| 2184553 | CacheableDependencyInterface added to describe methods needed by Drupal Cache API | 8.x | policy | 2 | 172 |
| 2184281 | UUID service added to generate unique identifiers | 8.x | released | 1 | 644 |
| 2130393 | EntityManager::getFieldDefinitions() replaces entity_get_all_property_info and entity_get_property_info | policy | 0 | 1090 | |
| 1893002 | View name property got renamed to id unreviewed | 8.x | policy | 0 | 0 |
| 2183065 | Use standard indentation in JavaScript files unreviewed | 8.x | policy | 1 | 0 |
| 2182907 | Supply CacheBackendInterface::CACHE_PERMANENT as Cache::PERMANENT unreviewed | 8.x | released | 1 | 0 |
| 2182813 | Configuration override API unified with configuration language API unreviewed | 8.x | released | 1 | 0 |
| 2181351 | Moved file_chmod_directory and file_chmod_file into settings system unreviewed | 8.x | policy | 1 | 0 |
| 2182661 | Language negotiation settings moved to configuration from variables unreviewed | 8.x | released | 1 | 0 |
| 2182161 | Element::properties() replaces element_properties(), must be passed an array unreviewed | 8.x | released | 1 | 0 |
| 2173683 | element_* functions deprecated; use Element class methods instead unreviewed | 8.x | released | 2 | 0 |
| 2182025 | language_default converted to CMI | 8.x | released | 1 | 3 |
| 2181569 | Use EntityManagerInterface instead of EntityManager for typehints | 8.x | policy | 1 | 1 |
| 2181921 | drupal_cron_run() replaced by cron service unreviewed | 8.x | released | 1 | 0 |
| 2181883 | Installer: 'db_prefix' in database configuration form renamed to 'prefix' unreviewed | 8.x | released | 1 | 0 |
| 2181701 | Renamed methods in ViewExecutable. unreviewed | 8.x-dev | released | 1 | 0 |
| 2181667 | EntityType is now a domain object | 8.x | released | 1 | 1 |
| 2181331 | Various sorting callbacks have moved to \Drupal\Component\Utility\SortArray unreviewed | 8.x | policy | 2 | 0 |
| 2005460 | Batch API storage is now pluggable unreviewed | 8.x | policy | 1 | 0 |
| 2477433 | Update manager service added. unreviewed | 8.0.x | policy | 3 | 0 |
| 2181753 | theme_field() receives field values as a FieldItemList object rather than as a plain array unreviewed | 8.x | policy | 1 | 0 |
| 2180563 | bundle_keys removed from EntityType annotation, field_extract_bundle() removed unreviewed | 8.x | policy | 1 | 0 |
| 2160571 | drupal_add_tabledrag() has been replaced by drupal_attach_tabledrag unreviewed | 8.x | policy | 1 | 0 |
| 2178215 | Most first/last/odd/even classes removed in favor of CSS3 pseudo selectors unreviewed | 8.x | policy | 1 | 0 |
| 2091137 | For Configuration Entities Delete is a button/link not a tab unreviewed | 8.x | policy | 1 | 0 |
| 2174591 | The language system has been converted to OOP unreviewed | 8.x | released | 5 | 0 |
| 2174429 | EntityManager::getAdminPath() is replaced with EntityManager::getAdminRouteInfo() and FieldUI::getOverviewRouteInfo() | 8.x | policy | 3 | 18 |
| 2181815 | plugin.manager.entity service is replaced by entity.manager unreviewed | 8.x | released | 1 | 0 |
| 2173329 | The $reindex parameter has been removed from search_reindex unreviewed | 8.x | released | 2 | 0 |
| 2173127 | drupal_get_form() to initiate an existing or new class name unreviewed | 8.x | released | 1 | 0 |
| 2299799 | comment.module functions removed in favor of methods on CommentStorage/CommentManager | 8.x | released | 7 | 2 |
| 2170437 | Configuration override API simplified, built-in language support included unreviewed | 8.x | released | 1 | 0 |
| 2170551 | Normalize Controller/View-listener behavior with a Page object unreviewed | 8.x | policy | 1 | 0 |
| 2153569 | The configuration system will not change data types anymore unreviewed | 8.x | released | 1 | 0 |
| 2169605 | drupal_add_css(), drupal_add_js() and drupal_add_library() removed in favor of #attached unreviewed | 8.x | policy | 2 | 0 |
| 2116303 | The pluginBase class contains a t() method unreviewed | 8.x | policy | 1 | 0 |
| 2144561 | image_dimensions_scale() moved to \Drupal\Component\Image\Image::scaleImage() unreviewed | 8.x | policy | 1 | 0 |
| 2159855 | Make datatype callback handling more flexible unreviewed | 8.x | policy | 1 | 0 |
| 2168561 | Files got creation time tracking, standardized changed time tracking unreviewed | 8.x | released | 1 | 0 |
| 2168417 | drupal.base.css replaced by normalize.css unreviewed | 8.x | policy | 1 | 0 |
| 2168399 | Generic CSS moved to new file in Seven theme unreviewed | 8.x | policy | 1 | 0 |
| 2168147 | ControllerBase implements ContainerInjectionInterface like FormBase | 8.x | policy | 2 | 2814 |
| 2168121 | ControllerBase implements ContainerInjectionInterface and makes the container() method private unreviewed | 8.x | policy | 1 | 0 |
| 2168285 | field_attach_preprocess() is removed unreviewed | 8.x | policy | 1 | 0 |
| 2167077 | Setting the "active" class on links is now deterministic and an opt-in feature of l(), LinkGenerator and theme_links() | 8.x | policy | 1 | 24 |
| 2166881 | Additional $types argument in hook_node_load() removed unreviewed | 8.x | policy | 1 | 0 |
| 2166535 | Entity label() method does not have a $langcode argument anymore | 8.x | released | 1 | 2368 |
| 2165273 | Improved DX and altered keys for local tasks definitions | 8.x | policy | 1 | 1 |
| 2165243 | Contextual Links are provided by plugins implementing ContextualLinkInterface and using YAML discovery instead of being defined in hook_menu() unreviewed | 8.x | policy | 1 | 0 |
| 2164905 | drupal_mail() now uses 'reply-to:' instead of 'from:' header unreviewed | 8.x | policy | 1 | 0 |
| 2164727 | Structure of $config_directories variable in settings.php changed unreviewed | 8.x | policy | 2 | 0 |
| 2164115 | $user->theme and per-user custom theme check removed unreviewed | 8.x | policy | 1 | 0 |
| 2071487 | The public files directory is no longer configurable in the UI unreviewed | 8.x | policy | 1 | 0 |
| 2160639 | Configuration schemas now optionally used for type casting unreviewed | 8.x | released | 1 | 0 |
| 2160069 | drupal_add_*() deprecated in favour of #attached unreviewed | 8.x | policy | 4 | 0 |
| 2177901 | Dynamic Routes can be defined in routing.yml unreviewed | 8.x | policy | 1 | 0 |
| 2158619 | 'theme callback' and hook_custom_theme() replaced by theme negotiators unreviewed | 8.x | policy | 3 | 0 |
| 2156931 | Shortcuts are standalone entities | 8.x | policy | 1 | 1 |
| 2156155 | COMMENT_NOT_PUBLISHED & COMMENT_PUBLISHED constants are moved to CommentInterface unreviewed | 8.x | released | 1 | 0 |
| 2246699 | PHP class autoloading changed to PSR-4 instead of PSR-0: files move from lib/Drupal/amodule/ to just src/ within modules | 8.x | policy | 4 | 23 |
| 1477046 | The Database system is now namespaced unreviewed | 8.x | policy | 1 | 0 |
| 2155761 | Core markup clean up unreviewed | 8.x | policy | 3 | 0 |
| 2117181 | Non reusable access checkers can be defined directly in the routing definition unreviewed | 8.x | policy | 1 | 0 |
| 2153725 | Added a rebuild script unreviewed | 8.x | policy | 1 | 0 |
| 2153775 | hook_field_extra_fields() 'label' is no longer sanitized unreviewed | 8.x | policy | 1 | 0 |
| 2153753 | theme_system_powered_by() has been removed unreviewed | 8.x | policy | 1 | 0 |
| 2152957 | Node and comment ops links must be altered/extended using hook_node_links_alter()/hook_comment_links_alter() unreviewed | 8.x | policy | 3 | 0 |
| 2152721 | Aggregator no longer supports categories unreviewed | 8.x | policy | 1 | 0 |
| 2096117 | Annotation based plugins don't need a use statement anymore unreviewed | 8.x | policy | 1 | 0 |
| 2362887 | drupal_render_root() added: for the final rendering before sending a Response unreviewed | 8.0.x | released | 6 | 0 |
| 2151609 | New #post_render_cache property for Render API: personalization without breaking render cache unreviewed | 8.x | policy | 3 | 0 |
| 2150863 | list_themes(), theme_enable() and theme_disable() and others have been replaced with a new service unreviewed | 8.x | policy | 6 | 0 |
| 2133117 | CSRF tokens now integrated directly into the routing/access system unreviewed | 8.x | policy | 1 | 0 |
| 2149853 | Function theme_exposed_filters() removed unreviewed | 8.x | released | 1 | 0 |
| 2173787 | format_plural() has moved to translation service as formatPlural() and format_interval() has moved to date service as formatInterval() unreviewed | 8.x | policy | 5 | 0 |
| 2186583 | Widgets and formatters can be used on base fields in a ContentEntity unreviewed | 8.x | policy | 4 | 0 |
| 2150267 | PHP Super-globals replaced with Symfony Request object unreviewed | 8.x | policy | 1 | 0 |
| 2148315 | Audible star character removed from require field labels; required-ness now indicated semantically with ARIA and visually with CSS; HTML change unreviewed | 8.x | policy | 1 | 0 |
| 2147925 | Language codes for original field values always match entity language regardless of field translatability unreviewed | 8.x | released | 1 | 0 |
| 2147921 | Content field translation settings are easily reversible unreviewed | 8.x | released | 1 | 0 |
| 2147705 | Supported formats and authentication are now defined explicitly per each REST resource | 8.x | released | 1 | 3 |
| 2141805 | Migration API in core unreviewed | 8.x | released | 2 | 0 |
| 2142817 | Form error functions now moved to FormStateInterface unreviewed | 8.x | policy | 3 | 0 |
| 2142533 | Image field default value has now alt and title attributes unreviewed | 8.x | policy | 1 | 0 |
| 2137053 | theme_links() supports linking by route name unreviewed | 8.x | released | 1 | 0 |
| 2138053 | New configuration translation user interface module added unreviewed | 8.x | released | 1 | 0 |
| 2137545 | Theme registry is now theme.registry service unreviewed | 8.x | released | 1 | 0 |
| 2129611 | The language fallback logic has been moved onto the language manager | 8.x | released | 1 | 11 |
| 2133913 | Entity menu_* annotation keys removed in favor of links annotations unreviewed | 8.x | released | 1 | 0 |
| 2130757 | Introduced hooks to extend field formatters and widgets with third-party settings unreviewed | 8.x | released | 2 | 0 |
| 2124021 | theme('item_list') has a new 'empty' variable unreviewed | 8.x | released | 1 | 0 |
| 2123027 | Routes, tabs and local actions got title text context support unreviewed | 8.x | released | 1 | 0 |
| 2886836 | New setting for custom form cache expiration configuration unreviewed | 8.4.x | policy | 1 | 0 |
| 2121003 | drupal_*_form() and form_*() methods are replaced by a form builder service and methods on $form_state unreviewed | 8.x | policy | 30 | 0 |
| 2134999 | FIELD_CARDINALITY_UNLIMITED constant moved to FieldStorageDefinitionInterface unreviewed | 8.x | policy | 2 | 0 |
| 2200867 | Entity "controllers" are renamed to handlers unreviewed | 8.x | policy | 6 | 0 |
| 2119163 | Move Widget, Formatter, and FieldType plugin types to the Core\Field system unreviewed | 8.x | policy | 2 | 0 |
| 2113953 | Drupal 8.x-dev will now properly download Drupal 8 (alpha) translations unreviewed | 8.x | released | 1 | 0 |
| 2112417 | CommentManagerInterface for common functions to manage comment fields unreviewed | 8.x | released | 1 | 0 |
| 2111927 | Configurable and non-configurable field types can be defined as @FieldType plugins unreviewed | 8.x | policy | 1 | 0 |
| 2111871 | Translatability can now be configured on any field | 8.x | policy | 3 | 414 |
| 2109883 | Quick string overrides are now in $settings, not $conf unreviewed | 8.x | released | 1 | 0 |
| 2108305 | Entity Access allows to specify an admin permission unreviewed | 8.x | policy | 1 | 0 |
| 2107991 | Route access checker default mode is changed from ANY to ALL unreviewed | 8.x | policy | 1 | 0 |
| 2107951 | ConfigEntityInterface::setOriginalID() is now setOriginalId() and returns self unreviewed | 8.x | policy | 1 | 0 |
| 2102583 | LocalActions use YAML as the main discovery and handle routes with parameters unreviewed | 8.x | policy | 1 | 0 |
| 2104301 | Image type was decoupled from the image file extension unreviewed | 8.x | released | 3 | 0 |
| 2302063 | Limited PHP file execution in .htaccess (Apache webserver) unreviewed | 8.x | policy | 1 | 0 |
| 2103189 | Legacy node-copy based content translation module removed unreviewed | 8.x | released | 1 | 0 |
| 2102175 | field_behaviors_widget() is removed unreviewed | 8.x | policy | 1 | 0 |
| 2101719 | field_access() / hook_field_access() are replaced by the Entity access API unreviewed | 8.x | policy | 2 | 0 |
| 2100775 | New hooks for theme suggestions unreviewed | 8.x | released | 3 | 0 |
| 2101747 | \Drupal\Core\Entity\Field\Field, related subclasses and interfaces renamed to *FieldItemList unreviewed | 8.x | policy | 1 | 0 |
| 2100015 | Comment settings are now a field. Comments allowed on any entity type. unreviewed | 8.x | released | 2 | 0 |
| 2104695 | field_bundle_settings() has been removed. unreviewed | 8.x | released | 2 | 0 |
| 2098323 | The default breadcrumb builder is path-based and decoupled from menu links unreviewed | 8.x | policy | 1 | 0 |
| 2095227 | Introduce hook_entity_access() and hook_entity_create_access() unreviewed | 8.x | policy | 3 | 0 |
| 2095167 | Entity render output is now cached by default unreviewed | 8.x | released | 1 | 0 |
| 2094941 | Aggregator feed and category blocks now use block instance configuration to save the feed/category ID instead of derivatives. unreviewed | 8.x | policy | 1 | 0 |
| 2155247 | Modules can now inject attributes into fields formatters with the _attributes array unreviewed | 8.x | policy | 1 | 0 |
| 2094029 | Added history_read_multiple() unreviewed | 8.x | released | 1 | 0 |
| 2094027 | local task plugins work on by default on most paths with a dynamic value (like a node) unreviewed | 8.x | policy | 1 | 0 |
| 2224569 | Remove the concept of active / inactive (field types, storage) from Field API | 8.x | policy | 3 | 3 |
| 2193013 | Modules cannot be in a disabled state anymore, only installed and uninstalled unreviewed | 8.x | released | 1 | 0 |
| 2092261 | Configuration entities support the links annotation for much easier URI specification unreviewed | 8.x | released | 1 | 0 |
| 2175701 | Methods on \Drupal\Component\Utility\Random are no longer static, added optional validation of randomly generated strings. unreviewed | 8.x | policy | 1 | 0 |
| 2090637 | Remove CSS_SYSTEM aggregate file unreviewed | 8.x | released | 1 | 0 |
| 2090627 | Added FieldDefinitionInterface. Most code that in D7 interacted with $field and $instance arrays should instead interact with this unified interface. unreviewed | 8.x | policy | 2 | 0 |
| 2089731 | \Drupal\system\SystemConfigFormBase is now \Drupal\Core\Form\ConfigFormBase unreviewed | 8.x | released | 1 | 0 |
| 2089727 | "pattern" is now "path" in *.routing.yml files unreviewed | 8.x | released | 1 | 0 |
| 2089605 | Router item naming convention unreviewed | 8.x | released | 1 | 0 |
| 2089281 | ConfirmFormBase::getCancelPath() has been replaced with getCancelRoute() unreviewed | 8.x | policy | 2 | 0 |
| 2088811 | PHP Filter module removed from Drupal core unreviewed | 8.x | released | 1 | 0 |
| 2088589 | ConfigurablePluginInterface for plugins with settings | 8.x | policy | 2 | 36 |
| 2088515 | $langcode parameter removed in field_form_get_state() and field_form_set_state() unreviewed | 8.x | policy | 1 | 0 |
| 2088511 | Fields are no longer nested under $langcode in entity $form structures unreviewed | 8.x | policy | 1 | 0 |
| 2087433 | drupalPost() and drupalPostAJAX() have been renamed unreviewed | 8.x | policy | 1 | 0 |
| 2086077 | Added a request helper to clone into a request with a specified URI. unreviewed | 8.x | policy | 1 | 0 |
| 2087153 | Streamlining Plugin Annotation Class Loading | 8.x | policy | 1 | 514 |
| 2086767 | New History JS API — history markers no longer break the render cache unreviewed | 8.x | policy | 5 | 0 |
| 2084443 | Theme system ensures that _theme() returns a string or FALSE unreviewed | 8.x | policy | 1 | 0 |
| 2086185 | Block plugins for menus have been unified unreviewed | 8.x | policy | 1 | 0 |
| 2085445 | Generic solution available for entity editing overwrite avoidance | 8.x | released | 1 | 327 |
| 2084547 | Image file objects are classed unreviewed | 8.x | released | 10 | 0 |
| 2084307 | Remove 'Attach' button from file inputs unreviewed | 8.x | policy | 1 | 0 |
| 2084169 | System module's configured action entity is prefixed with system.action unreviewed | 8.x | policy | 1 | 0 |
| 2083591 | Legacy procedural functions removed from filter.module unreviewed | 8.x | policy | 1 | 0 |
| 2083471 | Search module interacts with search plugins instead of finding implementations via hook_search_info unreviewed | 8.x | policy | 6 | 0 |
| 2083321 | "Administer Users" permission are separate from "Administer Account Settings" unreviewed | 8.x | policy | 1 | 0 |
| 2082415 | Field / FieldItem value objects hold their own langcode unreviewed | 8.x | policy | 1 | 0 |
| 2082357 | Field.module constants related to storage moved to EntityStorageControllerInterface unreviewed | 8.x | policy | 1 | 0 |
| 2082661 | DRUPAL_CORE_COMPATIBILITY and VERSION constants have moved unreviewed | 8.x | policy | 1 | 0 |
| 2079767 | ForumManager added unreviewed | 8.x | released | 2 | 0 |
| 2080891 | Use Composer's ClassLoader to handle class loading unreviewed | 8.x | released | 1 | 0 |
| 2079207 | New EntityChangedInterface interface added for entities with change timestamps | 8.x | released | 1 | 327 |
| 2078997 | Add a method to the AccessManager that only needs a route name and parameters | 8.x | policy | 1 | 114 |
| 2078765 | Fields are no longer handled individually and are bound to an entity type unreviewed | 8.x | policy | 1 | 0 |
| 2079895 | Rename ControllerInterface to ContainerInjectionInterface unreviewed | 8.x | policy | 2 | 0 |
| 2060189 | ControllerBase class available for routing controllers to minimize boilerplate code | 8.x | policy | 3 | 2239 |
| 2078263 | Add a link generator service for route-based links | 8.x | policy | 2 | 91 |
| 2078169 | Aggregator plugins can now provide settings forms unreviewed | 8.x | policy | 1 | 0 |
| 2064857 | REST resources can define supported authentication providers unreviewed | 8.x | policy | 1 | 0 |
| 2085285 | local task plugins discovery changed to use YamlDiscovery instead of annotated class discovery unreviewed | 8.x | policy | 2 | 0 |
| 2076489 | Field types can define the UI for their "default values" unreviewed | 8.x | policy | 1 | 0 |
| 2076373 | Remove theme_more_help_link() and replace with a #type link render array unreviewed | 8.x | policy | 1 | 0 |
| 2076011 | Add a FormBase class containing useful methods to avoid boilerplate code unreviewed | 8.x | policy | 3 | 0 |
| 2075873 | AllowedValuesInterface replaces hook_options_list() unreviewed | 8.x | policy | 1 | 0 |
| 2089283 | DraggableListBuilder is available for entity types | 8.x | policy | 1 | 90 |
| 2073793 | bundle_of definition added to EntityType annotation to automatically generate Field UI manage operations to entity operations unreviewed | 8.x | policy | 1 | 0 |
| 2073215 | drupal_mail_system() now uses a factory service unreviewed | 8.x | policy | 3 | 0 |
| 2069199 | Entity classes have moved from Drupal\$provider\Plugin\Core\Entity to Drupal\$provider\Entity unreviewed | 8.x | policy | 1 | 0 |
| 2072699 | Image effects converted to plugins unreviewed | 8.x | released | 1 | 0 |
| 2072005 | PathBasedGeneratorInterface replaced and generateFromRoute() method added to core UrlGenerator, with shortcut Drupal::url() unreviewed | 8.x | policy | 2 | 0 |
| 2070985 | #autocomplete_path is replaced by #autocomplete_route_name and #autocomplete_route_parameters for autocomplete fields | 8.x | policy | 2 | 64 |
| 2070839 | field_get_default_value() is replaced by FieldDefinitionInterface::getDefaultValue unreviewed | 8.x | policy | 2 | 0 |
| 2368411 | New Variable component | 8.0.x | policy | 2 | 11 |
| 2070303 | Extending the default entity query backend unreviewed | 8.x | policy | 1 | 0 |
| 2068221 | drupal_get_private_key() and drupal_get_token()/drupal_valid_token() got replaced by 'private_key' and 'csrf_token' service unreviewed | 8.x | policy | 2 | 0 |
| 2095317 | The '_title_callback' from the route defaults should be used for dynamic page titles unreviewed | 8.x | policy | 2 | 0 |
| 2067859 | drupal_set_title() and drupal_get_title() were removed unreviewed | 8.x | policy | 5 | 0 |
| 2066763 | TypedDataInterface::getType() removed in favor of interfaces and more specific methods | 8.x | released | 1 | 1 |
| 2066209 | #theme_wrappers are now able to have a unique set of variables per wrapper hook | 8.x | policy | 1 | 172 |
| 2065313 | config() is deprecated and should be replaced by \Drupal::config() | 8.x | policy | 1 | 2758 |
| 2064123 | Field types are now plugins | 8.x | policy | 8 | 594 |
| 2062965 | Bootstrap hooks no longer exist | 8.x | policy | 1 | 0 |
| 2056839 | Entity view pages provided by the entity view controller unreviewed | 8.x | policy | 1 | 0 |
| 2061915 | Guzzle updated from version 3.1 to 3.7 unreviewed | 8.x | released | 1 | 0 |
| 2061877 | theme_link() has been removed | 8.x | policy | 1 | 481 |
| 2059971 | aggregator_feed_items_load() replaced with Aggregator storage controller methods unreviewed | 8.x | policy | 2 | 0 |
| 2055615 | field_get_items() is replaced by the Entity Translation API unreviewed | 8.x | policy | 2 | 0 |
| 2083979 | Elements added to the Request attributes should have a _ prepended unless they come from the path unreviewed | 8.x | policy | 1 | 0 |
| 2054619 | hook_field_CRUD_field() and hook_field_CRUD_field_instance() hooks are replaced by hook_entity_CRUD(). unreviewed | 8.x | policy | 1 | 0 |
| 2050669 | Flexible image style system unreviewed | 8.x | released | 2 | 0 |
| 2047751 | file_download() got replaced by the download method on the FileDownloadController unreviewed | 8.x | policy | 1 | 0 |
| 2238759 | hook_url_outbound_alter was replaced by OutboundPathProcessorInterface unreviewed | 8.x | policy | 2 | 0 |
| 2046643 | Drupal URL generation is now done using routing system's UrlGenerator instead of url() | 8.x | policy | 2 | 499 |
| 2047135 | Added support for the Twig {% trans %} tag extension unreviewed | 8.x | policy | 3 | 0 |
| 2049309 | user_access() replaced with a method on the user/accountInterface unreviewed | 8.x | policy | 5 | 0 |
| 2044515 | Local tasks are provided by plugins implementing LocalTaskInterface instead of type MENU_LOCAL_TASK in hook_menu() unreviewed | 8.x | policy | 6 | 0 |
| 2036237 | #type 'markup' removed | 8.x | policy | 1 | 549 |
| 2041015 | node_access_acquire_grants() removed and replaced with two methods unreviewed | 8.x | policy | 1 | 0 |
| 2034845 | API and UI changes for language negotiation settings. unreviewed | 8.x | released | 1 | 0 |
| 2317841 | Introduce AssetCollectionOptimizerInterface::getAll() and ::deleteAll(), deprecating drupal_clear_(css|js)_cache() | 8.0.x | policy | 3 | 13 |
| 2034675 | Pluggable CSS & JS preprocessing (aggregation/minification) | 8.x | policy | 1 | 16 |
| 2034127 | Core's default RDF mappings changed to use terms from Schema.org unreviewed | 8.x | policy | 1 | 0 |
| 2052023 | RenderWrapper class added to postpone rendering of variables until printed in the template unreviewed | 8.x | policy | 3 | 0 |
| 2038981 | The template process layer has been removed unreviewed | 8.x | policy | 3 | 0 |
| 2032405 | *-rtl.css files are eliminated in Drupal 8. Use [dir="rtl"] in stylesheets to target right-to-left language styling instead | 8.x | policy | 2 | 32 |
| 2032447 | global $user deprecated in favor of current_user service unreviewed | 8.x | policy | 4 | 0 |
| 2031999 | Modular authentication system unreviewed | 8.x | policy | 1 | 0 |
| 2032185 | Loading non-existent entity returns NULL unreviewed | 8.x | released | 1 | 0 |
| 2032175 | Single and multiple load methods for entities | 8.x | released | 2 | 2097 |
| 2040323 | An actual Entity Translation API is now available unreviewed | 8.x | policy | 6 | 0 |
| 2068529 | drupal_render() distinguishes between return values of "FALSE" and an empty string from _theme() unreviewed | 8.x | policy | 1 | 0 |
| 2031831 | Color module no longer requires themes to call _color_html_alter and _color_page_alter unreviewed | 8.x | policy | 1 | 0 |
| 2031267 | Languages are now stored in configuration, langcode property changed to id unreviewed | 8.x | released | 1 | 0 |
| 2030833 | theme_item_list() 'type' variable is now 'list_type' unreviewed | 8.x | policy | 1 | 0 |
| 2030821 | theme_mark() 'type' variable is now 'status' unreviewed | 8.x | policy | 1 | 0 |
| 2029519 | Node types are now configuration entities unreviewed | 8.x | released | 2 | 0 |
| 2028829 | Test entities provided by field_test.module removed unreviewed | 8.x | policy | 1 | 0 |
| 2027579 | The language of menus and menu links can now be configured from the user interface unreviewed | 8.x | policy | 3 | 0 |
| 2029089 | Default RDF mappings for entity types removed (RDF_DEFAULT_BUNDLE) unreviewed | 8.x | policy | 1 | 0 |
| 2029083 | hook_rdf_mapping removed unreviewed | 8.x | policy | 1 | 0 |
| 2029079 | $entity->rdf_mapping property removed unreviewed | 8.x | policy | 1 | 0 |
| 2028865 | Replaced rdf_mapping_save|load|delete with RdfMapping configurable unreviewed | 8.x | policy | 1 | 0 |
| 2027241 | Permissions are now saved in the Role configuration entity they have been granted for. | 8.x | policy | 1 | 548 |
| 2026029 | Allow custom form state to be passed to entity_get_form() unreviewed | 8.x | policy | 1 | 0 |
| 2026025 | Extensible breadcrumb system added | 8.x | policy | 4 | 56 |
| 2020821 | User Interface has methods related to roles | 8.x | policy | 1 | 1 |
| 2023905 | Zend_Feed library included for RSS/Atom parsing unreviewed | 8.x | policy | 1 | 0 |
| 2023537 | drupal_goto() has been removed unreviewed | 8.x | policy | 2 | 0 |
| 2014073 | Extension name length restricted to 50 characters unreviewed | 8.x | policy | 3 | 0 |
| 2031221 | Entity field default values can be specified at the API level unreviewed | 8.x | policy | 3 | 0 |
| 2047939 | File formatters need to manually check the 'display' property of each item | 8.x | policy | 1 | 52 |
| 2060489 | Field prefix in Field UI is configurable unreviewed | 8.x | policy | 1 | 0 |
| 2022859 | Simplified names of "element-x" helper classes unreviewed | 8.x | released | 1 | 0 |
| 2021435 | Removed st() and get_t(), just use t() in place, simple! unreviewed | 8.x | released | 1 | 0 |
| 2021853 | field_has_data has been moved to Field::hasData unreviewed | 8.x | policy | 1 | 0 |
| 2020549 | Actions are now plugins, configured actions are configuration entities unreviewed | 8.x | policy | 1 | 0 |
| 2020491 | Entities should define URI templates unreviewed | 8.x | policy | 1 | 0 |
| 2212099 | drupal_implode_tags() and drupal_explode_tags() replaced with Drupal\Component\Utility\Tags class unreviewed | 8.x | policy | 2 | 0 |
| 2019739 | Remove theme_html_tag() from the theme system unreviewed | 8.x | policy | 1 | 0 |
| 2019879 | Custom JavaScript Ajax commands moved from Drupal.ajax.prototype.commands to Drupal.AjaxCommands.prototype unreviewed | 8.x | policy | 1 | 0 |
| 2198231 | Entity list operations can now be declared and altered by any module unreviewed | 8.x | policy | 2 | 0 |
| 2019575 | Entity list operations can now be altered unreviewed | 8.x | released | 1 | 0 |
| 2019329 | country_get_list() has been converted to a swappable service | 8.x | policy | 1 | 40 |
| 2018597 | Allow attributes to be set on all entities via one hook (hook_entity_view_alter()) unreviewed | 8.x | policy | 1 | 0 |
| 2017627 | field_ui_field_type_options(), field_ui_widget_type_options() and field_ui_formatter_options() have been renamed unreviewed | 8.x | released | 2 | 0 |
| 2017231 | Added AccountInterface as common interface for the global $user object and user entities unreviewed | 8.x | policy | 8 | 0 |
| 2017339 | drupal_exit() has been removed unreviewed | 8.x | policy | 1 | 0 |
| 2016305 | Architect CSS: Rename files to match CSS file naming convention unreviewed | 8.x | policy | 1 | 0 |
| 2019333 | _locale_get_predefined_list() is now part of the language manager | 8.x | policy | 1 | 16 |
| 2079611 | Alternative way of string translation for injected classes unreviewed | 8.x | policy | 3 | 0 |
| 2016569 | String translation is now a service | 8.x | policy | 1 | 672 |
| 2015901 | Filters are now annotated plugins instead of an info hook and callbacks | 8.x | policy | 2 | 230 |
| 2100165 | hook_views_plugins_alter() replaced by plugin type-specific hook_views_plugins_PLUGIN_TYPE_alter() unreviewed | 8.x | policy | 2 | 0 |
| 2012100 | Controller derivation moved from RouteSubscriber to RouteEnhancers unreviewed | 8.x | policy | 1 | 0 |
| 2013431 | The {file_usage}.id column has moved to varchar. unreviewed | 8.x | released | 1 | 0 |
| 2012896 | Field and field instance are now configuration entities unreviewed | 8.x | policy | 5 | 0 |
| 2013014 | hook_init() removed | 8.x | policy | 1 | 13 |
| 2020005 | hook_menu_site_status_alter() has been removed unreviewed | 8.x | policy | 2 | 0 |
| 2012500 | Cache backends are responsible for their bins unreviewed | 8.x | policy | 1 | 0 |
| 2012118 | Plugins can receive injected dependencies from the container | 8.x | policy | 1 | 2449 |
| 2012166 | Field Widget settings now stored independently to instance, new EntityFormDisplay config object unreviewed | 8.x | policy | 1 | 0 |
| 2012144 | View Modes are stored in the config system unreviewed | 8.x | policy | 1 | 0 |
| 2011418 | LANGUAGE_* constants are moved to the Language class unreviewed | 8.x | released | 1 | 0 |
| 2011412 | Zebra striping variables removed from templates unreviewed | 8.x | released | 1 | 0 |
| 2004750 | Node properties are made multilingual unreviewed | 8.x | released | 2 | 0 |
| 2007444 | Local action links now provided by plugins using YAML discovery and implementing LocalActionInterface unreviewed | 8.x | policy | 3 | 0 |
| 2204131 | #collapsed property of #type details has been renamed to #open (and negated) | 8.x | policy | 1 | 1534 |
| 2239919 | filter_xss() and filter_xss_admin() moved to a new Xss component | 8.x | policy | 3 | 458 |
| 2079005 | URL related functions got moved to a new UrlHelper component unreviewed | 8.x | policy | 5 | 0 |
| 2067565 | Entity Controllers can get dependencies injected via a createInstance method unreviewed | 8.x | policy | 1 | 0 |
| 1997186 | Role entities are managed with RoleListController and RoleFormController unreviewed | 8.x | policy | 1 | 0 |
| 2954953 | To access REST export views, one now MUST specify a ?_format=… query string unreviewed | 8.5.x | released | 4 | 0 |
| 2912757 | Usage of drupal_render_children() in PHP code replaced by {{ children }} in twig template unreviewed | 8.0.x | released | 4 | 0 |
| 1994482 | domready ships with core, drupal.js doesn't depend on jQuery unreviewed | 8.x | policy | 1 | 0 |
| 1992584 | New Unicode component unreviewed | 8.x | policy | 22 | 0 |
| 2003680 | Formatter summaries return arrays instead of strings unreviewed | 8.x | policy | 1 | 0 |
| 1987618 | theme_options_none() is replaced by hook_options_list_alter() | 8.x | released | 1 | 8 |
| 1986784 | Taxonomy admin path converted to follow core entity patterns unreviewed | 8.x | policy | 1 | 0 |
| 1984806 | Cryptographic functions moved to a Crypt component unreviewed | 8.x | policy | 1 | 0 |
| 1984590 | Book administration has been moved to admin/structure unreviewed | 8.x | released | 1 | 0 |
| 2484461 | More core plugin types now use specific annotations instead of @Plugin | 8.0.x | released | 13 | 1293 |
| 1982078 | Route access control for entities can use _entity_access unreviewed | 8.x | policy | 3 | 0 |
| 1983438 | $is_https global removed unreviewed | 8.x | policy | 1 | 0 |
| 1986552 | Field UI form_id (and URL) changes unreviewed | 8.x | policy | 2 | 0 |
| 1982084 | Field UI integration for entity types are no longer per-bundle, only per-entity type unreviewed | 8.x | policy | 2 | 0 |
| 1982062 | Each entity type should provide a specific interface extending EntityInterface unreviewed | 8.x | policy | 1 | 0 |
| 1980980 | Add new PHP constants for CSS weights and rename PHP constants for CSS aggregates unreviewed | 8.x | policy | 1 | 0 |
| 3349638 | New config schema data type: required_label | 10.2.x | released | 4 | 0 |
| 1977368 | Configuration translations are now created based on community translations unreviewed | 8.x | released | 1 | 0 |
| 2090719 | Removed _text_sanitize() and safe_value/safe_summary in favor of processed/summary_processed unreviewed | 8.x | released | 2 | 0 |
| 1973488 | The token API is a service | 8.x | policy | 1 | 3 |
| 2011434 | Per-region block markup and per-region block templating feature removed unreviewed | 8.x | released | 1 | 0 |
| 1971002 | Added support for testing the non-interactive installer unreviewed | 8.x | policy | 1 | 0 |
| 2003376 | Archiver classes are plugins unreviewed | 8.x | released | 1 | 0 |
| 1968224 | 'Hidden' field widget is added to Drupal 8 (then removed again in favour of form display configuration) unreviewed | 8.x | released | 2 | 0 |
| 1968052 | $options argument for xmlrpc() changed to a headers array unreviewed | 8.x | policy | 1 | 0 |
| 1967614 | template.php files in themes are renamed to THEMENAME.theme unreviewed | 8.x | released | 1 | 0 |
| 2302363 | FormattableMarkup and HTML utility components replace check_plain(), format_string(), drupal_placeholder() (and SafeMarkup) | 8.0.x | released | 5 | 835 |
| 1312890 | New format_string()/SafeMarkup::format() can be used to apply t()-like replacements unreviewed | 8.x, 7.x | released | 2 | 0 |
| 2274223 | Use ESLint to validate all Drupal JavaScript unreviewed | 8.x | released | 5 | 0 |
| 3068104 | Ajax render element deprecated | 10.1.x | released | 2 | 4 |
| 1965388 | Configuration entities save in site default language by default unreviewed | 8.x | released | 1 | 0 |
| 1964766 | Bundle CRUD API moved from Field to Entity API unreviewed | 8.x | policy | 2 | 0 |
| 1969794 | ip_address() removed unreviewed | 8.x | policy | 2 | 0 |
| 1961370 | Condition Plugin System | 8.x | policy | 1 | 111 |
| 1969828 | timer_* functions removed in favor of new Timer component | 8.x | policy | 2 | 31 |
| 1957310 | Aggregator processors and parsers are now plugins unreviewed | 8.x | policy | 2 | 0 |
| 1957078 | file_transfer() removed in favor of BinaryFileResponse unreviewed | 8.x | policy | 1 | 0 |
| 1959668 | Language support added to node access grants and records unreviewed | 8.x | released | 1 | 0 |
| 1952798 | Updated to jQuery UI 1.10.2 unreviewed | 8.x | released | 2 | 0 |
| 1993056 | Image toolkits are plugins unreviewed | 8.x | released | 2 | 0 |
| 1945416 | Removed confirm_form() in favor of \Drupal\Core\Form\ConfirmFormBase | 8.x | policy | 6 | 483 |
| 1989646 | Ajax commands for opening and closing Dialogs and generic Dialog Controller added to core | 8.x | policy | 2 | 9 |
| 3357432 | Possibility to use non-default schema for PostgreSQL | 10.1.x | released | 2 | 0 |
| 1945476 | DRUPAL_ROOT definition not required when bootstrapping Drupal unreviewed | 8.x | policy | 1 | 0 |
| 2195987 | drupal_anonymous_user() has been replaced by the AnonymousUserSession class | 8.x | policy | 2 | 0 |
| 1941676 | drupal_anonymous_user() returns an object of type User unreviewed | 8.x | policy | 1 | 0 |
| 1928882 | New entity field access control and hooks unreviewed | 8.x | policy | 2 | 0 |
| 1939862 | Form API Ajax now handled by D8 Ajax API unreviewed | 8.x | policy | 1 | 0 |
| 1935744 | Added EntityStorageControllerInterface::loadUnchanged() to load unchanged entities | 8.x | policy | 1 | 0 |
| 2084727 | Core listings converted to views unreviewed | 8.x | policy | 16 | 0 |
| 2012184 | Test framework PHPUnit has been added unreviewed | 8.x | policy | 2 | 0 |
| 1935708 | .info files are now .info.yml files | 8.x | policy | 4 | 9359 |
| 1919400 | translateable schema and query tag removed unreviewed | 8.x | policy | 1 | 0 |
| 2302069 | Menu links converted to plugins, including static, views, and content entity implementations unreviewed | 8.x | policy | 9 | 0 |
| 1921162 | Highly contextual help texts with Tour module unreviewed | 8.x | policy | 1 | 0 |
| 1918702 | Entity Query support for aggregated queries unreviewed | 8.x | policy | 3 | 0 |
| 2014545 | New accessibility feature: Drupal.tabbingManager unreviewed | 8.x | policy | 2 | 0 |
| 2014521 | New accessibility feature: Drupal.announce() unreviewed | 8.x | policy | 1 | 0 |
| 1920826 | Password security indicator can now be disabled unreviewed | 8.x | released | 1 | 0 |
| 1918778 | A drivers directory has been added unreviewed | 8.x | policy | 2 | 0 |
| 1918090 | Aggregator feeds and items got language support unreviewed | 8.x | released | 1 | 0 |
| 1916780 | Now translation status and authoring information are available as additional translation metadata unreviewed | 8.x | policy | 2 | 0 |
| 1932058 | FormInterface replaces form constructor, validation, and submission callbacks | 8.x | policy | 1 | 96 |
| 1910694 | system_settings_form() is replaced by \Drupal\Core\Form\ConfigFormBase | 8.x | policy | 6 | 3376 |
| 1938688 | Core and component plugins can be context-aware | 8.x | policy | 7 | 15 |
| 1910136 | drupal_get_callback_form() was introduced to build a form using a callback unreviewed | 8.x | policy | 1 | 0 |
| 1910176 | Text formats are now configurables unreviewed | 8.x | policy | 1 | 0 |
| 1911186 | hook_exit() has been removed unreviewed | 8.x | policy | 2 | 0 |
| 1926376 | Allow configuration entities to have statuses unreviewed | 8.x | policy | 1 | 0 |
| 1909596 | hook_boot() has been removed unreviewed | 8.x | policy | 1 | 0 |
| 1907724 | field_attach_submit() renamed to field_attach_extract_form_values() unreviewed | 8.x | policy | 1 | 0 |
| 1907430 | User roles are now configurables unreviewed | 8.x | policy | 1 | 0 |
| 1911596 | hook_language_init() has been removed unreviewed | 8.x | policy | 1 | 0 |
| 1905910 | Aggregator feeds and feed items have been converted to entities unreviewed | 8.x | policy | 2 | 0 |
| 2015617 | Entity validation based on symfony validator unreviewed | 8.x | policy | 3 | 0 |
| 1853388 | 'dialog' key added to (and then removed from) #ajax settings unreviewed | 8.x | policy | 3 | 0 |
| 1852224 | Dialog API for JavaScript unreviewed | 8.x | policy | 2 | 0 |
| 1905120 | New configuration metadata/schema system added unreviewed | 8.x | released | 3 | 0 |
| 1903128 | CUD permissions added to the translation_entity module unreviewed | 8.x | policy | 1 | 0 |
| 1903124 | Entity types now have a generic way to deal with permission granularity unreviewed | 8.x | policy | 1 | 0 |
| 1902034 | Entity Query support for config entities | 8.x | policy | 2 | 658 |
| 1900384 | Accesslog removed from the Statistics module unreviewed | 8.0.x | released | 2 | 0 |
| 1901550 | hook_hook_info_alter() removed unreviewed | 8.x | policy | 1 | 0 |
| 1895936 | Shortcut sets are now configuration entities unreviewed | 8.x | policy | 2 | 0 |
| 1901332 | Bundles and view modes have their own hook and config file unreviewed | 8.x | policy | 1 | 0 |
| 1891514 | hook_entity_create() is invoked after creating a new entity object unreviewed | 8.x | policy | 1 | 0 |
| 2090931 | drupal_parse_dependency() is now \Drupal\Core\Extension\ModuleHandler::parseDependency() unreviewed | 8.x | released | 2 | 0 |
| 1894902 | Module/hook system functions replaced with module_handler and module_installer service | 8.x | policy | 8 | 2038 |
| 1896862 | user_autocomplete() optionally finds the "Anonymous" name unreviewed | 8.x | policy | 1 | 0 |
| 1911578 | Adding JS settings is now idempotent (JS settings merging behavior modified) unreviewed | 8.x | policy | 5 | 0 |
| 1941642 | Standard install profile: text formats changed & CKEditor enabled unreviewed | 8.x | policy | 4 | 0 |
| 1911646 | CKEditor module added: WYSIWYG in core! | 8.x | policy | 6 | 27 |
| 1911614 | Text Editor module added: pluggable text/WYSIWYG editors unreviewed | 8.x | policy | 1 | 0 |
| 1888646 | Support for data tables in the default entity storage controller unreviewed | 8.x | policy | 2 | 0 |
| 1888504 | Menus are now configuration entities unreviewed | 8.x | policy | 3 | 0 |
| 1886974 | Added abstract ReadOnlyStream and LocalReadOnlyStream classes for use by read-only stream wrappers. | 8.x | policy | 1 | 11 |
| 1878416 | Added a PluginBag to allow instances of plugins to be lazily instantiated unreviewed | 8.x | policy | 1 | 0 |
| 1886178 | Theme functions for INPUT form elements have been consolidated unreviewed | 8.x | policy | 1 | 0 |
| 1886118 | Container of #type vertical_tabs supports a #title now unreviewed | 8.x | policy | 1 | 0 |
| 1887290 | Use \Drupal\Component\Utility\NestedArray::mergeDeep() instead of array_merge_recursive() | 8.x | policy | 1 | 354 |
| 1882698 | New Settings API added for low level and environment specific configuration, $conf renamed to $config unreviewed | 8.x | policy | 2 | 0 |
| 1882428 | $entity_type argument removed from Field API functions and hooks dealing with a single $entity unreviewed | 8.x | policy | 1 | 0 |
| 2152107 | Per-user block visibility customization functionality removed unreviewed | 8.x | policy | 1 | 0 |
| 1933768 | Custom blocks are now content entities, in separate module unreviewed | 8.x | released | 2 | 0 |
| 1880620 | Blocks are now plugins | 8.x | released | 8 | 899 |
| 1878536 | Unified classes and styles for UI buttons unreviewed | 8.x | policy | 2 | 0 |
| 1907792 | Entity & field rendering hooks receive an additional EntityViewDisplay parameter unreviewed | 8.x | policy | 3 | 0 |
| 1875952 | Introduced EntityViewDisplay config entities unreviewed | 8.x | policy | 2 | 0 |
| 1876710 | New render element #type 'table' | 8.x | policy | 3 | 36 |
| 1876514 | file_stream_wrapper_valid_scheme now works with FALSE unreviewed | 8.x | policy | 1 | 0 |
| 1876600 | New stylesheets-override and stylesheets-remove theme .info.yml file properties unreviewed | 8.x | policy | 3 | 0 |
| 1876152 | Modules can no longer add stylesheets/scripts via their .info.yml file | 8.x | policy | 2 | 534 |
| 1987978 | One page overview settings added for content/field translation settings unreviewed | 8.x | released | 2 | 0 |
| 1873210 | Vocabularies are now configuration entities | 8.x | policy | 1 | 97 |
| 1805846 | Field formatters are now plugins unreviewed | 8.x | policy | 6 | 0 |
| 1872284 | In-place editing for Fields unreviewed | 8.x | policy | 1 | 0 |
| 1825844 | More Field API functions are allowed to act on a single field within an entity unreviewed | 7.x, 8.x | released | 2 | 0 |
| 1870678 | All procedural drupal_array_*() functions are now static methods in Drupal\Component\Utility\NestedArray unreviewed | 8.x | policy | 1 | 0 |
| 1403768 | Added method Drupal\Component\Utility\NestedArray::unsetValue() unreviewed | 8.x | policy | 2 | 0 |
| 2023711 | Contact messages are now fieldable entities unreviewed | 8.x | policy | 3 | 0 |
| 1863874 | {authmap} deprecation unreviewed | 8.x | released | 1 | 0 |
| 1862420 | Entity access API for a single entity unreviewed | 8.x | policy | 7 | 0 |
| 1819308 | Entities are now rendered by a view builder unreviewed | 8.x | policy | 3 | 0 |
| 1901518 | #autocomplete_path now passes the search string as a GET argument instead of appending to the URL unreviewed | 8.x | policy | 2 | 0 |
| 1848180 | _field_ui_bundle_admin_path() has been renamed to field_ui_bundle_admin_path() unreviewed | 8.x | policy | 1 | 0 |
| 1862446 | Guzzle HTTP client library added to replace drupal_http_request() unreviewed | 8.x | policy | 4 | 0 |
| 1876852 | Date formats API changes unreviewed | 8.x | policy | 4 | 0 |
| 1852968 | Added Modernizr to provide client-side feature detection unreviewed | 8.x | policy | 1 | 0 |
| 1852360 | users.data column replaced with user_data API unreviewed | 8.x | policy | 2 | 0 |
| 1891074 | '#group' Form API property works on details, fieldset and container and can be used on any custom element by module developers. | 8.x | policy | 2 | 362 |
| 1852020 | All collapsible fieldsets have been replaced with HTML5 details elements | 8.x | policy | 2 | 2313 |
| 1851490 | Route access control may be stacked | 8.x | policy | 3 | 13 |
| 1851200 | User picture have been converted to image field unreviewed | 8.x | policy | 1 | 0 |
| 1850524 | Site specific customizations of user password hashing unreviewed | 8.x | policy | 1 | 0 |
| 2034535 | DefaultPluginManager class added to simplify plugin managers | 8.x | policy | 4 | 874 |
| 1848332 | Flood storage functions are pluggable unreviewed | 8.x | policy | 2 | 0 |
| 1848288 | New Form API submit button property and CSS classes to denote the primary button in a form unreviewed | 8.x | policy | 1 | 0 |
| 1848268 | New Diff library in core unreviewed | 8.x | policy | 4 | 0 |
| 1847056 | Toolbar module responsive layout update and API to add control structures unreviewed | 8.x | policy | 1 | 0 |
| 1853148 | Path alias management is now pluggable unreviewed | 8.x | policy | 5 | 0 |
| 1845806 | "History" (last viewed / new markers) functionality has been moved into a separate History module unreviewed | 8.x | policy | 2 | 0 |
| 1844972 | system_block_ip_action() has been removed from core unreviewed | 8.x | policy | 1 | 0 |
| 1922666 | Twig configuration settings and debug output unreviewed | 8.x | released | 3 | 0 |
| 1843212 | Ajax API revised to be more self-evident unreviewed | 8.x | policy | 2 | 0 |
| 1842756 | theme_item_list()'s $items variable are either strings or render arrays now unreviewed | 8.x | policy | 1 | 0 |
| 1842748 | Transliteration class added unreviewed | 8.x | released | 4 | 0 |
| 1838470 | Modules/themes can alter the default, hook-independent theme template variables now unreviewed | 8.x | policy | 1 | 0 |
| 1975444 | New RESTful web services module unreviewed | 8.x | policy | 1 | 0 |
| 1879024 | user_module_invoke() has been removed from core | 8.x | policy | 1 | 22 |
| 2276461 | IntlDateFormatter support removed from core unreviewed | 8.x | released | 2 | 0 |
| 1834108 | New Datetime API | 8.x | policy | 2 | 1 |
| 2028009 | Entity translation module added to core (named content_translation) unreviewed | 8.x | released | 4 | 0 |
| 3029053 | theme_render_template changed to twig_render_template unreviewed | 8.0.x | released | 1 | 0 |
| 1830116 | Normalize.css library was added to core (reset.css replacement) unreviewed | 8.x | policy | 2 | 0 |
| 1829160 | New KernelTestBase for API-level integration tests unreviewed | 8.x | policy | 12 | 0 |
| 1827278 | EntityFieldQuery has been rewritten unreviewed | 8.x | policy | 3 | 0 |
| 1929006 | entity_get_info() deprecated. Use \Drupal::entityTypeManager()->getDefinitions() unreviewed | 8.x | policy | 3 | 0 |
| 1827470 | Entity types are annotated plugins unreviewed | 8.x | policy | 3 | 0 |
| 1826444 | Comment templates now provide an accessible link to the parent comment unreviewed | 8.x | policy | 1 | 0 |
| 1825832 | Polyfill for matchMedia added to Drupal 8 unreviewed | 8.x | policy | 1 | 0 |
| 1845756 | New Footer menu as part of default menus unreviewed | 8.x | policy | 2 | 0 |
| 1819788 | theme_pager_* functions have been removed unreviewed | 8.x | policy | 2 | 0 |
| 1818376 | Support for saving and deleting revisions in the default storage controller and entity classes unreviewed | 8.x | policy | 2 | 0 |
| 1816456 | New language configuration form element unreviewed | 8.x | released | 1 | 0 |
| 1817474 | Filters should now define their filter type; check_markup() can optionally skip filters of a certain type unreviewed | 8.x | policy | 4 | 0 |
| 1816204 | theme_item_list() supports custom list types for child elements unreviewed | 8.x | policy | 1 | 0 |
| 1827234 | drupal_set_message() only prints each message once by default | 8.x | policy | 1 | 416 |
| 1837872 | New Serializer service | 8.x | policy | 2 | 459 |
| 1813914 | Breakpoint added to Drupal 8 unreviewed | 8.x | policy | 1 | 0 |
| 1814186 | $form_state['clicked_button'] removed in favor of $form_state['triggering_element'] unreviewed | 8.x | policy | 1 | 0 |
| 1813642 | The {system} table has been removed unreviewed | 8.x | policy | 2 | 0 |
| 1813372 | [REVERTED] Themes and modules can now define individual layouts unreviewed | 8.x | released | 2 | 0 |
| 2053901 | Backbone.js and Underscore.js are bundled into Drupal 8 unreviewed | 8.x | policy | 1 | 0 |
| 1812240 | File usage is pluggable unreviewed | 8.x | policy | 2 | 0 |
| 1808518 | "Default language" negotiation option swapped for "Selected language", provides more flexibility unreviewed | 8.x | released | 1 | 0 |
| 1803766 | Core ships with a .gitattributes file to improve git patches unreviewed | 8.x | policy | 1 | 0 |
| 1805952 | Template files are now located in a templates subdirectory unreviewed | 8.x | policy | 1 | 0 |
| 1805940 | TempStore API added for persistent, expirable storage of non-cache data unreviewed | 8.x | policy | 2 | 0 |
| 1802786 | node_type_get_name() renamed to node_type_get_label(), _node_extract_type() renamed to node_type_get_base() unreviewed | 8.x | policy | 1 | 0 |
| 1804896 | New dropbutton widget for operations unreviewed | 8.x | policy | 4 | 0 |
| 1800686 | All functionality of hook_menu() is replaced by new systems for routing, menu links, local tasks, actions and contextual links unreviewed | 8.x | policy | 15 | 0 |
| 1799642 | Entity listing pages can be provided by a list controller unreviewed | 8.x | policy | 8 | 0 |
| 1966536 | Update to jQuery 2.0 unreviewed | 8.x | policy | 3 | 0 |
| 2856563 | \Drupal\Core\Field\FieldStorageDefinitionInterface::setQueryable() has been deprecated in favor of FieldStorageDefinitionInterface::setCustomStorage() | 8.4.x | released | 2 | 29 |
| 1806650 | New Entity Field API based upon the Typed Data API unreviewed | 8.x | policy | 24 | 0 |
| 1796000 | Field widgets are now plugins unreviewed | 8.x | policy | 5 | 0 |
| 1796238 | Responsive table classes for modules and themes unreviewed | 8.x | policy | 1 | 0 |
| 2073933 | image_style_options() no longer returns sanitized output, and the $output parameter for controlling sanitization has been removed | 8.x | policy | 1 | 138 |
| 2058503 | Human-readable labels have been added to image styles unreviewed | 7.x | released | 1 | 0 |
| 1796904 | Actions functionality moved into new Action module unreviewed | 8.x | policy | 1 | 0 |
| 1795832 | Removed theme functions unreviewed | 8.x | policy | 4 | 0 |
| 2183531 | The variable_get/set/del API is now removed unreviewed | 8.x | released | 3 | 0 |
| 1790518 | Storage (API) for persistent non-configuration state unreviewed | 8.x | released | 1 | 0 |
| 1793334 | JavaScript settings moved from Drupal.settings to global drupalSettings variable unreviewed | 8.x | policy | 2 | 0 |
| 2089741 | Reference native PHP/global classes with a preceding "\", rather than "use"ing them unreviewed | 8.x | released | 2 | 0 |
| 2164623 | Modules (or Drupal 7 module-equivalent features) added to core in Drupal 8 unreviewed | 8.x | released | 13 | 0 |
| 1794068 | IP address blocking functionality moved into Ban module unreviewed | 8.x | policy | 1 | 0 |
| 1792924 | Multi-site functionality is now opt-in unreviewed | 8.x | policy | 1 | 0 |
| 1790138 | Added support for multilingual properties to EntityFieldQuery unreviewed | 8.x | policy | 1 | 0 |
| 1820974 | Image style $style array is now an ImageStyle object (extends ConfigEntity) unreviewed | 8.x | policy | 4 | 0 |
| 1783398 | drupal_mail(), hook_mail() and hook_mail_alter() now take langcode instead of language objects unreviewed | 8.x | released | 1 | 0 |
| 1783392 | user_preferred_language() changed to method on the AccountInterface and changed to return the language code unreviewed | 8.x | policy | 2 | 0 |
| 1780854 | "Modules" navigation item renamed to "Extend" unreviewed | 8.x | policy | 1 | 0 |
| 1352228 | Interface translation files are now loaded from one directory unreviewed | 8.x | policy | 1 | 0 |
| 1770168 | Managed File and File Usage API moved to file.module unreviewed | 8.x | policy | 1 | 0 |
| 1838750 | taxonomy_admin_vocabulary_title_callback() has been removed and replaced by entity_page_label() unreviewed | 8.x | policy | 1 | 0 |
| 1796546 | New field types added to core: E-mail, Link/URL, Phone number, Date/Time and Entity Reference unreviewed | 8.x | policy | 5 | 0 |
| 1776752 | Made translations permissions more granular (translate all and translate own) unreviewed | 8.x | released | 1 | 0 |
| 1776734 | When installing Drupal with a foreign language, English is not added anymore unreviewed | 8.x | released | 1 | 0 |
| 1766160 | Extensions (modules/themes/profiles) can be placed into top-level directories instead of sites/all/* now unreviewed | 8.x | policy | 1 | 0 |
| 1766152 | CACHE_PERMANENT constant moved to CacheBackendInterface unreviewed | 8.x | policy | 1 | 0 |
| 1776768 | User's can now have an administration specific language preference unreviewed | 8.x | released | 1 | 0 |
| 1764252 | Generalize the use of library declaration for core JavaScript unreviewed | 8.x | policy | 3 | 0 |
| 1818734 | Configuration entities (configurables) | 8.x | policy | 13 | 708 |
| 1776718 | Entity titles unified under $label name in templates unreviewed | 8.x | released | 1 | 0 |
| 1776688 | token_replace(), hook_tokens(), hook_tokens_alter(), user_mail_tokens() now take langcode unreviewed | 8.x | released | 1 | 0 |
| 1757426 | Added language variable to search preprocess hooks to support multi-language stemming unreviewed | 8.x | policy | 1 | 0 |
| 1776678 | When creating new languages, always instantiate Language unreviewed | 8.x | released | 1 | 0 |
| 1747970 | It is possible to write PHP files unreviewed | 8.x | released | 1 | 0 |
| 1749954 | New language_select element in the Form API unreviewed | 8.x | policy | 1 | 0 |
| 1928922 | New configuration override and context system unreviewed | 8.x | released | 4 | 0 |
| 1500260 | Added a file-based configuration system unreviewed | 8.x | policy | 3 | 0 |
| 1744214 | The parameters for node_add() have changed unreviewed | 8.x | policy | 1 | 0 |
| 1744046 | Replaced $conditions argument on entity_load_multiple() with entity_load_multiple_by_properties() unreviewed | 8.x | policy | 1 | 0 |
| 1744812 | Arguments for hook_file_download_access() and hook_file_download_access_alter() unreviewed | 8.x | policy | 1 | 0 |
| 1739820 | Usage of $term->name replaced by $term->label() unreviewed | 8.x | released | 1 | 0 |
| 1816980 | Simplify JavaScript theme function declaration unreviewed | 8.x | policy | 1 | 0 |
| 1737832 | Core search now supports entity language variance unreviewed | 8.x | released | 2 | 0 |
| 1734556 | Entity forms are now managed by form controllers unreviewed | 8.x | policy | 8 | 0 |
| 1734540 | Form API now allows for object methods as callbacks unreviewed | 8.x | policy | 4 | 0 |
| 1724216 | Core install profiles moved into /core/profiles; custom profiles supported in /sites/all/profiles and /profiles unreviewed | 8.x | policy | 1 | 0 |
| 1724986 | entity_extract_ids() removed, EntityInterface methods can now be used instead unreviewed | 8.x | released | 1 | 0 |
| 1721500 | Removed entity_create_stub_entity() and concept of stub entities unreviewed | 8.x | policy | 1 | 0 |
| 1721608 | update_variable_set(), update_variable_get() and update_variable_del() functions added unreviewed | 8.x | policy | 1 | 0 |
| 1721572 | UUID support added for all core entities | 8.x | policy | 2 | 417 |
| 1727592 | Attributes and classes arrays have been combined together into Attribute object | 8.x | released | 2 | 2 |
| 1710766 | New simpletest class property $modules to enable modules in tests instead of WebTestBase::setUp($modules) unreviewed | 8.x | policy | 2 | 0 |
| 1703490 | Gettext PO handling refactored, OOP-ified and PSR-4-compliant unreviewed | 8.x | policy | 2 | 0 |
| 1937056 | Page "delivery" system removed unreviewed | 8.x | released | 1 | 0 |
| 1697182 | Usage of $node->title replaced by $node->label() unreviewed | 8.x | policy | 1 | 0 |
| 1691614 | List module merged with Options module unreviewed | 8.x | policy | 2 | 0 |
| 1704454 | Hooks exposing plugins have been replaced with true plugins unreviewed | 8.x | policy | 4 | 0 |
| 1675008 | Renamed drupal_uninstall_modules() to module_uninstall() unreviewed | 8.x | policy | 1 | 0 |
| 1691906 | The parameters for module_list() have changed unreviewed | 8.x | policy | 1 | 0 |
| 1668806 | Site information variables converted to config system unreviewed | 8.x | policy | 1 | 0 |
| 1667616 | Runtime node access system gains language support unreviewed | 8.x | released | 1 | 0 |
| 1665684 | drupal_json_output is removed in favor of Symfony\Component\HttpFoundation\JsonResponse unreviewed | 8.x | policy | 1 | 0 |
| 1764330 | Use Composer to handle Drupal Core PHP dependencies unreviewed | 8.x | policy | 1 | 0 |
| 1722906 | Added multilingual support to the standard entity schema unreviewed | 8.x | policy | 9 | 0 |
| 1658998 | Updated to jQuery UI 1.10.2 unreviewed | 8.x | policy | 2 | 0 |
| 1642370 | Removed the ability to use a custom entity load hook callback unreviewed | 8.x | policy | 1 | 0 |
| 1649382 | More flexible settings for node type specific language defaults unreviewed | 8.x | released | 1 | 0 |
| 1831138 | Completely new theme/template system: Twig | 8.x | released | 6 | 2710 |
| 1647438 | Locked languages added, three new special languages exposed for language setup unreviewed | 8.x | released | 1 | 0 |
| 1637540 | $type parameter removed from entity CRUD hooks unreviewed | 8.x | policy | 1 | 0 |
| 1647466 | Much improved interface translation interface in locale module unreviewed | 8.x | released | 1 | 0 |
| 1632592 | Contrib XML-RPC module for XML-RPC functionality unreviewed | 8.x | policy | 3 | 0 |
| 1647388 | language_list() and language_default() return Language objects unreviewed | 8.x | policy | 2 | 0 |
| 1628046 | drupal_site_offline() has been removed unreviewed | 8.x | policy | 1 | 0 |
| 1619504 | Role IDs are now machine readable strings | 8.x | policy | 2 | 402 |
| 1642962 | Remove entity_label() in favor of EntityInterface::label() unreviewed | 8.x | policy | 2 | 0 |
| 1635626 | Core request handling system ported to Symfony2 framework unreviewed | 8.x | policy | 4 | 0 |
| 1616360 | MENU_NOT_FOUND/drupal_not_found() and MENU_ACCESS_DENIED/drupal_access_denied() replaced with HttpKernel exceptions unreviewed | 8.x | policy | 3 | 0 |
| 1446420 | JavaScript should be compatible with libraries other than jQuery unreviewed | 8.x | released | 1 | 0 |
| 1600936 | Removed REQUIREMENT_INFO/REQUIREMENT_OK from most hook_requirements() items unreviewed | 8.x | policy | 1 | 0 |
| 1593970 | File reference checks removed from file_delete(), file status is now managed by file usage API. unreviewed | 8.x | policy | 2 | 0 |
| 1591624 | Installing Drupal without making settings.php writable now requires the config directory to be manually specified unreviewed | 8.x | policy | 1 | 0 |
| 1574670 | node_type_get_type() has been removed unreviewed | 8.x | policy | 1 | 0 |
| 1574668 | Paths containing content type names no longer replace underscores with dashes unreviewed | 8.x | policy | 1 | 0 |
| 1570578 | All core JavaScript run in strict mode unreviewed | 8.x | policy | 1 | 0 |
| 1953036 | New FAPI property #pattern is introduced for native HTML5 pattern attribute | 8.x | released | 1 | 22 |
| 1565062 | Cron is now a normal Drupal URL unreviewed | 8.x | policy | 1 | 0 |
| 1561490 | hook_flush_caches() renamed to hook_cache_flush() and hook_rebuild() unreviewed | 8.x | policy | 1 | 0 |
| 1553180 | entity_load() renamed to entity_load_multiple() | 8.x | policy | 1 | 45 |
| 1659580 | 'clean_url' configuration setting removed; clean URLs are autodetected each request unreviewed | 8.x | policy | 1 | 0 |
| 1659562 | $_GET['q'] removed; must use current_path() unreviewed | 8.x | policy | 1 | 0 |
| 1688430 | user_save() removed, use $account->save() | 8.x | policy | 1 | 3201 |
| 1554986 | $edit argument removed from hook_user_update/insert/presave() unreviewed | 8.x | policy | 1 | 0 |
| 1548376 | _update_process_info_list() became a public function, got additional whitelist options unreviewed | 8.x | policy | 1 | 0 |
| 1548406 | Disabling languages not supported anymore unreviewed | 8.x | policy | 1 | 0 |
| 1543796 | Namespace and naming changes for test classes of automated tests unreviewed | 8.x | policy | 3 | 0 |
| 1534648 | Cache tag support added | 8.x | policy | 6 | 555 |
| 1534630 | Variables for cache backend classes were consolidated unreviewed | 8.x | policy | 1 | 0 |
| 2341649 | hook_cron_queue_info() replaced by annotated classes unreviewed | 8.0.x | policy | 2 | 0 |
| 1539454 | Use Dependency Injection to handle global PHP objects unreviewed | 8.x | policy | 6 | 0 |
| 1536426 | Added form_process_autocomplete() to replace custom #autocomplete_path handling unreviewed | 8.x | policy | 1 | 0 |
| 1626352 | Entity language retrieval moved to EntityInterface:language() unreviewed | 8.x | policy | 1 | 0 |
| 1532946 | New simpler API available for accessing fields, properties and language information unreviewed | 8.x | policy | 1 | 0 |
| 1540510 | Move system tests to core/modules/system unreviewed | 8.x | policy | 1 | 0 |
| 1532250 | Only one module per directory unreviewed | 8.x | policy | 1 | 0 |
| 1621062 | Database select extenders are converted to PSR-0 unreviewed | 8.x | policy | 3 | 0 |
| 1320394 | PSR-4 compatible class loader in core | 8.x | policy | 9 | 7 |
| 1525118 | Lock system now uses \Drupal::lock() unreviewed | 8.x | policy | 2 | 0 |
| 1525160 | Customized strings now specifically tracked in interface translation unreviewed | 8.x | policy | 1 | 0 |
| 1528520 | Language negotiation system now part of language module unreviewed | 8.x | policy | 1 | 0 |
| 1525236 | Field language properties renamed to langcode unreviewed | 8.x | policy | 1 | 0 |
| 1678914 | element_validate_integer() and element_validate_integer_positive() replaced with number element type unreviewed | 8.x | policy | 2 | 0 |
| 1511040 | Add X-UA-Compatible HTTP header unreviewed | 8.x | policy | 2 | 0 |
| 2011426 | All core themes are now responsive unreviewed | 8.x | released | 3 | 0 |
| 1497012 | Use jQuery's $.support.fixedPosition instead of custom $.support.positionFixed unreviewed | 8.x | policy | 1 | 0 |
| 1479680 | DrupalQueue system is now a container service unreviewed | 8.x | policy | 3 | 0 |
| 1911318 | Simpletest automated tests now use empty 'testing' profile by default unreviewed | 8.x | policy | 2 | 0 |
| 1478334 | Interface translation plural storage changed, now provides editing UI unreviewed | 8.x | policy | 1 | 0 |
| 1473200 | LANGUAGE_NONE changed to LANGUAGE_NOT_SPECIFIED, LANGUAGE_NOT_APPLICABLE and LANGUAGE_MULTIPLE added unreviewed | 8.x | policy | 3 | 0 |
| 1479568 | Core subsystems converted to PSR-4 standard unreviewed | 8.x | policy | 12 | 0 |
| 1465840 | Drop textarea.js in favor of CSS3 resize unreviewed | 8.x | released | 1 | 0 |
| 1600010 | Increased system requirements unreviewed | 8.x | policy | 4 | 0 |
| 1441334 | Add a theme_datetime() function to consistently theme dates and datetimes unreviewed | 8.x | released | 1 | 0 |
| 3573884 | file_get_file_references() is deprecated in favor of the FileReferenceResolver | 11.4.x | break | 1 | 10 |
| 1451962 | Node object language property changed to langcode | 8.x | policy | 1 | 47 |
| 1450578 | Global $language changed to $language_interface | 8.x | policy | 2 | 742 |
| 1450144 | Comment schema and object now uses langcode instead of language unreviewed | 8.x | policy | 1 | 0 |
| 1450154 | Language types bootstrap function naming is cleaned up, reorganized unreviewed | 8.x | policy | 1 | 0 |
| 1882418 | Entity Field query got join support unreviewed | 8.x | policy | 2 | 0 |
| 3206334 | Removed updateCallback and errorCallback parameters from the progress bar. unreviewed | 7.x | released | 2 | 0 |
| 1451282 | Removed updateCallback and errorCallback parameters from the progress bar. unreviewed | 8.x | policy | 1 | 0 |
| 1439794 | Language negotiation configuration path and form id changed unreviewed | 8.x | policy | 1 | 0 |
| 1819290 | Content entity classes's interfaces should implement ContentEntityInterface unreviewed | 8.x | policy | 4 | 0 |
| 1400186 | Entities are now classed objects using a defined interface unreviewed | 8.x | policy | 17 | 0 |
| 1432244 | Poll tpls and markup converted to valid HTML5 unreviewed | 8.0.x | released | 1 | 0 |
| 1432876 | LOCALE_LANGUAGE_NEGOTIATION_* constants renamed to LANGUAGE_NEGOTIATION_* unreviewed | 8.x | policy | 1 | 0 |
| 1413790 | Path aliases now use 'langcode' for language codes instead of 'language' unreviewed | 8.x | policy | 1 | 0 |
| 1426154 | locale_language_name() became language_name(), got better functionality unreviewed | 8.x | policy | 1 | 0 |
| 1414264 | language_list() is simplified, locale_language_list() is removed unreviewed | 8.x | policy | 1 | 0 |
| 1972410 | taxonomy_get_vocabularies() removed | 8.x | policy | 2 | 77 |
| 1413672 | Renamed the taxonomy functions that returned multiple values | 8.x | policy | 2 | 51 |
| 1413776 | Path prefix language negotiation now enabled by default on new installs unreviewed | 8.x | policy | 1 | 0 |
| 1569578 | Internet Explorer 6, 7 and 8 no longer supported unreviewed | 8.x | policy | 7 | 0 |
| 1315186 | HTML5 support for form elements | 8.x | policy | 6 | 1338 |
| 1399806 | The language schema and language objects changed to use 'langcode' instead of 'language' unreviewed | 8.x | policy | 1 | 0 |
| 1430892 | WAI-ARIA roles added to core blocks unreviewed | 8.x | policy | 2 | 0 |
| 1397862 | 'site_frontpage' variable default value changed to 'user' unreviewed | 8.x | policy | 1 | 0 |
| 1397856 | Node, Text, and Filter modules are now optional unreviewed | 8.x | policy | 5 | 0 |
| 1392312 | drupal_multilingual() is renamed to language_multilingual() unreviewed | 8.0.x | released | 1 | 0 |
| 1389386 | Deprecated library names removed unreviewed | 8.x | policy | 1 | 0 |
| 1385926 | Constants are defined for taxonomy hierarchy instead of integers unreviewed | 8.x | released | 1 | 0 |
| 1821296 | _form_set_class has been renamed to _form_set_attributes unreviewed | 8.x | policy | 2 | 0 |
| 1362360 | Use const keyword to define constants instead of define() unreviewed | 8.x | policy | 1 | 0 |
| 1339672 | Standardize block cache as a drupal_render() #cache unreviewed | 8.x | policy | 1 | 0 |
| 1384064 | hook_entity_predelete() added for all core entity types | 8.x | policy | 2 | 1 |
| 1352230 | Installer language selector changed unreviewed | 8.x | policy | 1 | 0 |
| 1344808 | HTML5shiv now ships with Core unreviewed | 8.x | released | 1 | 0 |
| 1342842 | jQuery updated to 1.7 for Drupal 8 unreviewed | 8.x | released | 1 | 0 |
| 1408514 | format_username() renamed to user_format_name(), hook_username_alter() to hook_user_format_name_alter() unreviewed | 8.x | policy | 1 | 0 |
| 1330682 | Browser-targeted JavaScript files can be added using drupal_add_js() unreviewed | 8.x | policy | 1 | 0 |
| 1327978 | Most Drupal core files now live in a "core" subdirectory unreviewed | 8.x | policy | 1 | 0 |
| 1319812 | New standard for hook_menu() callback documentation unreviewed | 8.x | policy | 1 | 0 |
| 1311610 | Invalid renderable arrays will emit errors instead of failing silently unreviewed | 8.x | policy | 1 | 0 |
| 1272696 | New cache API unreviewed | 8.x | policy | 7 | 0 |
| 1285540 | Field types should be defined by one module and implemented by a separate module. unreviewed | 7.x | policy | 2 | 0 |
| 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 |
| 1217110 | node_access_write_grants() now named _node_access_write_grants() unreviewed | 8.x | released | 1 | 0 |
| 1302736 | New #ajax 'prevent' property added. unreviewed | 7.x | released | 1 | 0 |
| 3382316 | The Views setting default_argument_skip_url has been removed | 10.2.x | released | 1 | 0 |
| 2940704 | Changes to how HTML Elements are inserted via AJAX commands unreviewed | 8.6.x | released | 2 | 0 |
| 2243627 | Prepopulated anonymous form fields information is retrieved from the visitor browser unreviewed | 8.x | policy | 1 | 0 |
| 1956804 | Drupal.displace utility introduced to calculate viewport offset distances. Resolves positioning conflict between Overlay and Toolbar unreviewed | 8.x | policy | 2 | 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 |
| 2116417 | Modules and themes removed from core in Drupal 8 | 8.x | policy | 10 | 3 |