diff --git a/Build/Scripts/runTests.sh b/Build/Scripts/runTests.sh
index c1c36164c670eb8687f82b971ec7b8fcf6c04837..ed70653c5616c24a44ce3854bb35ff9113b648b8 100755
--- a/Build/Scripts/runTests.sh
+++ b/Build/Scripts/runTests.sh
@@ -152,9 +152,6 @@ cleanRenderedDocumentationFiles() {
 
 getPhpImageVersion() {
     case ${1} in
-        8.1)
-            echo -n "2.9"
-            ;;
         8.2)
             echo -n "1.8"
             ;;
@@ -273,10 +270,9 @@ Options:
         Hack functional or acceptance tests into #numberOfChunks pieces and run tests of #chunk.
         Example -c 3/13
 
-    -p <8.1|8.2|8.3>
+    -p <8.2|8.3>
         Specifies the PHP minor version to be used
-            - 8.1 (default): use PHP 8.1
-            - 8.2: use PHP 8.2
+            - 8.2 (default): use PHP 8.2
             - 8.3: use PHP 8.3
 
     -e "<phpunit options>"
@@ -319,22 +315,22 @@ Options:
         Show this help.
 
 Examples:
-    # Run all core unit tests using PHP 8.1
+    # Run all core unit tests using PHP 8.2
     ./Build/Scripts/runTests.sh
     ./Build/Scripts/runTests.sh -s unit
 
     # Run all core units tests and enable xdebug (have a PhpStorm listening on port 9003!)
     ./Build/Scripts/runTests.sh -x
 
-    # Run unit tests in phpunit verbose mode with xdebug on PHP 8.1 and filter for test canRetrieveValueWithGP
-    ./Build/Scripts/runTests.sh -x -p 8.1 -e "-v --filter canRetrieveValueWithGP"
+    # Run unit tests in phpunit verbose mode with xdebug on PHP 8.3 and filter for test canRetrieveValueWithGP
+    ./Build/Scripts/runTests.sh -x -p 8.3 -e "-v --filter canRetrieveValueWithGP"
 
     # Run functional tests in phpunit with a filtered test method name in a specified file
     # example will currently execute two tests, both of which start with the search term
     ./Build/Scripts/runTests.sh -s functional -e "--filter deleteContent" typo3/sysext/core/Tests/Functional/DataHandling/Regular/Modify/ActionTest.php
 
-    # Run functional tests on postgres with xdebug, php 8.1 and execute a restricted set of tests
-    ./Build/Scripts/runTests.sh -x -p 8.1 -s functional -d postgres typo3/sysext/core/Tests/Functional/Authentication
+    # Run functional tests on postgres with xdebug, php 8.3 and execute a restricted set of tests
+    ./Build/Scripts/runTests.sh -x -p 8.3 -s functional -d postgres typo3/sysext/core/Tests/Functional/Authentication
 
     # Run functional tests on postgres 11
     ./Build/Scripts/runTests.sh -s functional -d postgres -i 11
@@ -364,7 +360,7 @@ CORE_ROOT="${PWD}"
 TEST_SUITE="unit"
 DBMS="sqlite"
 DBMS_VERSION=""
-PHP_VERSION="8.1"
+PHP_VERSION="8.2"
 PHP_XDEBUG_ON=0
 PHP_XDEBUG_PORT=9003
 ACCEPTANCE_HEADLESS=1
@@ -423,7 +419,7 @@ while getopts ":a:b:s:c:d:i:p:e:xy:o:nhug" OPT; do
             ;;
         p)
             PHP_VERSION=${OPTARG}
-            if ! [[ ${PHP_VERSION} =~ ^(8.1|8.2|8.3)$ ]]; then
+            if ! [[ ${PHP_VERSION} =~ ^(8.2|8.3)$ ]]; then
                 INVALID_OPTIONS+=("${OPTARG}")
             fi
             ;;
diff --git a/Build/gitlab-ci/nightly/acceptance-application.yml b/Build/gitlab-ci/nightly/acceptance-application.yml
index e1d8c0282faa3ee449c51c8878ba91b1a01bd20b..ef0734b6f61036a0668f4623bd966573c3ddc8b3 100644
--- a/Build/gitlab-ci/nightly/acceptance-application.yml
+++ b/Build/gitlab-ci/nightly/acceptance-application.yml
@@ -1,4 +1,4 @@
-acceptance application mariadb 10.4 php 8.1 min:
+acceptance application mariadb 10.4 php 8.2 min:
   stage: acceptance
   tags:
     - metal2
@@ -16,8 +16,8 @@ acceptance application mariadb 10.4 php 8.1 min:
       - typo3temp/var/tests/AcceptanceReports
   parallel: 8
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.1
-    - Build/Scripts/runTests.sh -s acceptance -d mariadb -i 10.4 -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.2
+    - Build/Scripts/runTests.sh -s acceptance -d mariadb -i 10.4 -p 8.2 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
 
 acceptance application mariadb 10.10 php 8.2 max:
   stage: acceptance
@@ -40,7 +40,7 @@ acceptance application mariadb 10.10 php 8.2 max:
     - Build/Scripts/runTests.sh -s composerInstallMax -p 8.2
     - Build/Scripts/runTests.sh -s acceptance -d mariadb -i 10.10 -p 8.2 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
 
-acceptance application mysql 8.0 php 8.1 locked:
+acceptance application mysql 8.0 php 8.2 locked:
   stage: acceptance
   tags:
     - metal2
@@ -54,9 +54,9 @@ acceptance application mysql 8.0 php 8.1 locked:
       - typo3temp/var/tests/AcceptanceReports
   parallel: 8
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
-    - Build/Scripts/runTests.sh -s acceptance -d mysql -i 8.0 -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
-acceptance application mysql 8.0 php 8.1 max:
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.2
+    - Build/Scripts/runTests.sh -s acceptance -d mysql -i 8.0 -p 8.2 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+acceptance application mysql 8.0 php 8.2 max:
   stage: acceptance
   tags:
     - metal2
