From a6c9dbbe28068daefb12bec06df45ab0f1850efe Mon Sep 17 00:00:00 2001
From: catch <catch@35733.no-reply.drupal.org>
Date: Sun, 14 May 2023 15:45:05 +0100
Subject: [PATCH] Issue #3338328 by Spokje, andypost, longwave, effulgentsia,
 jungle, catch, smustgrave, Wim Leers: Update to Symfony 6.3

---
 composer.json                                 |  18 +-
 composer.lock                                 | 481 +++++++++---------
 .../Metapackage/CoreRecommended/composer.json |  27 +-
 .../Metapackage/DevDependencies/composer.json |  18 +-
 .../PinnedDevDependencies/composer.json       |  14 +-
 core/composer.json                            |  22 +-
 .../DependencyInjection/Container.php         |   6 +
 .../DependencyInjection/composer.json         |   2 +-
 .../ContainerAwareEventDispatcher.php         |  12 +
 .../Component/EventDispatcher/composer.json   |   4 +-
 .../Component/HttpFoundation/composer.json    |   5 +-
 .../lib/Drupal/Component/Plugin/composer.json |   5 +-
 .../Component/Serialization/composer.json     |   5 +-
 .../lib/Drupal/Core/Command/DbCommandBase.php |   3 +
 .../Compiler/AuthenticationProviderPass.php   |   3 +
 .../Compiler/BackendCompilerPass.php          |   3 +
 .../Compiler/ProxyServicesPass.php            |   3 +
 .../Compiler/StackedKernelPass.php            |   3 +
 .../Compiler/TaggedHandlersPass.php           |   2 +
 .../DependencyInjection/ContainerBuilder.php  |   6 +
 core/lib/Drupal/Core/DrupalKernel.php         |   6 +
 .../Entity/EntityConstraintViolationList.php  |   9 +
 .../Constraint/BundleConstraintValidator.php  |   3 +
 .../EntityTypeConstraintValidator.php         |   3 +
 .../Render/MetadataBubblingUrlGenerator.php   |   3 +
 .../Drupal/Core/Routing/AccessAwareRouter.php |   3 +
 core/lib/Drupal/Core/Routing/UrlGenerator.php |   3 +
 core/lib/Drupal/Core/Session/MetadataBag.php  |   3 +
 .../Validation/ConstraintViolationBuilder.php |   3 +
 .../TypedData/Validation/ExecutionContext.php |  15 +-
 .../Constraint/NotNullConstraintValidator.php |   3 +
 .../PrimitiveTypeConstraintValidator.php      |   3 +
 .../Constraint/RangeConstraintValidator.php   |   3 +
 .../Normalizer/ConfigEntityDenormalizer.php   |  11 +
 .../Normalizer/ContentEntityDenormalizer.php  |  11 +
 .../jsonapi/src/Normalizer/DataNormalizer.php |  11 +
 ...ityAccessDeniedHttpExceptionNormalizer.php |   9 +
 .../EntityReferenceFieldNormalizer.php        |   9 +
 .../src/Normalizer/FieldItemNormalizer.php    |  11 +
 .../src/Normalizer/FieldNormalizer.php        |  11 +
 .../Normalizer/HttpExceptionNormalizer.php    |  11 +
 .../JsonApiDocumentTopLevelNormalizer.php     |  11 +
 .../Normalizer/LinkCollectionNormalizer.php   |  11 +
 .../src/Normalizer/RelationshipNormalizer.php |  11 +
 .../ResourceIdentifierNormalizer.php          |  11 +
 .../Normalizer/ResourceObjectNormalizer.php   |  11 +
 ...ocessableHttpEntityExceptionNormalizer.php |   9 +
 .../LinkAccessConstraintValidator.php         |   3 +
 ...nkExternalProtocolsConstraintValidator.php |   3 +
 ...NotExistingInternalConstraintValidator.php |   3 +
 .../src/Normalizer/ComplexDataNormalizer.php  |  11 +
 .../src/Normalizer/ConfigEntityNormalizer.php |   9 +
 .../Normalizer/ContentEntityNormalizer.php    |   9 +
 .../Normalizer/DateTimeIso8601Normalizer.php  |   9 +
 .../src/Normalizer/DateTimeNormalizer.php     |  11 +
 .../src/Normalizer/EntityNormalizer.php       |   9 +
 .../EntityReferenceFieldItemNormalizer.php    |   9 +
 .../src/Normalizer/FieldItemNormalizer.php    |   9 +
 .../src/Normalizer/FieldNormalizer.php        |   9 +
 .../src/Normalizer/MarkupNormalizer.php       |  11 +
 .../src/Normalizer/NormalizerBase.php         |  14 +-
 .../Normalizer/PrimitiveDataNormalizer.php    |  11 +
 .../Normalizer/TimestampItemNormalizer.php    |   9 +
 .../src/Normalizer/TimestampNormalizer.php    |   9 +
 .../src/Normalizer/TypedDataNormalizer.php    |  11 +
 ...gisterSerializationClassesCompilerPass.php |   6 +-
 .../src/SerializationTestNormalizer.php       |   9 +
 .../ProtectedUserFieldConstraintValidator.php |   3 +
 .../Constraint/UserMailRequiredValidator.php  |   3 +
 .../Template/ComposerProjectTemplatesTest.php |   2 +-
 .../DependencySerializationTest.php           |   3 +
 71 files changed, 737 insertions(+), 298 deletions(-)

diff --git a/composer.json b/composer.json
index c00a3ef8b416..25aa74dfea4d 100644
--- a/composer.json
+++ b/composer.json
@@ -30,15 +30,15 @@
         "phpstan/phpstan": "^1.10.1",
         "phpstan/phpstan-phpunit": "^1.3.11",
         "phpunit/phpunit": "^9.5",
-        "symfony/browser-kit": "^6.2",
-        "symfony/css-selector": "^6.2",
-        "symfony/dom-crawler": "^6.2",
-        "symfony/error-handler": "^6.2",
-        "symfony/filesystem": "^6.2",
-        "symfony/finder": "^6.2",
-        "symfony/lock": "^6.2",
-        "symfony/phpunit-bridge": "^6.2",
-        "symfony/var-dumper": "^6.2"
+        "symfony/browser-kit": "^6.3",
+        "symfony/css-selector": "^6.3",
+        "symfony/dom-crawler": "^6.3",
+        "symfony/error-handler": "^6.3",
+        "symfony/filesystem": "^6.3",
+        "symfony/finder": "^6.3",
+        "symfony/lock": "^6.3",
+        "symfony/phpunit-bridge": "^6.3",
+        "symfony/var-dumper": "^6.3"
     },
     "replace": {
         "symfony/polyfill-php72": "*",
diff --git a/composer.lock b/composer.lock
index 08d6fa5c5b1e..4cd46339cef4 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "This file is @generated automatically"
     ],
