diff --git a/Build/Scripts/runTests.sh b/Build/Scripts/runTests.sh
index 362aa0a974c33f2d664dc3ef03c321687fab295c..6c39ca441458b6332eb104d6abe85c05e885bf9a 100755
--- a/Build/Scripts/runTests.sh
+++ b/Build/Scripts/runTests.sh
@@ -52,15 +52,6 @@ handleDbmsAndDriverOptions() {
                 exit 1
             fi
             ;;
-        mssql)
-            [ -z ${DATABASE_DRIVER} ] && DATABASE_DRIVER="sqlsrv"
-            if [ "${DATABASE_DRIVER}" != "sqlsrv" ] && [ "${DATABASE_DRIVER}" != "pdo_sqlsrv" ]; then
-                echo "Invalid option -a ${DATABASE_DRIVER} with -d ${DBMS}" >&2
-                echo >&2
-                echo "call \".Build/Scripts/runTests.sh -h\" to display help and valid options" >&2
-                exit 1
-            fi
-            ;;
         postgres|sqlite)
             if [ -n "${DATABASE_DRIVER}" ]; then
                 echo "Invalid option -a ${DATABASE_DRIVER} with -d ${DBMS}" >&2
@@ -83,7 +74,7 @@ a recent docker-compose (tested >=1.21.2) is needed.
 
 Usage: $0 [options] [file]
 
-No arguments: Run all unit tests with PHP 7.4
+No arguments: Run all unit tests with PHP 8.1
 
 Options:
     -s <...>
@@ -125,7 +116,7 @@ Options:
             - unitJavascript: JavaScript unit tests
             - unitRandom: PHP unit tests in random order, add -o <number> to use specific seed
 
-    -a <mysqli|pdo_mysql|sqlsrv|pdo_sqlsrv>
+    -a <mysqli|pdo_mysql>
         Only with -s functional|functionalDeprecated
         Specifies to use another driver, following combinations are available:
             - mysql
@@ -134,40 +125,30 @@ Options:
             - mariadb
                 - mysqli (default)
                 - pdo_mysql
-            - mssql
-                - sqlsrv (default)
-                - pdo_sqlsrv
 
-    -d <mariadb|mysql|mssql|postgres|sqlite>
+    -d <mariadb|mysql|postgres|sqlite>
         Only with -s functional|functionalDeprecated|acceptance|acceptanceInstall
         Specifies on which DBMS tests are performed
             - mariadb (default): use mariadb
             - mysql: use MySQL server
-            - mssql: use mssql microsoft sql server
             - postgres: use postgres
             - sqlite: use sqlite
 
     -i <10.1|10.2|10.3|10.4|10.5>
         Only with -d mariadb
         Specifies on which version of mariadb tests are performed
-            - 10.1
-            - 10.2
             - 10.3 (default)
             - 10.4
             - 10.5
 
-    -j <5.5|5.6|5.7|8.0>
+    -j <8.0>
         Only with -d mysql
         Specifies on which version of mysql tests are performed
-            - 5.5 (default)
-            - 5.6
-            - 5.7
-            - 8.0
+            - 8.0 (default)
 
-    -k <9.6|10|11|12|13>
+    -k <10|11|12|13>
         Only with -d postgres
         Specifies on which version of postgres tests are performed
-            - 9.6
             - 10 (default)
             - 11
             - 12
@@ -178,11 +159,9 @@ Options:
         Hack functional or acceptance tests into #numberOfChunks pieces and run tests of #chunk.
         Example -c 3/13
 
-    -p <7.4|8.0|8.1>
+    -p <8.1>
         Specifies the PHP minor version to be used
-            - 7.4 (default): use PHP 7.4
-            - 8.0: use PHP 8.0
-            - 8.1: use PHP 8.1
+            - 8.1 (default): use PHP 8.1
 
     -e "<phpunit options>"
         Only with -s functional|functionalDeprecated|unit|unitDeprecated|unitRandom|acceptance
@@ -224,7 +203,7 @@ Options:
         Show this help.
 
 Examples:
-    # Run all core unit tests using PHP 7.4
+    # Run all core unit tests using PHP 8.1
     ./Build/Scripts/runTests.sh
     ./Build/Scripts/runTests.sh -s unit
 
@@ -232,17 +211,17 @@ Examples:
     ./Build/Scripts/runTests.sh -x
 
     # Run unit tests in phpunit verbose mode with xdebug on PHP 8.0 and filter for test canRetrieveValueWithGP
-    ./Build/Scripts/runTests.sh -x -p 8.0 -e "-v --filter canRetrieveValueWithGP"
+    ./Build/Scripts/runTests.sh -x -p 8.1 -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 unit tests with PHP 8.0 and have xdebug enabled
-    ./Build/Scripts/runTests.sh -x -p 8.0
+    # Run unit tests with PHP 8.1 and have xdebug enabled
+    ./Build/Scripts/runTests.sh -x -p 8.1
 
     # Run functional tests on postgres with xdebug, php 8.0 and execute a restricted set of tests
-    ./Build/Scripts/runTests.sh -x -p 8.0 -s functional -d postgres typo3/sysext/core/Tests/Functional/Authentication
+    ./Build/Scripts/runTests.sh -x -p 8.1 -s functional -d postgres typo3/sysext/core/Tests/Functional/Authentication
 
     # Run functional tests on mariadb 10.5
     ./Build/Scripts/runTests.sh -d mariadb -i 10.5
@@ -292,7 +271,7 @@ fi
 # Option defaults
 TEST_SUITE="unit"
 DBMS="mariadb"
-PHP_VERSION="7.4"
+PHP_VERSION="8.1"
 PHP_XDEBUG_ON=0
 PHP_XDEBUG_PORT=9003
 EXTRA_TEST_OPTIONS=""
@@ -301,7 +280,7 @@ PHPUNIT_RANDOM=""
 CGLCHECK_DRY_RUN=""
 DATABASE_DRIVER=""
 MARIADB_VERSION="10.3"
-MYSQL_VERSION="5.5"
+MYSQL_VERSION="8.0"
 POSTGRES_VERSION="10"
 CHUNKS=0
 THISCHUNK=0
@@ -334,25 +313,25 @@ while getopts ":a:s:c:d:i:j:k:p:e:xy:o:nhuv" OPT; do
             ;;
         i)
             MARIADB_VERSION=${OPTARG}
-            if ! [[ ${MARIADB_VERSION} =~ ^(10.1|10.2|10.3|10.4|10.5)$ ]]; then
+            if ! [[ ${MARIADB_VERSION} =~ ^(10.3|10.4|10.5)$ ]]; then
                 INVALID_OPTIONS+=("${OPTARG}")
             fi
             ;;
         j)
             MYSQL_VERSION=${OPTARG}
-            if ! [[ ${MYSQL_VERSION} =~ ^(5.5|5.6|5.7|8.0)$ ]]; then
+            if ! [[ ${MYSQL_VERSION} =~ ^(8.0)$ ]]; then
                 INVALID_OPTIONS+=("${OPTARG}")
             fi
             ;;
         k)
             POSTGRES_VERSION=${OPTARG}
-            if ! [[ ${POSTGRES_VERSION} =~ ^(9.6|10|11|12|13)$ ]]; then
+            if ! [[ ${POSTGRES_VERSION} =~ ^(10|11|12|13)$ ]]; then
                 INVALID_OPTIONS+=("${OPTARG}")
             fi
             ;;
         p)
             PHP_VERSION=${OPTARG}
-            if ! [[ ${PHP_VERSION} =~ ^(7.4|8.0|8.1)$ ]]; then
+            if ! [[ ${PHP_VERSION} =~ ^(8.1)$ ]]; then
                 INVALID_OPTIONS+=("${OPTARG}")
             fi
             ;;
@@ -640,12 +619,6 @@ case ${TEST_SUITE} in
                 docker-compose run functional_mysql
                 SUITE_EXIT_CODE=$?
                 ;;
-            mssql)
-                echo "Using driver: ${DATABASE_DRIVER}"
-                docker-compose run prepare_functional_mssql2019latest
-                docker-compose run functional_mssql2019latest
-                SUITE_EXIT_CODE=$?
-                ;;
             postgres)
                 docker-compose run prepare_functional_postgres
                 docker-compose run functional_postgres
@@ -685,12 +658,6 @@ case ${TEST_SUITE} in
                 docker-compose run functional_deprecated_mysql
                 SUITE_EXIT_CODE=$?
                 ;;
-            mssql)
-                echo "Using driver: ${DATABASE_DRIVER}"
-                docker-compose run prepare_functional_mssql2019latest
-                docker-compose run functional_deprecated_mssql2019latest
-                SUITE_EXIT_CODE=$?
-                ;;
             postgres)
                 docker-compose run prepare_functional_postgres
                 docker-compose run functional_deprecated_postgres