@@ -74,9 +74,9 @@ acceptance application mysql 8.0 php 8.1 max:
       - typo3temp/var/tests/AcceptanceReports
   parallel: 8
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMax -p 8.1
-    - Build/Scripts/runTests.sh -s acceptance -d mysql -i 8.0 -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
-acceptance application mysql 8.0 php 8.1 min:
+    - Build/Scripts/runTests.sh -s composerInstallMax -p 8.2
+    - Build/Scripts/runTests.sh -s acceptance -d mysql -i 8.0 -p 8.2 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+acceptance application mysql 8.0 php 8.2 min:
   stage: acceptance
   tags:
     - metal2
@@ -94,8 +94,8 @@ acceptance application mysql 8.0 php 8.1 min:
       - typo3temp/var/tests/AcceptanceReports
   parallel: 8
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.1
-    - Build/Scripts/runTests.sh -s acceptance -d mysql -i 8.0 -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.2
+    - Build/Scripts/runTests.sh -s acceptance -d mysql -i 8.0 -p 8.2 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
 
 acceptance application sqlite php 8.2 max:
   stage: acceptance
@@ -117,7 +117,7 @@ acceptance application sqlite php 8.2 max:
   script:
     - Build/Scripts/runTests.sh -s composerInstallMax -p 8.2
     - Build/Scripts/runTests.sh -s acceptance -d sqlite -p 8.2 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
-acceptance application sqlite php 8.1 min:
+acceptance application sqlite php 8.2 min:
   stage: acceptance
   tags:
     - metal2
@@ -135,8 +135,8 @@ acceptance application sqlite php 8.1 min:
       - typo3temp/var/tests/AcceptanceReports
   parallel: 8
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.1
-    - Build/Scripts/runTests.sh -s acceptance -d sqlite -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.2
+    - Build/Scripts/runTests.sh -s acceptance -d sqlite -p 8.2 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
 
 acceptance application postgres 15 php 8.2 max:
   stage: acceptance
@@ -158,7 +158,7 @@ acceptance application postgres 15 php 8.2 max:
   script:
     - Build/Scripts/runTests.sh -s composerInstallMax -p 8.2
     - Build/Scripts/runTests.sh -s acceptance -d postgres -i 15 -p 8.2 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
-acceptance application postgres 10 php 8.1 min:
+acceptance application postgres 10 php 8.2 min:
   stage: acceptance
   tags:
     - metal2
@@ -176,5 +176,5 @@ acceptance application postgres 10 php 8.1 min:
       - typo3temp/var/tests/AcceptanceReports
   parallel: 8
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.1
-    - Build/Scripts/runTests.sh -s acceptance -d postgres -i 10 -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.2
+    - Build/Scripts/runTests.sh -s acceptance -d postgres -i 10 -p 8.2 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
diff --git a/Build/gitlab-ci/nightly/acceptance-install.yml b/Build/gitlab-ci/nightly/acceptance-install.yml
index 88d168380716f1e6ec1362b9b4927e650f276c23..83aca395ca04755ada27d201bc386f31574a21b2 100644
--- a/Build/gitlab-ci/nightly/acceptance-install.yml
+++ b/Build/gitlab-ci/nightly/acceptance-install.yml
@@ -16,7 +16,7 @@ acceptance install mariadb 10.10 php 8.2 max:
   script:
     - Build/Scripts/runTests.sh -s composerInstallMax -p 8.2
     - Build/Scripts/runTests.sh -s acceptanceInstall -d mariadb -i 10.10 -p 8.2
-acceptance install mariadb 10.4 php 8.1 min:
+acceptance install mariadb 10.4 php 8.2 min:
   stage: acceptance
   tags:
     - metal2
@@ -32,8 +32,8 @@ acceptance install mariadb 10.4 php 8.1 min:
     paths:
       - typo3temp/var/tests/AcceptanceReports
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.1
-    - Build/Scripts/runTests.sh -s acceptanceInstall -d mariadb -i 10.4 -p 8.1
+    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.2
+    - Build/Scripts/runTests.sh -s acceptanceInstall -d mariadb -i 10.4 -p 8.2
 
 acceptance install mysql 8.0 php 8.2 max:
   stage: acceptance
@@ -53,7 +53,7 @@ acceptance install mysql 8.0 php 8.2 max:
   script:
     - Build/Scripts/runTests.sh -s composerInstallMax -p 8.2
     - Build/Scripts/runTests.sh -s acceptanceInstall -d mysql -i 8.0 -p 8.2
-acceptance install mysql 8.0 php 8.1 min:
+acceptance install mysql 8.0 php 8.2 min:
   stage: acceptance
   tags:
     - metal2
@@ -69,8 +69,8 @@ acceptance install mysql 8.0 php 8.1 min:
     paths:
       - typo3temp/var/tests/AcceptanceReports
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.1
-    - Build/Scripts/runTests.sh -s acceptanceInstall -d mysql -i 8.0 -p 8.1
+    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.2
+    - Build/Scripts/runTests.sh -s acceptanceInstall -d mysql -i 8.0 -p 8.2
 
 acceptance install postgres 15 php 8.2 max:
   stage: acceptance
@@ -90,7 +90,7 @@ acceptance install postgres 15 php 8.2 max:
   script:
     - Build/Scripts/runTests.sh -s composerInstallMax -p 8.2
     - Build/Scripts/runTests.sh -s acceptanceInstall -d postgres -i 15 -p 8.2
-acceptance install postgres 10 php 8.1 min:
+acceptance install postgres 10 php 8.2 min:
   stage: acceptance
   tags:
     - metal2