-    "content-hash": "7eb6d31a6ec10f9821d6784e5dc5c08c",
+    "content-hash": "a19169fd630e0d8db4af4a1948829f8d",
     "packages": [
         {
             "name": "asm89/stack-cors",
@@ -491,7 +491,7 @@
             "dist": {
                 "type": "path",
                 "url": "core",
-                "reference": "5a9a3329284c00b698aa63e5921d98daddae69cb"
+                "reference": "d8c2e380c13d2892038560c5591ef07ac31c6add"
             },
             "require": {
                 "asm89/stack-cors": "^2.1",
@@ -520,19 +520,19 @@
                 "php": ">=8.1.0",
                 "psr/log": "^3.0",
                 "sebastian/diff": "^4",
-                "symfony/console": "^6.2",
-                "symfony/dependency-injection": "^6.2",
-                "symfony/event-dispatcher": "^6.2",
-                "symfony/http-foundation": "^6.2",
-                "symfony/http-kernel": "^6.2",
-                "symfony/mime": "^6.2",
+                "symfony/console": "^6.3",
+                "symfony/dependency-injection": "^6.3",
+                "symfony/event-dispatcher": "^6.3",
+                "symfony/http-foundation": "^6.3",
+                "symfony/http-kernel": "^6.3",
+                "symfony/mime": "^6.3",
                 "symfony/polyfill-iconv": "^1.26",
-                "symfony/process": "^6.2",
+                "symfony/process": "^6.3",
                 "symfony/psr-http-message-bridge": "^2.1",
-                "symfony/routing": "^6.2",
-                "symfony/serializer": "^6.2",
-                "symfony/validator": "^6.2",
-                "symfony/yaml": "^6.2",
+                "symfony/routing": "^6.3",
+                "symfony/serializer": "^6.3",
+                "symfony/validator": "^6.3",
+                "symfony/yaml": "^6.3",
                 "twig/twig": "^3.5.0"
             },
             "conflict": {
@@ -1932,23 +1932,23 @@
         },
         {
             "name": "symfony/console",
-            "version": "v6.2.10",
+            "version": "v6.3.0-BETA2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/console.git",
-                "reference": "12288d9f4500f84a4d02254d4aa968b15488476f"
+                "reference": "ea11261501f3b6afa1e782648e2a870af0a13c48"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/console/zipball/12288d9f4500f84a4d02254d4aa968b15488476f",
-                "reference": "12288d9f4500f84a4d02254d4aa968b15488476f",
+                "url": "https://api.github.com/repos/symfony/console/zipball/ea11261501f3b6afa1e782648e2a870af0a13c48",
+                "reference": "ea11261501f3b6afa1e782648e2a870af0a13c48",
                 "shasum": ""
             },
             "require": {
                 "php": ">=8.1",
-                "symfony/deprecation-contracts": "^2.1|^3",
+                "symfony/deprecation-contracts": "^2.5|^3",
                 "symfony/polyfill-mbstring": "~1.0",
-                "symfony/service-contracts": "^1.1|^2|^3",
+                "symfony/service-contracts": "^2.5|^3",
                 "symfony/string": "^5.4|^6.0"
             },
             "conflict": {
@@ -1970,12 +1970,6 @@
                 "symfony/process": "^5.4|^6.0",
                 "symfony/var-dumper": "^5.4|^6.0"
             },
-            "suggest": {
-                "psr/log": "For using the console logger",
-                "symfony/event-dispatcher": "",
-                "symfony/lock": "",
-                "symfony/process": ""
-            },
             "type": "library",
             "autoload": {
                 "psr-4": {
@@ -2008,7 +2002,7 @@
                 "terminal"
             ],
             "support": {
-                "source": "https://github.com/symfony/console/tree/v6.2.10"
+                "source": "https://github.com/symfony/console/tree/v6.3.0-BETA2"
             },
             "funding": [
                 {
@@ -2024,34 +2018,34 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2023-04-28T13:37:43+00:00"
+            "time": "2023-05-05T10:58:01+00:00"
         },
         {
             "name": "symfony/dependency-injection",
-            "version": "v6.2.10",
+            "version": "v6.3.0-BETA3",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/dependency-injection.git",
-                "reference": "d732a66a2672669232c0b4536c8c96724a679780"
+                "reference": "fef6389a73d73ff7c541f753af9721316ab28024"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/d732a66a2672669232c0b4536c8c96724a679780",
-                "reference": "d732a66a2672669232c0b4536c8c96724a679780",
+                "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/fef6389a73d73ff7c541f753af9721316ab28024",
+                "reference": "fef6389a73d73ff7c541f753af9721316ab28024",
                 "shasum": ""
             },
             "require": {
                 "php": ">=8.1",
                 "psr/container": "^1.1|^2.0",
-                "symfony/deprecation-contracts": "^2.1|^3",
-                "symfony/service-contracts": "^1.1.6|^2.0|^3.0",
-                "symfony/var-exporter": "^6.2.7"
+                "symfony/deprecation-contracts": "^2.5|^3",
+                "symfony/service-contracts": "^2.5|^3.0",
+                "symfony/var-exporter": "^6.2.10"
             },
             "conflict": {
                 "ext-psr": "<1.1|>=2",
                 "symfony/config": "<6.1",
                 "symfony/finder": "<5.4",
-                "symfony/proxy-manager-bridge": "<6.2",
+                "symfony/proxy-manager-bridge": "<6.3",
                 "symfony/yaml": "<5.4"
             },
             "provide": {
@@ -2063,12 +2057,6 @@
                 "symfony/expression-language": "^5.4|^6.0",
                 "symfony/yaml": "^5.4|^6.0"
             },
-            "suggest": {
-                "symfony/config": "",
-                "symfony/expression-language": "For using expressions in service container configuration",
-                "symfony/finder": "For using double-star glob patterns or when GLOB_BRACE portability is required",
-                "symfony/yaml": ""
-            },
             "type": "library",
             "autoload": {
                 "psr-4": {
@@ -2095,7 +2083,7 @@
             "description": "Allows you to standardize and centralize the way objects are constructed in your application",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/dependency-injection/tree/v6.2.10"
+                "source": "https://github.com/symfony/dependency-injection/tree/v6.3.0-BETA3"
             },
             "funding": [
                 {
@@ -2111,7 +2099,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2023-04-21T15:42:15+00:00"
+            "time": "2023-05-12T07:59:55+00:00"
         },
         {
             "name": "symfony/deprecation-contracts",
@@ -2182,16 +2170,16 @@
         },
         {
             "name": "symfony/error-handler",
-            "version": "v6.2.10",
+            "version": "v6.3.0-BETA3",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/error-handler.git",
-                "reference": "8b7e9f124640cb0611624a9383176c3e5f7d8cfb"
+                "reference": "99d2d814a6351461af350ead4d963bd67451236f"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/error-handler/zipball/8b7e9f124640cb0611624a9383176c3e5f7d8cfb",
-                "reference": "8b7e9f124640cb0611624a9383176c3e5f7d8cfb",
+                "url": "https://api.github.com/repos/symfony/error-handler/zipball/99d2d814a6351461af350ead4d963bd67451236f",
+                "reference": "99d2d814a6351461af350ead4d963bd67451236f",
                 "shasum": ""
             },
             "require": {
@@ -2199,8 +2187,11 @@
                 "psr/log": "^1|^2|^3",
                 "symfony/var-dumper": "^5.4|^6.0"
             },
+            "conflict": {
+                "symfony/deprecation-contracts": "<2.5"
+            },
             "require-dev": {
-                "symfony/deprecation-contracts": "^2.1|^3",
+                "symfony/deprecation-contracts": "^2.5|^3",
                 "symfony/http-kernel": "^5.4|^6.0",
                 "symfony/serializer": "^5.4|^6.0"
             },
@@ -2233,7 +2224,7 @@
             "description": "Provides tools to manage errors and ease debugging PHP code",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/error-handler/tree/v6.2.10"
+                "source": "https://github.com/symfony/error-handler/tree/v6.3.0-BETA3"
             },
             "funding": [
                 {
@@ -2249,28 +2240,29 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2023-04-18T13:46:08+00:00"
+            "time": "2023-05-10T12:03:13+00:00"
         },
         {
             "name": "symfony/event-dispatcher",
-            "version": "v6.2.8",
+            "version": "v6.3.0-BETA1",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/event-dispatcher.git",
-                "reference": "04046f35fd7d72f9646e721fc2ecb8f9c67d3339"
+                "reference": "3af8ac1a3f98f6dbc55e10ae59c9e44bfc38dfaa"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/04046f35fd7d72f9646e721fc2ecb8f9c67d3339",
-                "reference": "04046f35fd7d72f9646e721fc2ecb8f9c67d3339",
+                "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/3af8ac1a3f98f6dbc55e10ae59c9e44bfc38dfaa",
+                "reference": "3af8ac1a3f98f6dbc55e10ae59c9e44bfc38dfaa",
                 "shasum": ""
             },
             "require": {
                 "php": ">=8.1",
-                "symfony/event-dispatcher-contracts": "^2|^3"
+                "symfony/event-dispatcher-contracts": "^2.5|^3"
             },
             "conflict": {
-                "symfony/dependency-injection": "<5.4"
+                "symfony/dependency-injection": "<5.4",
+                "symfony/service-contracts": "<2.5"
             },
             "provide": {
                 "psr/event-dispatcher-implementation": "1.0",
@@ -2283,13 +2275,9 @@
                 "symfony/error-handler": "^5.4|^6.0",
                 "symfony/expression-language": "^5.4|^6.0",
                 "symfony/http-foundation": "^5.4|^6.0",
-                "symfony/service-contracts": "^1.1|^2|^3",
+                "symfony/service-contracts": "^2.5|^3",
                 "symfony/stopwatch": "^5.4|^6.0"
             },
-            "suggest": {
-                "symfony/dependency-injection": "",
-                "symfony/http-kernel": ""
-            },
             "type": "library",
             "autoload": {
                 "psr-4": {
@@ -2316,7 +2304,7 @@
             "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/event-dispatcher/tree/v6.2.8"
+                "source": "https://github.com/symfony/event-dispatcher/tree/v6.3.0-BETA1"
             },
             "funding": [
                 {
@@ -2332,7 +2320,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2023-03-20T16:06:02+00:00"
+            "time": "2023-04-21T14:41:17+00:00"
         },
         {
             "name": "symfony/event-dispatcher-contracts",
@@ -2415,28 +2403,30 @@
         },
         {
             "name": "symfony/http-foundation",
-            "version": "v6.2.10",
+            "version": "v6.3.0-BETA3",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/http-foundation.git",
-                "reference": "49adbb92bcb4e3c2943719d2756271e8b9602acc"
+                "reference": "f7d3ff5061c16d06dc667a72e7ee93fc2c8b5880"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/http-foundation/zipball/49adbb92bcb4e3c2943719d2756271e8b9602acc",
-                "reference": "49adbb92bcb4e3c2943719d2756271e8b9602acc",
+                "url": "https://api.github.com/repos/symfony/http-foundation/zipball/f7d3ff5061c16d06dc667a72e7ee93fc2c8b5880",
+                "reference": "f7d3ff5061c16d06dc667a72e7ee93fc2c8b5880",
                 "shasum": ""
             },
             "require": {
                 "php": ">=8.1",
-                "symfony/deprecation-contracts": "^2.1|^3",
-                "symfony/polyfill-mbstring": "~1.1"
+                "symfony/deprecation-contracts": "^2.5|^3",
+                "symfony/polyfill-mbstring": "~1.1",
+                "symfony/polyfill-php83": "^1.27"
             },
             "conflict": {
                 "symfony/cache": "<6.2"
             },
             "require-dev": {
-                "predis/predis": "~1.0",
+                "doctrine/dbal": "^2.13.1|^3.0",
+                "predis/predis": "^1.1|^2.0",
                 "symfony/cache": "^5.4|^6.0",
                 "symfony/dependency-injection": "^5.4|^6.0",
                 "symfony/expression-language": "^5.4|^6.0",
@@ -2444,9 +2434,6 @@
                 "symfony/mime": "^5.4|^6.0",
                 "symfony/rate-limiter": "^5.2|^6.0"
             },
-            "suggest": {
-                "symfony/mime": "To use the file extension guesser"
-            },
             "type": "library",
             "autoload": {
                 "psr-4": {
@@ -2473,7 +2460,7 @@
             "description": "Defines an object-oriented layer for the HTTP specification",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/http-foundation/tree/v6.2.10"
+                "source": "https://github.com/symfony/http-foundation/tree/v6.3.0-BETA3"
             },
             "funding": [
                 {
@@ -2489,29 +2476,29 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2023-04-18T13:46:08+00:00"
+            "time": "2023-05-12T08:49:48+00:00"
         },
         {
             "name": "symfony/http-kernel",
-            "version": "v6.2.10",
+            "version": "v6.3.0-BETA3",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/http-kernel.git",
-                "reference": "81064a65a5496f17d2b6984f6519406f98864215"
+                "reference": "a9a8da72c31d4e0f4d085ac0e4949277a8db68d3"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/http-kernel/zipball/81064a65a5496f17d2b6984f6519406f98864215",
-                "reference": "81064a65a5496f17d2b6984f6519406f98864215",
+                "url": "https://api.github.com/repos/symfony/http-kernel/zipball/a9a8da72c31d4e0f4d085ac0e4949277a8db68d3",
+                "reference": "a9a8da72c31d4e0f4d085ac0e4949277a8db68d3",
                 "shasum": ""
             },
             "require": {
                 "php": ">=8.1",
                 "psr/log": "^1|^2|^3",
-                "symfony/deprecation-contracts": "^2.1|^3",
-                "symfony/error-handler": "^6.1",
+                "symfony/deprecation-contracts": "^2.5|^3",
+                "symfony/error-handler": "^6.3",
                 "symfony/event-dispatcher": "^5.4|^6.0",
-                "symfony/http-foundation": "^5.4.21|^6.2.7",
+                "symfony/http-foundation": "^6.2.7",
                 "symfony/polyfill-ctype": "^1.8"
             },
             "conflict": {
@@ -2519,13 +2506,15 @@
                 "symfony/cache": "<5.4",
                 "symfony/config": "<6.1",
                 "symfony/console": "<5.4",
-                "symfony/dependency-injection": "<6.2",
+                "symfony/dependency-injection": "<6.3",
                 "symfony/doctrine-bridge": "<5.4",
                 "symfony/form": "<5.4",
                 "symfony/http-client": "<5.4",
+                "symfony/http-client-contracts": "<2.5",
                 "symfony/mailer": "<5.4",
                 "symfony/messenger": "<5.4",
                 "symfony/translation": "<5.4",
+                "symfony/translation-contracts": "<2.5",
                 "symfony/twig-bridge": "<5.4",
                 "symfony/validator": "<5.4",
                 "twig/twig": "<2.13"
@@ -2536,28 +2525,27 @@
             "require-dev": {
                 "psr/cache": "^1.0|^2.0|^3.0",
                 "symfony/browser-kit": "^5.4|^6.0",
+                "symfony/clock": "^6.2",
                 "symfony/config": "^6.1",
                 "symfony/console": "^5.4|^6.0",
                 "symfony/css-selector": "^5.4|^6.0",
-                "symfony/dependency-injection": "^6.2",
+                "symfony/dependency-injection": "^6.3",
                 "symfony/dom-crawler": "^5.4|^6.0",
                 "symfony/expression-language": "^5.4|^6.0",
                 "symfony/finder": "^5.4|^6.0",
-                "symfony/http-client-contracts": "^1.1|^2|^3",
+                "symfony/http-client-contracts": "^2.5|^3",
                 "symfony/process": "^5.4|^6.0",
+                "symfony/property-access": "^5.4.5|^6.0.5",
                 "symfony/routing": "^5.4|^6.0",
+                "symfony/serializer": "^6.3",
                 "symfony/stopwatch": "^5.4|^6.0",
                 "symfony/translation": "^5.4|^6.0",
-                "symfony/translation-contracts": "^1.1|^2|^3",
+                "symfony/translation-contracts": "^2.5|^3",
                 "symfony/uid": "^5.4|^6.0",
+                "symfony/validator": "^6.3",
+                "symfony/var-exporter": "^6.2",
                 "twig/twig": "^2.13|^3.0.4"
             },
-            "suggest": {
-                "symfony/browser-kit": "",
-                "symfony/config": "",
-                "symfony/console": "",
-                "symfony/dependency-injection": ""
-            },
             "type": "library",
             "autoload": {
                 "psr-4": {
@@ -2584,7 +2572,7 @@
             "description": "Provides a structured process for converting a Request into a Response",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/http-kernel/tree/v6.2.10"
+                "source": "https://github.com/symfony/http-kernel/tree/v6.3.0-BETA3"
             },
             "funding": [
                 {
@@ -2600,20 +2588,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2023-04-28T13:50:28+00:00"
+            "time": "2023-05-13T07:22:25+00:00"
         },
         {
             "name": "symfony/mime",
-            "version": "v6.2.10",
+            "version": "v6.3.0-BETA1",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/mime.git",
-                "reference": "b6c137fc53a9f7c4c951cd3f362b3734c7a97723"
+                "reference": "7b5d2121858cd6efbed778abce9cfdd7ab1f62ad"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/mime/zipball/b6c137fc53a9f7c4c951cd3f362b3734c7a97723",
-                "reference": "b6c137fc53a9f7c4c951cd3f362b3734c7a97723",
+                "url": "https://api.github.com/repos/symfony/mime/zipball/7b5d2121858cd6efbed778abce9cfdd7ab1f62ad",
+                "reference": "7b5d2121858cd6efbed778abce9cfdd7ab1f62ad",
                 "shasum": ""
             },
             "require": {
@@ -2667,7 +2655,7 @@
                 "mime-type"
             ],
             "support": {
-                "source": "https://github.com/symfony/mime/tree/v6.2.10"
+                "source": "https://github.com/symfony/mime/tree/v6.3.0-BETA1"
             },
             "funding": [
                 {
@@ -2683,7 +2671,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2023-04-19T09:54:16+00:00"
+            "time": "2023-04-28T15:57:00+00:00"
         },
         {
             "name": "symfony/polyfill-ctype",
@@ -3185,18 +3173,95 @@
             ],
             "time": "2022-11-03T14:55:06+00:00"
         },
+        {
+            "name": "symfony/polyfill-php83",
+            "version": "v1.27.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/polyfill-php83.git",
+                "reference": "508c652ba3ccf69f8c97f251534f229791b52a57"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/508c652ba3ccf69f8c97f251534f229791b52a57",
+                "reference": "508c652ba3ccf69f8c97f251534f229791b52a57",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.1",
+                "symfony/polyfill-php80": "^1.14"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "1.27-dev"
+                },
+                "thanks": {
+                    "name": "symfony/polyfill",
+                    "url": "https://github.com/symfony/polyfill"
+                }
+            },
+            "autoload": {
+                "files": [
+                    "bootstrap.php"
+                ],
+                "psr-4": {
+                    "Symfony\\Polyfill\\Php83\\": ""
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Nicolas Grekas",
+                    "email": "p@tchwork.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions",
+            "homepage": "https://symfony.com",
+            "keywords": [
+                "compatibility",
+                "polyfill",
+                "portable",
+                "shim"
+            ],
+            "support": {
+                "source": "https://github.com/symfony/polyfill-php83/tree/v1.27.0"
+            },
+            "funding": [
+                {
+                    "url": "https://symfony.com/sponsor",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://github.com/fabpot",
+                    "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2022-11-03T14:55:06+00:00"
+        },
         {
             "name": "symfony/process",
-            "version": "v6.2.10",
+            "version": "v6.3.0-BETA1",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/process.git",
-                "reference": "b34cdbc9c5e75d45a3703e63a48ad07aafa8bf2e"
+                "reference": "89ac295dc344cc0cd802dd303cb2598e184e7014"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/process/zipball/b34cdbc9c5e75d45a3703e63a48ad07aafa8bf2e",
-                "reference": "b34cdbc9c5e75d45a3703e63a48ad07aafa8bf2e",
+                "url": "https://api.github.com/repos/symfony/process/zipball/89ac295dc344cc0cd802dd303cb2598e184e7014",
+                "reference": "89ac295dc344cc0cd802dd303cb2598e184e7014",
                 "shasum": ""
             },
             "require": {
@@ -3228,7 +3293,7 @@
             "description": "Executes commands in sub-processes",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/process/tree/v6.2.10"
+                "source": "https://github.com/symfony/process/tree/v6.3.0-BETA1"
             },
             "funding": [
                 {
@@ -3244,7 +3309,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2023-04-18T13:56:57+00:00"
+            "time": "2023-04-28T15:57:00+00:00"
         },
         {
             "name": "symfony/psr-http-message-bridge",
@@ -3336,16 +3401,16 @@
         },
         {
             "name": "symfony/routing",
-            "version": "v6.2.8",
+            "version": "v6.3.0-BETA1",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/routing.git",
-                "reference": "69062e2823f03b82265d73a966999660f0e1e404"
+                "reference": "827f59fdc67eecfc4dfff81f9c93bf4d98f0c89b"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/routing/zipball/69062e2823f03b82265d73a966999660f0e1e404",
-                "reference": "69062e2823f03b82265d73a966999660f0e1e404",
+                "url": "https://api.github.com/repos/symfony/routing/zipball/827f59fdc67eecfc4dfff81f9c93bf4d98f0c89b",
+                "reference": "827f59fdc67eecfc4dfff81f9c93bf4d98f0c89b",
                 "shasum": ""
             },
             "require": {
@@ -3366,12 +3431,6 @@
                 "symfony/http-foundation": "^5.4|^6.0",
                 "symfony/yaml": "^5.4|^6.0"
             },
-            "suggest": {
-                "symfony/config": "For using the all-in-one router or any loader",
-                "symfony/expression-language": "For using expression matching",
-                "symfony/http-foundation": "For using a Symfony Request object",
-                "symfony/yaml": "For using the YAML loader"
-            },
             "type": "library",
             "autoload": {
                 "psr-4": {
@@ -3404,7 +3463,7 @@
                 "url"
             ],
             "support": {
-                "source": "https://github.com/symfony/routing/tree/v6.2.8"
+                "source": "https://github.com/symfony/routing/tree/v6.3.0-BETA1"
             },
             "funding": [
                 {
@@ -3420,20 +3479,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2023-03-14T15:00:05+00:00"
+            "time": "2023-04-28T15:57:00+00:00"
         },
         {
             "name": "symfony/serializer",
-            "version": "v6.2.10",
+            "version": "v6.3.0-BETA3",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/serializer.git",
-                "reference": "0732edf0ad28dd3faacde4f1200ab9d7a4d5f40d"
+                "reference": "7592b5568f4e1e7e72f716c389bb1e24a8ecd55d"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/serializer/zipball/0732edf0ad28dd3faacde4f1200ab9d7a4d5f40d",
-                "reference": "0732edf0ad28dd3faacde4f1200ab9d7a4d5f40d",
+                "url": "https://api.github.com/repos/symfony/serializer/zipball/7592b5568f4e1e7e72f716c389bb1e24a8ecd55d",
+                "reference": "7592b5568f4e1e7e72f716c389bb1e24a8ecd55d",
                 "shasum": ""
             },
             "require": {
@@ -3455,6 +3514,7 @@
                 "phpdocumentor/reflection-docblock": "^3.2|^4.0|^5.0",
                 "symfony/cache": "^5.4|^6.0",
                 "symfony/config": "^5.4|^6.0",
+                "symfony/console": "^5.4|^6.0",
                 "symfony/dependency-injection": "^5.4|^6.0",
                 "symfony/error-handler": "^5.4|^6.0",
                 "symfony/filesystem": "^5.4|^6.0",
@@ -3470,15 +3530,6 @@
                 "symfony/var-exporter": "^5.4|^6.0",
                 "symfony/yaml": "^5.4|^6.0"
             },
-            "suggest": {
-                "psr/cache-implementation": "For using the metadata cache.",
-                "symfony/config": "For using the XML mapping loader.",
-                "symfony/mime": "For using a MIME type guesser within the DataUriNormalizer.",
-                "symfony/property-access": "For using the ObjectNormalizer.",
-                "symfony/property-info": "To deserialize relations.",
-                "symfony/var-exporter": "For using the metadata compiler.",
-                "symfony/yaml": "For using the default YAML mapping loader."
-            },
             "type": "library",
             "autoload": {
                 "psr-4": {
@@ -3505,7 +3556,7 @@
             "description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/serializer/tree/v6.2.10"
+                "source": "https://github.com/symfony/serializer/tree/v6.3.0-BETA3"
             },
             "funding": [
                 {
@@ -3521,7 +3572,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2023-04-18T13:57:49+00:00"
+            "time": "2023-05-12T08:49:48+00:00"
         },
         {
             "name": "symfony/service-contracts",
@@ -3777,24 +3828,25 @@
         },
         {
             "name": "symfony/validator",
-            "version": "v6.2.10",
+            "version": "v6.3.0-BETA1",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/validator.git",
-                "reference": "c02ea86844926f04247bc1f5db5f85bb53330823"
+                "reference": "24742e0bc0fe8dfa6d333d2bc38f91b5b5fda865"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/validator/zipball/c02ea86844926f04247bc1f5db5f85bb53330823",
-                "reference": "c02ea86844926f04247bc1f5db5f85bb53330823",
+                "url": "https://api.github.com/repos/symfony/validator/zipball/24742e0bc0fe8dfa6d333d2bc38f91b5b5fda865",
+                "reference": "24742e0bc0fe8dfa6d333d2bc38f91b5b5fda865",
                 "shasum": ""
             },
             "require": {
                 "php": ">=8.1",
-                "symfony/deprecation-contracts": "^2.1|^3",
+                "symfony/deprecation-contracts": "^2.5|^3",
                 "symfony/polyfill-ctype": "~1.8",
                 "symfony/polyfill-mbstring": "~1.0",
-                "symfony/translation-contracts": "^1.1|^2|^3"
+                "symfony/polyfill-php83": "^1.27",
+                "symfony/translation-contracts": "^2.5|^3"
             },
             "conflict": {
                 "doctrine/annotations": "<1.13",
@@ -3827,18 +3879,6 @@
                 "symfony/translation": "^5.4|^6.0",
                 "symfony/yaml": "^5.4|^6.0"
             },
-            "suggest": {
-                "egulias/email-validator": "Strict (RFC compliant) email validation",
-                "psr/cache-implementation": "For using the mapping cache.",
-                "symfony/config": "",
-                "symfony/expression-language": "For using the Expression validator and the ExpressionLanguageSyntax constraints",
-                "symfony/http-foundation": "",
-                "symfony/intl": "",
-                "symfony/property-access": "For accessing properties within comparison constraints",
-                "symfony/property-info": "To automatically add NotNull and Type constraints",
-                "symfony/translation": "For translating validation errors.",
-                "symfony/yaml": ""
-            },
             "type": "library",
             "autoload": {
                 "psr-4": {
@@ -3865,7 +3905,7 @@
             "description": "Provides tools to validate values",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/validator/tree/v6.2.10"
+                "source": "https://github.com/symfony/validator/tree/v6.3.0-BETA1"
             },
             "funding": [
                 {
@@ -3881,20 +3921,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2023-04-19T09:54:16+00:00"
+            "time": "2023-04-28T15:57:00+00:00"
         },
         {
             "name": "symfony/var-dumper",
-            "version": "v6.2.10",
+            "version": "v6.3.0-BETA1",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/var-dumper.git",
-                "reference": "41a750a23412ca76fdbbf5096943b4134272c1ab"
+                "reference": "7dbe8a625973f50073fe72410db1c5c66e21198b"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/var-dumper/zipball/41a750a23412ca76fdbbf5096943b4134272c1ab",
-                "reference": "41a750a23412ca76fdbbf5096943b4134272c1ab",
+                "url": "https://api.github.com/repos/symfony/var-dumper/zipball/7dbe8a625973f50073fe72410db1c5c66e21198b",
+                "reference": "7dbe8a625973f50073fe72410db1c5c66e21198b",
                 "shasum": ""
             },
             "require": {
@@ -3912,11 +3952,6 @@
                 "symfony/uid": "^5.4|^6.0",
                 "twig/twig": "^2.13|^3.0.4"
             },
-            "suggest": {
-                "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).",
-                "ext-intl": "To show region name in time zone dump",
-                "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script"
-            },
             "bin": [
                 "Resources/bin/var-dump-server"
             ],
@@ -3953,7 +3988,7 @@
                 "dump"
             ],
             "support": {
-                "source": "https://github.com/symfony/var-dumper/tree/v6.2.10"
+                "source": "https://github.com/symfony/var-dumper/tree/v6.3.0-BETA1"
             },
             "funding": [
                 {
@@ -3969,7 +4004,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2023-04-18T13:46:08+00:00"
+            "time": "2023-04-21T14:41:17+00:00"
         },
         {
             "name": "symfony/var-exporter",
@@ -4047,16 +4082,16 @@
         },
         {
             "name": "symfony/yaml",
-            "version": "v6.2.10",
+            "version": "v6.3.0-BETA1",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/yaml.git",
-                "reference": "61916f3861b1e9705b18cfde723921a71dd1559d"
+                "reference": "a9a8337aa641ef2aa39c3e028f9107ec391e5927"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/yaml/zipball/61916f3861b1e9705b18cfde723921a71dd1559d",
-                "reference": "61916f3861b1e9705b18cfde723921a71dd1559d",
+                "url": "https://api.github.com/repos/symfony/yaml/zipball/a9a8337aa641ef2aa39c3e028f9107ec391e5927",
+                "reference": "a9a8337aa641ef2aa39c3e028f9107ec391e5927",
                 "shasum": ""
             },
             "require": {
@@ -4069,9 +4104,6 @@
             "require-dev": {
                 "symfony/console": "^5.4|^6.0"
             },
-            "suggest": {
-                "symfony/console": "For validating YAML files using the lint command"
-            },
             "bin": [
                 "Resources/bin/yaml-lint"
             ],
@@ -4101,7 +4133,7 @@
             "description": "Loads and dumps YAML files",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/yaml/tree/v6.2.10"
+                "source": "https://github.com/symfony/yaml/tree/v6.3.0-BETA1"
             },
             "funding": [
                 {
@@ -4117,7 +4149,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2023-04-28T13:25:36+00:00"
+            "time": "2023-04-28T13:28:14+00:00"
         },
         {
             "name": "twig/twig",
@@ -7971,16 +8003,16 @@
         },
         {
             "name": "symfony/browser-kit",
-            "version": "v6.2.7",
+            "version": "v6.3.0-BETA1",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/browser-kit.git",
-                "reference": "87bd43240e6cc855f70ea1c7a448ab3bd442633c"
+                "reference": "0eb7228e7c435169e65c911ba8d107d56d850049"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/browser-kit/zipball/87bd43240e6cc855f70ea1c7a448ab3bd442633c",
-                "reference": "87bd43240e6cc855f70ea1c7a448ab3bd442633c",
+                "url": "https://api.github.com/repos/symfony/browser-kit/zipball/0eb7228e7c435169e65c911ba8d107d56d850049",
+                "reference": "0eb7228e7c435169e65c911ba8d107d56d850049",
                 "shasum": ""
             },
             "require": {
@@ -7993,9 +8025,6 @@
                 "symfony/mime": "^5.4|^6.0",
                 "symfony/process": "^5.4|^6.0"
             },
-            "suggest": {
-                "symfony/process": ""
-            },
             "type": "library",
             "autoload": {
                 "psr-4": {
@@ -8022,7 +8051,7 @@
             "description": "Simulates the behavior of a web browser, allowing you to make requests, click on links and submit forms programmatically",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/browser-kit/tree/v6.2.7"
+                "source": "https://github.com/symfony/browser-kit/tree/v6.3.0-BETA1"
             },
             "funding": [
                 {
@@ -8038,20 +8067,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2023-02-14T08:44:56+00:00"
+            "time": "2023-04-25T10:46:17+00:00"
         },
         {
             "name": "symfony/css-selector",
-            "version": "v6.2.7",
+            "version": "v6.3.0-BETA1",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/css-selector.git",
-                "reference": "aedf3cb0f5b929ec255d96bbb4909e9932c769e0"
+                "reference": "88453e64cd86c5b60e8d2fb2c6f953bbc353ffbf"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/css-selector/zipball/aedf3cb0f5b929ec255d96bbb4909e9932c769e0",
-                "reference": "aedf3cb0f5b929ec255d96bbb4909e9932c769e0",
+                "url": "https://api.github.com/repos/symfony/css-selector/zipball/88453e64cd86c5b60e8d2fb2c6f953bbc353ffbf",
+                "reference": "88453e64cd86c5b60e8d2fb2c6f953bbc353ffbf",
                 "shasum": ""
             },
             "require": {
@@ -8087,7 +8116,7 @@
             "description": "Converts CSS selectors to XPath expressions",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/css-selector/tree/v6.2.7"
+                "source": "https://github.com/symfony/css-selector/tree/v6.3.0-BETA1"
             },
             "funding": [
                 {
@@ -8103,20 +8132,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2023-02-14T08:44:56+00:00"
+            "time": "2023-03-20T16:43:42+00:00"
         },
         {
             "name": "symfony/dom-crawler",
-            "version": "v6.2.9",
+            "version": "v6.3.0-BETA1",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/dom-crawler.git",
-                "reference": "328bc3795059651d2d4e462e8febdf7ec2d7a626"
+                "reference": "2611ec97006953c3b21ac9f3c52a6a252483e637"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/328bc3795059651d2d4e462e8febdf7ec2d7a626",
-                "reference": "328bc3795059651d2d4e462e8febdf7ec2d7a626",
+                "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/2611ec97006953c3b21ac9f3c52a6a252483e637",
+                "reference": "2611ec97006953c3b21ac9f3c52a6a252483e637",
                 "shasum": ""
             },
             "require": {
@@ -8128,9 +8157,6 @@
             "require-dev": {
                 "symfony/css-selector": "^5.4|^6.0"
             },
-            "suggest": {
-                "symfony/css-selector": ""
-            },
             "type": "library",
             "autoload": {
                 "psr-4": {
@@ -8157,7 +8183,7 @@
             "description": "Eases DOM navigation for HTML and XML documents",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/dom-crawler/tree/v6.2.9"
+                "source": "https://github.com/symfony/dom-crawler/tree/v6.3.0-BETA1"
             },
             "funding": [
                 {
@@ -8173,20 +8199,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2023-04-11T16:03:19+00:00"
+            "time": "2023-04-28T16:05:33+00:00"
         },
         {
             "name": "symfony/filesystem",
-            "version": "v6.2.10",
+            "version": "v6.3.0-BETA1",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/filesystem.git",
-                "reference": "fd588debf7d1bc16a2c84b4b3b71145d9946b894"
+                "reference": "c2196aa8b563ed0bc645ee316c40ead823adfead"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/filesystem/zipball/fd588debf7d1bc16a2c84b4b3b71145d9946b894",
-                "reference": "fd588debf7d1bc16a2c84b4b3b71145d9946b894",
+                "url": "https://api.github.com/repos/symfony/filesystem/zipball/c2196aa8b563ed0bc645ee316c40ead823adfead",
+                "reference": "c2196aa8b563ed0bc645ee316c40ead823adfead",
                 "shasum": ""
             },
             "require": {
@@ -8220,7 +8246,7 @@
             "description": "Provides basic utilities for the filesystem",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/filesystem/tree/v6.2.10"
+                "source": "https://github.com/symfony/filesystem/tree/v6.3.0-BETA1"
             },
             "funding": [
                 {
@@ -8236,20 +8262,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2023-04-18T13:46:08+00:00"
+            "time": "2023-04-28T16:05:33+00:00"
         },
         {
             "name": "symfony/finder",
-            "version": "v6.2.7",
+            "version": "v6.3.0-BETA1",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/finder.git",
-                "reference": "20808dc6631aecafbe67c186af5dcb370be3a0eb"
+                "reference": "d9b01ba073c44cef617c7907ce2419f8d00d75e2"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/finder/zipball/20808dc6631aecafbe67c186af5dcb370be3a0eb",
-                "reference": "20808dc6631aecafbe67c186af5dcb370be3a0eb",
+                "url": "https://api.github.com/repos/symfony/finder/zipball/d9b01ba073c44cef617c7907ce2419f8d00d75e2",
+                "reference": "d9b01ba073c44cef617c7907ce2419f8d00d75e2",
                 "shasum": ""
             },
             "require": {
@@ -8284,7 +8310,7 @@
             "description": "Finds files and directories via an intuitive fluent interface",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/finder/tree/v6.2.7"
+                "source": "https://github.com/symfony/finder/tree/v6.3.0-BETA1"
             },
             "funding": [
                 {
@@ -8300,25 +8326,26 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2023-02-16T09:57:23+00:00"
+            "time": "2023-04-02T01:25:41+00:00"
         },
         {
             "name": "symfony/lock",
-            "version": "v6.2.8",
+            "version": "v6.3.0-BETA1",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/lock.git",
-                "reference": "fe452788cc81762f0840bd2a3dd1f230193186e5"
+                "reference": "e7ada2e70316ed784c83f92cea1986546176563b"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/lock/zipball/fe452788cc81762f0840bd2a3dd1f230193186e5",
-                "reference": "fe452788cc81762f0840bd2a3dd1f230193186e5",
+                "url": "https://api.github.com/repos/symfony/lock/zipball/e7ada2e70316ed784c83f92cea1986546176563b",
+                "reference": "e7ada2e70316ed784c83f92cea1986546176563b",
                 "shasum": ""
             },
             "require": {
                 "php": ">=8.1",
-                "psr/log": "^1|^2|^3"
+                "psr/log": "^1|^2|^3",
+                "symfony/deprecation-contracts": "^2.5|^3"
             },
             "conflict": {
                 "doctrine/dbal": "<2.13",
@@ -8326,7 +8353,7 @@
             },
             "require-dev": {
                 "doctrine/dbal": "^2.13|^3.0",
-                "predis/predis": "~1.0"
+                "predis/predis": "^1.1|^2.0"
             },
             "type": "library",
             "autoload": {
@@ -8362,7 +8389,7 @@
                 "semaphore"
             ],
             "support": {
-                "source": "https://github.com/symfony/lock/tree/v6.2.8"
+                "source": "https://github.com/symfony/lock/tree/v6.3.0-BETA1"
             },
             "funding": [
                 {
@@ -8378,20 +8405,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2023-03-14T15:00:05+00:00"
+            "time": "2023-04-21T12:19:45+00:00"
         },
         {
             "name": "symfony/phpunit-bridge",
-            "version": "v6.2.10",
+            "version": "v6.3.0-BETA1",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/phpunit-bridge.git",
-                "reference": "552950db2919421ad917e29e76d1999a2a31a8e3"
+                "reference": "0a600f537f3453db2095bf5b49f25efcef307add"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/552950db2919421ad917e29e76d1999a2a31a8e3",
-                "reference": "552950db2919421ad917e29e76d1999a2a31a8e3",
+                "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/0a600f537f3453db2095bf5b49f25efcef307add",
+                "reference": "0a600f537f3453db2095bf5b49f25efcef307add",
                 "shasum": ""
             },
             "require": {
@@ -8401,11 +8428,9 @@
                 "phpunit/phpunit": "<7.5|9.1.2"
             },
             "require-dev": {
-                "symfony/deprecation-contracts": "^2.1|^3.0",
-                "symfony/error-handler": "^5.4|^6.0"
-            },
-            "suggest": {
-                "symfony/error-handler": "For tracking deprecated interfaces usages at runtime with DebugClassLoader"
+                "symfony/deprecation-contracts": "^2.5|^3.0",
+                "symfony/error-handler": "^5.4|^6.0",
+                "symfony/polyfill-php81": "^1.27"
             },
             "bin": [
                 "bin/simple-phpunit"
@@ -8445,7 +8470,7 @@
             "description": "Provides utilities for PHPUnit, especially user deprecation notices management",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/phpunit-bridge/tree/v6.2.10"
+                "source": "https://github.com/symfony/phpunit-bridge/tree/v6.3.0-BETA1"
             },
             "funding": [
                 {
@@ -8461,7 +8486,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2023-04-18T13:46:08+00:00"
+            "time": "2023-04-21T14:41:17+00:00"
         },
         {
             "name": "theseer/tokenizer",
diff --git a/composer/Metapackage/CoreRecommended/composer.json b/composer/Metapackage/CoreRecommended/composer.json
index 68d6ea1e13ee..6b49b2ecda00 100644
--- a/composer/Metapackage/CoreRecommended/composer.json
+++ b/composer/Metapackage/CoreRecommended/composer.json
@@ -32,32 +32,33 @@
         "psr/log": "~3.0.0",
         "ralouphie/getallheaders": "~3.0.3",
         "sebastian/diff": "~4.0.4",
-        "symfony/console": "~v6.2.10",
-        "symfony/dependency-injection": "~v6.2.10",
+        "symfony/console": "~v6.3.0-BETA2",
+        "symfony/dependency-injection": "~v6.3.0-BETA3",
         "symfony/deprecation-contracts": "~v3.2.1",
-        "symfony/error-handler": "~v6.2.10",
-        "symfony/event-dispatcher": "~v6.2.8",
+        "symfony/error-handler": "~v6.3.0-BETA3",
+        "symfony/event-dispatcher": "~v6.3.0-BETA1",
         "symfony/event-dispatcher-contracts": "~v3.2.1",
-        "symfony/http-foundation": "~v6.2.10",
-        "symfony/http-kernel": "~v6.2.10",
-        "symfony/mime": "~v6.2.10",
+        "symfony/http-foundation": "~v6.3.0-BETA3",
+        "symfony/http-kernel": "~v6.3.0-BETA3",
+        "symfony/mime": "~v6.3.0-BETA1",
         "symfony/polyfill-ctype": "~v1.27.0",
         "symfony/polyfill-iconv": "~v1.27.0",
         "symfony/polyfill-intl-grapheme": "~v1.27.0",
         "symfony/polyfill-intl-idn": "~v1.27.0",
         "symfony/polyfill-intl-normalizer": "~v1.27.0",
         "symfony/polyfill-mbstring": "~v1.27.0",
-        "symfony/process": "~v6.2.10",
+        "symfony/polyfill-php83": "~v1.27.0",
+        "symfony/process": "~v6.3.0-BETA1",
         "symfony/psr-http-message-bridge": "~v2.2.0",
-        "symfony/routing": "~v6.2.8",
-        "symfony/serializer": "~v6.2.10",
+        "symfony/routing": "~v6.3.0-BETA1",
+        "symfony/serializer": "~v6.3.0-BETA3",
         "symfony/service-contracts": "~v3.2.1",
         "symfony/string": "~v6.2.8",
         "symfony/translation-contracts": "~v3.2.1",
-        "symfony/validator": "~v6.2.10",
-        "symfony/var-dumper": "~v6.2.10",
+        "symfony/validator": "~v6.3.0-BETA1",
+        "symfony/var-dumper": "~v6.3.0-BETA1",
         "symfony/var-exporter": "~v6.2.10",
-        "symfony/yaml": "~v6.2.10",
+        "symfony/yaml": "~v6.3.0-BETA1",
         "twig/twig": "~v3.6.0"
     }
 }
diff --git a/composer/Metapackage/DevDependencies/composer.json b/composer/Metapackage/DevDependencies/composer.json
index bbdf2543d4fb..abfd02205bd1 100644
--- a/composer/Metapackage/DevDependencies/composer.json
+++ b/composer/Metapackage/DevDependencies/composer.json
@@ -22,14 +22,14 @@
         "phpstan/phpstan": "^1.10.1",
         "phpstan/phpstan-phpunit": "^1.3.11",
         "phpunit/phpunit": "^9.5",
-        "symfony/browser-kit": "^6.2",
-        "symfony/css-selector": "^6.2",
-        "symfony/dom-crawler": "^6.2",
-        "symfony/error-handler": "^6.2",
-        "symfony/filesystem": "^6.2",
-        "symfony/finder": "^6.2",
-        "symfony/lock": "^6.2",
-        "symfony/phpunit-bridge": "^6.2",
-        "symfony/var-dumper": "^6.2"
+        "symfony/browser-kit": "^6.3",
+        "symfony/css-selector": "^6.3",
+        "symfony/dom-crawler": "^6.3",
+        "symfony/error-handler": "^6.3",
+        "symfony/filesystem": "^6.3",
+        "symfony/finder": "^6.3",
+        "symfony/lock": "^6.3",
+        "symfony/phpunit-bridge": "^6.3",
+        "symfony/var-dumper": "^6.3"
     }
 }
diff --git a/composer/Metapackage/PinnedDevDependencies/composer.json b/composer/Metapackage/PinnedDevDependencies/composer.json
index 298032b33c66..0c9432dcf35c 100644
--- a/composer/Metapackage/PinnedDevDependencies/composer.json
+++ b/composer/Metapackage/PinnedDevDependencies/composer.json
@@ -67,13 +67,13 @@
         "sirbrillig/phpcs-variable-analysis": "v2.11.16",
         "slevomat/coding-standard": "8.11.1",
         "squizlabs/php_codesniffer": "3.7.2",
-        "symfony/browser-kit": "v6.2.7",
-        "symfony/css-selector": "v6.2.7",
-        "symfony/dom-crawler": "v6.2.9",
-        "symfony/filesystem": "v6.2.10",
-        "symfony/finder": "v6.2.7",
-        "symfony/lock": "v6.2.8",
-        "symfony/phpunit-bridge": "v6.2.10",
+        "symfony/browser-kit": "v6.3.0-BETA1",
+        "symfony/css-selector": "v6.3.0-BETA1",
+        "symfony/dom-crawler": "v6.3.0-BETA1",
+        "symfony/filesystem": "v6.3.0-BETA1",
+        "symfony/finder": "v6.3.0-BETA1",
+        "symfony/lock": "v6.3.0-BETA1",
+        "symfony/phpunit-bridge": "v6.3.0-BETA1",
         "theseer/tokenizer": "1.2.1",
         "webflo/drupal-finder": "1.2.2",
         "webmozart/assert": "1.11.0"
diff --git a/core/composer.json b/core/composer.json
index 8c59f1495a62..47cf2763b385 100644
--- a/core/composer.json
+++ b/core/composer.json
@@ -18,18 +18,18 @@
         "ext-tokenizer": "*",
         "ext-xml": "*",
         "php": ">=8.1.0",
-        "symfony/console": "^6.2",
-        "symfony/dependency-injection": "^6.2",
-        "symfony/event-dispatcher": "^6.2",
-        "symfony/http-foundation": "^6.2",
-        "symfony/http-kernel": "^6.2",
-        "symfony/mime": "^6.2",
-        "symfony/routing": "^6.2",
-        "symfony/serializer": "^6.2",
-        "symfony/validator": "^6.2",
-        "symfony/process": "^6.2",
+        "symfony/console": "^6.3",
+        "symfony/dependency-injection": "^6.3",
+        "symfony/event-dispatcher": "^6.3",
+        "symfony/http-foundation": "^6.3",
+        "symfony/http-kernel": "^6.3",
+        "symfony/mime": "^6.3",
+        "symfony/routing": "^6.3",
+        "symfony/serializer": "^6.3",
+        "symfony/validator": "^6.3",
+        "symfony/process": "^6.3",
         "symfony/polyfill-iconv": "^1.26",
-        "symfony/yaml": "^6.2",
+        "symfony/yaml": "^6.3",
         "twig/twig": "^3.5.0",
         "doctrine/annotations": "^1.14",
         "guzzlehttp/guzzle": "^7.5",
diff --git a/core/lib/Drupal/Component/DependencyInjection/Container.php b/core/lib/Drupal/Component/DependencyInjection/Container.php
index 7f6d54b4c053..4432b096721a 100644
--- a/core/lib/Drupal/Component/DependencyInjection/Container.php
+++ b/core/lib/Drupal/Component/DependencyInjection/Container.php
@@ -304,6 +304,9 @@ protected function createService(array $definition, $id) {
 
   /**
    * {@inheritdoc}
+   *
+   * phpcs:ignore Drupal.Commenting.FunctionComment.VoidReturn
+   * @return void
    */
   public function set($id, $service) {
     $this->services[$id] = $service;
@@ -340,6 +343,9 @@ public function hasParameter($name): bool {
 
   /**
    * {@inheritdoc}
+   *
+   * phpcs:ignore Drupal.Commenting.FunctionComment.VoidReturn
+   * @return void
    */
   public function setParameter($name, $value) {
     if ($this->frozen) {
diff --git a/core/lib/Drupal/Component/DependencyInjection/composer.json b/core/lib/Drupal/Component/DependencyInjection/composer.json
index ce34c904bdbd..7fec218628f4 100644
--- a/core/lib/Drupal/Component/DependencyInjection/composer.json
+++ b/core/lib/Drupal/Component/DependencyInjection/composer.json
@@ -14,7 +14,7 @@
     },
     "require": {
         "php": ">=8.1.0",
-        "symfony/dependency-injection": "^6.2",
+        "symfony/dependency-injection": "^6.3",
         "symfony/service-contracts": "v3.2.1"
     },
     "suggest": {
diff --git a/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php b/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php
index 4e0d579e25d9..09a1d4e41225 100644
--- a/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php
+++ b/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php
@@ -210,6 +210,9 @@ public function hasListeners($event_name = NULL): bool {
 
   /**
    * {@inheritdoc}
+   *
+   * phpcs:ignore Drupal.Commenting.FunctionComment.VoidReturn
+   * @return void
    */
   public function addListener($event_name, $listener, $priority = 0) {
     $this->listeners[$event_name][$priority][] = ['callable' => $listener];
@@ -218,6 +221,9 @@ public function addListener($event_name, $listener, $priority = 0) {
 
   /**
    * {@inheritdoc}
+   *
+   * phpcs:ignore Drupal.Commenting.FunctionComment.VoidReturn
+   * @return void
    */
   public function removeListener($event_name, $listener) {
     if (!isset($this->listeners[$event_name])) {
@@ -255,6 +261,9 @@ public function removeListener($event_name, $listener) {
 
   /**
    * {@inheritdoc}
+   *
+   * phpcs:ignore Drupal.Commenting.FunctionComment.VoidReturn
+   * @return void
    */
   public function addSubscriber(EventSubscriberInterface $subscriber) {
     foreach ($subscriber->getSubscribedEvents() as $event_name => $params) {
@@ -274,6 +283,9 @@ public function addSubscriber(EventSubscriberInterface $subscriber) {
 
   /**
    * {@inheritdoc}
+   *
+   * phpcs:ignore Drupal.Commenting.FunctionComment.VoidReturn
+   * @return void
    */
   public function removeSubscriber(EventSubscriberInterface $subscriber) {
     foreach ($subscriber->getSubscribedEvents() as $event_name => $params) {
diff --git a/core/lib/Drupal/Component/EventDispatcher/composer.json b/core/lib/Drupal/Component/EventDispatcher/composer.json
index 6e27b76dfb44..5410167c4486 100644
--- a/core/lib/Drupal/Component/EventDispatcher/composer.json
+++ b/core/lib/Drupal/Component/EventDispatcher/composer.json
@@ -8,8 +8,8 @@
     "license": "GPL-2.0-or-later",
     "require": {
         "php": ">=8.1.0",
-        "symfony/dependency-injection": "^6.2",
-        "symfony/event-dispatcher": "^6.2",
+        "symfony/dependency-injection": "^6.3",
+        "symfony/event-dispatcher": "^6.3",
         "symfony/event-dispatcher-contracts": "v3.2.1"
     },
     "autoload": {
diff --git a/core/lib/Drupal/Component/HttpFoundation/composer.json b/core/lib/Drupal/Component/HttpFoundation/composer.json
index 2af295bd3e0c..8661a5c6b86d 100644
--- a/core/lib/Drupal/Component/HttpFoundation/composer.json
+++ b/core/lib/Drupal/Component/HttpFoundation/composer.json
@@ -8,7 +8,7 @@
     "license": "GPL-2.0-or-later",
     "require": {
         "php": ">=8.1.0",
-        "symfony/http-foundation": "^6.2"
+        "symfony/http-foundation": "^6.3"
     },
     "autoload": {
         "psr-4": {
@@ -19,5 +19,6 @@
         "_readme": [
             "This file was partially generated automatically. See: https://www.drupal.org/node/3293830"
         ]
-    }
+    },
+    "minimum-stability": "beta"
 }
diff --git a/core/lib/Drupal/Component/Plugin/composer.json b/core/lib/Drupal/Component/Plugin/composer.json
index 149123511977..625941e1ba4d 100644
--- a/core/lib/Drupal/Component/Plugin/composer.json
+++ b/core/lib/Drupal/Component/Plugin/composer.json
@@ -10,7 +10,7 @@
     "license": "GPL-2.0-or-later",
     "require": {
         "php": ">=8.1.0",
-        "symfony/validator": "^6.2"
+        "symfony/validator": "^6.3"
     },
     "autoload": {
         "psr-4": {
@@ -24,5 +24,6 @@
         "_readme": [
             "This file was partially generated automatically. See: https://www.drupal.org/node/3293830"
         ]
-    }
+    },
+    "minimum-stability": "beta"
 }
diff --git a/core/lib/Drupal/Component/Serialization/composer.json b/core/lib/Drupal/Component/Serialization/composer.json
index fbcb3792e21f..995e0efa624e 100644
--- a/core/lib/Drupal/Component/Serialization/composer.json
+++ b/core/lib/Drupal/Component/Serialization/composer.json
@@ -8,7 +8,7 @@
     "license": "GPL-2.0-or-later",
     "require": {
         "php": ">=8.1.0",
-        "symfony/yaml": "^6.2"
+        "symfony/yaml": "^6.3"
     },
     "autoload": {
         "psr-4": {
@@ -19,5 +19,6 @@
         "_readme": [
             "This file was partially generated automatically. See: https://www.drupal.org/node/3293830"
         ]
-    }
+    },
+    "minimum-stability": "beta"
 }
diff --git a/core/lib/Drupal/Core/Command/DbCommandBase.php b/core/lib/Drupal/Core/Command/DbCommandBase.php
index ff620e4d9b2f..78006c71f2c1 100644
--- a/core/lib/Drupal/Core/Command/DbCommandBase.php
+++ b/core/lib/Drupal/Core/Command/DbCommandBase.php
@@ -14,6 +14,9 @@ class DbCommandBase extends Command {
 
   /**
    * {@inheritdoc}
+   *
+   * phpcs:ignore Drupal.Commenting.FunctionComment.VoidReturn
+   * @return void
    */
   protected function configure() {
     $this->addOption('database', NULL, InputOption::VALUE_OPTIONAL, 'The database connection name to use.', 'default')
diff --git a/core/lib/Drupal/Core/DependencyInjection/Compiler/AuthenticationProviderPass.php b/core/lib/Drupal/Core/DependencyInjection/Compiler/AuthenticationProviderPass.php
index 20708e12210c..a8f761d26110 100644
--- a/core/lib/Drupal/Core/DependencyInjection/Compiler/AuthenticationProviderPass.php
+++ b/core/lib/Drupal/Core/DependencyInjection/Compiler/AuthenticationProviderPass.php
@@ -12,6 +12,9 @@ class AuthenticationProviderPass implements CompilerPassInterface {
 
   /**
    * {@inheritdoc}
+   *
+   * phpcs:ignore Drupal.Commenting.FunctionComment.VoidReturn
+   * @return void
    */
   public function process(ContainerBuilder $container) {
     $authentication_providers = [];
diff --git a/core/lib/Drupal/Core/DependencyInjection/Compiler/BackendCompilerPass.php b/core/lib/Drupal/Core/DependencyInjection/Compiler/BackendCompilerPass.php
index b139bb71d53d..5f89e0e2bd73 100644
--- a/core/lib/Drupal/Core/DependencyInjection/Compiler/BackendCompilerPass.php
+++ b/core/lib/Drupal/Core/DependencyInjection/Compiler/BackendCompilerPass.php
@@ -35,6 +35,9 @@ class BackendCompilerPass implements CompilerPassInterface {
 
   /**
    * {@inheritdoc}
+   *
+   * phpcs:ignore Drupal.Commenting.FunctionComment.VoidReturn
+   * @return void
    */
   public function process(ContainerBuilder $container) {
     $driver_backend = NULL;
diff --git a/core/lib/Drupal/Core/DependencyInjection/Compiler/ProxyServicesPass.php b/core/lib/Drupal/Core/DependencyInjection/Compiler/ProxyServicesPass.php
index 1b1f03577c98..77d529fa7ee8 100644
--- a/core/lib/Drupal/Core/DependencyInjection/Compiler/ProxyServicesPass.php
+++ b/core/lib/Drupal/Core/DependencyInjection/Compiler/ProxyServicesPass.php
@@ -16,6 +16,9 @@ class ProxyServicesPass implements CompilerPassInterface {
 
   /**
    * {@inheritdoc}
+   *
+   * phpcs:ignore Drupal.Commenting.FunctionComment.VoidReturn
+   * @return void
    */
   public function process(ContainerBuilder $container) {
     foreach ($container->getDefinitions() as $service_id => $definition) {
diff --git a/core/lib/Drupal/Core/DependencyInjection/Compiler/StackedKernelPass.php b/core/lib/Drupal/Core/DependencyInjection/Compiler/StackedKernelPass.php
index da17bb5c6469..162bc70ad945 100644
--- a/core/lib/Drupal/Core/DependencyInjection/Compiler/StackedKernelPass.php
+++ b/core/lib/Drupal/Core/DependencyInjection/Compiler/StackedKernelPass.php
@@ -50,6 +50,9 @@ class StackedKernelPass implements CompilerPassInterface {
 
   /**
    * {@inheritdoc}
+   *
+   * phpcs:ignore Drupal.Commenting.FunctionComment.VoidReturn
+   * @return void
    */
   public function process(ContainerBuilder $container) {
 
diff --git a/core/lib/Drupal/Core/DependencyInjection/Compiler/TaggedHandlersPass.php b/core/lib/Drupal/Core/DependencyInjection/Compiler/TaggedHandlersPass.php
index 8022440efafb..02c2870491c1 100644
--- a/core/lib/Drupal/Core/DependencyInjection/Compiler/TaggedHandlersPass.php
+++ b/core/lib/Drupal/Core/DependencyInjection/Compiler/TaggedHandlersPass.php
@@ -101,6 +101,8 @@ class TaggedHandlersPass implements CompilerPassInterface {
    *   If a tagged handler does not implement the required interface.
    * @throws \Symfony\Component\DependencyInjection\Exception\LogicException
    *   If at least one tagged service is required but none are found.
+   * phpcs:ignore Drupal.Commenting.FunctionComment.VoidReturn
+   * @return void
    */
   public function process(ContainerBuilder $container) {
     // Avoid using ContainerBuilder::findTaggedServiceIds() as that results in
diff --git a/core/lib/Drupal/Core/DependencyInjection/ContainerBuilder.php b/core/lib/Drupal/Core/DependencyInjection/ContainerBuilder.php
index c7b46487049a..84c529b4dfc3 100644
--- a/core/lib/Drupal/Core/DependencyInjection/ContainerBuilder.php
+++ b/core/lib/Drupal/Core/DependencyInjection/ContainerBuilder.php
@@ -36,6 +36,9 @@ public function __construct(ParameterBagInterface $parameterBag = NULL) {
    * override Symfony's ContainerBuilder's restriction on setting services in a
    * frozen builder.
    *
+   * phpcs:ignore Drupal.Commenting.FunctionComment.VoidReturn
+   * @return void
+   *
    * @todo Restrict this to synthetic services only. Ideally, the upstream
    *   ContainerBuilder class should be fixed to allow setting synthetic
    *   services in a frozen builder.
@@ -67,6 +70,9 @@ public function setAlias($alias, $id): Alias {
 
   /**
    * {@inheritdoc}
+   *
+   * phpcs:ignore Drupal.Commenting.FunctionComment.VoidReturn
+   * @return void
    */
   public function setParameter($name, $value) {
     if (strtolower($name) !== $name) {
diff --git a/core/lib/Drupal/Core/DrupalKernel.php b/core/lib/Drupal/Core/DrupalKernel.php
index a2eb065c7aaf..c6f0b9846d94 100644
--- a/core/lib/Drupal/Core/DrupalKernel.php
+++ b/core/lib/Drupal/Core/DrupalKernel.php
@@ -531,6 +531,9 @@ public function getContainer() {
 
   /**
    * {@inheritdoc}
+   *
+   * phpcs:ignore Drupal.Commenting.FunctionComment.VoidReturn
+   * @return void
    */
   public function setContainer(ContainerInterface $container = NULL) {
     if (isset($this->container)) {
@@ -670,6 +673,9 @@ public function getServiceProviders($origin) {
 
   /**
    * {@inheritdoc}
+   *
+   * phpcs:ignore Drupal.Commenting.FunctionComment.VoidReturn
+   * @return void
    */
   public function terminate(Request $request, Response $response) {
     // Only run terminate() when essential services have been set up properly
diff --git a/core/lib/Drupal/Core/Entity/EntityConstraintViolationList.php b/core/lib/Drupal/Core/Entity/EntityConstraintViolationList.php
index c31a4044145c..0eda78891b3e 100644
--- a/core/lib/Drupal/Core/Entity/EntityConstraintViolationList.php
+++ b/core/lib/Drupal/Core/Entity/EntityConstraintViolationList.php
@@ -187,6 +187,9 @@ public function getEntity() {
 
   /**
    * {@inheritdoc}
+   *
+   * phpcs:ignore Drupal.Commenting.FunctionComment.VoidReturn
+   * @return void
    */
   public function add(ConstraintViolationInterface $violation) {
     parent::add($violation);
@@ -196,6 +199,9 @@ public function add(ConstraintViolationInterface $violation) {
 
   /**
    * {@inheritdoc}
+   *
+   * phpcs:ignore Drupal.Commenting.FunctionComment.VoidReturn
+   * @return void
    */
   public function remove($offset) {
     parent::remove($offset);
@@ -205,6 +211,9 @@ public function remove($offset) {
 
   /**
    * {@inheritdoc}
+   *
+   * phpcs:ignore Drupal.Commenting.FunctionComment.VoidReturn
+   * @return void
    */
   public function set($offset, ConstraintViolationInterface $violation) {
     parent::set($offset, $violation);
diff --git a/core/lib/Drupal/Core/Entity/Plugin/Validation/Constraint/BundleConstraintValidator.php b/core/lib/Drupal/Core/Entity/Plugin/Validation/Constraint/BundleConstraintValidator.php
index 39e99afc5e2b..7a801c2b12b0 100644
--- a/core/lib/Drupal/Core/Entity/Plugin/Validation/Constraint/BundleConstraintValidator.php
+++ b/core/lib/Drupal/Core/Entity/Plugin/Validation/Constraint/BundleConstraintValidator.php
@@ -12,6 +12,9 @@ class BundleConstraintValidator extends ConstraintValidator {
 
   /**
    * {@inheritdoc}
+   *
+   * phpcs:ignore Drupal.Commenting.FunctionComment.VoidReturn
+   * @return void
    */
   public function validate($entity, Constraint $constraint) {
     if (!isset($entity)) {
diff --git a/core/lib/Drupal/Core/Entity/Plugin/Validation/Constraint/EntityTypeConstraintValidator.php b/core/lib/Drupal/Core/Entity/Plugin/Validation/Constraint/EntityTypeConstraintValidator.php
index acb000ad6b71..fffe5d36ae22 100644
--- a/core/lib/Drupal/Core/Entity/Plugin/Validation/Constraint/EntityTypeConstraintValidator.php
+++ b/core/lib/Drupal/Core/Entity/Plugin/Validation/Constraint/EntityTypeConstraintValidator.php
@@ -12,6 +12,9 @@ class EntityTypeConstraintValidator extends ConstraintValidator {
 
   /**
    * {@inheritdoc}
+   *
+   * phpcs:ignore Drupal.Commenting.FunctionComment.VoidReturn
+   * @return void
    */
   public function validate($entity, Constraint $constraint) {
     if (!isset($entity)) {
diff --git a/core/lib/Drupal/Core/Render/MetadataBubblingUrlGenerator.php b/core/lib/Drupal/Core/Render/MetadataBubblingUrlGenerator.php
index 482f6dffe733..dbd4c852fc7b 100644
--- a/core/lib/Drupal/Core/Render/MetadataBubblingUrlGenerator.php
+++ b/core/lib/Drupal/Core/Render/MetadataBubblingUrlGenerator.php
@@ -49,6 +49,9 @@ public function __construct(UrlGeneratorInterface $url_generator, RendererInterf
 
   /**
    * {@inheritdoc}
+   *
+   * phpcs:ignore Drupal.Commenting.FunctionComment.VoidReturn
+   * @return void
    */
   public function setContext(SymfonyRequestContext $context) {
     $this->urlGenerator->setContext($context);
diff --git a/core/lib/Drupal/Core/Routing/AccessAwareRouter.php b/core/lib/Drupal/Core/Routing/AccessAwareRouter.php
index 0e18492567d4..08ccdfe6653e 100644
--- a/core/lib/Drupal/Core/Routing/AccessAwareRouter.php
+++ b/core/lib/Drupal/Core/Routing/AccessAwareRouter.php
@@ -65,6 +65,9 @@ public function __call($name, $arguments) {
 
   /**
    * {@inheritdoc}
+   *
+   * phpcs:ignore Drupal.Commenting.FunctionComment.VoidReturn
+   * @return void
    */
   public function setContext(SymfonyRequestContext $context) {
     $this->router->setContext($context);
diff --git a/core/lib/Drupal/Core/Routing/UrlGenerator.php b/core/lib/Drupal/Core/Routing/UrlGenerator.php
index 5e2ccab69d19..e41fe77d407b 100644
--- a/core/lib/Drupal/Core/Routing/UrlGenerator.php
+++ b/core/lib/Drupal/Core/Routing/UrlGenerator.php
@@ -96,6 +96,9 @@ public function __construct(RouteProviderInterface $provider, OutboundPathProces
 
   /**
    * {@inheritdoc}
+   *
+   * phpcs:ignore Drupal.Commenting.FunctionComment.VoidReturn
+   * @return void
    */
   public function setContext(SymfonyRequestContext $context) {
     $this->context = $context;
diff --git a/core/lib/Drupal/Core/Session/MetadataBag.php b/core/lib/Drupal/Core/Session/MetadataBag.php
index be0017177a08..2fd79ed700fc 100644
--- a/core/lib/Drupal/Core/Session/MetadataBag.php
+++ b/core/lib/Drupal/Core/Session/MetadataBag.php
@@ -51,6 +51,9 @@ public function getCsrfTokenSeed() {
 
   /**
    * {@inheritdoc}
+   *
+   * phpcs:ignore Drupal.Commenting.FunctionComment.VoidReturn
+   * @return void
    */
   public function stampNew($lifetime = NULL) {
     parent::stampNew($lifetime);
diff --git a/core/lib/Drupal/Core/TypedData/Validation/ConstraintViolationBuilder.php b/core/lib/Drupal/Core/TypedData/Validation/ConstraintViolationBuilder.php
index 05039252269d..d009e4e248ad 100644
--- a/core/lib/Drupal/Core/TypedData/Validation/ConstraintViolationBuilder.php
+++ b/core/lib/Drupal/Core/TypedData/Validation/ConstraintViolationBuilder.php
@@ -214,6 +214,9 @@ public function setCause($cause): static
 
     /**
      * {@inheritdoc}
+     *
+     * phpcs:ignore Drupal.Commenting.FunctionComment.VoidReturn
+     * @return void
      */
     public function addViolation()
     {
diff --git a/core/lib/Drupal/Core/TypedData/Validation/ExecutionContext.php b/core/lib/Drupal/Core/TypedData/Validation/ExecutionContext.php
index 04e22534addb..6e789ccf60a8 100644
--- a/core/lib/Drupal/Core/TypedData/Validation/ExecutionContext.php
+++ b/core/lib/Drupal/Core/TypedData/Validation/ExecutionContext.php
@@ -133,7 +133,7 @@ public function __construct(ValidatorInterface $validator, $root, TranslatorInte
   /**
    * {@inheritdoc}
    */
-  public function setNode($value, $object, MetadataInterface $metadata = NULL, $propertyPath) {
+  public function setNode($value, $object, MetadataInterface $metadata = NULL, $propertyPath): void {
     $this->value = $value;
     $this->data = $object;
     $this->metadata = $metadata;
@@ -143,19 +143,22 @@ public function setNode($value, $object, MetadataInterface $metadata = NULL, $pr
   /**
    * {@inheritdoc}
    */
-  public function setGroup($group) {
+  public function setGroup($group): void {
     $this->group = $group;
   }
 
   /**
    * {@inheritdoc}
    */
-  public function setConstraint(Constraint $constraint) {
+  public function setConstraint(Constraint $constraint): void {
     $this->constraint = $constraint;
   }
 
   /**
    * {@inheritdoc}
+   *
+   * phpcs:ignore Drupal.Commenting.FunctionComment.VoidReturn
+   * @return void
    */
   public function addViolation($message, array $parameters = []) {
     $this->violations->add(new ConstraintViolation($this->translator->trans($message, $parameters, $this->translationDomain), $message, $parameters, $this->root, $this->propertyPath, $this->value, NULL, NULL, $this->constraint));
@@ -241,7 +244,7 @@ public function getPropertyPath($sub_path = ''): string {
   /**
    * {@inheritdoc}
    */
-  public function markConstraintAsValidated($cache_key, $constraint_hash) {
+  public function markConstraintAsValidated($cache_key, $constraint_hash): void {
     $this->validatedConstraints[$cache_key . ':' . $constraint_hash] = TRUE;
   }
 
@@ -255,7 +258,7 @@ public function isConstraintValidated($cache_key, $constraint_hash): bool {
   /**
    * {@inheritdoc}
    */
-  public function markGroupAsValidated($cache_key, $group_hash) {
+  public function markGroupAsValidated($cache_key, $group_hash): void {
     $this->validatedObjects[$cache_key][$group_hash] = TRUE;
   }
 
@@ -269,7 +272,7 @@ public function isGroupValidated($cache_key, $group_hash): bool {
   /**
    * {@inheritdoc}
    */
-  public function markObjectAsInitialized($cache_key) {
+  public function markObjectAsInitialized($cache_key): void {
     throw new \LogicException('\Symfony\Component\Validator\Context\ExecutionContextInterface::markObjectAsInitialized is unsupported.');
   }
 
diff --git a/core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/NotNullConstraintValidator.php b/core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/NotNullConstraintValidator.php
index 6d423e4a5930..1cbf5d9600b8 100644
--- a/core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/NotNullConstraintValidator.php
+++ b/core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/NotNullConstraintValidator.php
@@ -19,6 +19,9 @@ class NotNullConstraintValidator extends NotNullValidator {
 
   /**
    * {@inheritdoc}
+   *
+   * phpcs:ignore Drupal.Commenting.FunctionComment.VoidReturn
+   * @return void
    */
   public function validate($value, Constraint $constraint) {
     $typed_data = $this->getTypedData();
diff --git a/core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/PrimitiveTypeConstraintValidator.php b/core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/PrimitiveTypeConstraintValidator.php
index be11f8004979..aa9c5bb4057c 100644
--- a/core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/PrimitiveTypeConstraintValidator.php
+++ b/core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/PrimitiveTypeConstraintValidator.php
@@ -24,6 +24,9 @@ class PrimitiveTypeConstraintValidator extends ConstraintValidator {
 
   /**
    * {@inheritdoc}
+   *
+   * phpcs:ignore Drupal.Commenting.FunctionComment.VoidReturn
+   * @return void
    */
   public function validate($value, Constraint $constraint) {
 
diff --git a/core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/RangeConstraintValidator.php b/core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/RangeConstraintValidator.php
index f78a29fbd841..44da46dff66a 100644
--- a/core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/RangeConstraintValidator.php
+++ b/core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/RangeConstraintValidator.php
@@ -14,6 +14,9 @@ class RangeConstraintValidator extends ConstraintValidator {
 
   /**
    * {@inheritdoc}
+   *
+   * phpcs:ignore Drupal.Commenting.FunctionComment.VoidReturn
+   * @return void
    */
   public function validate($value, Constraint $constraint) {
     if (!$constraint instanceof Range) {
diff --git a/core/modules/jsonapi/src/Normalizer/ConfigEntityDenormalizer.php b/core/modules/jsonapi/src/Normalizer/ConfigEntityDenormalizer.php
index 3cc3eed9aa7f..95a6f30469bc 100644
--- a/core/modules/jsonapi/src/Normalizer/ConfigEntityDenormalizer.php
+++ b/core/modules/jsonapi/src/Normalizer/ConfigEntityDenormalizer.php
@@ -36,7 +36,18 @@ protected function prepareInput(array $data, ResourceType $resource_type, $forma
    * {@inheritdoc}
    */
   public function hasCacheableSupportsMethod(): bool {
+    @trigger_error(__METHOD__ . '() is deprecated in drupal:10.1.0 and is removed from drupal:11.0.0. Use getSupportedTypes() instead. See https://www.drupal.org/node/3359695', E_USER_DEPRECATED);
+
     return TRUE;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getSupportedTypes(?string $format): array {
+    return [
+      ConfigEntityInterface::class => TRUE,
+    ];
+  }
+
 }
diff --git a/core/modules/jsonapi/src/Normalizer/ContentEntityDenormalizer.php b/core/modules/jsonapi/src/Normalizer/ContentEntityDenormalizer.php
index 9311ace8deb0..f513e787bf0b 100644
--- a/core/modules/jsonapi/src/Normalizer/ContentEntityDenormalizer.php
+++ b/core/modules/jsonapi/src/Normalizer/ContentEntityDenormalizer.php
@@ -92,7 +92,18 @@ protected function prepareInput(array $data, ResourceType $resource_type, $forma
    * {@inheritdoc}
    */
   public function hasCacheableSupportsMethod(): bool {
+    @trigger_error(__METHOD__ . '() is deprecated in drupal:10.1.0 and is removed from drupal:11.0.0. Use getSupportedTypes() instead. See https://www.drupal.org/node/3359695', E_USER_DEPRECATED);
+
     return TRUE;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getSupportedTypes(?string $format): array {
+    return [
+      ContentEntityInterface::class => TRUE,
+    ];
+  }
+
 }
diff --git a/core/modules/jsonapi/src/Normalizer/DataNormalizer.php b/core/modules/jsonapi/src/Normalizer/DataNormalizer.php
index 1e8846b00fde..67217fceb2a7 100644
--- a/core/modules/jsonapi/src/Normalizer/DataNormalizer.php
+++ b/core/modules/jsonapi/src/Normalizer/DataNormalizer.php
@@ -34,7 +34,18 @@ public function normalize($object, $format = NULL, array $context = []): array|s
    * {@inheritdoc}
    */
   public function hasCacheableSupportsMethod(): bool {
+    @trigger_error(__METHOD__ . '() is deprecated in drupal:10.1.0 and is removed from drupal:11.0.0. Use getSupportedTypes() instead. See https://www.drupal.org/node/3359695', E_USER_DEPRECATED);
+
     return TRUE;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getSupportedTypes(?string $format): array {
+    return [
+      Data::class => TRUE,
+    ];
+  }
+
 }
diff --git a/core/modules/jsonapi/src/Normalizer/EntityAccessDeniedHttpExceptionNormalizer.php b/core/modules/jsonapi/src/Normalizer/EntityAccessDeniedHttpExceptionNormalizer.php
index ff9c1c7b532b..beedcc24be02 100644
--- a/core/modules/jsonapi/src/Normalizer/EntityAccessDeniedHttpExceptionNormalizer.php
+++ b/core/modules/jsonapi/src/Normalizer/EntityAccessDeniedHttpExceptionNormalizer.php
@@ -65,4 +65,13 @@ protected function buildErrorObjects(HttpException $exception) {
     return $errors;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getSupportedTypes(?string $format): array {
+    return [
+      EntityAccessDeniedHttpException::class => TRUE,
+    ];
+  }
+
 }
diff --git a/core/modules/jsonapi/src/Normalizer/EntityReferenceFieldNormalizer.php b/core/modules/jsonapi/src/Normalizer/EntityReferenceFieldNormalizer.php
index 8472c1dacff5..79561f22c74e 100644
--- a/core/modules/jsonapi/src/Normalizer/EntityReferenceFieldNormalizer.php
+++ b/core/modules/jsonapi/src/Normalizer/EntityReferenceFieldNormalizer.php
@@ -115,4 +115,13 @@ protected static function hasNonInternalResourceType(array $resource_types) {
     return FALSE;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getSupportedTypes(?string $format): array {
+    return [
+      EntityReferenceFieldItemListInterface::class => TRUE,
+    ];
+  }
+
 }
diff --git a/core/modules/jsonapi/src/Normalizer/FieldItemNormalizer.php b/core/modules/jsonapi/src/Normalizer/FieldItemNormalizer.php
index 296cb3dfbf9d..0dcca6bff3ce 100644
--- a/core/modules/jsonapi/src/Normalizer/FieldItemNormalizer.php
+++ b/core/modules/jsonapi/src/Normalizer/FieldItemNormalizer.php
@@ -244,7 +244,18 @@ protected function getFieldItemInstance(ResourceType $resource_type, FieldItemDa
    * {@inheritdoc}
    */
   public function hasCacheableSupportsMethod(): bool {
+    @trigger_error(__METHOD__ . '() is deprecated in drupal:10.1.0 and is removed from drupal:11.0.0. Use getSupportedTypes() instead. See https://www.drupal.org/node/3359695', E_USER_DEPRECATED);
+
     return TRUE;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getSupportedTypes(?string $format): array {
+    return [
+      FieldItemInterface::class => TRUE,
+    ];
+  }
+
 }
diff --git a/core/modules/jsonapi/src/Normalizer/FieldNormalizer.php b/core/modules/jsonapi/src/Normalizer/FieldNormalizer.php
index 206d4ec43201..159f7eb38123 100644
--- a/core/modules/jsonapi/src/Normalizer/FieldNormalizer.php
+++ b/core/modules/jsonapi/src/Normalizer/FieldNormalizer.php
@@ -100,7 +100,18 @@ protected function normalizeFieldItems(FieldItemListInterface $field, $format, a
    * {@inheritdoc}
    */
   public function hasCacheableSupportsMethod(): bool {
+    @trigger_error(__METHOD__ . '() is deprecated in drupal:10.1.0 and is removed from drupal:11.0.0. Use getSupportedTypes() instead. See https://www.drupal.org/node/3359695', E_USER_DEPRECATED);
+
     return TRUE;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getSupportedTypes(?string $format): array {
+    return [
+      FieldItemListInterface::class => TRUE,
+    ];
+  }
+
 }
diff --git a/core/modules/jsonapi/src/Normalizer/HttpExceptionNormalizer.php b/core/modules/jsonapi/src/Normalizer/HttpExceptionNormalizer.php
index f8837a1be06b..3ba7ea111d0c 100644
--- a/core/modules/jsonapi/src/Normalizer/HttpExceptionNormalizer.php
+++ b/core/modules/jsonapi/src/Normalizer/HttpExceptionNormalizer.php
@@ -168,7 +168,18 @@ public static function getInfoUrl($status_code) {
    * {@inheritdoc}
    */
   public function hasCacheableSupportsMethod(): bool {
+    @trigger_error(__METHOD__ . '() is deprecated in drupal:10.1.0 and is removed from drupal:11.0.0. Use getSupportedTypes() instead. See https://www.drupal.org/node/3359695', E_USER_DEPRECATED);
+
     return TRUE;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getSupportedTypes(?string $format): array {
+    return [
+      HttpException::class => TRUE,
+    ];
+  }
+
 }
diff --git a/core/modules/jsonapi/src/Normalizer/JsonApiDocumentTopLevelNormalizer.php b/core/modules/jsonapi/src/Normalizer/JsonApiDocumentTopLevelNormalizer.php
index 47a2e4c62989..5df231f449d9 100644
--- a/core/modules/jsonapi/src/Normalizer/JsonApiDocumentTopLevelNormalizer.php
+++ b/core/modules/jsonapi/src/Normalizer/JsonApiDocumentTopLevelNormalizer.php
@@ -336,7 +336,18 @@ protected static function getLinkHash($salt, $link_href) {
    * {@inheritdoc}
    */
   public function hasCacheableSupportsMethod(): bool {
+    @trigger_error(__METHOD__ . '() is deprecated in drupal:10.1.0 and is removed from drupal:11.0.0. Use getSupportedTypes() instead. See https://www.drupal.org/node/3359695', E_USER_DEPRECATED);
+
     return TRUE;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getSupportedTypes(?string $format): array {
+    return [
+      JsonApiDocumentTopLevel::class => TRUE,
+    ];
+  }
+
 }
diff --git a/core/modules/jsonapi/src/Normalizer/LinkCollectionNormalizer.php b/core/modules/jsonapi/src/Normalizer/LinkCollectionNormalizer.php
index d23bb89bf66d..acd299766a9b 100644
--- a/core/modules/jsonapi/src/Normalizer/LinkCollectionNormalizer.php
+++ b/core/modules/jsonapi/src/Normalizer/LinkCollectionNormalizer.php
@@ -154,7 +154,18 @@ protected function hashByHref(Link $link) {
    * {@inheritdoc}
    */
   public function hasCacheableSupportsMethod(): bool {
+    @trigger_error(__METHOD__ . '() is deprecated in drupal:10.1.0 and is removed from drupal:11.0.0. Use getSupportedTypes() instead. See https://www.drupal.org/node/3359695', E_USER_DEPRECATED);
+
     return TRUE;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getSupportedTypes(?string $format): array {
+    return [
+      LinkCollection::class => TRUE,
+    ];
+  }
+
 }
diff --git a/core/modules/jsonapi/src/Normalizer/RelationshipNormalizer.php b/core/modules/jsonapi/src/Normalizer/RelationshipNormalizer.php
index 653248a13f70..09fd83168f5a 100644
--- a/core/modules/jsonapi/src/Normalizer/RelationshipNormalizer.php
+++ b/core/modules/jsonapi/src/Normalizer/RelationshipNormalizer.php
@@ -33,7 +33,18 @@ public function normalize($object, $format = NULL, array $context = []): array|s
    * {@inheritdoc}
    */
   public function hasCacheableSupportsMethod(): bool {
+    @trigger_error(__METHOD__ . '() is deprecated in drupal:10.1.0 and is removed from drupal:11.0.0. Use getSupportedTypes() instead. See https://www.drupal.org/node/3359695', E_USER_DEPRECATED);
+
     return TRUE;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getSupportedTypes(?string $format): array {
+    return [
+      Relationship::class => TRUE,
+    ];
+  }
+
 }
diff --git a/core/modules/jsonapi/src/Normalizer/ResourceIdentifierNormalizer.php b/core/modules/jsonapi/src/Normalizer/ResourceIdentifierNormalizer.php
index b7734c5fc2aa..a7d66623f0c2 100644
--- a/core/modules/jsonapi/src/Normalizer/ResourceIdentifierNormalizer.php
+++ b/core/modules/jsonapi/src/Normalizer/ResourceIdentifierNormalizer.php
@@ -143,7 +143,18 @@ protected function massageRelationshipInput(array $data, $is_multiple) {
    * {@inheritdoc}
    */
   public function hasCacheableSupportsMethod(): bool {
+    @trigger_error(__METHOD__ . '() is deprecated in drupal:10.1.0 and is removed from drupal:11.0.0. Use getSupportedTypes() instead. See https://www.drupal.org/node/3359695', E_USER_DEPRECATED);
+
     return TRUE;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getSupportedTypes(?string $format): array {
+    return [
+      ResourceIdentifier::class => TRUE,
+    ];
+  }
+
 }
diff --git a/core/modules/jsonapi/src/Normalizer/ResourceObjectNormalizer.php b/core/modules/jsonapi/src/Normalizer/ResourceObjectNormalizer.php
index 44da232a7172..53671cd2b930 100644
--- a/core/modules/jsonapi/src/Normalizer/ResourceObjectNormalizer.php
+++ b/core/modules/jsonapi/src/Normalizer/ResourceObjectNormalizer.php
@@ -206,7 +206,18 @@ protected function serializeField($field, array $context, $format) {
    * {@inheritdoc}
    */
   public function hasCacheableSupportsMethod(): bool {
+    @trigger_error(__METHOD__ . '() is deprecated in drupal:10.1.0 and is removed from drupal:11.0.0. Use getSupportedTypes() instead. See https://www.drupal.org/node/3359695', E_USER_DEPRECATED);
+
     return TRUE;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getSupportedTypes(?string $format): array {
+    return [
+      ResourceObject::class => TRUE,
+    ];
+  }
+
 }
diff --git a/core/modules/jsonapi/src/Normalizer/UnprocessableHttpEntityExceptionNormalizer.php b/core/modules/jsonapi/src/Normalizer/UnprocessableHttpEntityExceptionNormalizer.php
index 6fe149ca101e..9a155296d8de 100644
--- a/core/modules/jsonapi/src/Normalizer/UnprocessableHttpEntityExceptionNormalizer.php
+++ b/core/modules/jsonapi/src/Normalizer/UnprocessableHttpEntityExceptionNormalizer.php
@@ -78,4 +78,13 @@ protected function buildErrorObjects(HttpException $exception) {
     return $errors;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getSupportedTypes(?string $format): array {
+    return [
+      UnprocessableHttpEntityException::class => TRUE,
+    ];
+  }
+
 }
diff --git a/core/modules/link/src/Plugin/Validation/Constraint/LinkAccessConstraintValidator.php b/core/modules/link/src/Plugin/Validation/Constraint/LinkAccessConstraintValidator.php
index 16ccae0fc7eb..a3ac834bbb89 100644
--- a/core/modules/link/src/Plugin/Validation/Constraint/LinkAccessConstraintValidator.php
+++ b/core/modules/link/src/Plugin/Validation/Constraint/LinkAccessConstraintValidator.php
@@ -41,6 +41,9 @@ public static function create(ContainerInterface $container) {
 
   /**
    * {@inheritdoc}
+   *
+   * phpcs:ignore Drupal.Commenting.FunctionComment.VoidReturn
+   * @return void
    */
   public function validate($value, Constraint $constraint) {
     if (isset($value)) {
diff --git a/core/modules/link/src/Plugin/Validation/Constraint/LinkExternalProtocolsConstraintValidator.php b/core/modules/link/src/Plugin/Validation/Constraint/LinkExternalProtocolsConstraintValidator.php
index 94841739183f..4395286a0f4d 100644
--- a/core/modules/link/src/Plugin/Validation/Constraint/LinkExternalProtocolsConstraintValidator.php
+++ b/core/modules/link/src/Plugin/Validation/Constraint/LinkExternalProtocolsConstraintValidator.php
@@ -13,6 +13,9 @@ class LinkExternalProtocolsConstraintValidator extends ConstraintValidator {
 
   /**
    * {@inheritdoc}
+   *
+   * phpcs:ignore Drupal.Commenting.FunctionComment.VoidReturn
+   * @return void
    */
   public function validate($value, Constraint $constraint) {
     if (isset($value)) {
diff --git a/core/modules/link/src/Plugin/Validation/Constraint/LinkNotExistingInternalConstraintValidator.php b/core/modules/link/src/Plugin/Validation/Constraint/LinkNotExistingInternalConstraintValidator.php
index 73895a3283e3..b89e5791ae31 100644
--- a/core/modules/link/src/Plugin/Validation/Constraint/LinkNotExistingInternalConstraintValidator.php
+++ b/core/modules/link/src/Plugin/Validation/Constraint/LinkNotExistingInternalConstraintValidator.php
@@ -15,6 +15,9 @@ class LinkNotExistingInternalConstraintValidator extends ConstraintValidator {
 
   /**
    * {@inheritdoc}
+   *
+   * phpcs:ignore Drupal.Commenting.FunctionComment.VoidReturn
+   * @return void
    */
   public function validate($value, Constraint $constraint) {
     if (isset($value)) {
diff --git a/core/modules/serialization/src/Normalizer/ComplexDataNormalizer.php b/core/modules/serialization/src/Normalizer/ComplexDataNormalizer.php
index 5dfba71258f9..3c950308c719 100644
--- a/core/modules/serialization/src/Normalizer/ComplexDataNormalizer.php
+++ b/core/modules/serialization/src/Normalizer/ComplexDataNormalizer.php
@@ -48,7 +48,18 @@ public function normalize($object, $format = NULL, array $context = []): array|s
    * {@inheritdoc}
    */
   public function hasCacheableSupportsMethod(): bool {
+    @trigger_error(__METHOD__ . '() is deprecated in drupal:10.1.0 and is removed from drupal:11.0.0. Use getSupportedTypes() instead. See https://www.drupal.org/node/3359695', E_USER_DEPRECATED);
+
     return TRUE;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getSupportedTypes(?string $format): array {
+    return [
+      ComplexDataInterface::class => TRUE,
+    ];
+  }
+
 }
diff --git a/core/modules/serialization/src/Normalizer/ConfigEntityNormalizer.php b/core/modules/serialization/src/Normalizer/ConfigEntityNormalizer.php
index b4ca7ff7d761..6c24a270f67f 100644
--- a/core/modules/serialization/src/Normalizer/ConfigEntityNormalizer.php
+++ b/core/modules/serialization/src/Normalizer/ConfigEntityNormalizer.php
@@ -47,4 +47,13 @@ protected static function getDataWithoutInternals(array $data) {
     return array_diff_key($data, ['_core' => TRUE]);
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getSupportedTypes(?string $format): array {
+    return [
+      ConfigEntityInterface::class => TRUE,
+    ];
+  }
+
 }
diff --git a/core/modules/serialization/src/Normalizer/ContentEntityNormalizer.php b/core/modules/serialization/src/Normalizer/ContentEntityNormalizer.php
index 9e4b819622bd..7f8055eef90c 100644
--- a/core/modules/serialization/src/Normalizer/ContentEntityNormalizer.php
+++ b/core/modules/serialization/src/Normalizer/ContentEntityNormalizer.php
@@ -34,4 +34,13 @@ public function normalize($entity, $format = NULL, array $context = []): array|s
     return $attributes;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getSupportedTypes(?string $format): array {
+    return [
+      ContentEntityInterface::class => TRUE,
+    ];
+  }
+
 }
diff --git a/core/modules/serialization/src/Normalizer/DateTimeIso8601Normalizer.php b/core/modules/serialization/src/Normalizer/DateTimeIso8601Normalizer.php
index e4f24a78fb45..9139853b4460 100644
--- a/core/modules/serialization/src/Normalizer/DateTimeIso8601Normalizer.php
+++ b/core/modules/serialization/src/Normalizer/DateTimeIso8601Normalizer.php
@@ -87,4 +87,13 @@ public function denormalize($data, $class, $format = NULL, array $context = []):
     return $datetime->format(DateTimeItemInterface::DATETIME_STORAGE_FORMAT);
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getSupportedTypes(?string $format): array {
+    return [
+      DateTimeIso8601::class => TRUE,
+    ];
+  }
+
 }
diff --git a/core/modules/serialization/src/Normalizer/DateTimeNormalizer.php b/core/modules/serialization/src/Normalizer/DateTimeNormalizer.php
index bb247c75b441..85e256641725 100644
--- a/core/modules/serialization/src/Normalizer/DateTimeNormalizer.php
+++ b/core/modules/serialization/src/Normalizer/DateTimeNormalizer.php
@@ -119,7 +119,18 @@ public function denormalize($data, $class, $format = NULL, array $context = []):
    * {@inheritdoc}
    */
   public function hasCacheableSupportsMethod(): bool {
+    @trigger_error(__METHOD__ . '() is deprecated in drupal:10.1.0 and is removed from drupal:11.0.0. Use getSupportedTypes() instead. See https://www.drupal.org/node/3359695', E_USER_DEPRECATED);
+
     return TRUE;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getSupportedTypes(?string $format): array {
+    return [
+      DateTimeInterface::class => TRUE,
+    ];
+  }
+
 }
diff --git a/core/modules/serialization/src/Normalizer/EntityNormalizer.php b/core/modules/serialization/src/Normalizer/EntityNormalizer.php
index d8670fa5b259..25557776622d 100644
--- a/core/modules/serialization/src/Normalizer/EntityNormalizer.php
+++ b/core/modules/serialization/src/Normalizer/EntityNormalizer.php
@@ -75,4 +75,13 @@ public function denormalize($data, $class, $format = NULL, array $context = []):
     return $entity;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getSupportedTypes(?string $format): array {
+    return [
+      EntityInterface::class => TRUE,
+    ];
+  }
+
 }
diff --git a/core/modules/serialization/src/Normalizer/EntityReferenceFieldItemNormalizer.php b/core/modules/serialization/src/Normalizer/EntityReferenceFieldItemNormalizer.php
index f9acaa8bdb61..8a0277f39a52 100644
--- a/core/modules/serialization/src/Normalizer/EntityReferenceFieldItemNormalizer.php
+++ b/core/modules/serialization/src/Normalizer/EntityReferenceFieldItemNormalizer.php
@@ -92,4 +92,13 @@ protected function constructValue($data, $context) {
     return parent::constructValue($data, $context);
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getSupportedTypes(?string $format): array {
+    return [
+      EntityReferenceItem::class => TRUE,
+    ];
+  }
+
 }
diff --git a/core/modules/serialization/src/Normalizer/FieldItemNormalizer.php b/core/modules/serialization/src/Normalizer/FieldItemNormalizer.php
index 820f42b97942..a12ebddc5726 100644
--- a/core/modules/serialization/src/Normalizer/FieldItemNormalizer.php
+++ b/core/modules/serialization/src/Normalizer/FieldItemNormalizer.php
@@ -39,4 +39,13 @@ public function denormalize($data, $class, $format = NULL, array $context = []):
     return $field_item;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getSupportedTypes(?string $format): array {
+    return [
+      FieldItemInterface::class => TRUE,
+    ];
+  }
+
 }
diff --git a/core/modules/serialization/src/Normalizer/FieldNormalizer.php b/core/modules/serialization/src/Normalizer/FieldNormalizer.php
index f012a9685786..e1067f7bcec5 100644
--- a/core/modules/serialization/src/Normalizer/FieldNormalizer.php
+++ b/core/modules/serialization/src/Normalizer/FieldNormalizer.php
@@ -54,4 +54,13 @@ public function denormalize($data, $class, $format = NULL, array $context = []):
     return $items;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getSupportedTypes(?string $format): array {
+    return [
+      FieldItemListInterface::class => TRUE,
+    ];
+  }
+
 }
diff --git a/core/modules/serialization/src/Normalizer/MarkupNormalizer.php b/core/modules/serialization/src/Normalizer/MarkupNormalizer.php
index 9e11aefa73d6..167fbd6f0e32 100644
--- a/core/modules/serialization/src/Normalizer/MarkupNormalizer.php
+++ b/core/modules/serialization/src/Normalizer/MarkupNormalizer.php
@@ -25,7 +25,18 @@ public function normalize($object, $format = NULL, array $context = []): array|s
    * {@inheritdoc}
    */
   public function hasCacheableSupportsMethod(): bool {
+    @trigger_error(__METHOD__ . '() is deprecated in drupal:10.1.0 and is removed from drupal:11.0.0. Use getSupportedTypes() instead. See https://www.drupal.org/node/3359695', E_USER_DEPRECATED);
+
     return TRUE;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getSupportedTypes(?string $format): array {
+    return [
+      MarkupInterface::class => TRUE,
+    ];
+  }
+
 }
diff --git a/core/modules/serialization/src/Normalizer/NormalizerBase.php b/core/modules/serialization/src/Normalizer/NormalizerBase.php
index ce3ea57d7915..c3c344b5ca3c 100644
--- a/core/modules/serialization/src/Normalizer/NormalizerBase.php
+++ b/core/modules/serialization/src/Normalizer/NormalizerBase.php
@@ -3,14 +3,13 @@
 namespace Drupal\serialization\Normalizer;
 
 use Drupal\Core\Cache\CacheableDependencyInterface;
-use Symfony\Component\Serializer\Normalizer\CacheableSupportsMethodInterface;
 use Symfony\Component\Serializer\SerializerAwareInterface;
 use Symfony\Component\Serializer\SerializerAwareTrait;
 
 /**
  * Base class for Normalizers.
  */
-abstract class NormalizerBase implements SerializerAwareInterface, CacheableNormalizerInterface, CacheableSupportsMethodInterface {
+abstract class NormalizerBase implements SerializerAwareInterface, CacheableNormalizerInterface {
 
   use SerializerAwareTrait;
 
@@ -103,7 +102,18 @@ protected function addCacheableDependency(array $context, $data) {
    * {@inheritdoc}
    */
   public function hasCacheableSupportsMethod(): bool {
+    @trigger_error(__METHOD__ . '() is deprecated in drupal:10.1.0 and is removed from drupal:11.0.0. Use getSupportedTypes() instead. See https://www.drupal.org/node/3359695', E_USER_DEPRECATED);
+
     return FALSE;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getSupportedTypes(?string $format): array {
+    return [
+      '*' => FALSE,
+    ];
+  }
+
 }
diff --git a/core/modules/serialization/src/Normalizer/PrimitiveDataNormalizer.php b/core/modules/serialization/src/Normalizer/PrimitiveDataNormalizer.php
index 3bf813a69820..78ec3e187559 100644
--- a/core/modules/serialization/src/Normalizer/PrimitiveDataNormalizer.php
+++ b/core/modules/serialization/src/Normalizer/PrimitiveDataNormalizer.php
@@ -45,7 +45,18 @@ public function normalize($object, $format = NULL, array $context = []): array|s
    * {@inheritdoc}
    */
   public function hasCacheableSupportsMethod(): bool {
+    @trigger_error(__METHOD__ . '() is deprecated in drupal:10.1.0 and is removed from drupal:11.0.0. Use getSupportedTypes() instead. See https://www.drupal.org/node/3359695', E_USER_DEPRECATED);
+
     return TRUE;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getSupportedTypes(?string $format): array {
+    return [
+      PrimitiveInterface::class => TRUE,
+    ];
+  }
+
 }
diff --git a/core/modules/serialization/src/Normalizer/TimestampItemNormalizer.php b/core/modules/serialization/src/Normalizer/TimestampItemNormalizer.php
index 3d2ca4bbc6b6..d0cda8ceec67 100644
--- a/core/modules/serialization/src/Normalizer/TimestampItemNormalizer.php
+++ b/core/modules/serialization/src/Normalizer/TimestampItemNormalizer.php
@@ -42,4 +42,13 @@ protected function constructValue($data, $context) {
     return ['value' => $this->serializer->denormalize($data['value'], Timestamp::class, NULL, $context)];
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getSupportedTypes(?string $format): array {
+    return [
+      TimestampItem::class => TRUE,
+    ];
+  }
+
 }
diff --git a/core/modules/serialization/src/Normalizer/TimestampNormalizer.php b/core/modules/serialization/src/Normalizer/TimestampNormalizer.php
index 6bb7c03d3172..77c95469f491 100644
--- a/core/modules/serialization/src/Normalizer/TimestampNormalizer.php
+++ b/core/modules/serialization/src/Normalizer/TimestampNormalizer.php
@@ -44,4 +44,13 @@ public function denormalize($data, $class, $format = NULL, array $context = []):
     return $denormalized->getTimestamp();
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getSupportedTypes(?string $format): array {
+    return [
+      Timestamp::class => TRUE,
+    ];
+  }
+
 }
diff --git a/core/modules/serialization/src/Normalizer/TypedDataNormalizer.php b/core/modules/serialization/src/Normalizer/TypedDataNormalizer.php
index e769c71a586f..41ac788da7f5 100644
--- a/core/modules/serialization/src/Normalizer/TypedDataNormalizer.php
+++ b/core/modules/serialization/src/Normalizer/TypedDataNormalizer.php
@@ -31,7 +31,18 @@ public function normalize($object, $format = NULL, array $context = []): array|s
    * {@inheritdoc}
    */
   public function hasCacheableSupportsMethod(): bool {
+    @trigger_error(__METHOD__ . '() is deprecated in drupal:10.1.0 and is removed from drupal:11.0.0. Use getSupportedTypes() instead. See https://www.drupal.org/node/3359695', E_USER_DEPRECATED);
+
     return TRUE;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getSupportedTypes(?string $format): array {
+    return [
+      TypedDataInterface::class => TRUE,
+    ];
+  }
+
 }
diff --git a/core/modules/serialization/src/RegisterSerializationClassesCompilerPass.php b/core/modules/serialization/src/RegisterSerializationClassesCompilerPass.php
index dd3dd9a107c7..edcfafcd98ba 100644
--- a/core/modules/serialization/src/RegisterSerializationClassesCompilerPass.php
+++ b/core/modules/serialization/src/RegisterSerializationClassesCompilerPass.php
@@ -12,10 +12,10 @@
 class RegisterSerializationClassesCompilerPass implements CompilerPassInterface {
 
   /**
-   * Adds services to the Serializer.
+   * {@inheritdoc}
    *
-   * @param \Symfony\Component\DependencyInjection\ContainerBuilder $container
-   *   The container to process.
+   * phpcs:ignore Drupal.Commenting.FunctionComment.VoidReturn
+   * @return void
    */
   public function process(ContainerBuilder $container) {
     $definition = $container->getDefinition('serializer');
diff --git a/core/modules/serialization/tests/serialization_test/src/SerializationTestNormalizer.php b/core/modules/serialization/tests/serialization_test/src/SerializationTestNormalizer.php
index e96bee78ceb1..0c199b8a8b39 100644
--- a/core/modules/serialization/tests/serialization_test/src/SerializationTestNormalizer.php
+++ b/core/modules/serialization/tests/serialization_test/src/SerializationTestNormalizer.php
@@ -31,4 +31,13 @@ public function supportsNormalization($data, string $format = NULL, array $conte
     return static::$format === $format;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getSupportedTypes(?string $format): array {
+    return [
+      \stdClass::class => TRUE,
+    ];
+  }
+
 }
diff --git a/core/modules/user/src/Plugin/Validation/Constraint/ProtectedUserFieldConstraintValidator.php b/core/modules/user/src/Plugin/Validation/Constraint/ProtectedUserFieldConstraintValidator.php
index 1a65aba978ee..6102ab9e78ff 100644
--- a/core/modules/user/src/Plugin/Validation/Constraint/ProtectedUserFieldConstraintValidator.php
+++ b/core/modules/user/src/Plugin/Validation/Constraint/ProtectedUserFieldConstraintValidator.php
@@ -53,6 +53,9 @@ public static function create(ContainerInterface $container) {
 
   /**
    * {@inheritdoc}
+   *
+   * phpcs:ignore Drupal.Commenting.FunctionComment.VoidReturn
+   * @return void
    */
   public function validate($items, Constraint $constraint) {
     if (!isset($items)) {
diff --git a/core/modules/user/src/Plugin/Validation/Constraint/UserMailRequiredValidator.php b/core/modules/user/src/Plugin/Validation/Constraint/UserMailRequiredValidator.php
index b40ce9bb57c2..2b46bcad410b 100644
--- a/core/modules/user/src/Plugin/Validation/Constraint/UserMailRequiredValidator.php
+++ b/core/modules/user/src/Plugin/Validation/Constraint/UserMailRequiredValidator.php
@@ -16,6 +16,9 @@ class UserMailRequiredValidator extends ConstraintValidator {
 
   /**
    * {@inheritdoc}
+   *
+   * phpcs:ignore Drupal.Commenting.FunctionComment.VoidReturn
+   * @return void
    */
   public function validate($items, Constraint $constraint) {
     /** @var \Drupal\Core\Field\FieldItemListInterface $items */
diff --git a/core/tests/Drupal/BuildTests/Composer/Template/ComposerProjectTemplatesTest.php b/core/tests/Drupal/BuildTests/Composer/Template/ComposerProjectTemplatesTest.php
index 413b4d25cdf0..4faf4c72c967 100644
--- a/core/tests/Drupal/BuildTests/Composer/Template/ComposerProjectTemplatesTest.php
+++ b/core/tests/Drupal/BuildTests/Composer/Template/ComposerProjectTemplatesTest.php
@@ -32,7 +32,7 @@ class ComposerProjectTemplatesTest extends ComposerBuildTestBase {
    *
    * @see https://getcomposer.org/doc/04-schema.md#minimum-stability
    */
-  protected const MINIMUM_STABILITY = 'stable';
+  protected const MINIMUM_STABILITY = 'beta';
 
   /**
    * The order of stability strings from least stable to most stable.
diff --git a/core/tests/Drupal/Tests/Core/DependencyInjection/DependencySerializationTest.php b/core/tests/Drupal/Tests/Core/DependencyInjection/DependencySerializationTest.php
index 0f660717ca77..0da0cdc548a4 100644
--- a/core/tests/Drupal/Tests/Core/DependencyInjection/DependencySerializationTest.php
+++ b/core/tests/Drupal/Tests/Core/DependencyInjection/DependencySerializationTest.php
@@ -79,6 +79,9 @@ public function __construct(\stdClass $service) {
 
   /**
    * {@inheritdoc}
+   *
+   * phpcs:ignore Drupal.Commenting.FunctionComment.VoidReturn
+   * @return void
    */
   public function setContainer(ContainerInterface $container = NULL) {
     $this->container = $container;
-- 
GitLab