From 8e88e68c319bb196d22b23f86f2e3f928fb18d26 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20B=C3=BCrk?= <stefan@buerk.tech>
Date: Sat, 3 Feb 2024 22:05:12 +0100
Subject: [PATCH] [TASK] Use stable `doctrine/dbal:^4`
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Doctrine DBAL released the stable version for
the next major version, v4.0.0. [1]

This change upgrades to the stable version
and ends the usage of the release candidate
as intermediate solution.

Stability workaround for the distribution
test composer.json is removed.

> \
  composer req --no-update --no-install \
    -d typo3/sysext/redirects \
    "doctrine/dbal":"^4.0" ; \
  composer req --no-update --no-install \
    -d typo3/sysext/core \
    "doctrine/dbal":"^4.0" ; \
  composer req --no-update --no-install \
    -d typo3/sysext/install \
    "doctrine/dbal":"^4.0" ; \
  composer req -W \
    "doctrine/dbal":"^4.0"

> COMPOSER=composer.dist.json composer rem --no-update \
    -d Build/composer "doctrine/dbal"

[1] https://github.com/doctrine/dbal/releases/tag/4.0.0

Resolves: #103029
Related: #102875
Releases: main
Change-Id: I36986769273822473a6ee9133af19c0c253b64e8
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/82776
Tested-by: Stefan Bürk <stefan@buerk.tech>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Stefan Bürk <stefan@buerk.tech>
Tested-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: core-ci <typo3@b13.com>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Oliver Wand <wand@itaw.de>
---
 Build/composer/composer.dist.json             |  3 +-
 composer.json                                 |  2 +-
 composer.lock                                 | 29 +++++++++----------
 ...-102875-UpdatedDependencyDoctrineDBAL4.rst |  7 -----
 typo3/sysext/core/composer.json               |  2 +-
 typo3/sysext/install/composer.json            |  2 +-
 typo3/sysext/redirects/composer.json          |  2 +-
 7 files changed, 19 insertions(+), 28 deletions(-)

diff --git a/Build/composer/composer.dist.json b/Build/composer/composer.dist.json
index e2fde13df1c8..1b4f727044a4 100644
--- a/Build/composer/composer.dist.json
+++ b/Build/composer/composer.dist.json
@@ -92,7 +92,6 @@
 		"typo3/cms-sys-note": "@dev",
 		"typo3/cms-t3editor": "@dev",
 		"typo3/cms-tstemplate": "@dev",
-		"typo3/cms-viewpage": "@dev",
-		"doctrine/dbal": "4.0.0-RC2@rc"
+		"typo3/cms-viewpage": "@dev"
 	}
 }
diff --git a/composer.json b/composer.json
index 6979b0e898a8..4b60b59cd571 100644
--- a/composer.json
+++ b/composer.json
@@ -50,7 +50,7 @@
 		"bacon/bacon-qr-code": "^2.0.7",
 		"christian-riesen/base32": "^1.6",
 		"doctrine/annotations": "^1.13.3 || ^2.0",
-		"doctrine/dbal": "4.0.0-RC2@rc",
+		"doctrine/dbal": "^4.0",
 		"doctrine/event-manager": "^2.0",
 		"doctrine/instantiator": "^1.5 || ^2.0",
 		"doctrine/lexer": "^3.0",