@@ -106,8 +106,8 @@ acceptance install postgres 10 php 8.1 min:
     paths:
       - typo3temp/var/tests/AcceptanceReports
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.1
-    - Build/Scripts/runTests.sh -s acceptanceInstall -d postgres -i 10 -p 8.1
+    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.2
+    - Build/Scripts/runTests.sh -s acceptanceInstall -d postgres -i 10 -p 8.2
 
 acceptance install sqlite php 8.2 max:
   stage: acceptance
@@ -127,7 +127,7 @@ acceptance install sqlite php 8.2 max:
   script:
     - Build/Scripts/runTests.sh -s composerInstallMax -p 8.2
     - Build/Scripts/runTests.sh -s acceptanceInstall -d sqlite -p 8.2
-acceptance install sqlite php 8.1 min:
+acceptance install sqlite php 8.2 min:
   stage: acceptance
   tags:
     - metal2
@@ -143,5 +143,5 @@ acceptance install sqlite php 8.1 min:
     paths:
       - typo3temp/var/tests/AcceptanceReports
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.1
-    - Build/Scripts/runTests.sh -s acceptanceInstall -d sqlite -p 8.1
+    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.2
+    - Build/Scripts/runTests.sh -s acceptanceInstall -d sqlite -p 8.2
diff --git a/Build/gitlab-ci/nightly/functional.yml b/Build/gitlab-ci/nightly/functional.yml
index 0ee8de82a731a92a23f8942a4a430f1700b8e9ac..2ce31f79189b65aac7b1bfd26b7ff596d35097ac 100644
--- a/Build/gitlab-ci/nightly/functional.yml
+++ b/Build/gitlab-ci/nightly/functional.yml
@@ -26,7 +26,7 @@ functional deprecated mariadb 10.10 php 8.2 max:
   script:
     - Build/Scripts/runTests.sh -s composerInstallMax -p 8.2
     - Build/Scripts/runTests.sh -s functionalDeprecated -d mariadb -i 10.10 -p 8.2
-functional deprecated mariadb 10.4 php 8.1 min:
+functional deprecated mariadb 10.4 php 8.2 min:
   stage: functional
   tags:
     - metal2
@@ -38,8 +38,8 @@ functional deprecated mariadb 10.4 php 8.1 min:
     paths:
       - .cache
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.1
-    - Build/Scripts/runTests.sh -s functionalDeprecated -d mariadb -i 10.4 -p 8.1
+    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.2
+    - Build/Scripts/runTests.sh -s functionalDeprecated -d mariadb -i 10.4 -p 8.2
 
 functional deprecated mysql 8.0 php 8.3 max:
   stage: functional
@@ -69,7 +69,7 @@ functional deprecated mysql 8.0 php 8.2 max:
   script:
     - Build/Scripts/runTests.sh -s composerInstallMax -p 8.2
     - Build/Scripts/runTests.sh -s functionalDeprecated -d mysql -i 8.0 -p 8.2
-functional deprecated mysql 8.0 php 8.1 min:
+functional deprecated mysql 8.0 php 8.2 min:
   stage: functional
   tags:
     - metal2
@@ -81,8 +81,8 @@ functional deprecated mysql 8.0 php 8.1 min:
     paths:
       - .cache
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.1
-    - Build/Scripts/runTests.sh -s functionalDeprecated -d mysql -i 8.0 -p 8.1
+    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.2
+    - Build/Scripts/runTests.sh -s functionalDeprecated -d mysql -i 8.0 -p 8.2
 
 functional deprecated postgres 15 php 8.3 max:
   stage: functional
@@ -112,7 +112,7 @@ functional deprecated postgres 15 php 8.2 max:
   script:
     - Build/Scripts/runTests.sh -s composerInstallMax -p 8.2
     - Build/Scripts/runTests.sh -s functionalDeprecated -d postgres -i 15 -p 8.2
-functional deprecated postgres 10 php 8.1 min:
+functional deprecated postgres 10 php 8.2 min:
   stage: functional
   tags:
     - metal2
@@ -124,8 +124,8 @@ functional deprecated postgres 10 php 8.1 min:
     paths:
       - .cache
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.1
-    - Build/Scripts/runTests.sh -s functionalDeprecated -d postgres -i 10 -p 8.1
+    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.2
+    - Build/Scripts/runTests.sh -s functionalDeprecated -d postgres -i 10 -p 8.2
 
 functional deprecated sqlite php 8.3 max:
   stage: functional
@@ -155,7 +155,7 @@ functional deprecated sqlite php 8.2 max:
   script:
     - Build/Scripts/runTests.sh -s composerInstallMax -p 8.2
     - Build/Scripts/runTests.sh -s functionalDeprecated -d sqlite -p 8.2
-functional deprecated sqlite php 8.1 min:
+functional deprecated sqlite php 8.2 min:
   stage: functional
   tags:
     - metal2
@@ -167,8 +167,8 @@ functional deprecated sqlite php 8.1 min:
     paths:
       - .cache
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.1
-    - Build/Scripts/runTests.sh -s functionalDeprecated -d sqlite -p 8.1
+    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.2
+    - Build/Scripts/runTests.sh -s functionalDeprecated -d sqlite -p 8.2
 
 functional mariadb 10.10 php 8.3 max:
   stage: functional
@@ -200,7 +200,7 @@ functional mariadb 10.10 php 8.2 max:
   script:
     - Build/Scripts/runTests.sh -s composerInstallMax -p 8.2
     - Build/Scripts/runTests.sh -s functional -d mariadb -i 10.10 -p 8.2 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
-functional mariadb 10.4 php 8.1 min:
+functional mariadb 10.4 php 8.2 min:
   stage: functional
   tags:
     - metal2
