From 9b73314eedcc927500d425efb811fcca523bd890 Mon Sep 17 00:00:00 2001
From: Dave Long <dave@longwaveconsulting.com>
Date: Sat, 17 Feb 2024 16:35:53 +0000
Subject: [PATCH] Issue #3401730 by kim.pepper, smustgrave, longwave: Add
 default autoconfigure to all *.services.yml and remove event_subscriber tags

---
 .../automated_cron.services.yml               |  4 ++--
 core/modules/big_pipe/big_pipe.services.yml   |  6 ++----
 .../big_pipe_test/big_pipe_test.services.yml  |  4 ++--
 core/modules/block/block.services.yml         |  4 ++--
 .../block_content/block_content.services.yml  |  4 ++--
 core/modules/ckeditor5/ckeditor5.services.yml |  4 ++--
 core/modules/config/config.services.yml       |  4 ++--
 ...onfig_collection_install_test.services.yml |  4 ++--
 .../config_events_test.services.yml           |  4 ++--
 .../config_import_test.services.yml           |  4 ++--
 .../config_transformer_test.services.yml      |  4 ++--
 .../config_translation.services.yml           |  4 ++--
 .../config_translation_test.services.yml      |  4 ++--
 .../content_moderation.services.yml           |  8 ++------
 .../content_translation.services.yml          |  4 ++--
 .../dynamic_page_cache.services.yml           |  4 ++--
 core/modules/editor/editor.services.yml       |  4 ++--
 core/modules/field_ui/field_ui.services.yml   |  4 ++--
 core/modules/file/file.services.yml           |  4 ++--
 .../file_validator_test.services.yml          |  6 ++----
 ...i_test_resource_type_building.services.yml |  4 ++--
 core/modules/language/language.services.yml   |  5 ++---
 .../layout_builder.services.yml               |  8 ++------
 .../layout_builder_element_test.services.yml  |  4 ++--
 core/modules/locale/locale.services.yml       |  6 ++----
 core/modules/media/media.services.yml         |  4 ++--
 .../media_test_embed.services.yml             |  4 ++--
 .../media_library/media_library.services.yml  |  4 ++--
 core/modules/migrate/migrate.services.yml     |  4 ++--
 core/modules/node/node.services.yml           |  6 ++----
 .../path_alias/path_alias.services.yml        |  4 ++--
 core/modules/rest/rest.services.yml           |  8 ++------
 .../serialization/serialization.services.yml  |  6 ++----
 core/modules/system/system.services.yml       | 19 +++----------------
 .../database_test/database_test.services.yml  |  6 +++---
 ...rly_rendering_controller_test.services.yml |  4 ++--
 .../entity_test/entity_test.services.yml      |  4 ++--
 .../entity_test_update.services.yml           |  4 ++--
 .../modules/form_test/form_test.services.yml  |  4 ++--
 .../modules/hold_test/hold_test.services.yml  |  4 ++--
 ...le_install_class_loader_test1.services.yml |  4 ++--
 ...le_install_class_loader_test2.services.yml |  4 ++--
 .../service_provider_test.services.yml        |  3 ++-
 .../session_test/session_test.services.yml    |  4 ++--
 .../theme_test/theme_test.services.yml        |  4 ++--
 core/modules/user/user.services.yml           | 11 ++---------
 core/modules/views/views.services.yml         |  6 ++----
 .../workspaces/workspaces.services.yml        |  7 ++-----
 48 files changed, 98 insertions(+), 145 deletions(-)

diff --git a/core/modules/automated_cron/automated_cron.services.yml b/core/modules/automated_cron/automated_cron.services.yml
index 6bc3c00a176f..2448cb02d5dc 100644
--- a/core/modules/automated_cron/automated_cron.services.yml
+++ b/core/modules/automated_cron/automated_cron.services.yml
@@ -1,6 +1,6 @@
 services:
+  _defaults:
+    autoconfigure: true
   automated_cron.subscriber:
     class: Drupal\automated_cron\EventSubscriber\AutomatedCron
     arguments: ['@cron', '@config.factory', '@state']
-    tags:
-      - { name: event_subscriber }
diff --git a/core/modules/big_pipe/big_pipe.services.yml b/core/modules/big_pipe/big_pipe.services.yml
index 950d5a11ad93..4f653a1357e4 100644
--- a/core/modules/big_pipe/big_pipe.services.yml
+++ b/core/modules/big_pipe/big_pipe.services.yml
@@ -1,8 +1,8 @@
 services:
+  _defaults:
+    autoconfigure: true
   html_response.big_pipe_subscriber:
     class: Drupal\big_pipe\EventSubscriber\HtmlResponseBigPipeSubscriber
-    tags:
-      - { name: event_subscriber }
     arguments: ['@big_pipe']
   placeholder_strategy.big_pipe:
     class: Drupal\big_pipe\Render\Placeholder\BigPipeStrategy
@@ -21,8 +21,6 @@ services:
 
   route_subscriber.no_big_pipe:
     class: Drupal\big_pipe\EventSubscriber\NoBigPipeRouteAlterSubscriber
-    tags:
-      - { name: event_subscriber }
   http_middleware.big_pipe:
     class: \Drupal\big_pipe\StackMiddleware\ContentLength
     tags:
diff --git a/core/modules/big_pipe/tests/modules/big_pipe_test/big_pipe_test.services.yml b/core/modules/big_pipe/tests/modules/big_pipe_test/big_pipe_test.services.yml
index 5ec489511445..79ac6d28e436 100644
--- a/core/modules/big_pipe/tests/modules/big_pipe_test/big_pipe_test.services.yml
+++ b/core/modules/big_pipe/tests/modules/big_pipe_test/big_pipe_test.services.yml
@@ -1,5 +1,5 @@
 services:
+  _defaults:
+    autoconfigure: true
   big_pipe_test_subscriber:
     class: Drupal\big_pipe_test\EventSubscriber\BigPipeTestSubscriber
-    tags:
-      - { name: event_subscriber }
diff --git a/core/modules/block/block.services.yml b/core/modules/block/block.services.yml
index b548ffaf4fb3..b73f96422317 100644
--- a/core/modules/block/block.services.yml
+++ b/core/modules/block/block.services.yml
@@ -1,12 +1,12 @@
 services:
+  _defaults:
+    autoconfigure: true
   theme.negotiator.block.admin_demo:
     class: Drupal\block\Theme\AdminDemoNegotiator
     tags:
       - { name: theme_negotiator, priority: 1000 }
   block.page_display_variant_subscriber:
     class: Drupal\block\EventSubscriber\BlockPageDisplayVariantSubscriber
-    tags:
-      - { name: event_subscriber }
   block.repository:
     class: Drupal\block\BlockRepository
     arguments: ['@entity_type.manager', '@theme.manager', '@context.handler']
diff --git a/core/modules/block_content/block_content.services.yml b/core/modules/block_content/block_content.services.yml
index cf6c52c5c894..ce9c7bd1b5f5 100644
--- a/core/modules/block_content/block_content.services.yml
+++ b/core/modules/block_content/block_content.services.yml
@@ -1,4 +1,6 @@
 services:
+  _defaults:
+    autoconfigure: true
   block_content.uuid_lookup:
     class: \Drupal\block_content\BlockContentUuidLookup
     arguments: ['@cache.bootstrap', '@lock', '@entity_type.manager']
@@ -7,5 +9,3 @@ services:
   block_content.bc_subscriber:
     class: Drupal\block_content\Routing\RouteSubscriber
     arguments: ['@entity_type.manager', '@module_handler']
-    tags:
-      - { name: event_subscriber }
diff --git a/core/modules/ckeditor5/ckeditor5.services.yml b/core/modules/ckeditor5/ckeditor5.services.yml
index 8f73ec072149..be84b87f2eea 100644
--- a/core/modules/ckeditor5/ckeditor5.services.yml
+++ b/core/modules/ckeditor5/ckeditor5.services.yml
@@ -1,4 +1,6 @@
 services:
+  _defaults:
+    autoconfigure: true
   plugin.manager.ckeditor5.plugin:
     class: Drupal\ckeditor5\Plugin\CKEditor5PluginManager
     parent: default_plugin_manager
@@ -26,8 +28,6 @@ services:
   ckeditor5.ckeditor5_cache_tag:
     class: Drupal\ckeditor5\EventSubscriber\CKEditor5CacheTag
     arguments: ['@cache_tags.invalidator']
-    tags:
-      - { name: event_subscriber }
   logger.channel.ckeditor5:
     parent: logger.channel_base
     arguments: [ 'ckeditor5' ]
diff --git a/core/modules/config/config.services.yml b/core/modules/config/config.services.yml
index 5ce2696f936c..93228fc0b94d 100644
--- a/core/modules/config/config.services.yml
+++ b/core/modules/config/config.services.yml
@@ -1,5 +1,5 @@
 services:
+  _defaults:
+    autoconfigure: true
   config.config_subscriber:
     class: Drupal\config\ConfigSubscriber
-    tags:
-      - { name: event_subscriber }
diff --git a/core/modules/config/tests/config_collection_install_test/config_collection_install_test.services.yml b/core/modules/config/tests/config_collection_install_test/config_collection_install_test.services.yml
index 6526996af210..e36a63f84791 100644
--- a/core/modules/config/tests/config_collection_install_test/config_collection_install_test.services.yml
+++ b/core/modules/config/tests/config_collection_install_test/config_collection_install_test.services.yml
@@ -1,6 +1,6 @@
 services:
+  _defaults:
+    autoconfigure: true
   config_collection_install_test.event_subscriber:
     class: Drupal\config_collection_install_test\EventSubscriber
     arguments: ['@state']
-    tags:
-      - { name: event_subscriber }
diff --git a/core/modules/config/tests/config_events_test/config_events_test.services.yml b/core/modules/config/tests/config_events_test/config_events_test.services.yml
index 12d6fb1e1941..1aa8a9920ae2 100644
--- a/core/modules/config/tests/config_events_test/config_events_test.services.yml
+++ b/core/modules/config/tests/config_events_test/config_events_test.services.yml
@@ -1,6 +1,6 @@
 services:
+  _defaults:
+    autoconfigure: true
   config_events_test.event_subscriber:
     class: Drupal\config_events_test\EventSubscriber
     arguments: ['@state']
-    tags:
-      - { name: event_subscriber }
diff --git a/core/modules/config/tests/config_import_test/config_import_test.services.yml b/core/modules/config/tests/config_import_test/config_import_test.services.yml
index da4fa1e90314..af922f743ad0 100644
--- a/core/modules/config/tests/config_import_test/config_import_test.services.yml
+++ b/core/modules/config/tests/config_import_test/config_import_test.services.yml
@@ -1,6 +1,6 @@
 services:
+  _defaults:
+    autoconfigure: true
   config_import_test.event_subscriber:
     class: Drupal\config_import_test\EventSubscriber
-    tags:
-      - { name: event_subscriber }
     arguments: ['@state']
diff --git a/core/modules/config/tests/config_transformer_test/config_transformer_test.services.yml b/core/modules/config/tests/config_transformer_test/config_transformer_test.services.yml
index c96d3eb26190..0083348fe91d 100644
--- a/core/modules/config/tests/config_transformer_test/config_transformer_test.services.yml
+++ b/core/modules/config/tests/config_transformer_test/config_transformer_test.services.yml
@@ -1,6 +1,6 @@
 services:
+  _defaults:
+    autoconfigure: true
   config_transformer_test.event_subscriber:
     class: Drupal\config_transformer_test\EventSubscriber
     arguments: ['@config.storage', '@config.storage.sync', '@state']
-    tags:
-      - { name: event_subscriber }
diff --git a/core/modules/config_translation/config_translation.services.yml b/core/modules/config_translation/config_translation.services.yml
index adf636ed8507..628116f17e80 100644
--- a/core/modules/config_translation/config_translation.services.yml
+++ b/core/modules/config_translation/config_translation.services.yml
@@ -1,9 +1,9 @@
 services:
+  _defaults:
+    autoconfigure: true
   config_translation.route_subscriber:
     class: Drupal\config_translation\Routing\RouteSubscriber
     arguments: ['@plugin.manager.config_translation.mapper']