@@ -745,6 +712,8 @@ case ${TEST_SUITE} in
         docker-compose down
         ;;
     phpstan)
+        # @todo remove hardcoded php version when phpstan is raised and runnable with PHP8.1
+        PHP_VERSION="8.0"
         setUpDockerComposeDotEnv
         docker-compose run phpstan
         SUITE_EXIT_CODE=$?
@@ -794,9 +763,6 @@ case ${DBMS} in
     mysql)
         DBMS_OUTPUT="DBMS: ${DBMS}  version ${MYSQL_VERSION}  driver ${DATABASE_DRIVER}"
         ;;
-    mssql)
-        DBMS_OUTPUT="DBMS: ${DBMS}  driver ${DATABASE_DRIVER}"
-        ;;
     postgres)
         DBMS_OUTPUT="DBMS: ${DBMS}  version ${POSTGRES_VERSION}"
         ;;
diff --git a/Build/gitlab-ci/nightly/acceptance-application.yml b/Build/gitlab-ci/nightly/acceptance-application.yml
index edd7b183db5cab13a7de4f351131f72923081174..f0eca9e51080152bed05ca4a3e087e4bab548be8 100644
--- a/Build/gitlab-ci/nightly/acceptance-application.yml
+++ b/Build/gitlab-ci/nightly/acceptance-application.yml
@@ -1,55 +1,4 @@
-acceptance application mariadb php 7.4 locked:
-  stage: acceptance
-  needs: []
-  only:
-    - schedules
-  artifacts:
-    when: on_failure
-    paths:
-      - typo3temp/var/tests/acceptance/typo3temp/var/log
-      - typo3temp/var/tests/AcceptanceReports
-  parallel: 8
-  script:
-      - Build/Scripts/runTests.sh -s composerInstall -p 7.4
-      - Build/Scripts/runTests.sh -s acceptance -d mariadb -i 10.3 -p 7.4 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
-acceptance application mariadb php 7.4 max:
-  stage: acceptance
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: main-composer-max
-    paths:
-      - .cache
-  artifacts:
-    when: on_failure
-    paths:
-      - typo3temp/var/tests/acceptance/typo3temp/var/log
-      - typo3temp/var/tests/AcceptanceReports
-  parallel: 8
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMax -p 7.4
-    - Build/Scripts/runTests.sh -s acceptance -d mariadb -i 10.3 -p 7.4 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
-acceptance application mariadb php 7.4 min:
-  stage: acceptance
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: main-composer-min
-    paths:
-      - .cache
-  artifacts:
-    when: on_failure
-    paths:
-      - typo3temp/var/tests/acceptance/typo3temp/var/log
-      - typo3temp/var/tests/AcceptanceReports
-  parallel: 8
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 7.4
-    - Build/Scripts/runTests.sh -s acceptance -d mariadb -i 10.3 -p 7.4 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
-
-acceptance application mariadb php 8.0 locked:
+acceptance application mariadb php 8.1 locked:
   stage: acceptance
   needs: []
   only:
@@ -61,9 +10,9 @@ acceptance application mariadb php 8.0 locked:
       - typo3temp/var/tests/AcceptanceReports
   parallel: 8
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 8.0
-    - Build/Scripts/runTests.sh -s acceptance -d mariadb -i 10.3 -p 8.0 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
-acceptance application mariadb php 8.0 max:
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
+    - Build/Scripts/runTests.sh -s acceptance -d mariadb -i 10.3 -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+acceptance application mariadb php 8.1 max:
   stage: acceptance
   needs: []
   only:
@@ -79,9 +28,9 @@ acceptance application mariadb php 8.0 max:
       - typo3temp/var/tests/AcceptanceReports
   parallel: 8
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMax -p 8.0
-    - Build/Scripts/runTests.sh -s acceptance -d mariadb -i 10.3 -p 8.0 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
-acceptance application mariadb php 8.0 min:
+    - Build/Scripts/runTests.sh -s composerInstallMax -p 8.1
+    - Build/Scripts/runTests.sh -s acceptance -d mariadb -i 10.3 -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+acceptance application mariadb php 8.1 min:
   stage: acceptance
   needs: []
   only:
@@ -97,10 +46,10 @@ acceptance application mariadb php 8.0 min:
       - typo3temp/var/tests/AcceptanceReports
   parallel: 8
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.0
-    - Build/Scripts/runTests.sh -s acceptance -d mariadb -i 10.3 -p 8.0 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.1
+    - Build/Scripts/runTests.sh -s acceptance -d mariadb -i 10.3 -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
 
-acceptance application mariadb php 8.1 locked:
+acceptance application mysql php 8.1 locked:
   stage: acceptance
   needs: []
   only:
@@ -113,8 +62,8 @@ acceptance application mariadb php 8.1 locked:
   parallel: 8
   script:
     - Build/Scripts/runTests.sh -s composerInstall -p 8.1
-    - Build/Scripts/runTests.sh -s acceptance -d mariadb -i 10.3 -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
-acceptance application mariadb php 8.1 max:
+    - Build/Scripts/runTests.sh -s acceptance -d mysql -j 8.0 -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+acceptance application mysql php 8.1 max:
   stage: acceptance
   needs: []
   only:
@@ -131,8 +80,8 @@ acceptance application mariadb php 8.1 max:
   parallel: 8
   script:
     - Build/Scripts/runTests.sh -s composerInstallMax -p 8.1
-    - Build/Scripts/runTests.sh -s acceptance -d mariadb -i 10.3 -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
-acceptance application mariadb php 8.1 min:
+    - Build/Scripts/runTests.sh -s acceptance -d mysql -j 8.0 -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+acceptance application mysql php 8.1 min:
   stage: acceptance
   needs: []
   only:
@@ -149,7 +98,7 @@ acceptance application mariadb php 8.1 min:
   parallel: 8
   script:
     - Build/Scripts/runTests.sh -s composerInstallMin -p 8.1
-    - Build/Scripts/runTests.sh -s acceptance -d mariadb -i 10.3 -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+    - Build/Scripts/runTests.sh -s acceptance -d mysql -j 8.0 -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
 
 acceptance application sqlite php 8.1 locked:
   stage: acceptance
@@ -201,3 +150,56 @@ acceptance application sqlite php 8.1 min:
   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
+
+# @todo New acceptance tests with postgres has some issues, so we leave them
+#       disabled for now before adding more unstable acceptance tests.
+#acceptance application postgres php 8.1 locked:
+#  stage: acceptance
+#  needs: []
+#  only:
+#    - schedules
+#  artifacts:
+#    when: on_failure
+#    paths:
+#      - typo3temp/var/tests/acceptance/typo3temp/var/log
+#      - typo3temp/var/tests/AcceptanceReports
+#  parallel: 8
+#  script:
+#    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
+#    - Build/Scripts/runTests.sh -s acceptance -d postgres -k 10 -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+#acceptance application postgres php 8.1 max:
+#  stage: acceptance
+#  needs: []
+#  only:
+#    - schedules
+#  cache:
+#    key: main-composer-max
+#    paths:
+#      - .cache
+#  artifacts:
+#    when: on_failure
+#    paths:
+#      - typo3temp/var/tests/acceptance/typo3temp/var/log
+#      - typo3temp/var/tests/AcceptanceReports
+#  parallel: 8
+#  script:
+#    - Build/Scripts/runTests.sh -s composerInstallMax -p 8.1
+#    - Build/Scripts/runTests.sh -s acceptance -d postgres -k 10 -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+#acceptance application postgres php 8.1 min:
+#  stage: acceptance
+#  needs: []
+#  only:
+#    - schedules
+#  cache:
+#    key: main-composer-min
+#    paths:
+#      - .cache
+#  artifacts:
+#    when: on_failure
+#    paths:
+#      - typo3temp/var/tests/acceptance/typo3temp/var/log
+#      - typo3temp/var/tests/AcceptanceReports
+#  parallel: 8
+#  script:
+#    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.1
+#    - Build/Scripts/runTests.sh -s acceptance -d postgres -k 10 -p 8.1 -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 99f2a6a3fd42de161a4e429cb7ca8938d206f4fe..e4d17d309701c2c05509e7c2b251c81462b33766 100644
--- a/Build/gitlab-ci/nightly/acceptance-install.yml
+++ b/Build/gitlab-ci/nightly/acceptance-install.yml
@@ -1,93 +1,3 @@
-acceptance install mariadb php 7.4 locked:
-  stage: acceptance
-  needs: []
-  only:
-    - schedules
-  artifacts:
-    when: on_failure
-    paths:
-      - typo3temp/var/tests/AcceptanceReports
-  script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 7.4
-    - Build/Scripts/runTests.sh -s acceptanceInstall -d mariadb -i 10.3 -p 7.4
-acceptance install mariadb php 7.4 max:
-  stage: acceptance
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: main-composer-max
-    paths:
-      - .cache
-  artifacts:
-    when: on_failure
-    paths:
-      - typo3temp/var/tests/AcceptanceReports
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMax -p 7.4
-    - Build/Scripts/runTests.sh -s acceptanceInstall -d mariadb -i 10.3 -p 7.4
-acceptance install mariadb php 7.4 min:
-  stage: acceptance
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: main-composer-min
-    paths:
-      - .cache
-  artifacts:
-    when: on_failure
-    paths:
-      - typo3temp/var/tests/AcceptanceReports
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 7.4
-    - Build/Scripts/runTests.sh -s acceptanceInstall -d mariadb -i 10.3 -p 7.4
-
-acceptance install mariadb php 8.0 locked:
-  stage: acceptance
-  needs: []
-  only:
-    - schedules
-  artifacts:
-    when: on_failure
-    paths:
-      - typo3temp/var/tests/AcceptanceReports
-  script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 8.0
-    - Build/Scripts/runTests.sh -s acceptanceInstall -d mariadb -i 10.3 -p 8.0
-acceptance install mariadb php 8.0 max:
-  stage: acceptance
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: main-composer-max
-    paths:
-      - .cache
-  artifacts:
-    when: on_failure
-    paths:
-      - typo3temp/var/tests/AcceptanceReports
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMax -p 8.0
-    - Build/Scripts/runTests.sh -s acceptanceInstall -d mariadb -i 10.3 -p 8.0
-acceptance install mariadb php 8.0 min:
-  stage: acceptance
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: main-composer-min
-    paths:
-      - .cache
-  artifacts:
-    when: on_failure
-    paths:
-      - typo3temp/var/tests/AcceptanceReports
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.0
-    - Build/Scripts/runTests.sh -s acceptanceInstall -d mariadb -i 10.3 -p 8.0
-
 acceptance install mariadb php 8.1 locked:
   stage: acceptance
   needs: []