@@ -213,8 +213,8 @@ functional mariadb 10.4 php 8.1 min:
       - .cache
   parallel: 6
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.1
-    - Build/Scripts/runTests.sh -s functional -d mariadb -i 10.4 -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.2
+    - Build/Scripts/runTests.sh -s functional -d mariadb -i 10.4 -p 8.2 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
 
 functional mysql 8.0 php 8.3 max:
   stage: functional
@@ -246,7 +246,7 @@ functional mysql 8.0 php 8.2 max:
   script:
     - Build/Scripts/runTests.sh -s composerInstallMax -p 8.2
     - Build/Scripts/runTests.sh -s functional -d mysql -i 8.0 -p 8.2 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
-functional mysql 8.0 php 8.1 min:
+functional mysql 8.0 php 8.2 min:
   stage: functional
   tags:
     - metal2
@@ -259,8 +259,8 @@ functional mysql 8.0 php 8.1 min:
       - .cache
   parallel: 6
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.1
-    - Build/Scripts/runTests.sh -s functional -d mysql -i 8.0 -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.2
+    - Build/Scripts/runTests.sh -s functional -d mysql -i 8.0 -p 8.2 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
 
 functional postgres 15 php 8.3 max:
   stage: functional
@@ -292,7 +292,7 @@ functional postgres 15 php 8.2 max:
   script:
     - Build/Scripts/runTests.sh -s composerInstallMax -p 8.2
     - Build/Scripts/runTests.sh -s functional -d postgres -i 15 -p 8.2 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
-functional postgres 10 php 8.1 min:
+functional postgres 10 php 8.2 min:
   stage: functional
   tags:
     - metal2
@@ -305,8 +305,8 @@ functional postgres 10 php 8.1 min:
       - .cache
   parallel: 6
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.1
-    - Build/Scripts/runTests.sh -s functional -d postgres -i 10 -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.2
+    - Build/Scripts/runTests.sh -s functional -d postgres -i 10 -p 8.2 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
 
 functional sqlite php 8.3 max:
   stage: functional
@@ -338,7 +338,7 @@ functional sqlite php 8.2 max:
   script:
     - Build/Scripts/runTests.sh -s composerInstallMax -p 8.2
     - Build/Scripts/runTests.sh -s functional -d sqlite -p 8.2 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
-functional sqlite php 8.1 min:
+functional sqlite php 8.2 min:
   stage: functional
   tags:
     - metal2
@@ -351,5 +351,5 @@ functional sqlite php 8.1 min:
       - .cache
   parallel: 6
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.1
-    - Build/Scripts/runTests.sh -s functional -d sqlite -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.2
+    - Build/Scripts/runTests.sh -s functional -d sqlite -p 8.2 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
diff --git a/Build/gitlab-ci/nightly/integrity.yml b/Build/gitlab-ci/nightly/integrity.yml
index b9e5437eec7337836121ab53fcff850083cd422f..17f600a415c5d975e387893ddd5b19777e2f658e 100644
--- a/Build/gitlab-ci/nightly/integrity.yml
+++ b/Build/gitlab-ci/nightly/integrity.yml
@@ -1,4 +1,4 @@
-annotations php 8.1:
+annotations php 8.2:
   stage: integrity
   tags:
     - metal2
@@ -6,8 +6,8 @@ annotations php 8.1:
   only:
     - schedules
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
-    - Build/Scripts/runTests.sh -s checkAnnotations -p 8.1
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.2
+    - Build/Scripts/runTests.sh -s checkAnnotations -p 8.2
 
 cgl:
   stage: integrity
@@ -17,9 +17,9 @@ cgl:
   only:
     - schedules
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
-    - Build/Scripts/runTests.sh -s cgl -n -p 8.1
-    - Build/Scripts/runTests.sh -s cglHeader -n -p 8.1
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.2
+    - Build/Scripts/runTests.sh -s cgl -n -p 8.2
+    - Build/Scripts/runTests.sh -s cglHeader -n -p 8.2
 
 grunt clean:
   stage: integrity
@@ -47,20 +47,20 @@ integration various:
     paths:
       - .cache
   script:
-    - Build/Scripts/runTests.sh -s composerValidate -p 8.1
-    - Build/Scripts/runTests.sh -s composerTestDistribution -p 8.1
-    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
-    - Build/Scripts/runTests.sh -s checkExceptionCodes -p 8.1
-    - Build/Scripts/runTests.sh -s checkGitSubmodule -p 8.1
-    - Build/Scripts/runTests.sh -s checkPermissions -p 8.1
-    - Build/Scripts/runTests.sh -s checkRst -p 8.1
-    - Build/Scripts/runTests.sh -s checkFilePathLength -p 8.1
-    - Build/Scripts/runTests.sh -s checkExtensionScannerRst -p 8.1
-    - Build/Scripts/runTests.sh -s checkBom -p 8.1
-    - Build/Scripts/runTests.sh -s checkComposer -p 8.1
-    - Build/Scripts/runTests.sh -s checkTestClassFinal -p 8.1
-    - Build/Scripts/runTests.sh -s checkTestMethodsPrefix -p 8.1
-    - Build/Scripts/runTests.sh -s checkNamespaceIntegrity -p 8.1
+    - Build/Scripts/runTests.sh -s composerValidate -p 8.2
+    - Build/Scripts/runTests.sh -s composerTestDistribution -p 8.2
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.2
+    - Build/Scripts/runTests.sh -s checkExceptionCodes -p 8.2
+    - Build/Scripts/runTests.sh -s checkGitSubmodule -p 8.2
+    - Build/Scripts/runTests.sh -s checkPermissions -p 8.2
+    - Build/Scripts/runTests.sh -s checkRst -p 8.2
+    - Build/Scripts/runTests.sh -s checkFilePathLength -p 8.2
+    - Build/Scripts/runTests.sh -s checkExtensionScannerRst -p 8.2
+    - Build/Scripts/runTests.sh -s checkBom -p 8.2
+    - Build/Scripts/runTests.sh -s checkComposer -p 8.2
+    - Build/Scripts/runTests.sh -s checkTestClassFinal -p 8.2
+    - Build/Scripts/runTests.sh -s checkTestMethodsPrefix -p 8.2
+    - Build/Scripts/runTests.sh -s checkNamespaceIntegrity -p 8.2
 
 iso database max:
   stage: integrity