diff --git a/composer.lock b/composer.lock
index 92cbc80fd71b..1d2c4cb7f8c3 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": "b92a62dae5b3b40814f07e176071f69d",
+    "content-hash": "1fcef4421f4c94fab3ca13e901fa0687",
     "packages": [
         {
             "name": "bacon/bacon-qr-code",
@@ -247,16 +247,16 @@
         },
         {
             "name": "doctrine/dbal",
-            "version": "4.0.0-RC2",
+            "version": "4.0.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/doctrine/dbal.git",
-                "reference": "d2aed19fdc7e945455fd864dd7df6245fce3222f"
+                "reference": "53df8c432978b716a805143eb701436d54ec705e"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/doctrine/dbal/zipball/d2aed19fdc7e945455fd864dd7df6245fce3222f",
-                "reference": "d2aed19fdc7e945455fd864dd7df6245fce3222f",
+                "url": "https://api.github.com/repos/doctrine/dbal/zipball/53df8c432978b716a805143eb701436d54ec705e",
+                "reference": "53df8c432978b716a805143eb701436d54ec705e",
                 "shasum": ""
             },
             "require": {
@@ -269,7 +269,7 @@
                 "doctrine/coding-standard": "12.0.0",
                 "fig/log-test": "^1",
                 "jetbrains/phpstorm-stubs": "2023.2",
-                "phpstan/phpstan": "1.10.56",
+                "phpstan/phpstan": "1.10.57",
                 "phpstan/phpstan-phpunit": "1.3.15",
                 "phpstan/phpstan-strict-rules": "^1.5",
                 "phpunit/phpunit": "10.5.9",
@@ -335,7 +335,7 @@
             ],
             "support": {
                 "issues": "https://github.com/doctrine/dbal/issues",
-                "source": "https://github.com/doctrine/dbal/tree/4.0.0-RC2"
+                "source": "https://github.com/doctrine/dbal/tree/4.0.0"
             },
             "funding": [
                 {
@@ -351,20 +351,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-01-25T22:31:17+00:00"
+            "time": "2024-02-03T19:11:19+00:00"
         },
         {
             "name": "doctrine/deprecations",
-            "version": "1.1.2",
+            "version": "1.1.3",
             "source": {
                 "type": "git",
                 "url": "https://github.com/doctrine/deprecations.git",
-                "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931"
+                "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/doctrine/deprecations/zipball/4f2d4f2836e7ec4e7a8625e75c6aa916004db931",
-                "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931",
+                "url": "https://api.github.com/repos/doctrine/deprecations/zipball/dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab",
+                "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab",
                 "shasum": ""
             },
             "require": {
@@ -396,9 +396,9 @@
             "homepage": "https://www.doctrine-project.org/",
             "support": {
                 "issues": "https://github.com/doctrine/deprecations/issues",
-                "source": "https://github.com/doctrine/deprecations/tree/1.1.2"
+                "source": "https://github.com/doctrine/deprecations/tree/1.1.3"
             },
-            "time": "2023-09-27T20:04:15+00:00"
+            "time": "2024-01-30T19:34:25+00:00"
         },
         {
             "name": "doctrine/event-manager",
@@ -8810,7 +8810,6 @@
     "aliases": [],
     "minimum-stability": "stable",
     "stability-flags": {
-        "doctrine/dbal": 5,
         "typo3/testing-framework": 20
     },
     "prefer-stable": false,
diff --git a/typo3/sysext/core/Documentation/Changelog/13.0/Important-102875-UpdatedDependencyDoctrineDBAL4.rst b/typo3/sysext/core/Documentation/Changelog/13.0/Important-102875-UpdatedDependencyDoctrineDBAL4.rst
index 93fa574d1ccc..0faeed39c18c 100644
--- a/typo3/sysext/core/Documentation/Changelog/13.0/Important-102875-UpdatedDependencyDoctrineDBAL4.rst
+++ b/typo3/sysext/core/Documentation/Changelog/13.0/Important-102875-UpdatedDependencyDoctrineDBAL4.rst
@@ -23,13 +23,6 @@ Custom extensions using low-level Doctrine DBAL API and functionality
 directly need to adapt, see upgrade guides for Doctrine DBAL 4 on how
 to migrate.
 
-..  note::
-    Doctrine DBAL 4.0 will be released slightly after the 13.0 and
-    therefore it's raised to a development version for now. This will
-    be changed to 4.0 after a release is out. As a intermediate solution
-    it's required to use `composer require "doctrine/dbal":"4.0.0-RC2@rc"`
-    to add it or lower the minimum-stability in the root `composer.json`.
-
 See `Doctrine DBAL 4.x Upgrade Guide <https://github.com/doctrine/dbal/blob/4.0.x/UPGRADE.md>`_
 and `Doctrine DBAL 4.x Upgrade Guide <https://github.com/doctrine/dbal/blob/3.8.x/UPGRADE.md>`_
 for further information about Doctrine DBAL API changes and how to mitigate them.
diff --git a/typo3/sysext/core/composer.json b/typo3/sysext/core/composer.json
index 35b5e2900800..d2559ab2e1b2 100644
--- a/typo3/sysext/core/composer.json
+++ b/typo3/sysext/core/composer.json
@@ -34,7 +34,7 @@
 		"bacon/bacon-qr-code": "^2.0.7",
 		"christian-riesen/base32": "^1.6",
 		"doctrine/annotations": "^1.13.3 || ^2.0",
-		"doctrine/dbal": "4.0.0-RC2@rc",
+		"doctrine/dbal": "^4.0",
 		"doctrine/event-manager": "^2.0",
 		"doctrine/lexer": "^3.0",
 		"egulias/email-validator": "^4.0",
diff --git a/typo3/sysext/install/composer.json b/typo3/sysext/install/composer.json
index c3395230a383..676855d4f4f1 100644
--- a/typo3/sysext/install/composer.json
+++ b/typo3/sysext/install/composer.json
@@ -19,7 +19,7 @@
 		"sort-packages": true
 	},
 	"require": {
-		"doctrine/dbal": "4.0.0-RC2@rc",
+		"doctrine/dbal": "^4.0",
 		"guzzlehttp/promises": "^1.5.2 || ^2.0",
 		"nikic/php-parser": "^4.15.4",
 		"symfony/finder": "^7.0",
diff --git a/typo3/sysext/redirects/composer.json b/typo3/sysext/redirects/composer.json
index 165985db2b57..33cac4bf5005 100644
--- a/typo3/sysext/redirects/composer.json
+++ b/typo3/sysext/redirects/composer.json
@@ -19,7 +19,7 @@
 		"sort-packages": true
 	},
 	"require": {
-		"doctrine/dbal": "4.0.0-RC2@rc",
+		"doctrine/dbal": "^4.0",
 		"psr/http-message": "^1.1 || ^2.0",
 		"psr/log": "^2.0 || ^3.0",
 		"symfony/console": "^7.0",
-- 
GitLab