-    tags:
-      - { name: event_subscriber }
 
   config_translation.access.overview:
     class: Drupal\config_translation\Access\ConfigTranslationOverviewAccess
diff --git a/core/modules/config_translation/tests/modules/config_translation_test/config_translation_test.services.yml b/core/modules/config_translation/tests/modules/config_translation_test/config_translation_test.services.yml
index b23d938d7858..c9c5d65abec1 100644
--- a/core/modules/config_translation/tests/modules/config_translation_test/config_translation_test.services.yml
+++ b/core/modules/config_translation/tests/modules/config_translation_test/config_translation_test.services.yml
@@ -1,5 +1,5 @@
 services:
+  _defaults:
+    autoconfigure: true
   config_translation_test_event_subscriber:
     class: Drupal\config_translation_test\EventSubscriber\ConfigTranslationTestSubscriber
-    tags:
-      - {name: event_subscriber}
diff --git a/core/modules/content_moderation/content_moderation.services.yml b/core/modules/content_moderation/content_moderation.services.yml
index 401cf09090d1..9a1556931a60 100644
--- a/core/modules/content_moderation/content_moderation.services.yml
+++ b/core/modules/content_moderation/content_moderation.services.yml
@@ -1,4 +1,6 @@
 services:
+  _defaults:
+    autoconfigure: true
   content_moderation.state_transition_validation:
     class: Drupal\content_moderation\StateTransitionValidation
     arguments: ['@content_moderation.moderation_information']
@@ -15,15 +17,9 @@ services:
   content_moderation.config_import_subscriber:
     class: Drupal\content_moderation\EventSubscriber\ConfigImportSubscriber
     arguments: ['@config.manager', '@entity_type.manager']
-    tags:
-      - { name: event_subscriber }
   content_moderation.route_subscriber:
     class: Drupal\content_moderation\Routing\ContentModerationRouteSubscriber
     arguments: ['@entity_type.manager']
-    tags:
-      - { name: event_subscriber }
   content_moderation.workspace_subscriber:
     class: Drupal\content_moderation\EventSubscriber\WorkspaceSubscriber
     arguments: ['@entity_type.manager', '@?workspaces.association']
-    tags:
-      - { name: event_subscriber }
diff --git a/core/modules/content_translation/content_translation.services.yml b/core/modules/content_translation/content_translation.services.yml
index b29f02e72c7b..f2a40968fc07 100644
--- a/core/modules/content_translation/content_translation.services.yml
+++ b/core/modules/content_translation/content_translation.services.yml
@@ -1,4 +1,6 @@
 services:
+  _defaults:
+    autoconfigure: true
   content_translation.synchronizer:
     class: Drupal\content_translation\FieldTranslationSynchronizer
     arguments: ['@entity_type.manager', '@plugin.manager.field.field_type']
@@ -7,8 +9,6 @@ services:
   content_translation.subscriber:
     class: Drupal\content_translation\Routing\ContentTranslationRouteSubscriber
     arguments: ['@content_translation.manager']
-    tags:
-      - { name: event_subscriber }
 
   content_translation.delete_access:
     class: Drupal\content_translation\Access\ContentTranslationDeleteAccess
diff --git a/core/modules/dynamic_page_cache/dynamic_page_cache.services.yml b/core/modules/dynamic_page_cache/dynamic_page_cache.services.yml
index 2c37a14cbde0..9039eb00dc34 100644
--- a/core/modules/dynamic_page_cache/dynamic_page_cache.services.yml
+++ b/core/modules/dynamic_page_cache/dynamic_page_cache.services.yml
@@ -1,4 +1,6 @@
 services:
+  _defaults:
+    autoconfigure: true
   cache.dynamic_page_cache:
     class: Drupal\Core\Cache\CacheBackendInterface
     tags:
@@ -12,8 +14,6 @@ services:
   dynamic_page_cache_subscriber:
     class: Drupal\dynamic_page_cache\EventSubscriber\DynamicPageCacheSubscriber
     arguments: ['@dynamic_page_cache_request_policy', '@dynamic_page_cache_response_policy', '@variation_cache.dynamic_page_cache', '@cache_contexts_manager', '%renderer.config%']
-    tags:
-      - { name: event_subscriber }
 
   # Request & response policies.
   dynamic_page_cache_request_policy:
diff --git a/core/modules/editor/editor.services.yml b/core/modules/editor/editor.services.yml
index 31d4027b1d9f..b8160bf73b7b 100644
--- a/core/modules/editor/editor.services.yml
+++ b/core/modules/editor/editor.services.yml
@@ -1,4 +1,6 @@
 services:
+  _defaults:
+    autoconfigure: true
   plugin.manager.editor:
     class: Drupal\editor\Plugin\EditorManager
     parent: default_plugin_manager
@@ -9,5 +11,3 @@ services:
   editor.config_translation_mapper_subscriber:
     class: Drupal\editor\EventSubscriber\EditorConfigTranslationSubscriber
     arguments: ['@config.factory']
-    tags:
-      - {name: event_subscriber}
diff --git a/core/modules/field_ui/field_ui.services.yml b/core/modules/field_ui/field_ui.services.yml
index dc90318611ee..cb2ca2b05238 100644
--- a/core/modules/field_ui/field_ui.services.yml
+++ b/core/modules/field_ui/field_ui.services.yml
@@ -1,9 +1,9 @@
 services:
+  _defaults:
+    autoconfigure: true
   field_ui.subscriber:
     class: Drupal\field_ui\Routing\RouteSubscriber
     arguments: ['@entity_type.manager']
-    tags:
-      - { name: event_subscriber }
   access_check.field_ui.view_mode:
     class: Drupal\field_ui\Access\ViewModeAccessCheck
     arguments: ['@entity_type.manager']
diff --git a/core/modules/file/file.services.yml b/core/modules/file/file.services.yml
index 20df92114713..9b56858a1a00 100644
--- a/core/modules/file/file.services.yml
+++ b/core/modules/file/file.services.yml
@@ -1,9 +1,9 @@
 services:
+  _defaults:
+    autoconfigure: true
   file.event.subscriber:
     class: Drupal\file\EventSubscriber\FileEventSubscriber
     arguments: ['@config.factory', '@transliteration', '@language_manager']
-    tags:
-      - { name: event_subscriber }
   file.usage:
     class: Drupal\file\FileUsage\DatabaseFileUsageBackend
     arguments: ['@config.factory', '@database', 'file_usage']
diff --git a/core/modules/file/tests/modules/file_validator_test/file_validator_test.services.yml b/core/modules/file/tests/modules/file_validator_test/file_validator_test.services.yml
index 52a45d1fb1be..e0e9f2d08c2b 100644
--- a/core/modules/file/tests/modules/file_validator_test/file_validator_test.services.yml
+++ b/core/modules/file/tests/modules/file_validator_test/file_validator_test.services.yml
@@ -1,9 +1,7 @@
 services:
+  _defaults:
+    autoconfigure: true
   file_validation_test_subscriber:
     class: Drupal\file_validator_test\EventSubscriber\FileValidationTestSubscriber
-    tags:
-      - { name: event_subscriber }
   file_validation_sanitization_subscriber:
     class: Drupal\file_validator_test\EventSubscriber\FileSanitizationEventSubscriber
-    tags:
-      - {name: event_subscriber}
diff --git a/core/modules/jsonapi/tests/modules/jsonapi_test_resource_type_building/jsonapi_test_resource_type_building.services.yml b/core/modules/jsonapi/tests/modules/jsonapi_test_resource_type_building/jsonapi_test_resource_type_building.services.yml
index 77dccb48bf45..101af96e5d67 100644
--- a/core/modules/jsonapi/tests/modules/jsonapi_test_resource_type_building/jsonapi_test_resource_type_building.services.yml
+++ b/core/modules/jsonapi/tests/modules/jsonapi_test_resource_type_building/jsonapi_test_resource_type_building.services.yml
@@ -1,5 +1,5 @@
 services:
+  _defaults:
+    autoconfigure: true
   jsonapi_test_resource_type_building.build_subscriber:
     class: Drupal\jsonapi_test_resource_type_building\EventSubscriber\ResourceTypeBuildEventSubscriber
-    tags:
-      - { name: event_subscriber }
diff --git a/core/modules/language/language.services.yml b/core/modules/language/language.services.yml
index ffc267f3f573..d299aa4f6314 100644
--- a/core/modules/language/language.services.yml
+++ b/core/modules/language/language.services.yml
@@ -1,4 +1,6 @@
 services:
+  _defaults:
+    autoconfigure: true
   plugin.manager.language_negotiation_method:
     class: Drupal\language\LanguageNegotiationMethodManager
     arguments: ['@container.namespaces', '@cache.discovery', '@module_handler']
@@ -11,14 +13,11 @@ services:
   language.config_subscriber:
     class: Drupal\language\EventSubscriber\ConfigSubscriber
     arguments: ['@language_manager', '@language.default', '@config.factory', '@language_negotiator']
-    tags:
-      - { name: event_subscriber }
   language.config_factory_override:
     class: Drupal\language\Config\LanguageConfigFactoryOverride
     arguments: ['@config.storage', '@event_dispatcher', '@config.typed', '@language.default']
     tags:
       - { name: config.factory.override, priority: -254 }
-      - { name: event_subscriber }
   Drupal\language\Config\LanguageConfigFactoryOverrideInterface: '@language.config_factory_override'
   Drupal\Core\Config\ConfigFactoryOverrideInterface: '@language.config_factory_override'
   language_converter:
diff --git a/core/modules/layout_builder/layout_builder.services.yml b/core/modules/layout_builder/layout_builder.services.yml
index 296100aeb9c4..65c93652209b 100644
--- a/core/modules/layout_builder/layout_builder.services.yml
+++ b/core/modules/layout_builder/layout_builder.services.yml
@@ -1,4 +1,6 @@
 services:
+  _defaults:
+    autoconfigure: true
   layout_builder.tempstore_repository:
     class: Drupal\layout_builder\LayoutTempstoreRepository
     arguments: ['@tempstore.shared']
@@ -15,8 +17,6 @@ services:
   layout_builder.routes:
     class: Drupal\layout_builder\Routing\LayoutBuilderRoutes
     arguments: ['@plugin.manager.layout_builder.section_storage']
-    tags:
-      - { name: event_subscriber }
   layout_builder.tempstore.route_enhancer:
     class: Drupal\layout_builder\Routing\LayoutTempstoreRouteEnhancer
     arguments: ['@layout_builder.tempstore_repository']
@@ -50,8 +50,6 @@ services:
   layout_builder.render_block_component_subscriber:
     class: Drupal\layout_builder\EventSubscriber\BlockComponentRenderArray
     arguments: ['@current_user']
-    tags:
-      - { name: event_subscriber }
   logger.channel.layout_builder:
     parent: logger.channel_base
     arguments: ['layout_builder']
@@ -70,5 +68,3 @@ services:
   layout_builder.element.prepare_layout:
     class: Drupal\layout_builder\EventSubscriber\PrepareLayout
     arguments: ['@layout_builder.tempstore_repository', '@messenger']
-    tags:
-      - { name: event_subscriber }
diff --git a/core/modules/layout_builder/tests/modules/layout_builder_element_test/layout_builder_element_test.services.yml b/core/modules/layout_builder/tests/modules/layout_builder_element_test/layout_builder_element_test.services.yml
index ce75a2e8922c..4e16049f15f8 100644
--- a/core/modules/layout_builder/tests/modules/layout_builder_element_test/layout_builder_element_test.services.yml
+++ b/core/modules/layout_builder/tests/modules/layout_builder_element_test/layout_builder_element_test.services.yml
@@ -1,6 +1,6 @@
 services:
+  _defaults:
+    autoconfigure: true
   layout_builder_element_test.prepare_layout:
     class: Drupal\layout_builder_element_test\EventSubscriber\TestPrepareLayout
     arguments: ['@layout_builder.tempstore_repository', '@messenger']