@@ -74,10 +74,10 @@ iso database max:
     paths:
       - .cache
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMax -p 8.1
-    - Build/Scripts/runTests.sh -s checkIsoDatabase -p 8.1
+    - Build/Scripts/runTests.sh -s composerInstallMax -p 8.2
+    - Build/Scripts/runTests.sh -s checkIsoDatabase -p 8.2
 
-lint php 8.1:
+lint php 8.2:
   stage: integrity
   tags:
     - metal2
@@ -85,7 +85,7 @@ lint php 8.1:
   only:
     - schedules
   script:
-    - Build/Scripts/runTests.sh -s lintPhp -p 8.1
+    - Build/Scripts/runTests.sh -s lintPhp -p 8.2
 
 lint scss ts html:
   stage: integrity
@@ -103,7 +103,7 @@ lint scss ts html:
     - Build/Scripts/runTests.sh -s lintTypescript
     - Build/Scripts/runTests.sh -s lintHtml
 
-phpstan php 8.1 locked:
+phpstan php 8.2 locked:
   stage: integrity
   tags:
     - metal2
@@ -111,10 +111,10 @@ phpstan php 8.1 locked:
   only:
     - schedules
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
-    - Build/Scripts/runTests.sh -s phpstan -p 8.1
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.2
+    - Build/Scripts/runTests.sh -s phpstan -p 8.2
 
-phpstan php 8.1 max:
+phpstan php 8.2 max:
   stage: integrity
   tags:
     - metal2
@@ -126,5 +126,5 @@ phpstan php 8.1 max:
     paths:
       - .cache
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMax -p 8.1
-    - Build/Scripts/runTests.sh -s phpstan -p 8.1
+    - Build/Scripts/runTests.sh -s composerInstallMax -p 8.2
+    - Build/Scripts/runTests.sh -s phpstan -p 8.2
diff --git a/Build/gitlab-ci/nightly/unit.yml b/Build/gitlab-ci/nightly/unit.yml
index dd03dc053764470051dbd6fa7b173e5d353cb440..bf27fe310915372770e8cdf76305a35377269023 100644
--- a/Build/gitlab-ci/nightly/unit.yml
+++ b/Build/gitlab-ci/nightly/unit.yml
@@ -10,95 +10,9 @@ unit javascript:
     paths:
       - .cache
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 8.1 -d mariadb -i 10.4
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.2 -d mariadb -i 10.4
     - Build/Scripts/runTests.sh -s unitJavascript
 
-unit php 8.1 max:
-  stage: unit
-  tags:
-    - metal2
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: main-composer-max
-    paths:
-      - .cache
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMax -p 8.1
-    - Build/Scripts/runTests.sh -s unit -p 8.1
-unit php 8.1 max deprecated:
-  stage: unit
-  tags:
-    - metal2
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: main-composer-max
-    paths:
-      - .cache
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMax -p 8.1
-    - Build/Scripts/runTests.sh -s unitDeprecated -p 8.1
-unit php 8.1 max random:
-  stage: unit
-  tags:
-    - metal2
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: main-composer-max
-    paths:
-      - .cache
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMax -p 8.1
-    - Build/Scripts/runTests.sh -s unitRandom -p 8.1
-
-unit php 8.1 min:
-  stage: unit
-  tags:
-    - metal2
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: main-composer-min
-    paths:
-      - .cache
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.1
-    - Build/Scripts/runTests.sh -s unit -p 8.1
-unit php 8.1 min deprecated:
-  stage: unit
-  tags:
-    - metal2
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: main-composer-min
-    paths:
-      - .cache
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.1
-    - Build/Scripts/runTests.sh -s unitDeprecated -p 8.1
-unit php 8.1 min random:
-  stage: unit
-  tags:
-    - metal2
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: main-composer-min
-    paths:
-      - .cache
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.1
-    - Build/Scripts/runTests.sh -s unitRandom -p 8.1
-
 unit php 8.2 max:
   stage: unit
   tags:
diff --git a/Build/gitlab-ci/pre-merge/acceptance-install.yml b/Build/gitlab-ci/pre-merge/acceptance-install.yml
index 24e19bc852f330fbc83ee2ea0eea4f7f5f0dba5b..839c5071f2de0c41d8755f2663420ca820153faa 100644
--- a/Build/gitlab-ci/pre-merge/acceptance-install.yml
+++ b/Build/gitlab-ci/pre-merge/acceptance-install.yml
@@ -1,4 +1,4 @@
-acceptance install mariadb 10.4 php 8.1 pre-merge:
+acceptance install mariadb 10.4 php 8.2 pre-merge:
   stage: main
   tags:
     - metal2
@@ -11,10 +11,10 @@ acceptance install mariadb 10.4 php 8.1 pre-merge:
     paths:
       - typo3temp/var/tests/AcceptanceReports
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
-    - Build/Scripts/runTests.sh -s acceptanceInstall -d mariadb -i 10.4 -p 8.1
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.2
+    - Build/Scripts/runTests.sh -s acceptanceInstall -d mariadb -i 10.4 -p 8.2
 
-acceptance install mysql 8.0 php 8.1 pre-merge:
+acceptance install mysql 8.0 php 8.2 pre-merge:
   stage: main
   tags:
     - metal2