@@ -133,97 +43,7 @@ acceptance install mariadb php 8.1 min:
     - Build/Scripts/runTests.sh -s composerInstallMin -p 8.1
     - Build/Scripts/runTests.sh -s acceptanceInstall -d mariadb -i 10.3 -p 8.1
 
-acceptance install mysql php 7.4:
-  stage: acceptance
-  needs: []
-  only:
-    - schedules
-  artifacts:
-    when: on_failure
-    paths:
-      - typo3temp/var/tests/AcceptanceReports
-  script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 7.4
-    - Build/Scripts/runTests.sh -s acceptanceInstall -d mysql -j 5.5 -p 7.4
-acceptance install mysql php 7.4 max:
-  stage: acceptance
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: main-composer-max
-    paths:
-      - .cache
-  artifacts:
-    when: on_failure
-    paths:
-      - typo3temp/var/tests/AcceptanceReports
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMax -p 7.4
-    - Build/Scripts/runTests.sh -s acceptanceInstall -d mysql -j 5.5 -p 7.4
-acceptance install mysql php 7.4 min:
-  stage: acceptance
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: main-composer-min
-    paths:
-      - .cache
-  artifacts:
-    when: on_failure
-    paths:
-      - typo3temp/var/tests/AcceptanceReports
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 7.4
-    - Build/Scripts/runTests.sh -s acceptanceInstall -d mysql -j 5.5 -p 7.4
-
-acceptance install mysql php 8.0:
-  stage: acceptance
-  needs: []
-  only:
-    - schedules
-  artifacts:
-    when: on_failure
-    paths:
-      - typo3temp/var/tests/AcceptanceReports
-  script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 8.0
-    - Build/Scripts/runTests.sh -s acceptanceInstall -d mysql -j 5.5 -p 8.0
-acceptance install mysql php 8.0 max:
-  stage: acceptance
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: main-composer-max
-    paths:
-      - .cache
-  artifacts:
-    when: on_failure
-    paths:
-      - typo3temp/var/tests/AcceptanceReports
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMax -p 8.0
-    - Build/Scripts/runTests.sh -s acceptanceInstall -d mysql -j 5.5 -p 8.0
-acceptance install mysql php 8.0 min:
-  stage: acceptance
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: main-composer-min
-    paths:
-      - .cache
-  artifacts:
-    when: on_failure
-    paths:
-      - typo3temp/var/tests/AcceptanceReports
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.0
-    - Build/Scripts/runTests.sh -s acceptanceInstall -d mysql -j 5.5 -p 8.0
-
-acceptance install mysql php 8.1:
+acceptance install mysql php 8.1 locked:
   stage: acceptance
   needs: []
   only:
@@ -234,7 +54,7 @@ acceptance install mysql php 8.1:
       - typo3temp/var/tests/AcceptanceReports
   script:
     - Build/Scripts/runTests.sh -s composerInstall -p 8.1
-    - Build/Scripts/runTests.sh -s acceptanceInstall -d mysql -j 5.5 -p 8.1
+    - Build/Scripts/runTests.sh -s acceptanceInstall -d mysql -j 8.0 -p 8.1
 acceptance install mysql php 8.1 max:
   stage: acceptance
   needs: []
@@ -250,7 +70,7 @@ acceptance install mysql php 8.1 max:
       - typo3temp/var/tests/AcceptanceReports
   script:
     - Build/Scripts/runTests.sh -s composerInstallMax -p 8.1
-    - Build/Scripts/runTests.sh -s acceptanceInstall -d mysql -j 5.5 -p 8.1
+    - Build/Scripts/runTests.sh -s acceptanceInstall -d mysql -j 8.0 -p 8.1
 acceptance install mysql php 8.1 min:
   stage: acceptance
   needs: []
@@ -266,97 +86,7 @@ acceptance install mysql php 8.1 min:
       - typo3temp/var/tests/AcceptanceReports
   script:
     - Build/Scripts/runTests.sh -s composerInstallMin -p 8.1
-    - Build/Scripts/runTests.sh -s acceptanceInstall -d mysql -j 5.5 -p 8.1
-
-acceptance install postgres php 7.4 locked:
-  stage: acceptance
-  needs: []
-  only:
-    - schedules
-  artifacts:
-    when: on_failure
-    paths:
-      - typo3temp/var/tests/AcceptanceReports
-  script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 7.4
-    - Build/Scripts/runTests.sh -s acceptanceInstall -d postgres -k 10 -p 7.4
-acceptance install postgres php 7.4 max:
-  stage: acceptance
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: main-composer-max
-    paths:
-      - .cache
-  artifacts:
-    when: on_failure
-    paths:
-      - typo3temp/var/tests/AcceptanceReports
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMax -p 7.4
-    - Build/Scripts/runTests.sh -s acceptanceInstall -d postgres -k 10 -p 7.4
-acceptance install postgres php 7.4 min:
-  stage: acceptance
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: main-composer-min
-    paths:
-      - .cache
-  artifacts:
-    when: on_failure
-    paths:
-      - typo3temp/var/tests/AcceptanceReports
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 7.4
-    - Build/Scripts/runTests.sh -s acceptanceInstall -d postgres -k 10 -p 7.4
-
-acceptance install postgres php 8.0 locked:
-  stage: acceptance
-  needs: []
-  only:
-    - schedules
-  artifacts:
-    when: on_failure
-    paths:
-      - typo3temp/var/tests/AcceptanceReports
-  script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 8.0
-    - Build/Scripts/runTests.sh -s acceptanceInstall -d postgres -k 10 -p 8.0
-acceptance install postgres php 8.0 max:
-  stage: acceptance
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: main-composer-max
-    paths:
-      - .cache
-  artifacts:
-    when: on_failure
-    paths:
-      - typo3temp/var/tests/AcceptanceReports
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMax -p 8.0
-    - Build/Scripts/runTests.sh -s acceptanceInstall -d postgres -k 10 -p 8.0
-acceptance install postgres php 8.0 min:
-  stage: acceptance
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: main-composer-min
-    paths:
-      - .cache
-  artifacts:
-    when: on_failure
-    paths:
-      - typo3temp/var/tests/AcceptanceReports
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.0
-    - Build/Scripts/runTests.sh -s acceptanceInstall -d postgres -k 10 -p 8.0
+    - Build/Scripts/runTests.sh -s acceptanceInstall -d mysql -j 8.0 -p 8.1
 
 acceptance install postgres php 8.1 locked:
   stage: acceptance