-    tags:
-      - { name: event_subscriber }
diff --git a/core/modules/locale/locale.services.yml b/core/modules/locale/locale.services.yml
index 5a98a8482e75..cf55af77e388 100644
--- a/core/modules/locale/locale.services.yml
+++ b/core/modules/locale/locale.services.yml
@@ -1,4 +1,6 @@
 services:
+  _defaults:
+    autoconfigure: true
   locale.default.config.storage:
     class: Drupal\locale\LocaleDefaultConfigStorage
     arguments: ['@config.storage', '@language_manager', '%install_profile%']
@@ -35,10 +37,6 @@ services:
   locale.config_subscriber:
     class: Drupal\locale\LocaleConfigSubscriber
     arguments: ['@config.factory', '@locale.config_manager']
-    tags:
-      - { name: event_subscriber }
   locale.locale_translation_cache_tag:
     class: Drupal\locale\EventSubscriber\LocaleTranslationCacheTag
     arguments: ['@cache_tags.invalidator']
-    tags:
-      - { name: event_subscriber }
diff --git a/core/modules/media/media.services.yml b/core/modules/media/media.services.yml
index 26c688b55d76..c8fb03c45409 100644
--- a/core/modules/media/media.services.yml
+++ b/core/modules/media/media.services.yml
@@ -1,4 +1,6 @@
 services:
+  _defaults:
+    autoconfigure: true
   plugin.manager.media.source:
     class: Drupal\media\MediaSourceManager
     parent: default_plugin_manager
@@ -21,5 +23,3 @@ services:
   media.config_subscriber:
     class: Drupal\media\EventSubscriber\MediaConfigSubscriber
     arguments: ['@router.builder', '@cache_tags.invalidator', '@entity_type.manager']
-    tags:
-      - { name: event_subscriber }
diff --git a/core/modules/media/tests/modules/media_test_embed/media_test_embed.services.yml b/core/modules/media/tests/modules/media_test_embed/media_test_embed.services.yml
index 1cef30d4ae63..2679d2f8270c 100644
--- a/core/modules/media/tests/modules/media_test_embed/media_test_embed.services.yml
+++ b/core/modules/media/tests/modules/media_test_embed/media_test_embed.services.yml
@@ -1,5 +1,5 @@
 services:
+  _defaults:
+    autoconfigure: true
   media_test_embed.route_subscriber:
     class: Drupal\media_test_embed\Routing\RouteSubscriber
-    tags:
-      - { name: event_subscriber }
diff --git a/core/modules/media_library/media_library.services.yml b/core/modules/media_library/media_library.services.yml
index 193fc19a15cb..57dd20ee5590 100644
--- a/core/modules/media_library/media_library.services.yml
+++ b/core/modules/media_library/media_library.services.yml
@@ -1,12 +1,12 @@
 services:
+  _defaults:
+    autoconfigure: true
   media_library.ui_builder:
     class: Drupal\media_library\MediaLibraryUiBuilder
     arguments: ['@entity_type.manager', '@request_stack', '@views.executable', '@form_builder', '@media_library.opener_resolver']
   Drupal\media_library\MediaLibraryUiBuilder: '@media_library.ui_builder'
   media_library.route_subscriber:
     class: Drupal\media_library\Routing\RouteSubscriber
-    tags:
-      - { name: event_subscriber }
   media_library.opener_resolver:
     class: Drupal\media_library\OpenerResolver
     calls:
diff --git a/core/modules/migrate/migrate.services.yml b/core/modules/migrate/migrate.services.yml
index 8b67ff02c9f3..d7ef2ded4b0d 100644
--- a/core/modules/migrate/migrate.services.yml
+++ b/core/modules/migrate/migrate.services.yml
@@ -1,8 +1,8 @@
 services:
+  _defaults:
+    autoconfigure: true
   migrate.plugin_event_subscriber:
     class: Drupal\migrate\Plugin\PluginEventSubscriber
-    tags:
-      - { name: event_subscriber }
   cache.migrate:
     class: Drupal\Core\Cache\CacheBackendInterface
     tags:
diff --git a/core/modules/node/node.services.yml b/core/modules/node/node.services.yml
index e9ac3a260683..e5daad354296 100644
--- a/core/modules/node/node.services.yml
+++ b/core/modules/node/node.services.yml
@@ -1,8 +1,8 @@
 services:
+  _defaults:
+    autoconfigure: true
   node.route_subscriber:
     class: Drupal\node\Routing\RouteSubscriber
-    tags:
-      - { name: event_subscriber }
   node.grant_storage:
     class: Drupal\node\NodeGrantDatabaseStorage
     arguments: ['@database', '@module_handler', '@language_manager']
@@ -17,8 +17,6 @@ services:
   node.admin_path.route_subscriber:
     class: Drupal\node\EventSubscriber\NodeAdminRouteSubscriber
     arguments: ['@config.factory', '@router.builder']
-    tags:
-      - { name: event_subscriber }
   node_preview:
     class: Drupal\node\ParamConverter\NodePreviewConverter
     arguments: ['@tempstore.private']
diff --git a/core/modules/path_alias/path_alias.services.yml b/core/modules/path_alias/path_alias.services.yml
index 8e9d4c51f43b..b24ce4971bd8 100644
--- a/core/modules/path_alias/path_alias.services.yml
+++ b/core/modules/path_alias/path_alias.services.yml
@@ -1,8 +1,8 @@
 services:
+  _defaults:
+    autoconfigure: true
   path_alias.subscriber:
     class: Drupal\path_alias\EventSubscriber\PathAliasSubscriber
-    tags:
-      - { name: event_subscriber }
     arguments: ['@path_alias.manager', '@path.current']
   path_alias.path_processor:
     class: Drupal\path_alias\PathProcessor\AliasPathProcessor
diff --git a/core/modules/rest/rest.services.yml b/core/modules/rest/rest.services.yml
index 868a048f9205..b04417c7337a 100644
--- a/core/modules/rest/rest.services.yml
+++ b/core/modules/rest/rest.services.yml
@@ -1,4 +1,6 @@
 services:
+  _defaults:
+    autoconfigure: true
   plugin.manager.rest:
     class: Drupal\rest\Plugin\Type\ResourcePluginManager
     arguments: ['@container.namespaces', '@cache.discovery', '@module_handler']