@@ -27,8 +27,8 @@ acceptance install mysql 8.0 php 8.1 pre-merge:
     paths:
       - typo3temp/var/tests/AcceptanceReports
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
-    - Build/Scripts/runTests.sh -s acceptanceInstall -d mysql -i 8.0 -p 8.1
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.2
+    - Build/Scripts/runTests.sh -s acceptanceInstall -d mysql -i 8.0 -p 8.2
 
 acceptance install postgres 10 php 8.2 pre-merge:
   stage: main
@@ -46,7 +46,7 @@ acceptance install postgres 10 php 8.2 pre-merge:
     - Build/Scripts/runTests.sh -s composerInstall -p 8.2
     - Build/Scripts/runTests.sh -s acceptanceInstall -d postgres -i 10 -p 8.2
 
-acceptance install sqlite php 8.1 pre-merge:
+acceptance install sqlite php 8.2 pre-merge:
   stage: main
   tags:
     - metal2
@@ -59,5 +59,5 @@ acceptance install sqlite php 8.1 pre-merge:
     paths:
       - typo3temp/var/tests/AcceptanceReports
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
-    - Build/Scripts/runTests.sh -s acceptanceInstall -d sqlite -p 8.1
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.2
+    - Build/Scripts/runTests.sh -s acceptanceInstall -d sqlite -p 8.2
diff --git a/Build/gitlab-ci/pre-merge/functional.yml b/Build/gitlab-ci/pre-merge/functional.yml
index bb26d432098a2482f4d1f7573db7fc140ee64d59..8352a66be314c03840ac2bf29484e74932d6188f 100644
--- a/Build/gitlab-ci/pre-merge/functional.yml
+++ b/Build/gitlab-ci/pre-merge/functional.yml
@@ -10,7 +10,7 @@ functional deprecated mariadb 10.4 php 8.3 pre-merge:
     - Build/Scripts/runTests.sh -s composerInstall -p 8.3
     - Build/Scripts/runTests.sh -s functionalDeprecated -d mariadb -i 10.4 -p 8.3
 
-functional deprecated postgres 10 php 8.1 pre-merge:
+functional deprecated postgres 10 php 8.2 pre-merge:
   stage: main
   tags:
     - metal2
@@ -19,8 +19,8 @@ functional deprecated postgres 10 php 8.1 pre-merge:
       - schedules
       - main
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
-    - Build/Scripts/runTests.sh -s functionalDeprecated -d postgres -i 10 -p 8.1
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.2
+    - Build/Scripts/runTests.sh -s functionalDeprecated -d postgres -i 10 -p 8.2
 
 functional mariadb 10.4 php 8.3 pre-merge:
   stage: main
@@ -35,7 +35,7 @@ functional mariadb 10.4 php 8.3 pre-merge:
     - Build/Scripts/runTests.sh -s composerInstall -p 8.3
     - Build/Scripts/runTests.sh -s functional -d mariadb -i 10.4 -p 8.3 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
 
-functional postgres 10 php 8.1 pre-merge:
+functional postgres 10 php 8.2 pre-merge:
   stage: main
   tags:
     - metal2
@@ -45,10 +45,10 @@ functional postgres 10 php 8.1 pre-merge:
       - main
   parallel: 10
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
-    - Build/Scripts/runTests.sh -s functional -d postgres -i 10 -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.2
+    - Build/Scripts/runTests.sh -s functional -d postgres -i 10 -p 8.2 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
 
-functional sqlite php 8.1 pre-merge:
+functional sqlite php 8.2 pre-merge:
   stage: main
   tags:
     - metal2
@@ -58,5 +58,5 @@ functional sqlite php 8.1 pre-merge:
       - main
   parallel: 5
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
-    - Build/Scripts/runTests.sh -s functional -d sqlite -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.2
+    - Build/Scripts/runTests.sh -s functional -d sqlite -p 8.2 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
diff --git a/Build/gitlab-ci/pre-merge/integrity.yml b/Build/gitlab-ci/pre-merge/integrity.yml
index 4d280c3647514716e8d6f41961e3344b2726f556..255a468ff691f6db90eb8cacbde2e2a9aaf95137 100644
--- a/Build/gitlab-ci/pre-merge/integrity.yml
+++ b/Build/gitlab-ci/pre-merge/integrity.yml
@@ -1,4 +1,4 @@
-annotations php 8.1 pre-merge:
+annotations php 8.2 pre-merge:
   stage: main
   tags:
     - metal2
@@ -7,8 +7,8 @@ annotations php 8.1 pre-merge:
       - schedules
       - main
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
-    - Build/Scripts/runTests.sh -s checkAnnotations -p 8.1
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.2
+    - Build/Scripts/runTests.sh -s checkAnnotations -p 8.2
 
 cgl pre-merge:
   stage: main
@@ -19,9 +19,9 @@ cgl pre-merge:
       - schedules
       - main
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
-    - Build/Scripts/runTests.sh -s cglGit -n -p 8.1
-    - Build/Scripts/runTests.sh -s cglHeaderGit -n -p 8.1
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.2
+    - Build/Scripts/runTests.sh -s cglGit -n -p 8.2
+    - Build/Scripts/runTests.sh -s cglHeaderGit -n -p 8.2
 
 grunt clean pre-merge:
   stage: main
@@ -51,20 +51,20 @@ integration various pre-merge:
     paths:
       - .cache
   script:
-    - Build/Scripts/runTests.sh -s composerValidate -p 8.1
-    - Build/Scripts/runTests.sh -s composerTestDistribution -p 8.1
-    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
-    - Build/Scripts/runTests.sh -s checkExceptionCodes -p 8.1
-    - Build/Scripts/runTests.sh -s checkGitSubmodule -p 8.1
-    - Build/Scripts/runTests.sh -s checkPermissions -p 8.1
-    - Build/Scripts/runTests.sh -s checkRst -p 8.1
-    - Build/Scripts/runTests.sh -s checkFilePathLength -p 8.1
-    - Build/Scripts/runTests.sh -s checkExtensionScannerRst -p 8.1
-    - Build/Scripts/runTests.sh -s checkBom -p 8.1
-    - Build/Scripts/runTests.sh -s checkComposer -p 8.1
-    - Build/Scripts/runTests.sh -s checkTestClassFinal -p 8.1
-    - Build/Scripts/runTests.sh -s checkTestMethodsPrefix -p 8.1
-    - Build/Scripts/runTests.sh -s checkNamespaceIntegrity -p 8.1
+    - Build/Scripts/runTests.sh -s composerValidate -p 8.2
+    - Build/Scripts/runTests.sh -s composerTestDistribution -p 8.2
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.2
+    - Build/Scripts/runTests.sh -s checkExceptionCodes -p 8.2
+    - Build/Scripts/runTests.sh -s checkGitSubmodule -p 8.2
+    - Build/Scripts/runTests.sh -s checkPermissions -p 8.2
+    - Build/Scripts/runTests.sh -s checkRst -p 8.2
+    - Build/Scripts/runTests.sh -s checkFilePathLength -p 8.2
+    - Build/Scripts/runTests.sh -s checkExtensionScannerRst -p 8.2
+    - Build/Scripts/runTests.sh -s checkBom -p 8.2
+    - Build/Scripts/runTests.sh -s checkComposer -p 8.2
+    - Build/Scripts/runTests.sh -s checkTestClassFinal -p 8.2
+    - Build/Scripts/runTests.sh -s checkTestMethodsPrefix -p 8.2
+    - Build/Scripts/runTests.sh -s checkNamespaceIntegrity -p 8.2
 
 lint scss ts html pre-merge:
   stage: main
@@ -83,7 +83,7 @@ lint scss ts html pre-merge:
     - Build/Scripts/runTests.sh -s lintTypescript
     - Build/Scripts/runTests.sh -s lintHtml
 
-phpstan php 8.1 pre-merge:
+phpstan php 8.2 pre-merge:
   stage: main
   tags:
     - metal2
@@ -92,6 +92,6 @@ phpstan php 8.1 pre-merge:
       - schedules
       - main
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
-    - Build/Scripts/runTests.sh -s phpstan -p 8.1
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.2
+    - Build/Scripts/runTests.sh -s phpstan -p 8.2
 
diff --git a/Build/gitlab-ci/pre-merge/unit.yml b/Build/gitlab-ci/pre-merge/unit.yml
index 70acecb1f5f634d6c4eafea2160a1a6854096162..a0a9510e1d86720c7d1f5e17944280bed02cc30d 100644
--- a/Build/gitlab-ci/pre-merge/unit.yml
+++ b/Build/gitlab-ci/pre-merge/unit.yml
@@ -11,21 +11,10 @@ unit javascript pre-merge:
     paths:
       - .cache
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.2
     - Build/Scripts/runTests.sh -s unitJavascript
 
-unit php 8.1 deprecated pre-merge:
-  stage: main
-  tags:
-    - metal2
-  except:
-    refs:
-      - schedules
-      - main
-  script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
-    - Build/Scripts/runTests.sh -s unitDeprecated -p 8.1
-unit php 8.1 random pre-merge:
+unit php 8.2 random pre-merge:
   stage: main
   tags:
     - metal2
@@ -34,8 +23,8 @@ unit php 8.1 random pre-merge:
       - schedules
       - main
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
-    - Build/Scripts/runTests.sh -s unitRandom -p 8.1
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.2
+    - Build/Scripts/runTests.sh -s unitRandom -p 8.2
 
 unit php 8.2 deprecated pre-merge:
   stage: main
diff --git a/Build/phpstan/phpstan-baseline.neon b/Build/phpstan/phpstan-baseline.neon
index 4ad51bca2725caad12652c3adbdc5210e918bdc2..e05163b247bbac0099ad3857c8801c4f8cdd2bac 100644
--- a/Build/phpstan/phpstan-baseline.neon
+++ b/Build/phpstan/phpstan-baseline.neon
@@ -520,6 +520,16 @@ parameters:
 			count: 1
 			path: ../../typo3/sysext/core/Classes/Localization/LanguageStore.php
 
+		-
+			message: "#^Negated boolean expression is always false\\.$#"
+			count: 1
+			path: ../../typo3/sysext/core/Classes/Log/Writer/SyslogWriter.php
+
+		-
+			message: "#^Strict comparison using \\=\\=\\= between true and false will always evaluate to false\\.$#"
+			count: 1
+			path: ../../typo3/sysext/core/Classes/Log/Writer/SyslogWriter.php
+
 		-
 			message: "#^Cannot assign offset 'address' to string\\.$#"
 			count: 1
@@ -795,6 +805,11 @@ parameters:
 			count: 1
 			path: ../../typo3/sysext/core/Classes/Type/Enumeration.php
 
+		-
+			message: "#^Negated boolean expression is always false\\.$#"
+			count: 1
+			path: ../../typo3/sysext/core/Classes/Utility/ArrayUtility.php
+
 		-
 			message: "#^Call to an undefined method TYPO3\\\\CMS\\\\Core\\\\Resource\\\\FileInterface\\:\\:getCombinedIdentifier\\(\\)\\.$#"
 			count: 1