@@ -403,96 +133,6 @@ acceptance install postgres php 8.1 min:
     - Build/Scripts/runTests.sh -s composerInstallMin -p 8.1
     - Build/Scripts/runTests.sh -s acceptanceInstall -d postgres -k 10 -p 8.1
 
-acceptance install sqlite php 7.4 locked:
-  stage: acceptance
-  needs: []
-  only:
-    - schedules
-  artifacts:
-    when: on_failure
-    paths:
-      - typo3temp/var/tests/AcceptanceReports
-  script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 7.4
-    - Build/Scripts/runTests.sh -s acceptanceInstall -d sqlite -p 7.4
-acceptance install sqlite php 7.4 max:
-  stage: acceptance
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: main-composer-max
-    paths:
-      - .cache
-  artifacts:
-    when: on_failure
-    paths:
-      - typo3temp/var/tests/AcceptanceReports
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMax -p 7.4
-    - Build/Scripts/runTests.sh -s acceptanceInstall -d sqlite -p 7.4
-acceptance install sqlite php 7.4 min:
-  stage: acceptance
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: master-composer-min
-    paths:
-      - .cache
-  artifacts:
-    when: on_failure
-    paths:
-      - typo3temp/var/tests/AcceptanceReports
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 7.4
-    - Build/Scripts/runTests.sh -s acceptanceInstall -d sqlite -p 7.4
-
-acceptance install sqlite php 8.0 locked:
-  stage: acceptance
-  needs: []
-  only:
-    - schedules
-  artifacts:
-    when: on_failure
-    paths:
-      - typo3temp/var/tests/AcceptanceReports
-  script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 8.0
-    - Build/Scripts/runTests.sh -s acceptanceInstall -d sqlite -p 8.0
-acceptance install sqlite php 8.0 max:
-  stage: acceptance
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: master-composer-max
-    paths:
-      - .cache
-  artifacts:
-    when: on_failure
-    paths:
-      - typo3temp/var/tests/AcceptanceReports
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMax -p 8.0
-    - Build/Scripts/runTests.sh -s acceptanceInstall -d sqlite -p 8.0
-acceptance install sqlite php 8.0 min:
-  stage: acceptance
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: master-composer-min
-    paths:
-      - .cache
-  artifacts:
-    when: on_failure
-    paths:
-      - typo3temp/var/tests/AcceptanceReports
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.0
-    - Build/Scripts/runTests.sh -s acceptanceInstall -d sqlite -p 8.0
-
 acceptance install sqlite php 8.1 locked:
   stage: acceptance
   needs: []
diff --git a/Build/gitlab-ci/nightly/functional.yml b/Build/gitlab-ci/nightly/functional.yml
index 9a27c9e2208c7164f26edcea6c9051617f54f8bc..88979677b2ee1cb9994d3d68b1e533ab08ebec25 100644
--- a/Build/gitlab-ci/nightly/functional.yml
+++ b/Build/gitlab-ci/nightly/functional.yml
@@ -1,45 +1,12 @@
-functional deprecated mariadb 10.3 php 7.4 locked:
+functional deprecated mariadb 10.3 php 8.1 locked:
   stage: functional
   needs: []
   only:
     - schedules
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 7.4
-    - Build/Scripts/runTests.sh -s functionalDeprecated -d mariadb -i 10.3 -p 7.4
-functional deprecated mariadb 10.3 php 7.4 max:
-  stage: functional
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: main-composer-max
-    paths:
-      - .cache
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMax -p 7.4
-    - Build/Scripts/runTests.sh -s functionalDeprecated -d mariadb -i 10.3 -p 7.4
-functional deprecated mariadb 10.3 php 7.4 min:
-  stage: functional
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: main-composer-min
-    paths:
-      - .cache
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 7.4
-    - Build/Scripts/runTests.sh -s functionalDeprecated -d mariadb -i 10.3 -p 7.4
-
-functional deprecated mariadb 10.5 php 8.0 locked:
-  stage: functional
-  needs: []
-  only:
-    - schedules
-  script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 8.0
-    - Build/Scripts/runTests.sh -s functionalDeprecated -d mariadb -i 10.5 -p 8.0
-functional deprecated mariadb 10.5 php 8.0 max:
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
+    - Build/Scripts/runTests.sh -s functionalDeprecated -d mariadb -i 10.3 -p 8.1
+functional deprecated mariadb 10.3 php 8.1 max:
   stage: functional
   needs: []
   only:
@@ -49,9 +16,9 @@ functional deprecated mariadb 10.5 php 8.0 max:
     paths:
       - .cache
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMax -p 8.0
-    - Build/Scripts/runTests.sh -s functionalDeprecated -d mariadb -i 10.5 -p 8.0
-functional deprecated mariadb 10.5 php 8.0 min:
+    - Build/Scripts/runTests.sh -s composerInstallMax -p 8.1
+    - Build/Scripts/runTests.sh -s functionalDeprecated -d mariadb -i 10.3 -p 8.1
+functional deprecated mariadb 10.3 php 8.1 min:
   stage: functional
   needs: []
   only:
@@ -61,18 +28,18 @@ functional deprecated mariadb 10.5 php 8.0 min:
     paths:
       - .cache
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.0
-    - Build/Scripts/runTests.sh -s functionalDeprecated -d mariadb -i 10.5 -p 8.0
+    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.1
+    - Build/Scripts/runTests.sh -s functionalDeprecated -d mariadb -i 10.3 -p 8.1
 
-functional deprecated mssql php 7.4 locked:
+functional deprecated mariadb 10.5 php 8.1 locked:
   stage: functional
   needs: []
   only:
     - schedules
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 7.4
-    - Build/Scripts/runTests.sh -s functionalDeprecated -d mssql -p 7.4
-functional deprecated mssql php 7.4 max:
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
+    - Build/Scripts/runTests.sh -s functionalDeprecated -d mariadb -i 10.5 -p 8.1
+functional deprecated mariadb 10.5 php 8.1 max:
   stage: functional
   needs: []
   only:
@@ -82,9 +49,9 @@ functional deprecated mssql php 7.4 max:
     paths:
       - .cache
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMax -p 7.4
-    - Build/Scripts/runTests.sh -s functionalDeprecated -d mssql -p 7.4
-functional deprecated mssql php 7.4 min:
+    - Build/Scripts/runTests.sh -s composerInstallMax -p 8.1
+    - Build/Scripts/runTests.sh -s functionalDeprecated -d mariadb -i 10.5 -p 8.1
+functional deprecated mariadb 10.5 php 8.1 min:
   stage: functional
   needs: []
   only:
@@ -94,18 +61,18 @@ functional deprecated mssql php 7.4 min:
     paths:
       - .cache
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 7.4
-    - Build/Scripts/runTests.sh -s functionalDeprecated -d mssql -p 7.4
+    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.1
+    - Build/Scripts/runTests.sh -s functionalDeprecated -d mariadb -i 10.5 -p 8.1
 
-functional deprecated mysql 5.5 php 7.4 locked:
+functional deprecated mysql 8.0 php 8.1 locked:
   stage: functional
   needs: []
   only:
     - schedules
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 7.4
-    - Build/Scripts/runTests.sh -s functionalDeprecated -d mysql -j 5.5 -p 7.4
-functional deprecated mysql 5.5 php 7.4 max:
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
+    - Build/Scripts/runTests.sh -s functionalDeprecated -d mysql -j 8.0 -p 8.1
+functional deprecated mysql 8.0 php 8.1 max:
   stage: functional
   needs: []
   only:
@@ -115,9 +82,9 @@ functional deprecated mysql 5.5 php 7.4 max:
     paths:
       - .cache
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMax -p 7.4
-    - Build/Scripts/runTests.sh -s functionalDeprecated -d mysql -j 5.5 -p 7.4
-functional deprecated mysql 5.5 php 7.4 min:
+    - Build/Scripts/runTests.sh -s composerInstallMax -p 8.1
+    - Build/Scripts/runTests.sh -s functionalDeprecated -d mysql -j 8.0 -p 8.1
+functional deprecated mysql 8.0 php 8.1 min:
   stage: functional
   needs: []
   only:
@@ -127,18 +94,18 @@ functional deprecated mysql 5.5 php 7.4 min:
     paths:
       - .cache
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 7.4
-    - Build/Scripts/runTests.sh -s functionalDeprecated -d mysql -j 5.5 -p 7.4
+    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.1
+    - Build/Scripts/runTests.sh -s functionalDeprecated -d mysql -j 8.0 -p 8.1
 
-functional deprecated postgres 10 php 7.4 locked:
+functional deprecated postgres 10 php 8.1 locked:
   stage: functional
   needs: []
   only:
     - schedules
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 7.4
-    - Build/Scripts/runTests.sh -s functionalDeprecated -d postgres -k 10 -p 7.4
-functional deprecated postgres 10 php 7.4 max:
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
+    - Build/Scripts/runTests.sh -s functionalDeprecated -d postgres -k 10 -p 8.1
+functional deprecated postgres 10 php 8.1 max:
   stage: functional
   needs: []
   only:
@@ -148,9 +115,9 @@ functional deprecated postgres 10 php 7.4 max:
     paths:
       - .cache
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMax -p 7.4
-    - Build/Scripts/runTests.sh -s functionalDeprecated -d postgres -k 10 -p 7.4
-functional deprecated postgres 10 php 7.4 min:
+    - Build/Scripts/runTests.sh -s composerInstallMax -p 8.1
+    - Build/Scripts/runTests.sh -s functionalDeprecated -d postgres -k 10 -p 8.1
+functional deprecated postgres 10 php 8.1 min:
   stage: functional
   needs: []
   only:
@@ -160,8 +127,8 @@ functional deprecated postgres 10 php 7.4 min:
     paths:
       - .cache
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 7.4
-    - Build/Scripts/runTests.sh -s functionalDeprecated -d postgres -k 10 -p 7.4
+    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.1
+    - Build/Scripts/runTests.sh -s functionalDeprecated -d postgres -k 10 -p 8.1
 
 functional deprecated sqlite php 8.1 locked:
   stage: functional
@@ -196,17 +163,16 @@ functional deprecated sqlite php 8.1 min:
     - Build/Scripts/runTests.sh -s composerInstallMin -p 8.1
     - Build/Scripts/runTests.sh -s functionalDeprecated -d sqlite -p 8.1
 
-
-functional mariadb 10.3 php 7.4 locked:
+functional mariadb 10.3 php 8.1 locked:
   stage: functional
   needs: []
   only:
     - schedules
   parallel: 6
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 7.4
-    - Build/Scripts/runTests.sh -s functional -d mariadb -i 10.3 -p 7.4 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
-functional mariadb 10.3 php 7.4 max:
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
+    - Build/Scripts/runTests.sh -s functional -d mariadb -i 10.3 -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+functional mariadb 10.3 php 8.1 max:
   stage: functional
   needs: []
   only:
@@ -217,9 +183,9 @@ functional mariadb 10.3 php 7.4 max:
       - .cache
   parallel: 6
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMax -p 7.4
-    - Build/Scripts/runTests.sh -s functional -d mariadb -i 10.3 -p 7.4 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
-functional mariadb 10.3 php 7.4 min:
+    - Build/Scripts/runTests.sh -s composerInstallMax -p 8.1
+    - Build/Scripts/runTests.sh -s functional -d mariadb -i 10.3 -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+functional mariadb 10.3 php 8.1 min:
   stage: functional
   needs: []
   only:
@@ -230,8 +196,8 @@ functional mariadb 10.3 php 7.4 min:
       - .cache
   parallel: 6
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 7.4
-    - Build/Scripts/runTests.sh -s functional -d mariadb -i 10.3 -p 7.4 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.1
+    - Build/Scripts/runTests.sh -s functional -d mariadb -i 10.3 -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
 
 functional mariadb 10.5 php 8.1 locked:
   stage: functional
@@ -269,52 +235,16 @@ functional mariadb 10.5 php 8.1 min:
     - Build/Scripts/runTests.sh -s composerInstallMin -p 8.1
     - Build/Scripts/runTests.sh -s functional -d mariadb -i 10.5 -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
 
-functional mssql php 7.4 locked:
-  stage: functional
-  needs: []
-  only:
-    - schedules
-  parallel: 12
-  script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 7.4
-    - Build/Scripts/runTests.sh -s functional -d mssql -p 7.4 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
-functional mssql php 7.4 max:
-  stage: functional
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: main-composer-max
-    paths:
-      - .cache
-  parallel: 12
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMax -p 7.4
-    - Build/Scripts/runTests.sh -s functional -d mssql -p 7.4 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
-functional mssql php 7.4 min:
-  stage: functional
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: main-composer-min
-    paths:
-      - .cache
-  parallel: 12
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 7.4
-    - Build/Scripts/runTests.sh -s functional -d mssql -p 7.4 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
-
-functional mysql 5.5 php 7.4 locked:
+functional mysql 8.0 php 8.1 locked:
   stage: functional
   needs: []
   only:
     - schedules
   parallel: 6
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 7.4
-    - Build/Scripts/runTests.sh -s functional -d mysql -j 5.5 -p 7.4 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
-functional mysql 5.5 php 7.4 max:
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
+    - Build/Scripts/runTests.sh -s functional -d mysql -j 8.0 -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+functional mysql 8.0 php 8.1 max:
   stage: functional
   needs: []
   only:
@@ -325,9 +255,9 @@ functional mysql 5.5 php 7.4 max:
       - .cache
   parallel: 6
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMax -p 7.4
-    - Build/Scripts/runTests.sh -s functional -d mysql -j 5.5 -p 7.4 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
-functional mysql 5.5 php 7.4 min:
+    - Build/Scripts/runTests.sh -s composerInstallMax -p 8.1
+    - Build/Scripts/runTests.sh -s functional -d mysql -j 8.0 -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+functional mysql 8.0 php 8.1 min:
   stage: functional
   needs: []
   only:
@@ -338,19 +268,19 @@ functional mysql 5.5 php 7.4 min:
       - .cache
   parallel: 6
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 7.4
-    - Build/Scripts/runTests.sh -s functional -d mysql -j 5.5 -p 7.4 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.1
+    - Build/Scripts/runTests.sh -s functional -d mysql -j 8.0 -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
 
-functional postgres 10 php 7.4 locked:
+functional postgres 10 php 8.1 locked:
   stage: functional
   needs: []
   only:
     - schedules
   parallel: 6
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 7.4
-    - Build/Scripts/runTests.sh -s functional -d postgres -k 10 -p 7.4 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
-functional postgres 10 php 7.4 max:
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
+    - Build/Scripts/runTests.sh -s functional -d postgres -k 10 -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+functional postgres 10 php 8.1 max:
   stage: functional
   needs: []
   only:
@@ -361,9 +291,9 @@ functional postgres 10 php 7.4 max:
       - .cache
   parallel: 6
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMax -p 7.4
-    - Build/Scripts/runTests.sh -s functional -d postgres -k 10 -p 7.4 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
-functional postgres 10 php 7.4 min:
+    - Build/Scripts/runTests.sh -s composerInstallMax -p 8.1
+    - Build/Scripts/runTests.sh -s functional -d postgres -k 10 -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+functional postgres 10 php 8.1 min:
   stage: functional
   needs: []
   only:
@@ -374,19 +304,19 @@ functional postgres 10 php 7.4 min:
       - .cache
   parallel: 6
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 7.4
-    - Build/Scripts/runTests.sh -s functional -d postgres -k 10 -p 7.4 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.1
+    - Build/Scripts/runTests.sh -s functional -d postgres -k 10 -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
 
-functional sqlite php 7.4 locked:
+functional sqlite php 8.1 locked:
   stage: functional
   needs: []
   only:
     - schedules
   parallel: 6
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 7.4
-    - Build/Scripts/runTests.sh -s functional -d sqlite -p 7.4 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
-functional sqlite php 7.4 max:
+    - 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
+functional sqlite php 8.1 max:
   stage: functional
   needs: []
   only:
@@ -397,9 +327,9 @@ functional sqlite php 7.4 max:
       - .cache
   parallel: 6
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMax -p 7.4
-    - Build/Scripts/runTests.sh -s functional -d sqlite -p 7.4 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
-functional sqlite php 7.4 min:
+    - Build/Scripts/runTests.sh -s composerInstallMax -p 8.1
+    - Build/Scripts/runTests.sh -s functional -d sqlite -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+functional sqlite php 8.1 min:
   stage: functional
   needs: []
   only:
@@ -410,5 +340,5 @@ functional sqlite php 7.4 min:
       - .cache
   parallel: 6
   script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 7.4
-    - Build/Scripts/runTests.sh -s functional -d sqlite -p 7.4 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+    - 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
diff --git a/Build/gitlab-ci/nightly/integrity.yml b/Build/gitlab-ci/nightly/integrity.yml
index b34569b075be6bdd5412dbe8a8d4322d4d292d1d..f167efdaa9fad13854ecf95792cfeaebd15d8d9c 100644
--- a/Build/gitlab-ci/nightly/integrity.yml
+++ b/Build/gitlab-ci/nightly/integrity.yml
@@ -1,11 +1,11 @@
-annotations php 7.4:
+annotations php 8.1:
   stage: integrity
   needs: []
   only:
     - schedules
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 7.4
-    - Build/Scripts/runTests.sh -s checkAnnotations -p 7.4
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
+    - Build/Scripts/runTests.sh -s checkAnnotations -p 8.1
 
 cgl:
   stage: integrity