@@ -11,8 +13,6 @@ services:
   rest.resource_routes:
     class: Drupal\rest\Routing\ResourceRoutes
     arguments: ['@plugin.manager.rest', '@entity_type.manager', '@logger.channel.rest']
-    tags:
-      - { name: 'event_subscriber' }
   logger.channel.rest:
     parent: logger.channel_base
     arguments: ['rest']
@@ -20,11 +20,7 @@ services:
   # Event subscribers.
   rest.resource_response.subscriber:
     class: Drupal\rest\EventSubscriber\ResourceResponseSubscriber
-    tags:
-      - { name: event_subscriber }
     arguments: ['@serializer', '@renderer', '@current_route_match']
   rest.resource.entity.post_route.subscriber:
     class: \Drupal\rest\EventSubscriber\EntityResourcePostRouteSubscriber
     arguments: ['@entity_type.manager']
-    tags:
-      - { name: event_subscriber }
diff --git a/core/modules/serialization/serialization.services.yml b/core/modules/serialization/serialization.services.yml
index 81120a046442..ba91f19c05ce 100644
--- a/core/modules/serialization/serialization.services.yml
+++ b/core/modules/serialization/serialization.services.yml
@@ -1,4 +1,6 @@
 services:
+  _defaults:
+    autoconfigure: true
   serializer:
     class: Symfony\Component\Serializer\Serializer
     arguments: [{  }, {  }]
@@ -105,11 +107,7 @@ services:
       - { name: entity_resolver}
   serialization.exception.default:
     class: Drupal\serialization\EventSubscriber\DefaultExceptionSubscriber
-    tags:
-      - { name: event_subscriber }
     arguments: ['@serializer', '%serializer.formats%']
   serialization.user_route_alter_subscriber:
     class: Drupal\serialization\EventSubscriber\UserRouteAlterSubscriber
-    tags:
-      - { name: event_subscriber }
     arguments: ['%serializer.formats%']
diff --git a/core/modules/system/system.services.yml b/core/modules/system/system.services.yml
index 1685ae552013..e6380fbf1380 100644
--- a/core/modules/system/system.services.yml
+++ b/core/modules/system/system.services.yml
@@ -1,4 +1,6 @@
 services:
+  _defaults:
+    autoconfigure: true
   access_check.cron:
     class: Drupal\system\Access\CronAccessCheck
     tags:
@@ -27,8 +29,6 @@ services:
       - { name: path_processor_inbound, priority: 200 }
   system.admin_path.route_subscriber:
     class: Drupal\system\EventSubscriber\AdminRouteSubscriber
-    tags:
-      - { name: event_subscriber }
   theme.negotiator.system.batch:
     class: Drupal\system\Theme\BatchNegotiator
     arguments: ['@batch.storage', '@request_stack']
@@ -42,23 +42,15 @@ services:
   system.config_subscriber:
     class: Drupal\system\SystemConfigSubscriber
     arguments: ['@router.builder']
-    tags:
-      - { name: event_subscriber }
   system.config_cache_tag:
     class: Drupal\system\EventSubscriber\ConfigCacheTag
     arguments: ['@theme_handler', '@cache_tags.invalidator', '@theme.registry']
-    tags:
-      - { name: event_subscriber }
   system.timezone_resolver:
     class: Drupal\system\TimeZoneResolver
     arguments: ['@current_user', '@config.factory']
-    tags:
-      - { name: event_subscriber }
   system.file_event.subscriber:
     class: Drupal\system\EventSubscriber\SecurityFileUploadEventSubscriber
     arguments: ['@config.factory']
-    tags:
-      - { name: event_subscriber }
   logger.channel.system:
     parent: logger.channel_base
     arguments: ['system']
@@ -69,13 +61,10 @@ services:
   system.advisories_config_subscriber:
     class: Drupal\system\EventSubscriber\AdvisoriesConfigSubscriber
     arguments: ['@system.sa_fetcher']
-    tags:
-      - { name: event_subscriber }
+  Drupal\system\Routing\MenuLinksetRoutes: '@system.menus.route_subscriber'
   system.menus.route_subscriber:
     class: Drupal\system\Routing\MenuLinksetRoutes
     arguments: ['%authentication_providers%', '@config.factory', '@router.builder']
-    tags:
-      - { name: event_subscriber }
   Drupal\system\ModuleAdminLinksHelper: '@system.module_admin_links_helper'
   system.module_admin_links_helper:
     class: Drupal\system\ModuleAdminLinksHelper
@@ -85,5 +74,3 @@ services:
     arguments: ['@datetime.time']
   system.access_route_alter_subscriber:
     class: Drupal\system\EventSubscriber\AccessRouteAlterSubscriber
-    tags:
-      - { name: event_subscriber }
diff --git a/core/modules/system/tests/modules/database_test/database_test.services.yml b/core/modules/system/tests/modules/database_test/database_test.services.yml
index 0bac13c303af..a4211a5bec18 100644
--- a/core/modules/system/tests/modules/database_test/database_test.services.yml
+++ b/core/modules/system/tests/modules/database_test/database_test.services.yml
@@ -1,5 +1,5 @@
 services:
+  _defaults:
+    autoconfigure: true
   # A test subscriber for the database API events.
-  Drupal\database_test\EventSubscriber\DatabaseEventSubscriber:
-    tags:
-      - { name: event_subscriber }
+  Drupal\database_test\EventSubscriber\DatabaseEventSubscriber: ~
diff --git a/core/modules/system/tests/modules/early_rendering_controller_test/early_rendering_controller_test.services.yml b/core/modules/system/tests/modules/early_rendering_controller_test/early_rendering_controller_test.services.yml
index 8c62f1aa160a..f54c9b6b5406 100644
--- a/core/modules/system/tests/modules/early_rendering_controller_test/early_rendering_controller_test.services.yml
+++ b/core/modules/system/tests/modules/early_rendering_controller_test/early_rendering_controller_test.services.yml
@@ -1,5 +1,5 @@
 services:
+  _defaults:
+    autoconfigure: true
   test_domain_object.view_subscriber:
     class: Drupal\early_rendering_controller_test\TestDomainObjectViewSubscriber
-    tags:
-      - { name: event_subscriber }
diff --git a/core/modules/system/tests/modules/entity_test/entity_test.services.yml b/core/modules/system/tests/modules/entity_test/entity_test.services.yml
index 212de69c186f..ba7b135d6fb3 100644
--- a/core/modules/system/tests/modules/entity_test/entity_test.services.yml
+++ b/core/modules/system/tests/modules/entity_test/entity_test.services.yml
@@ -1,9 +1,9 @@
 services:
+  _defaults:
+    autoconfigure: true
   entity_test.definition.subscriber:
     class: Drupal\entity_test\EntityTestDefinitionSubscriber
     arguments: ['@state', '@entity.last_installed_schema.repository', '@entity_type.manager', '@entity_field.manager']
-    tags:
-      - { name: event_subscriber }
   cache_context.entity_test_view_grants:
     class: Drupal\entity_test\Cache\EntityTestViewGrantsCacheContext
     tags:
diff --git a/core/modules/system/tests/modules/entity_test_update/entity_test_update.services.yml b/core/modules/system/tests/modules/entity_test_update/entity_test_update.services.yml
index 45d1606daa94..0a5242b3c422 100644
--- a/core/modules/system/tests/modules/entity_test_update/entity_test_update.services.yml
+++ b/core/modules/system/tests/modules/entity_test_update/entity_test_update.services.yml
@@ -1,6 +1,6 @@
 services:
+  _defaults:
+    autoconfigure: true
   entity_test_update.entity_schema_listener:
     class: Drupal\entity_test_update\EventSubscriber\EntitySchemaSubscriber
     arguments: ['@entity.definition_update_manager', '@state']
-    tags:
-      - { name: 'event_subscriber' }
diff --git a/core/modules/system/tests/modules/form_test/form_test.services.yml b/core/modules/system/tests/modules/form_test/form_test.services.yml
index 1d464149a968..6d1d14982de5 100644
--- a/core/modules/system/tests/modules/form_test/form_test.services.yml
+++ b/core/modules/system/tests/modules/form_test/form_test.services.yml
@@ -1,11 +1,11 @@
 services:
+  _defaults:
+    autoconfigure: true
   form_test.form.service_form:
     class: Drupal\form_test\FormTestServiceObject
     arguments: ['@config.factory', '@config.typed']
   form_test.event_subscriber:
     class: Drupal\form_test\EventSubscriber\FormTestEventSubscriber
-    tags:
-      - { name: event_subscriber }
   form_test.http_middleware:
     class: Drupal\form_test\StackMiddleware\FormTestMiddleware
     tags:
diff --git a/core/modules/system/tests/modules/hold_test/hold_test.services.yml b/core/modules/system/tests/modules/hold_test/hold_test.services.yml
index 309f21929118..d6b957d288df 100644
--- a/core/modules/system/tests/modules/hold_test/hold_test.services.yml
+++ b/core/modules/system/tests/modules/hold_test/hold_test.services.yml
@@ -1,6 +1,6 @@
 services:
+  _defaults:
+    autoconfigure: true
   hold_test.response:
     class: Drupal\hold_test\EventSubscriber\HoldTestSubscriber
     arguments: ['%site.path%']
-    tags:
-      - { name: event_subscriber }
diff --git a/core/modules/system/tests/modules/module_install_class_loader_test1/module_install_class_loader_test1.services.yml b/core/modules/system/tests/modules/module_install_class_loader_test1/module_install_class_loader_test1.services.yml
index 71b5d585ba74..03edb9bdbe4c 100644
--- a/core/modules/system/tests/modules/module_install_class_loader_test1/module_install_class_loader_test1.services.yml
+++ b/core/modules/system/tests/modules/module_install_class_loader_test1/module_install_class_loader_test1.services.yml
@@ -1,5 +1,5 @@
 services:
+  _defaults:
+    autoconfigure: true
   module_install_class_loader_test1.event_subscriber:
     class: Drupal\module_install_class_loader_test1\EventSubscriber
-    tags:
-      - { name: event_subscriber }
diff --git a/core/modules/system/tests/modules/module_install_class_loader_test2/module_install_class_loader_test2.services.yml b/core/modules/system/tests/modules/module_install_class_loader_test2/module_install_class_loader_test2.services.yml
index 7ecca457dfcf..adcb2c637020 100644
--- a/core/modules/system/tests/modules/module_install_class_loader_test2/module_install_class_loader_test2.services.yml
+++ b/core/modules/system/tests/modules/module_install_class_loader_test2/module_install_class_loader_test2.services.yml
@@ -1,5 +1,5 @@
 services:
+  _defaults:
+    autoconfigure: true
   module_install_class_loader_test1.event_subscriber:
     class: Drupal\module_install_class_loader_test2\EventSubscriber
-    tags:
-      - { name: event_subscriber }
diff --git a/core/modules/system/tests/modules/service_provider_test/service_provider_test.services.yml b/core/modules/system/tests/modules/service_provider_test/service_provider_test.services.yml
index 77e13dd9268c..42bb2799e1bf 100644
--- a/core/modules/system/tests/modules/service_provider_test/service_provider_test.services.yml
+++ b/core/modules/system/tests/modules/service_provider_test/service_provider_test.services.yml
@@ -1,8 +1,9 @@
 services:
+  _defaults:
+    autoconfigure: true
   service_provider_test_class:
     class: Drupal\service_provider_test\TestClass
     tags:
-      - { name: event_subscriber }
       - { name: needs_destruction }
     parent: container.trait
     arguments: ['@state']
diff --git a/core/modules/system/tests/modules/session_test/session_test.services.yml b/core/modules/system/tests/modules/session_test/session_test.services.yml
index 9d2c8d3da07e..f61183e10629 100644
--- a/core/modules/system/tests/modules/session_test/session_test.services.yml
+++ b/core/modules/system/tests/modules/session_test/session_test.services.yml
@@ -1,8 +1,8 @@
 services:
+  _defaults:
+    autoconfigure: true
   session_test.subscriber:
     class: Drupal\session_test\EventSubscriber\SessionTestSubscriber