diff --git a/composer.json b/composer.json
index 7b42615657914ac3fa163a4a3d91827784444a52..e5436be329ed251f73f399026914aa557e7af740 100644
--- a/composer.json
+++ b/composer.json
@@ -26,7 +26,7 @@
 	"config": {
 		"bin-dir": "bin",
 		"platform": {
-			"php": "8.1.1"
+			"php": "8.2.0"
 		},
 		"sort-packages": true,
 		"allow-plugins": {
@@ -35,7 +35,7 @@
 		}
 	},
 	"require": {
-		"php": "^8.1",
+		"php": "^8.2",
 		"ext-PDO": "*",
 		"ext-dom": "*",
 		"ext-intl": "*",
diff --git a/composer.lock b/composer.lock
index 3b875eaf0bc9607c7be5c7f598880c42d28fe294..befecf4d9af5eb09947a0c4b19badf22d78fdba1 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": "32dabec3a818bb7ffe1131dc8bb4583e",
+    "content-hash": "c556d52d3dccc2ecf1dad26438ff4545",
     "packages": [
         {
             "name": "bacon/bacon-qr-code",
@@ -8928,7 +8928,7 @@
     "prefer-stable": false,
     "prefer-lowest": false,
     "platform": {
-        "php": "^8.1",
+        "php": "^8.2",
         "ext-pdo": "*",
         "ext-dom": "*",
         "ext-intl": "*",
@@ -8943,7 +8943,7 @@
     },
     "platform-dev": [],
     "platform-overrides": {
-        "php": "8.1.1"
+        "php": "8.2.0"
     },
     "plugin-api-version": "2.6.0"
 }
diff --git a/typo3/sysext/core/Documentation/Changelog/13.0/Breaking-102779-TYPO3V13SystemRequirements.rst b/typo3/sysext/core/Documentation/Changelog/13.0/Breaking-102779-TYPO3V13SystemRequirements.rst
new file mode 100644
index 0000000000000000000000000000000000000000..ef3c7d165305c949b76e50289b99eed6d79628cc
--- /dev/null
+++ b/typo3/sysext/core/Documentation/Changelog/13.0/Breaking-102779-TYPO3V13SystemRequirements.rst
@@ -0,0 +1,46 @@
+.. include:: /Includes.rst.txt
+
+.. _breaking-102779-1704721008:
+
+=================================================
+Breaking: #102779 - TYPO3 v13 System Requirements
+=================================================
+
+See :issue:`102779`
+
+Description
+===========
+
+The minimum PHP version required to run TYPO3 version v13 has been defined as 8.2.
+
+TYPO3 v13 supports these database products and versions:
+
+* MySQL 8.0.17 or higher
+* MariaDB 10.4.3 or higher
+* PostgresSQL 10.0 or higher
+* SQLite 3.8.3 or higher
+
+
+Impact
+======
+
+The TYPO3 Core codebase and extensions tailored for v13 and above can use
+features implemented with PHP up to and including 8.2. Running TYPO3 v13 with
+older PHP versions or database engines will trigger fatal errors.
+
+
+Affected installations
+======================
+
+Hosting a TYPO3 instance based on version 13 may require an update of the
+PHP platform and the database engine.
+
+
+Migration
+=========
+
+TYPO3 v11 / v12 supports PHP 8.2 and database engines required by v13. This
+allows upgrading the platform in a first step and upgrading to TYPO3 v13 in a
+second step.
+
+.. index:: PHP-API, NotScanned, ext:core
diff --git a/typo3/sysext/core/Documentation/Changelog/Howto.rst b/typo3/sysext/core/Documentation/Changelog/Howto.rst
index fe974c6c024560766b9763430e196c9d3e5c8069..555d8d22b7613ebbf66b8e38a037ffc76ebe96bc 100644
--- a/typo3/sysext/core/Documentation/Changelog/Howto.rst
+++ b/typo3/sysext/core/Documentation/Changelog/Howto.rst
@@ -166,7 +166,7 @@ Like other documentation, changelog files are done in ReST, see
 -   Types "Deprecation" and "Breaking" contain an "Affected installations"
     section that describes when and if a TYPO3 instance is affected by a change.
     Example: "Extension xy is in use" or "TypoScript functionality xy is used"
-    or "System is based on PHP 8.1".
+    or "System is based on PHP 8.2".
 
 -   Types "Deprecation" and "Breaking" contain a "Migration" section to
     describe best practices on how to cope with a specific change.
diff --git a/typo3/sysext/core/composer.json b/typo3/sysext/core/composer.json
index 40bf0441d204f6199a4035718446b8b47724ba16..e7ee18da468b6d8e83c2bbc6cb57c10bc8182a53 100644
--- a/typo3/sysext/core/composer.json
+++ b/typo3/sysext/core/composer.json
@@ -19,7 +19,7 @@
 		"sort-packages": true
 	},
 	"require": {
-		"php": "^8.1",
+		"php": "^8.2",
 		"ext-PDO": "*",
 		"ext-dom": "*",
 		"ext-intl": "*",
diff --git a/typo3/sysext/fluid/Tests/Functional/ViewHelpers/Format/DateViewHelperTest.php b/typo3/sysext/fluid/Tests/Functional/ViewHelpers/Format/DateViewHelperTest.php
index ebb958178914d08020ff1fb14cf04d246d87075a..8c366866d913281aeb5397815740097566d73d03 100644
--- a/typo3/sysext/fluid/Tests/Functional/ViewHelpers/Format/DateViewHelperTest.php
+++ b/typo3/sysext/fluid/Tests/Functional/ViewHelpers/Format/DateViewHelperTest.php
@@ -117,7 +117,7 @@ final class DateViewHelperTest extends FunctionalTestCase
     }
 
     /**
-     * No deprecation notice using PHP 8.1 should be thrown when format is null
+     * No deprecation notice using PHP 8.1+ should be thrown when format is null
      * @test
      */
     public function viewHelperUsesSystemFormatWhenFormatWithNullValueIsGiven(): void