@@ -13,8 +13,8 @@ cgl:
   only:
     - schedules
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 7.4
-    - Build/Scripts/runTests.sh -s cgl -n -p 7.4
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
+    - Build/Scripts/runTests.sh -s cgl -n -p 8.1
 
 composer validate:
   stage: integrity
@@ -22,7 +22,7 @@ composer validate:
   only:
     - schedules
   script:
-    - Build/Scripts/runTests.sh -s composerValidate -p 7.4
+    - Build/Scripts/runTests.sh -s composerValidate -p 8.1
 
 grunt clean:
   stage: integrity
@@ -46,35 +46,19 @@ integration various:
     paths:
       - .cache
   script:
-    - Build/Scripts/runTests.sh -s composerTestDistribution -p 7.4
-    - Build/Scripts/runTests.sh -s composerTestDistribution -p 8.0
     - Build/Scripts/runTests.sh -s composerTestDistribution -p 8.1
-    - Build/Scripts/runTests.sh -s composerInstall -p 7.4
-    - Build/Scripts/runTests.sh -s checkExceptionCodes -p 7.4
-    - Build/Scripts/runTests.sh -s checkGitSubmodule -p 7.4
-    - Build/Scripts/runTests.sh -s checkPermissions -p 7.4
-    - Build/Scripts/runTests.sh -s checkRst -p 7.4
-    - Build/Scripts/runTests.sh -s checkFilePathLength -p 7.4
-    - Build/Scripts/runTests.sh -s checkExtensionScannerRst -p 7.4
-    - Build/Scripts/runTests.sh -s checkCsvFixtures -p 7.4
-    - Build/Scripts/runTests.sh -s checkBom -p 7.4
-    - Build/Scripts/runTests.sh -s checkComposer -p 7.4
-    - Build/Scripts/runTests.sh -s checkTestMethodsPrefix -p 7.4
+    - 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 checkCsvFixtures -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 checkTestMethodsPrefix -p 8.1
 
-lint php 7.4:
-  stage: integrity
-  needs: []
-  only:
-    - schedules
-  script:
-    - Build/Scripts/runTests.sh -s lintPhp -p 7.4
-lint php 8.0:
-  stage: integrity
-  needs: []
-  only:
-    - schedules
-  script:
-    - Build/Scripts/runTests.sh -s lintPhp -p 8.0
 lint php 8.1:
   stage: integrity
   needs: []
@@ -97,28 +81,16 @@ lint scss ts html:
     - Build/Scripts/runTests.sh -s lintTypescript
     - Build/Scripts/runTests.sh -s lintHtml
 
-phpstan php 7.4:
-  stage: integrity
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: main-composer-phpstan-74
-    paths:
-      - .cache
-  script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 7.4
-    - Build/Scripts/runTests.sh -s phpstan -p 7.4
-
+# @todo Hardcoded enforced to PHP8.0 in Build/Scripts/runTests.sh - change this after phpstan:^1.2 raised.
 phpstan php 8.0:
   stage: integrity
   needs: []
   only:
     - schedules
   cache:
-    key: main-composer-phpstan-80
+    key: main-composer-phpstan-81
     paths:
       - .cache
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 8.0
-    - Build/Scripts/runTests.sh -s phpstan -p 8.0
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
+    - Build/Scripts/runTests.sh -s phpstan -p 8.1
diff --git a/Build/gitlab-ci/nightly/unit.yml b/Build/gitlab-ci/nightly/unit.yml
index 8e23b18eb3d72de65b8ac1bff6d1f4c4093e6831..66b505ef3cce898c4a326cc32c417644c1457158 100644
--- a/Build/gitlab-ci/nightly/unit.yml
+++ b/Build/gitlab-ci/nightly/unit.yml
@@ -8,207 +8,9 @@ unit javascript:
     paths:
       - .cache
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 7.4
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.1 -d mariadb -i 10.3
     - Build/Scripts/runTests.sh -s unitJavascript
 
-unit php 7.4 locked:
-  stage: unit
-  needs: []
-  only:
-    - schedules
-  script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 7.4
-    - Build/Scripts/runTests.sh -s unit -p 7.4
-unit php 7.4 locked deprecated:
-  stage: unit
-  needs: []
-  only:
-    - schedules
-  script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 7.4
-    - Build/Scripts/runTests.sh -s unitDeprecated -p 7.4
-unit php 7.4 locked random:
-  stage: unit
-  needs: []
-  only:
-    - schedules
-  script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 7.4
-    - Build/Scripts/runTests.sh -s unitRandom -p 7.4
-
-unit php 7.4 max:
-  stage: unit
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: main-composer-max
-    paths:
-      - .cache
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMax -p 7.4
-    - Build/Scripts/runTests.sh -s unit -p 7.4
-unit php 7.4 max deprecated:
-  stage: unit
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: main-composer-max
-    paths:
-      - .cache
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMax -p 7.4
-    - Build/Scripts/runTests.sh -s unitDeprecated -p 7.4
-unit php 7.4 max random:
-  stage: unit
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: main-composer-max
-    paths:
-      - .cache
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMax -p 7.4
-    - Build/Scripts/runTests.sh -s unitRandom -p 7.4
-
-unit php 7.4 min:
-  stage: unit
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: main-composer-min
-    paths:
-      - .cache
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 7.4
-    - Build/Scripts/runTests.sh -s unit -p 7.4
-unit php 7.4 min deprecated:
-  stage: unit
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: main-composer-min
-    paths:
-      - .cache
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 7.4
-    - Build/Scripts/runTests.sh -s unitDeprecated -p 7.4
-unit php 7.4 min random:
-  stage: unit
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: main-composer-min
-    paths:
-      - .cache
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 7.4
-    - Build/Scripts/runTests.sh -s unitRandom -p 7.4
-
-unit php 8.0 locked:
-  stage: unit
-  needs: []
-  only:
-    - schedules
-  script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 8.0
-    - Build/Scripts/runTests.sh -s unit -p 8.0
-unit php 8.0 locked deprecated:
-  stage: unit
-  needs: []
-  only:
-    - schedules
-  script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 8.0
-    - Build/Scripts/runTests.sh -s unitDeprecated -p 8.0
-unit php 8.0 locked random:
-  stage: unit
-  needs: []
-  only:
-    - schedules
-  script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 8.0
-    - Build/Scripts/runTests.sh -s unitRandom -p 8.0
-
-unit php 8.0 max:
-  stage: unit
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: main-composer-max
-    paths:
-      - .cache
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMax -p 8.0
-    - Build/Scripts/runTests.sh -s unit -p 8.0
-unit php 8.0 max deprecated:
-  stage: unit
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: main-composer-max
-    paths:
-      - .cache
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMax -p 8.0
-    - Build/Scripts/runTests.sh -s unitDeprecated -p 8.0
-unit php 8.0 max random:
-  stage: unit
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: main-composer-max
-    paths:
-      - .cache
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMax -p 8.0
-    - Build/Scripts/runTests.sh -s unitRandom -p 8.0
-
-unit php 8.0 min:
-  stage: unit
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: main-composer-min
-    paths:
-      - .cache
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.0
-    - Build/Scripts/runTests.sh -s unit -p 8.0
-unit php 8.0 min deprecated:
-  stage: unit
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: main-composer-min
-    paths:
-      - .cache
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.0
-    - Build/Scripts/runTests.sh -s unitDeprecated -p 8.0
-unit php 8.0 min random:
-  stage: unit
-  needs: []
-  only:
-    - schedules
-  cache:
-    key: main-composer-min
-    paths:
-      - .cache
-  script:
-    - Build/Scripts/runTests.sh -s composerInstallMin -p 8.0
-    - Build/Scripts/runTests.sh -s unitRandom -p 8.0
-
 unit php 8.1 locked:
   stage: unit
   needs: []
diff --git a/Build/gitlab-ci/pre-merge/acceptance-application.yml b/Build/gitlab-ci/pre-merge/acceptance-application.yml
index d81bbea0c43b4d9e427d4904296e9b873360338e..eb288841e6668eb5701bca3c1c291469c54dcfb1 100644
--- a/Build/gitlab-ci/pre-merge/acceptance-application.yml
+++ b/Build/gitlab-ci/pre-merge/acceptance-application.yml
@@ -1,19 +1,3 @@
-acceptance application mariadb php 7.4 pre-merge:
-  stage: main
-  except:
-    refs:
-      - schedules
-      - main
-  artifacts:
-    when: on_failure
-    paths:
-      - typo3temp/var/tests/acceptance/typo3temp/var/log
-      - typo3temp/var/tests/AcceptanceReports
-  parallel: 13
-  script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 7.4
-    - Build/Scripts/runTests.sh -s acceptance -p 7.4 -d mariadb -i 10.3 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
-
 acceptance application mariadb php 8.1 pre-merge:
   stage: main
   except:
diff --git a/Build/gitlab-ci/pre-merge/acceptance-install.yml b/Build/gitlab-ci/pre-merge/acceptance-install.yml
index 987ef686610a36a4fc8630782ab7728315aed161..1073354c5cc6a3d126d10b939455e08a1ac528e5 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 php 7.4 pre-merge:
+acceptance install mariadb php 8.1 pre-merge:
   stage: main
   except:
     refs:
@@ -9,8 +9,8 @@ acceptance install mariadb php 7.4 pre-merge:
     paths:
       - typo3temp/var/tests/AcceptanceReports
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 7.4
-    - Build/Scripts/runTests.sh -s acceptanceInstall -d mariadb -i 10.3 -p 7.4
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
+    - Build/Scripts/runTests.sh -s acceptanceInstall -d mariadb -i 10.3 -p 8.1
 
 acceptance install mysql php 8.1 pre-merge:
   stage: main
@@ -24,9 +24,9 @@ acceptance install mysql php 8.1 pre-merge:
       - typo3temp/var/tests/AcceptanceReports
   script:
     - Build/Scripts/runTests.sh -s composerInstall -p 8.1
-    - Build/Scripts/runTests.sh -s acceptanceInstall -d mysql -j 5.5 -p 8.1
+    - Build/Scripts/runTests.sh -s acceptanceInstall -d mysql -j 8.0 -p 8.1
 
-acceptance install postgres php 7.4 pre-merge:
+acceptance install postgres php 8.1 pre-merge:
   stage: main
   except:
     refs:
@@ -37,8 +37,8 @@ acceptance install postgres php 7.4 pre-merge:
     paths:
       - typo3temp/var/tests/AcceptanceReports
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 7.4
-    - Build/Scripts/runTests.sh -s acceptanceInstall -d postgres -k 10 -p 7.4
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
+    - Build/Scripts/runTests.sh -s acceptanceInstall -d postgres -k 10 -p 8.1
 
 acceptance install sqlite php 8.1 pre-merge:
   stage: main
diff --git a/Build/gitlab-ci/pre-merge/early.yml b/Build/gitlab-ci/pre-merge/early.yml
index bc7464ed630f854d577fcc8ee32d1e6076fd23cf..7e300ed9c6423a7363d2489a7664f5c7ede84aed 100644
--- a/Build/gitlab-ci/pre-merge/early.yml
+++ b/Build/gitlab-ci/pre-merge/early.yml
@@ -5,8 +5,8 @@ cgl pre-merge:
       - schedules
       - main
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 7.4
-    - Build/Scripts/runTests.sh -s cglGit -n -p 7.4
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
+    - Build/Scripts/runTests.sh -s cglGit -n -p 8.1
 
 composer validate pre-merge:
   stage: early
@@ -15,4 +15,4 @@ composer validate pre-merge:
       - schedules
       - main
   script:
-    - Build/Scripts/runTests.sh -s composerValidate -p 7.4
+    - Build/Scripts/runTests.sh -s composerValidate -p 8.1
diff --git a/Build/gitlab-ci/pre-merge/functional.yml b/Build/gitlab-ci/pre-merge/functional.yml
index 42d7e410827d0ccecb60b1b676e8e162138b7b6e..939785da5f328ca6b5246ff4d8fa6bd5c7d103a8 100644
--- a/Build/gitlab-ci/pre-merge/functional.yml
+++ b/Build/gitlab-ci/pre-merge/functional.yml
@@ -8,17 +8,17 @@ functional deprecated mariadb 10.3 php 8.1 pre-merge:
     - Build/Scripts/runTests.sh -s composerInstall -p 8.1
     - Build/Scripts/runTests.sh -s functionalDeprecated -d mariadb -i 10.3 -p 8.1
 
-functional deprecated postgres 10 php 7.4 pre-merge:
+functional deprecated postgres 10 php 8.1 pre-merge:
   stage: main
   except:
     refs:
       - schedules
       - main
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 7.4
-    - Build/Scripts/runTests.sh -s functionalDeprecated -d postgres -k 10 -p 7.4
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
+    - Build/Scripts/runTests.sh -s functionalDeprecated -d postgres -k 10 -p 8.1
 
-functional mariadb 10.3 php 8.0 pre-merge:
+functional mariadb 10.3 php 8.1 pre-merge:
   stage: main
   except:
     refs:
@@ -26,8 +26,8 @@ functional mariadb 10.3 php 8.0 pre-merge:
       - main
   parallel: 6
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 8.0
-    - Build/Scripts/runTests.sh -s functional -d mariadb -i 10.3 -p 8.0 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
+    - Build/Scripts/runTests.sh -s functional -d mariadb -i 10.3 -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
 
 functional postgres 10 php 8.1 pre-merge:
   stage: main
@@ -40,7 +40,7 @@ functional postgres 10 php 8.1 pre-merge:
     - Build/Scripts/runTests.sh -s composerInstall -p 8.1
     - Build/Scripts/runTests.sh -s functional -d postgres -k 10 -p 8.1 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
 
-functional sqlite php 7.4 pre-merge:
+functional sqlite php 8.1 pre-merge:
   stage: main
   except:
     refs:
@@ -48,5 +48,5 @@ functional sqlite php 7.4 pre-merge:
       - main
   parallel: 5
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 7.4
-    - Build/Scripts/runTests.sh -s functional -d sqlite -p 7.4 -c $CI_NODE_INDEX/$CI_NODE_TOTAL
+    - 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
diff --git a/Build/gitlab-ci/pre-merge/integrity.yml b/Build/gitlab-ci/pre-merge/integrity.yml
index d6b73b9a1caec25e696f4f7f05de030c82f08eb5..afb15c7009e65947b04491080b184c7bb6ae72b9 100644
--- a/Build/gitlab-ci/pre-merge/integrity.yml
+++ b/Build/gitlab-ci/pre-merge/integrity.yml
@@ -1,12 +1,12 @@
-annotations php 7.4 pre-merge:
+annotations php 8.1 pre-merge:
   stage: main
   except:
     refs:
       - schedules
       - main
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 7.4
-    - Build/Scripts/runTests.sh -s checkAnnotations -p 7.4
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
+    - Build/Scripts/runTests.sh -s checkAnnotations -p 8.1
 
 grunt clean pre-merge:
   stage: main
@@ -32,20 +32,18 @@ integration various pre-merge:
     paths:
       - .cache
   script:
-    - Build/Scripts/runTests.sh -s composerTestDistribution -p 7.4
-    - Build/Scripts/runTests.sh -s composerTestDistribution -p 8.0
     - Build/Scripts/runTests.sh -s composerTestDistribution -p 8.1
-    - Build/Scripts/runTests.sh -s composerInstall -p 7.4
-    - Build/Scripts/runTests.sh -s checkExceptionCodes -p 7.4
-    - Build/Scripts/runTests.sh -s checkGitSubmodule -p 7.4
-    - Build/Scripts/runTests.sh -s checkPermissions -p 7.4
-    - Build/Scripts/runTests.sh -s checkRst -p 7.4
-    - Build/Scripts/runTests.sh -s checkFilePathLength -p 7.4
-    - Build/Scripts/runTests.sh -s checkExtensionScannerRst -p 7.4
-    - Build/Scripts/runTests.sh -s checkCsvFixtures -p 7.4
-    - Build/Scripts/runTests.sh -s checkBom -p 7.4
-    - Build/Scripts/runTests.sh -s checkComposer -p 7.4
-    - Build/Scripts/runTests.sh -s checkTestMethodsPrefix -p 7.4
+    - 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 checkCsvFixtures -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 checkTestMethodsPrefix -p 8.1
 
 lint scss ts html pre-merge:
   stage: main
@@ -62,20 +60,7 @@ lint scss ts html pre-merge:
     - Build/Scripts/runTests.sh -s lintTypescript
     - Build/Scripts/runTests.sh -s lintHtml
 
-phpstan php 7.4 pre-merge:
-  stage: main
-  except:
-    refs:
-      - schedules
-      - main
-  cache:
-    key: main-composer-phpstan-74
-    paths:
-      - .cache
-  script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 7.4
-    - Build/Scripts/runTests.sh -s phpstan -p 7.4
-
+# @todo Hardcoded enforced to PHP8.0 in Build/Scripts/runTests.sh - change this after phpstan:^1.2 raise.
 phpstan php 8.0 pre-merge:
   stage: main
   except:
@@ -83,10 +68,10 @@ phpstan php 8.0 pre-merge:
       - schedules
       - main
   cache:
-    key: main-composer-phpstan-80
+    key: main-composer-phpstan-81
     paths:
       - .cache
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 8.0
-    - Build/Scripts/runTests.sh -s phpstan -p 8.0
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
+    - Build/Scripts/runTests.sh -s phpstan -p 8.1
 
diff --git a/Build/gitlab-ci/pre-merge/unit.yml b/Build/gitlab-ci/pre-merge/unit.yml
index 60bf50cdda8702f5e37da5424b1ec9c43b7ec92c..c84a42636b88b057ee572f21c860644905c8d2d5 100644
--- a/Build/gitlab-ci/pre-merge/unit.yml
+++ b/Build/gitlab-ci/pre-merge/unit.yml
@@ -9,37 +9,9 @@ unit javascript pre-merge:
     paths:
       - .cache
   script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 7.4
+    - Build/Scripts/runTests.sh -s composerInstall -p 8.1
     - Build/Scripts/runTests.sh -s unitJavascript
 
-unit php 7.4 deprecated pre-merge:
-  stage: main
-  except:
-    refs:
-      - schedules
-      - main
-  script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 7.4
-    - Build/Scripts/runTests.sh -s unitDeprecated -p 7.4
-unit php 7.4 pre-merge:
-  stage: main
-  except:
-    refs:
-      - schedules
-      - main
-  script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 7.4
-    - Build/Scripts/runTests.sh -s unit -p 7.4
-unit php 7.4 random pre-merge:
-  stage: main
-  except:
-    refs:
-      - schedules
-      - main
-  script:
-    - Build/Scripts/runTests.sh -s composerInstall -p 7.4
-    - Build/Scripts/runTests.sh -s unitRandom -p 7.4
-
 unit php 8.1 deprecated pre-merge:
   stage: main
   except:
diff --git a/composer.json b/composer.json
index 04dce4a77af6fa43e2997bcb045747a6b8976040..513de9e861af6ed43588f8285f4c20a7e2c97e0d 100644
--- a/composer.json
+++ b/composer.json
@@ -26,7 +26,7 @@
 	"config": {
 		"bin-dir": "bin",
 		"platform": {
-			"php": "7.4.1"
+			"php": "8.1.1"
 		},
 		"sort-packages": true,
 		"allow-plugins": {
@@ -36,7 +36,7 @@
 		}
 	},
 	"require": {
-		"php": "^7.4 || ^8.0",
+		"php": "^8.1",
 		"ext-PDO": "*",
 		"ext-dom": "*",
 		"ext-json": "*",
diff --git a/composer.lock b/composer.lock
index c0ffa6df92d60db7330805feaa37adfce122ad8c..003c0dea37c0dbe009ccc1ec1550663a7a1eb6bd 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": "9c0dc0afc74efaaf6f32b1be641ec597",
+    "content-hash": "17b6f73676ad8018fade592602b16cef",
     "packages": [
         {
             "name": "bacon/bacon-qr-code",
@@ -8323,7 +8323,7 @@
     "prefer-stable": false,
     "prefer-lowest": false,
     "platform": {
-        "php": "^7.4 || ^8.0",
+        "php": "^8.1",
         "ext-pdo": "*",
         "ext-dom": "*",
         "ext-json": "*",
@@ -8335,7 +8335,7 @@
     },
     "platform-dev": [],
     "platform-overrides": {
-        "php": "7.4.1"
+        "php": "8.1.1"
     },
     "plugin-api-version": "2.2.0"
 }
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96553-TYPO3V12SystemRequirements.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96553-TYPO3V12SystemRequirements.rst
new file mode 100644
index 0000000000000000000000000000000000000000..6fad167d90681c0eaf49993aa51e38af3a4b8830
--- /dev/null
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96553-TYPO3V12SystemRequirements.rst
@@ -0,0 +1,45 @@
+.. include:: ../../Includes.txt
+
+================================================
+Breaking: #96553 - TYPO3 v12 system requirements
+================================================
+
+See :issue:`96553`
+
+Description
+===========
+
+The minimum PHP version required to run TYPO3 version v12 has been raised
+from 7.4 to 8.1.
+
+TYPO3 v12 supports these database products and versions:
+
+* MySQL 8.0 or higher
+* MariaDB 10.3 or higher
+* PostgreSQL 10.0 or higher
+* SQLite 3.8.3 or higher
+* Support for Microsoft SQL Server in any version is discontinued
+
+
+Impact
+======
+
+The TYPO3 core codebase and extensions tailored for v12 and above can use
+features implemented with PHP 8.0 and 8.1. Running TYPO3 v12 with older PHP
+versions or database engines will trigger fatal errors.
+
+
+Affected Installations
+======================
+
+Hosting a TYPO3 instance based on version 12 may require an update of the
+PHP platform and the database engine.
+
+
+Migration
+=========
+
+TYPO3 v11 supports PHP 8.1 and database engines required by v12. This allows upgrading
+the platform in a first step and upgrading to TYPO3 v12 in a second step.
+
+.. index:: Database, PHP-API, NotScanned, ext:core
diff --git a/typo3/sysext/core/Tests/Acceptance/Application/InstallTool/UpgradeCest.php b/typo3/sysext/core/Tests/Acceptance/Application/InstallTool/UpgradeCest.php
index 1ea51b8d9ec21fe15a73baa91daa298163f6b9ac..262a53628a4ddb27e33b77b0bdf333dd4e91cea7 100644
--- a/typo3/sysext/core/Tests/Acceptance/Application/InstallTool/UpgradeCest.php
+++ b/typo3/sysext/core/Tests/Acceptance/Application/InstallTool/UpgradeCest.php
@@ -45,27 +45,6 @@ class UpgradeCest extends AbstractCest
         $I->click('.t3js-modal-close');
     }
 
-    /**
-     * @throws \Exception
-     */
-    public function seeUpgradeWizard(ApplicationTester $I, ModalDialog $modalDialog): void
-    {
-        if ((string)getenv('typo3DatabaseDriver') !== 'pdo_sqlite') {
-            $I->click('Run Upgrade Wizard');
-            $modalDialog->canSeeDialog();
-
-            $I->amGoingTo('open the upgrade wizard and set charset to utf8');
-            $I->see('Upgrade Wizard', ModalDialog::$openedModalSelector);
-            $I->click('Set default charset to utf8', ModalDialog::$openedModalSelector);
-            $I->waitForText('Default connection database has been set to utf8', 5, ModalDialog::$openedModalSelector);
-            $I->see('No wizards are marked as done', ModalDialog::$openedModalSelector);
-
-            $I->click('.t3js-modal-close');
-        } else {
-            $I->markTestSkipped('Skipped for sqlite. Need another check as utf-8 wizard is not possible for sqlite');
-        }
-    }
-
     /**
      * @throws \Exception
      */
diff --git a/typo3/sysext/core/composer.json b/typo3/sysext/core/composer.json
index cf05813091a60f3d03af948f553e6f8be08fbce9..9236f36db25ed1131a18dae761e3285b627e4477 100644
--- a/typo3/sysext/core/composer.json
+++ b/typo3/sysext/core/composer.json
@@ -19,7 +19,7 @@
 		"sort-packages": true
 	},
 	"require": {
-		"php": "^7.4 || ^8.0",
+		"php": "^8.1",
 		"ext-PDO": "*",
 		"ext-dom": "*",
 		"ext-json": "*",
diff --git a/typo3/sysext/install/Classes/Controller/UpgradeController.php b/typo3/sysext/install/Classes/Controller/UpgradeController.php
index d030f192df4d4699996fbf2cd448e01414043381..99be9f06f918ff9d4d9891566b5b2a5c73da79f7 100644
--- a/typo3/sysext/install/Classes/Controller/UpgradeController.php
+++ b/typo3/sysext/install/Classes/Controller/UpgradeController.php
@@ -1101,6 +1101,8 @@ class UpgradeController extends AbstractController
      * Fix a broken DB charset setting
      *
      * @return ResponseInterface
+     * @todo This must be reviewed and decided if we can remove this, move to reports module or if we have other
+     *       issues with charset on connection and database, or if we need to escalate this down to field level.
      */
     public function upgradeWizardsBlockingDatabaseCharsetFixAction(): ResponseInterface
     {
@@ -1120,6 +1122,8 @@ class UpgradeController extends AbstractController
      * Test if database charset is ok
      *
      * @return ResponseInterface
+     * @todo This must be reviewed and decided if we can remove this, move to reports module or if we have other
+     *       issues with charset on connection and database, or if we need to escalate this down to field level.
      */
     public function upgradeWizardsBlockingDatabaseCharsetTestAction(): ResponseInterface
     {