-    tags:
-      - { name: event_subscriber }
   session_test.session_handler.test_proxy:
     class: Drupal\session_test\Session\TestSessionHandlerProxy
     tags:
diff --git a/core/modules/system/tests/modules/theme_test/theme_test.services.yml b/core/modules/system/tests/modules/theme_test/theme_test.services.yml
index 271fd4be92ce..8016084b96e3 100644
--- a/core/modules/system/tests/modules/theme_test/theme_test.services.yml
+++ b/core/modules/system/tests/modules/theme_test/theme_test.services.yml
@@ -1,9 +1,9 @@
 services:
+  _defaults:
+    autoconfigure: true
   theme_test.subscriber:
     class: Drupal\theme_test\EventSubscriber\ThemeTestSubscriber
     arguments: ['@current_route_match', '@renderer']
-    tags:
-      - { name: event_subscriber }
 
   theme.negotiator.test_custom_theme:
     class: Drupal\theme_test\Theme\CustomThemeNegotiator
diff --git a/core/modules/user/user.services.yml b/core/modules/user/user.services.yml
index 5579d0da6744..28f7a766f064 100644
--- a/core/modules/user/user.services.yml
+++ b/core/modules/user/user.services.yml
@@ -1,4 +1,6 @@
 services:
+  _defaults:
+    autoconfigure: true
   access_check.permission:
     class: Drupal\user\Access\PermissionAccessCheck
     tags:
@@ -20,7 +22,6 @@ services:
     arguments: ['@session_configuration', '@database', '@messenger']
     tags:
       - { name: authentication_provider, provider_id: 'cookie', priority: 0, global: TRUE }
-      - { name: event_subscriber }
   user.data:
     class: Drupal\user\UserData
     arguments: ['@database']
@@ -30,18 +31,12 @@ services:
   user_maintenance_mode_subscriber:
     class: Drupal\user\EventSubscriber\MaintenanceModeSubscriber
     arguments: ['@maintenance_mode', '@current_user']
-    tags:
-      - { name: event_subscriber }
   user_access_denied_subscriber:
     class: Drupal\user\EventSubscriber\AccessDeniedSubscriber
     arguments: ['@current_user']
-    tags:
-      - { name: event_subscriber }
   user_last_access_subscriber:
     class: Drupal\user\EventSubscriber\UserRequestSubscriber
     arguments: ['@current_user', '@entity_type.manager', '@datetime.time']
-    tags:
-      - { name: event_subscriber }
   theme.negotiator.admin_theme:
     class: Drupal\user\Theme\AdminNegotiator
     arguments: ['@current_user', '@config.factory', '@entity_type.manager', '@router.admin_context']
@@ -71,8 +66,6 @@ services:
   user.flood_subscriber:
     class: Drupal\user\EventSubscriber\UserFloodSubscriber
     arguments: ['@logger.channel.user']
-    tags:
-      - { name: 'event_subscriber' }
   logger.channel.user:
     parent: logger.channel_base
     arguments: ['user']
diff --git a/core/modules/views/views.services.yml b/core/modules/views/views.services.yml
index c718af40d1c4..4abde240a5e0 100644
--- a/core/modules/views/views.services.yml
+++ b/core/modules/views/views.services.yml
@@ -1,4 +1,6 @@
 services:
+  _defaults:
+    autoconfigure: true
   plugin.manager.views.access:
     class: Drupal\views\Plugin\ViewsPluginManager
     arguments: [access, '@container.namespaces', '@cache.discovery', '@module_handler']
@@ -77,16 +79,12 @@ services:
   views.route_subscriber:
     class: Drupal\views\EventSubscriber\RouteSubscriber
     arguments: ['@entity_type.manager', '@state']
-    tags:
-      - { name: 'event_subscriber' }
   views.exposed_form_cache:
     class: Drupal\views\ExposedFormCache
   Drupal\views\ExposedFormCache: '@views.exposed_form_cache'
   views.entity_schema_subscriber:
     class: Drupal\views\EventSubscriber\ViewsEntitySchemaSubscriber
     arguments: ['@entity_type.manager', '@logger.channel.default']
-    tags:
-      - { name: 'event_subscriber' }
   views.date_sql:
     class: Drupal\views\Plugin\views\query\MysqlDateSql
     arguments: ['@database']
diff --git a/core/modules/workspaces/workspaces.services.yml b/core/modules/workspaces/workspaces.services.yml
index 2ff3057a2478..64669d92061f 100644
--- a/core/modules/workspaces/workspaces.services.yml
+++ b/core/modules/workspaces/workspaces.services.yml
@@ -1,4 +1,6 @@
 services:
+  _defaults:
+    autoconfigure: true
   workspaces.manager:
     class: Drupal\workspaces\WorkspaceManager
     arguments: ['@request_stack', '@entity_type.manager', '@entity.memory_cache', '@current_user', '@state', '@logger.channel.workspaces', '@class_resolver', '@workspaces.association']
@@ -14,7 +16,6 @@ services:
     arguments: ['@database', '@entity_type.manager', '@workspaces.repository', '@logger.channel.workspaces']
     tags:
       - { name: backend_overridable }
-      - { name: event_subscriber }
   Drupal\workspaces\WorkspaceAssociationInterface: '@workspaces.association'
   workspaces.repository:
     class: Drupal\workspaces\WorkspaceRepository
@@ -41,13 +42,9 @@ services:
   workspaces.entity_schema_listener:
     class: Drupal\workspaces\EventSubscriber\EntitySchemaSubscriber
     arguments: ['@entity.definition_update_manager', '@entity.last_installed_schema.repository', '@workspaces.manager']
-    tags:
-      - { name: 'event_subscriber' }
   workspaces.workspace_subscriber:
     class: Drupal\workspaces\EventSubscriber\WorkspaceRequestSubscriber
     arguments: ['@path_alias.manager', '@path.current', '@router.route_provider', '@workspaces.manager']
-    tags:
-      - { name: event_subscriber }
 
   cache_context.workspace:
     class: Drupal\workspaces\WorkspaceCacheContext
-- 
GitLab