From bcec228562e6af38aaeb08899c9e93bcedd50d5a Mon Sep 17 00:00:00 2001
From: Oliver Hader <oliver@typo3.org>
Date: Tue, 8 Oct 2024 11:03:39 +0200
Subject: [PATCH] [RELEASE] Release of TYPO3 12.4.21

Change-Id: I66cfeb0fffac2e8aa8e2beb6e45f994872ae9833
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/86506
Tested-by: Oliver Hader <oliver.hader@typo3.org>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
---
 Build/composer/composer.dist.json             | 68 +++++++++----------
 typo3/sysext/adminpanel/composer.json         |  8 +--
 .../test_tca_select_items/composer.json       |  2 +-
 .../test_tca_select_tree_items/composer.json  |  2 +-
 .../test_configoverride_first/composer.json   |  2 +-
 .../test_configoverride_second/composer.json  |  2 +-
 .../Extensions/test_templates_a/composer.json |  2 +-
 .../Extensions/test_templates_b/composer.json |  2 +-
 .../Extensions/test_templates_c/composer.json |  2 +-
 typo3/sysext/backend/composer.json            |  2 +-
 typo3/sysext/belog/composer.json              |  2 +-
 typo3/sysext/beuser/composer.json             |  2 +-
 .../core/Classes/Information/Typo3Version.php |  2 +-
 .../Extensions/aliases_test/composer.json     |  2 +-
 .../Extensions/test_tca/composer.json         |  2 +-
 .../test_expressionbuilder/composer.json      |  2 +-
 .../Extensions/irre_tutorial/composer.json    |  2 +-
 .../Extensions/test_datahandler/composer.json |  2 +-
 .../test_datahandler_slug/composer.json       |  2 +-
 .../Fixtures/Extensions/test_di/composer.json |  2 +-
 .../Extensions/test_eid/composer.json         |  2 +-
 .../test_flex_section_container/composer.json |  2 +-
 .../Extensions/test_fluid_email/composer.json |  2 +-
 .../Extensions/test_irre_csv/composer.json    |  2 +-
 .../test_irre_foreignfield/composer.json      |  2 +-
 .../composer.json                             |  2 +-
 .../Extensions/test_irre_mm/composer.json     |  2 +-
 .../test_irre_mnattributeinline/composer.json |  2 +-
 .../test_irre_mnattributesimple/composer.json |  2 +-
 .../test_irre_mnsymmetric/composer.json       |  2 +-
 .../test_localization/composer.json           |  2 +-
 .../Extensions/test_logger/composer.json      |  2 +-
 .../Extensions/test_meta/composer.json        |  2 +-
 .../Extensions/test_resources/composer.json   |  2 +-
 .../test_select_flex_mm/composer.json         |  2 +-
 .../composer.json                             |  2 +-
 .../composer.json                             |  2 +-
 .../composer.json                             |  2 +-
 typo3/sysext/dashboard/composer.json          | 10 +--
 .../Extensions/blog_example/composer.json     |  2 +-
 .../Extensions/label_test/composer.json       |  2 +-
 .../parent_child_translation/composer.json    |  2 +-
 .../Extensions/test_data_mapper/composer.json |  2 +-
 .../Extensions/test_validators/composer.json  |  2 +-
 .../type_converter_test/composer.json         |  2 +-
 .../composer.json                             |  2 +-
 .../action_controller_test/composer.json      |  2 +-
 typo3/sysext/extbase/composer.json            |  2 +-
 typo3/sysext/extensionmanager/composer.json   |  2 +-
 typo3/sysext/felogin/composer.json            |  2 +-
 typo3/sysext/filelist/composer.json           |  2 +-
 typo3/sysext/filemetadata/composer.json       |  2 +-
 .../Extensions/fluid_test/composer.json       |  2 +-
 .../Extensions/test_translate/composer.json   |  2 +-
 typo3/sysext/fluid/composer.json              |  4 +-
 .../sysext/fluid_styled_content/composer.json |  6 +-
 .../form_caching_tests/composer.json          |  2 +-
 .../Extensions/form_labels/composer.json      |  2 +-
 typo3/sysext/form/composer.json               |  4 +-
 .../test_fluid_template/composer.json         |  2 +-
 .../test_request_mirror/composer.json         |  2 +-
 typo3/sysext/frontend/composer.json           |  2 +-
 .../template_extension/composer.json          |  2 +-
 typo3/sysext/impexp/composer.json             |  2 +-
 typo3/sysext/indexed_search/composer.json     |  2 +-
 typo3/sysext/info/composer.json               |  2 +-
 typo3/sysext/install/composer.json            |  6 +-
 typo3/sysext/linkvalidator/composer.json      |  4 +-
 typo3/sysext/lowlevel/composer.json           |  2 +-
 typo3/sysext/opendocs/composer.json           |  2 +-
 typo3/sysext/reactions/composer.json          |  2 +-
 typo3/sysext/recycler/composer.json           |  2 +-
 .../Extensions/test_bolt/composer.json        |  4 +-
 typo3/sysext/redirects/composer.json          |  4 +-
 typo3/sysext/reports/composer.json            |  2 +-
 typo3/sysext/rte_ckeditor/composer.json       |  2 +-
 typo3/sysext/scheduler/composer.json          |  2 +-
 typo3/sysext/seo/composer.json                |  6 +-
 typo3/sysext/setup/composer.json              |  2 +-
 typo3/sysext/sys_note/composer.json           |  2 +-
 typo3/sysext/t3editor/composer.json           |  2 +-
 typo3/sysext/tstemplate/composer.json         |  2 +-
 typo3/sysext/viewpage/composer.json           |  2 +-
 typo3/sysext/webhooks/composer.json           |  2 +-
 typo3/sysext/workspaces/composer.json         |  2 +-
 85 files changed, 136 insertions(+), 136 deletions(-)

diff --git a/Build/composer/composer.dist.json b/Build/composer/composer.dist.json
index 918b4dc51eef..6ab12ea1d6ac 100644
--- a/Build/composer/composer.dist.json
+++ b/Build/composer/composer.dist.json
@@ -16,40 +16,40 @@
 			"url": "../../typo3/sysext/*",
 			"options": {
 				"versions": {
-					"typo3/cms-backend": "12.4.21-dev",
-					"typo3/cms-core": "12.4.21-dev",
-					"typo3/cms-extbase": "12.4.21-dev",
-					"typo3/cms-extensionmanager": "12.4.21-dev",
-					"typo3/cms-filelist": "12.4.21-dev",
-					"typo3/cms-fluid": "12.4.21-dev",
-					"typo3/cms-frontend": "12.4.21-dev",
-					"typo3/cms-install": "12.4.21-dev",
-					"typo3/cms-adminpanel": "12.4.21-dev",
-					"typo3/cms-belog": "12.4.21-dev",
-					"typo3/cms-beuser": "12.4.21-dev",
-					"typo3/cms-dashboard": "12.4.21-dev",
-					"typo3/cms-felogin": "12.4.21-dev",
-					"typo3/cms-filemetadata": "12.4.21-dev",
-					"typo3/cms-fluid-styled-content": "12.4.21-dev",
-					"typo3/cms-form": "12.4.21-dev",
-					"typo3/cms-impexp": "12.4.21-dev",
-					"typo3/cms-indexed-search": "12.4.21-dev",
-					"typo3/cms-info": "12.4.21-dev",
-					"typo3/cms-linkvalidator": "12.4.21-dev",
-					"typo3/cms-lowlevel": "12.4.21-dev",
-					"typo3/cms-opendocs": "12.4.21-dev",
-					"typo3/cms-recycler": "12.4.21-dev",
-					"typo3/cms-redirects": "12.4.21-dev",
-					"typo3/cms-reports": "12.4.21-dev",
-					"typo3/cms-rte-ckeditor": "12.4.21-dev",
-					"typo3/cms-scheduler": "12.4.21-dev",
-					"typo3/cms-seo": "12.4.21-dev",
-					"typo3/cms-setup": "12.4.21-dev",
-					"typo3/cms-sys-note": "12.4.21-dev",
-					"typo3/cms-t3editor": "12.4.21-dev",
-					"typo3/cms-tstemplate": "12.4.21-dev",
-					"typo3/cms-viewpage": "12.4.21-dev",
-					"typo3/cms-workspaces": "12.4.21-dev"
+					"typo3/cms-backend": "12.4.21",
+					"typo3/cms-core": "12.4.21",
+					"typo3/cms-extbase": "12.4.21",
+					"typo3/cms-extensionmanager": "12.4.21",
+					"typo3/cms-filelist": "12.4.21",
+					"typo3/cms-fluid": "12.4.21",
+					"typo3/cms-frontend": "12.4.21",
+					"typo3/cms-install": "12.4.21",
+					"typo3/cms-adminpanel": "12.4.21",
+					"typo3/cms-belog": "12.4.21",
+					"typo3/cms-beuser": "12.4.21",
+					"typo3/cms-dashboard": "12.4.21",
+					"typo3/cms-felogin": "12.4.21",
+					"typo3/cms-filemetadata": "12.4.21",
+					"typo3/cms-fluid-styled-content": "12.4.21",
+					"typo3/cms-form": "12.4.21",
+					"typo3/cms-impexp": "12.4.21",
+					"typo3/cms-indexed-search": "12.4.21",
+					"typo3/cms-info": "12.4.21",
+					"typo3/cms-linkvalidator": "12.4.21",
+					"typo3/cms-lowlevel": "12.4.21",
+					"typo3/cms-opendocs": "12.4.21",
+					"typo3/cms-recycler": "12.4.21",
+					"typo3/cms-redirects": "12.4.21",
+					"typo3/cms-reports": "12.4.21",
+					"typo3/cms-rte-ckeditor": "12.4.21",
+					"typo3/cms-scheduler": "12.4.21",
+					"typo3/cms-seo": "12.4.21",
+					"typo3/cms-setup": "12.4.21",
+					"typo3/cms-sys-note": "12.4.21",
+					"typo3/cms-t3editor": "12.4.21",
+					"typo3/cms-tstemplate": "12.4.21",
+					"typo3/cms-viewpage": "12.4.21",
+					"typo3/cms-workspaces": "12.4.21"
 				}
 			}
 		},
diff --git a/typo3/sysext/adminpanel/composer.json b/typo3/sysext/adminpanel/composer.json
index f334d49c5cfd..b4fba59fa0cd 100644
--- a/typo3/sysext/adminpanel/composer.json
+++ b/typo3/sysext/adminpanel/composer.json
@@ -23,10 +23,10 @@
 		"psr/http-server-handler": "^1.0",
 		"psr/http-server-middleware": "^1.0",
 		"symfony/var-dumper": "^6.4 || ^7.0",
-		"typo3/cms-backend": "12.4.*@dev",
-		"typo3/cms-core": "12.4.*@dev",
-		"typo3/cms-fluid": "12.4.*@dev",
-		"typo3/cms-frontend": "12.4.*@dev",
+		"typo3/cms-backend": "12.4.21",
+		"typo3/cms-core": "12.4.21",
+		"typo3/cms-fluid": "12.4.21",
+		"typo3/cms-frontend": "12.4.21",
 		"typo3fluid/fluid": "^2.9.2"
 	},
 	"conflict": {
diff --git a/typo3/sysext/backend/Tests/Functional/Fixtures/Extensions/test_tca_select_items/composer.json b/typo3/sysext/backend/Tests/Functional/Fixtures/Extensions/test_tca_select_items/composer.json
index bd77f875881a..3167227fbc31 100644
--- a/typo3/sysext/backend/Tests/Functional/Fixtures/Extensions/test_tca_select_items/composer.json
+++ b/typo3/sysext/backend/Tests/Functional/Fixtures/Extensions/test_tca_select_items/composer.json
@@ -4,7 +4,7 @@
 	"description": "TcaSelectItems Test",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/backend/Tests/Functional/Fixtures/Extensions/test_tca_select_tree_items/composer.json b/typo3/sysext/backend/Tests/Functional/Fixtures/Extensions/test_tca_select_tree_items/composer.json
index 8a20e15e145d..90d1a44bfeec 100644
--- a/typo3/sysext/backend/Tests/Functional/Fixtures/Extensions/test_tca_select_tree_items/composer.json
+++ b/typo3/sysext/backend/Tests/Functional/Fixtures/Extensions/test_tca_select_tree_items/composer.json
@@ -4,7 +4,7 @@
 	"description": "TcaSelectTreeItems Test",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/backend/Tests/Functional/SiteConfiguration/Fixtures/Extensions/test_configoverride_first/composer.json b/typo3/sysext/backend/Tests/Functional/SiteConfiguration/Fixtures/Extensions/test_configoverride_first/composer.json
index a383f7cf3eb2..92d5e49a3f93 100644
--- a/typo3/sysext/backend/Tests/Functional/SiteConfiguration/Fixtures/Extensions/test_configoverride_first/composer.json
+++ b/typo3/sysext/backend/Tests/Functional/SiteConfiguration/Fixtures/Extensions/test_configoverride_first/composer.json
@@ -4,7 +4,7 @@
 	"description": "A test extension for site config override",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/backend/Tests/Functional/SiteConfiguration/Fixtures/Extensions/test_configoverride_second/composer.json b/typo3/sysext/backend/Tests/Functional/SiteConfiguration/Fixtures/Extensions/test_configoverride_second/composer.json
index 7de1a78ad3b5..14a6585265cf 100644
--- a/typo3/sysext/backend/Tests/Functional/SiteConfiguration/Fixtures/Extensions/test_configoverride_second/composer.json
+++ b/typo3/sysext/backend/Tests/Functional/SiteConfiguration/Fixtures/Extensions/test_configoverride_second/composer.json
@@ -4,7 +4,7 @@
 	"description": "A test extension for site config override",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"suggest": {
 		"typo3tests/config-override-first": "12.4.*@dev"
diff --git a/typo3/sysext/backend/Tests/Functional/View/Fixtures/Extensions/test_templates_a/composer.json b/typo3/sysext/backend/Tests/Functional/View/Fixtures/Extensions/test_templates_a/composer.json
index 3b95e1773a1e..ae173eeb11a1 100644
--- a/typo3/sysext/backend/Tests/Functional/View/Fixtures/Extensions/test_templates_a/composer.json
+++ b/typo3/sysext/backend/Tests/Functional/View/Fixtures/Extensions/test_templates_a/composer.json
@@ -2,7 +2,7 @@
 	"name": "typo3tests/cms-test-templates-a",
 	"type": "typo3-cms-extension",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/backend/Tests/Functional/View/Fixtures/Extensions/test_templates_b/composer.json b/typo3/sysext/backend/Tests/Functional/View/Fixtures/Extensions/test_templates_b/composer.json
index 503abaa72c69..e9e4b99f97b5 100644
--- a/typo3/sysext/backend/Tests/Functional/View/Fixtures/Extensions/test_templates_b/composer.json
+++ b/typo3/sysext/backend/Tests/Functional/View/Fixtures/Extensions/test_templates_b/composer.json
@@ -2,7 +2,7 @@
 	"name": "typo3tests/cms-test-templates-b",
 	"type": "typo3-cms-extension",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/backend/Tests/Functional/View/Fixtures/Extensions/test_templates_c/composer.json b/typo3/sysext/backend/Tests/Functional/View/Fixtures/Extensions/test_templates_c/composer.json
index 3d1d76dcf431..350b44fec411 100644
--- a/typo3/sysext/backend/Tests/Functional/View/Fixtures/Extensions/test_templates_c/composer.json
+++ b/typo3/sysext/backend/Tests/Functional/View/Fixtures/Extensions/test_templates_c/composer.json
@@ -2,7 +2,7 @@
 	"name": "typo3tests/cms-test-templates-c",
 	"type": "typo3-cms-extension",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/backend/composer.json b/typo3/sysext/backend/composer.json
index 22018004c899..2ce73adedae7 100644
--- a/typo3/sysext/backend/composer.json
+++ b/typo3/sysext/backend/composer.json
@@ -20,7 +20,7 @@
 	},
 	"require": {
 		"psr/event-dispatcher": "^1.0",
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"suggest": {
 		"typo3/cms-install": "To generate url to install tool in environment toolbar"
diff --git a/typo3/sysext/belog/composer.json b/typo3/sysext/belog/composer.json
index b15f9d2ed9bf..e404de496ac7 100644
--- a/typo3/sysext/belog/composer.json
+++ b/typo3/sysext/belog/composer.json
@@ -19,7 +19,7 @@
 		"sort-packages": true
 	},
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"conflict": {
 		"typo3/cms": "*"
diff --git a/typo3/sysext/beuser/composer.json b/typo3/sysext/beuser/composer.json
index 024950edbb71..93fe30393280 100644
--- a/typo3/sysext/beuser/composer.json
+++ b/typo3/sysext/beuser/composer.json
@@ -19,7 +19,7 @@
 		"sort-packages": true
 	},
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"conflict": {
 		"typo3/cms": "*"
diff --git a/typo3/sysext/core/Classes/Information/Typo3Version.php b/typo3/sysext/core/Classes/Information/Typo3Version.php
index d4cd49e2d0e2..7ccbba59dfe0 100644
--- a/typo3/sysext/core/Classes/Information/Typo3Version.php
+++ b/typo3/sysext/core/Classes/Information/Typo3Version.php
@@ -19,7 +19,7 @@ namespace TYPO3\CMS\Core\Information;
 
 class Typo3Version
 {
-    protected const VERSION = '12.4.21-dev';
+    protected const VERSION = '12.4.21';
     protected const BRANCH = '12.4';
 
     public function getVersion(): string
diff --git a/typo3/sysext/core/Tests/Functional/Cache/Core/Fixtures/Extensions/aliases_test/composer.json b/typo3/sysext/core/Tests/Functional/Cache/Core/Fixtures/Extensions/aliases_test/composer.json
index 8a4fcd9413ca..c7c6c35969e6 100644
--- a/typo3/sysext/core/Tests/Functional/Cache/Core/Fixtures/Extensions/aliases_test/composer.json
+++ b/typo3/sysext/core/Tests/Functional/Cache/Core/Fixtures/Extensions/aliases_test/composer.json
@@ -4,7 +4,7 @@
 	"description": "A test extension for core",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/core/Tests/Functional/Category/Collection/Fixtures/Extensions/test_tca/composer.json b/typo3/sysext/core/Tests/Functional/Category/Collection/Fixtures/Extensions/test_tca/composer.json
index aea621a4c4ef..dee23f357500 100644
--- a/typo3/sysext/core/Tests/Functional/Category/Collection/Fixtures/Extensions/test_tca/composer.json
+++ b/typo3/sysext/core/Tests/Functional/Category/Collection/Fixtures/Extensions/test_tca/composer.json
@@ -4,7 +4,7 @@
 	"description": "A test extension for core",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/core/Tests/Functional/Database/Fixtures/Extensions/test_expressionbuilder/composer.json b/typo3/sysext/core/Tests/Functional/Database/Fixtures/Extensions/test_expressionbuilder/composer.json
index 72cdf1e0e216..2d60f56bc2f1 100644
--- a/typo3/sysext/core/Tests/Functional/Database/Fixtures/Extensions/test_expressionbuilder/composer.json
+++ b/typo3/sysext/core/Tests/Functional/Database/Fixtures/Extensions/test_expressionbuilder/composer.json
@@ -4,7 +4,7 @@
 	"description": "A test extension for core",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/composer.json b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/composer.json
index 1c1b01bdaa57..7ad59d4a332b 100644
--- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/composer.json
+++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/composer.json
@@ -4,7 +4,7 @@
 	"description": "A test extension for core",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_datahandler/composer.json b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_datahandler/composer.json
index 2b84849bebb5..2f7ea2d0f159 100644
--- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_datahandler/composer.json
+++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_datahandler/composer.json
@@ -4,7 +4,7 @@
 	"description": "A test extension for core",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_datahandler_slug/composer.json b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_datahandler_slug/composer.json
index 9d8606e338aa..268cdaf58455 100644
--- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_datahandler_slug/composer.json
+++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_datahandler_slug/composer.json
@@ -4,7 +4,7 @@
 	"description": "A test extension for core",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_di/composer.json b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_di/composer.json
index 0f972a72b331..653c3ae50f15 100644
--- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_di/composer.json
+++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_di/composer.json
@@ -4,7 +4,7 @@
 	"description": "This extension contains dependency injection fixtures.",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_eid/composer.json b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_eid/composer.json
index 671f6bd1d44c..5008487d64d0 100644
--- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_eid/composer.json
+++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_eid/composer.json
@@ -4,7 +4,7 @@
 	"description": "A test extension for core",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_flex_section_container/composer.json b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_flex_section_container/composer.json
index a37c709b1852..8a28d418924a 100644
--- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_flex_section_container/composer.json
+++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_flex_section_container/composer.json
@@ -4,7 +4,7 @@
 	"description": "A test extension for core",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_fluid_email/composer.json b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_fluid_email/composer.json
index 8a6ddb34250b..14c9ece07e61 100644
--- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_fluid_email/composer.json
+++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_fluid_email/composer.json
@@ -4,7 +4,7 @@
 	"description": "A test extension for core",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_irre_csv/composer.json b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_irre_csv/composer.json
index b929ea0306e8..a1182c491a38 100644
--- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_irre_csv/composer.json
+++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_irre_csv/composer.json
@@ -4,7 +4,7 @@
 	"description": "A test extension for core",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_irre_foreignfield/composer.json b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_irre_foreignfield/composer.json
index c27d1a148f96..c050e7aa2f35 100644
--- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_irre_foreignfield/composer.json
+++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_irre_foreignfield/composer.json
@@ -4,7 +4,7 @@
 	"description": "A test extension for core",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_irre_foreignfield_non_ws/composer.json b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_irre_foreignfield_non_ws/composer.json
index 9d577204f69f..12eb37ed69c7 100644
--- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_irre_foreignfield_non_ws/composer.json
+++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_irre_foreignfield_non_ws/composer.json
@@ -4,7 +4,7 @@
 	"description": "A test extension for core",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_irre_mm/composer.json b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_irre_mm/composer.json
index d77440d440fd..2b57d293c877 100644
--- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_irre_mm/composer.json
+++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_irre_mm/composer.json
@@ -4,7 +4,7 @@
 	"description": "A test extension for core",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_irre_mnattributeinline/composer.json b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_irre_mnattributeinline/composer.json
index b921937c7a09..e56b170e5133 100644
--- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_irre_mnattributeinline/composer.json
+++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_irre_mnattributeinline/composer.json
@@ -4,7 +4,7 @@
 	"description": "A test extension for core",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_irre_mnattributesimple/composer.json b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_irre_mnattributesimple/composer.json
index e88e69d34b76..78fb23c61bfd 100644
--- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_irre_mnattributesimple/composer.json
+++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_irre_mnattributesimple/composer.json
@@ -4,7 +4,7 @@
 	"description": "A test extension for core",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_irre_mnsymmetric/composer.json b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_irre_mnsymmetric/composer.json
index 5fb9af10684e..c34fd077b484 100644
--- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_irre_mnsymmetric/composer.json
+++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_irre_mnsymmetric/composer.json
@@ -4,7 +4,7 @@
 	"description": "A test extension for core",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_localization/composer.json b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_localization/composer.json
index c364068e7a6d..64b153dd7f0b 100644
--- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_localization/composer.json
+++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_localization/composer.json
@@ -4,7 +4,7 @@
 	"description": "A test extension for core",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_logger/composer.json b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_logger/composer.json
index 91bad479b882..a3982df88686 100644
--- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_logger/composer.json
+++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_logger/composer.json
@@ -4,7 +4,7 @@
 	"description": "A test extension for core",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_meta/composer.json b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_meta/composer.json
index ae546467a65b..acb4b659cd27 100644
--- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_meta/composer.json
+++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_meta/composer.json
@@ -4,7 +4,7 @@
 	"description": "A test extension for core",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_resources/composer.json b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_resources/composer.json
index a96686172bf0..e6e518099894 100644
--- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_resources/composer.json
+++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_resources/composer.json
@@ -4,7 +4,7 @@
 	"description": "A test extension for core",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_select_flex_mm/composer.json b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_select_flex_mm/composer.json
index faf7aa72b3b2..812615c0781a 100644
--- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_select_flex_mm/composer.json
+++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_select_flex_mm/composer.json
@@ -4,7 +4,7 @@
 	"description": "A test extension for core",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_typoscript_ast_function_event/composer.json b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_typoscript_ast_function_event/composer.json
index 4bcebafb26d7..3b0c28a2367d 100644
--- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_typoscript_ast_function_event/composer.json
+++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_typoscript_ast_function_event/composer.json
@@ -4,7 +4,7 @@
 	"description": "A test extension for core",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_typoscript_pagetsconfigfactory/composer.json b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_typoscript_pagetsconfigfactory/composer.json
index 923e4f2d8663..65b0c0bde77a 100644
--- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_typoscript_pagetsconfigfactory/composer.json
+++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_typoscript_pagetsconfigfactory/composer.json
@@ -4,7 +4,7 @@
 	"description": "A test extension for core",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_typoscript_usertsconfigfactory/composer.json b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_typoscript_usertsconfigfactory/composer.json
index 7182ef95cda4..6b757fccdfc1 100644
--- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_typoscript_usertsconfigfactory/composer.json
+++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/test_typoscript_usertsconfigfactory/composer.json
@@ -4,7 +4,7 @@
 	"description": "A test extension for core",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/dashboard/composer.json b/typo3/sysext/dashboard/composer.json
index 6f97de183717..4cbd7667f968 100644
--- a/typo3/sysext/dashboard/composer.json
+++ b/typo3/sysext/dashboard/composer.json
@@ -19,11 +19,11 @@
 		"sort-packages": true
 	},
 	"require": {
-		"typo3/cms-core": "12.4.*@dev",
-		"typo3/cms-frontend": "12.4.*@dev",
-		"typo3/cms-backend": "12.4.*@dev",
-		"typo3/cms-fluid": "12.4.*@dev",
-		"typo3/cms-extbase": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21",
+		"typo3/cms-frontend": "12.4.21",
+		"typo3/cms-backend": "12.4.21",
+		"typo3/cms-fluid": "12.4.21",
+		"typo3/cms-extbase": "12.4.21"
 	},
 	"conflict": {
 		"typo3/cms": "*"
diff --git a/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/composer.json b/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/composer.json
index 43014ceeeb0e..1152787ab823 100644
--- a/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/composer.json
+++ b/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/composer.json
@@ -4,7 +4,7 @@
 	"description": "A test extension for extbase",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/label_test/composer.json b/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/label_test/composer.json
index 3ba3290675e6..679445874fdc 100644
--- a/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/label_test/composer.json
+++ b/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/label_test/composer.json
@@ -4,7 +4,7 @@
 	"description": "A test extension for extbase",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/parent_child_translation/composer.json b/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/parent_child_translation/composer.json
index b4ab9c6e7d1b..6629cda64b5f 100644
--- a/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/parent_child_translation/composer.json
+++ b/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/parent_child_translation/composer.json
@@ -4,7 +4,7 @@
     "description": "Test extension for Forge issue #92768",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
     "autoload": {
         "psr-4": {
diff --git a/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/test_data_mapper/composer.json b/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/test_data_mapper/composer.json
index 064778180255..3a3cdce39422 100644
--- a/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/test_data_mapper/composer.json
+++ b/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/test_data_mapper/composer.json
@@ -4,7 +4,7 @@
 	"description": "A test extension for extbase",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/test_validators/composer.json b/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/test_validators/composer.json
index 61bfeb8aaefc..33b652750cf3 100644
--- a/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/test_validators/composer.json
+++ b/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/test_validators/composer.json
@@ -4,7 +4,7 @@
 	"description": "A test extension for extbase",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/type_converter_test/composer.json b/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/type_converter_test/composer.json
index 2420dffa9820..2339dd751fe8 100644
--- a/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/type_converter_test/composer.json
+++ b/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/type_converter_test/composer.json
@@ -4,7 +4,7 @@
 	"description": "A test extension for extbase",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/extbase/Tests/Functional/Mvc/Controller/Fixture/Extension/action_controller_argument_test/composer.json b/typo3/sysext/extbase/Tests/Functional/Mvc/Controller/Fixture/Extension/action_controller_argument_test/composer.json
index fa80c2e298e0..b3cec5718c49 100644
--- a/typo3/sysext/extbase/Tests/Functional/Mvc/Controller/Fixture/Extension/action_controller_argument_test/composer.json
+++ b/typo3/sysext/extbase/Tests/Functional/Mvc/Controller/Fixture/Extension/action_controller_argument_test/composer.json
@@ -4,7 +4,7 @@
 	"description": "A test extension for extbase",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/extbase/Tests/Functional/Mvc/Controller/Fixture/Extension/action_controller_test/composer.json b/typo3/sysext/extbase/Tests/Functional/Mvc/Controller/Fixture/Extension/action_controller_test/composer.json
index e3bdbcbddf0f..25d6e97f89fb 100644
--- a/typo3/sysext/extbase/Tests/Functional/Mvc/Controller/Fixture/Extension/action_controller_test/composer.json
+++ b/typo3/sysext/extbase/Tests/Functional/Mvc/Controller/Fixture/Extension/action_controller_test/composer.json
@@ -4,7 +4,7 @@
 	"description": "A test extension for extbase",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/extbase/composer.json b/typo3/sysext/extbase/composer.json
index 02c86c2b8bf8..9bf3897d33fa 100644
--- a/typo3/sysext/extbase/composer.json
+++ b/typo3/sysext/extbase/composer.json
@@ -25,7 +25,7 @@
 		"symfony/dependency-injection": "^6.4 || ^7.0",
 		"symfony/property-access": "^6.4 || ^7.0",
 		"symfony/property-info": "^6.4 || ^7.0",
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"suggest": {
 		"typo3/cms-scheduler": "Additional scheduler tasks"
diff --git a/typo3/sysext/extensionmanager/composer.json b/typo3/sysext/extensionmanager/composer.json
index 31a839e2f02f..1cb217a70230 100644
--- a/typo3/sysext/extensionmanager/composer.json
+++ b/typo3/sysext/extensionmanager/composer.json
@@ -20,7 +20,7 @@
 	},
 	"require": {
 		"ext-libxml": "*",
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"conflict": {
 		"typo3/cms": "*"
diff --git a/typo3/sysext/felogin/composer.json b/typo3/sysext/felogin/composer.json
index 3450c09e5a5b..288fee3d011e 100644
--- a/typo3/sysext/felogin/composer.json
+++ b/typo3/sysext/felogin/composer.json
@@ -19,7 +19,7 @@
 		"sort-packages": true
 	},
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"conflict": {
 		"typo3/cms": "*"
diff --git a/typo3/sysext/filelist/composer.json b/typo3/sysext/filelist/composer.json
index 296e904a2a18..c2d038637c61 100644
--- a/typo3/sysext/filelist/composer.json
+++ b/typo3/sysext/filelist/composer.json
@@ -19,7 +19,7 @@
 		"sort-packages": true
 	},
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"conflict": {
 		"typo3/cms": "*"
diff --git a/typo3/sysext/filemetadata/composer.json b/typo3/sysext/filemetadata/composer.json
index e9060d60bf09..7738bf66ba69 100644
--- a/typo3/sysext/filemetadata/composer.json
+++ b/typo3/sysext/filemetadata/composer.json
@@ -19,7 +19,7 @@
 		"sort-packages": true
 	},
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"conflict": {
 		"typo3/cms": "*"
diff --git a/typo3/sysext/fluid/Tests/Functional/Fixtures/Extensions/fluid_test/composer.json b/typo3/sysext/fluid/Tests/Functional/Fixtures/Extensions/fluid_test/composer.json
index b0cf41ff6f4f..cfcb4914a633 100644
--- a/typo3/sysext/fluid/Tests/Functional/Fixtures/Extensions/fluid_test/composer.json
+++ b/typo3/sysext/fluid/Tests/Functional/Fixtures/Extensions/fluid_test/composer.json
@@ -4,7 +4,7 @@
 	"description": "Some Fluid rendering tests",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"autoload": {
 		"psr-4": {
diff --git a/typo3/sysext/fluid/Tests/Functional/Fixtures/Extensions/test_translate/composer.json b/typo3/sysext/fluid/Tests/Functional/Fixtures/Extensions/test_translate/composer.json
index f5f7ae41bc2c..48db41ee254d 100644
--- a/typo3/sysext/fluid/Tests/Functional/Fixtures/Extensions/test_translate/composer.json
+++ b/typo3/sysext/fluid/Tests/Functional/Fixtures/Extensions/test_translate/composer.json
@@ -4,7 +4,7 @@
 	"description": "Test translate view helper",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"autoload": {
 		"psr-4": {
diff --git a/typo3/sysext/fluid/composer.json b/typo3/sysext/fluid/composer.json
index 1e8b5fc9b321..f988c6c748c1 100644
--- a/typo3/sysext/fluid/composer.json
+++ b/typo3/sysext/fluid/composer.json
@@ -20,8 +20,8 @@
 	},
 	"require": {
 		"symfony/dependency-injection": "^6.4 || ^7.0",
-		"typo3/cms-core": "12.4.*@dev",
-		"typo3/cms-extbase": "12.4.*@dev",
+		"typo3/cms-core": "12.4.21",
+		"typo3/cms-extbase": "12.4.21",
 		"typo3fluid/fluid": "^2.9.2"
 	},
 	"conflict": {
diff --git a/typo3/sysext/fluid_styled_content/composer.json b/typo3/sysext/fluid_styled_content/composer.json
index 0739ace77eca..807f2a83f7d6 100644
--- a/typo3/sysext/fluid_styled_content/composer.json
+++ b/typo3/sysext/fluid_styled_content/composer.json
@@ -19,9 +19,9 @@
 		"sort-packages": true
 	},
 	"require": {
-		"typo3/cms-core": "12.4.*@dev",
-		"typo3/cms-fluid": "12.4.*@dev",
-		"typo3/cms-frontend": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21",
+		"typo3/cms-fluid": "12.4.21",
+		"typo3/cms-frontend": "12.4.21"
 	},
 	"conflict": {
 		"typo3/cms": "*"
diff --git a/typo3/sysext/form/Tests/Functional/RequestHandling/Fixtures/Extensions/form_caching_tests/composer.json b/typo3/sysext/form/Tests/Functional/RequestHandling/Fixtures/Extensions/form_caching_tests/composer.json
index 210ad74f69ef..9bfb9638d10b 100644
--- a/typo3/sysext/form/Tests/Functional/RequestHandling/Fixtures/Extensions/form_caching_tests/composer.json
+++ b/typo3/sysext/form/Tests/Functional/RequestHandling/Fixtures/Extensions/form_caching_tests/composer.json
@@ -4,7 +4,7 @@
 	"description": "",
 	"license": ["GPL-2.0-or-later"],
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"autoload": {
 		"psr-4": {
diff --git a/typo3/sysext/form/Tests/Functional/Service/Fixtures/Extensions/form_labels/composer.json b/typo3/sysext/form/Tests/Functional/Service/Fixtures/Extensions/form_labels/composer.json
index 7b98c087beae..8ad959ad1fa4 100644
--- a/typo3/sysext/form/Tests/Functional/Service/Fixtures/Extensions/form_labels/composer.json
+++ b/typo3/sysext/form/Tests/Functional/Service/Fixtures/Extensions/form_labels/composer.json
@@ -4,7 +4,7 @@
 	"description": "",
 	"license": ["GPL-2.0-or-later"],
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/form/composer.json b/typo3/sysext/form/composer.json
index d02b4fbaca56..ffd0d0a86d90 100644
--- a/typo3/sysext/form/composer.json
+++ b/typo3/sysext/form/composer.json
@@ -21,8 +21,8 @@
 	"require": {
 		"psr/http-message": "^1.1 || ^2.0",
 		"symfony/expression-language": "^6.4 || ^7.0",
-		"typo3/cms-core": "12.4.*@dev",
-		"typo3/cms-frontend": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21",
+		"typo3/cms-frontend": "12.4.21"
 	},
 	"suggest": {
 		"typo3/cms-filelist": "Listing of files in the directory",
diff --git a/typo3/sysext/frontend/Tests/Functional/Fixtures/Extensions/test_fluid_template/composer.json b/typo3/sysext/frontend/Tests/Functional/Fixtures/Extensions/test_fluid_template/composer.json
index 74bd83395b9b..7180b408e5f8 100644
--- a/typo3/sysext/frontend/Tests/Functional/Fixtures/Extensions/test_fluid_template/composer.json
+++ b/typo3/sysext/frontend/Tests/Functional/Fixtures/Extensions/test_fluid_template/composer.json
@@ -4,7 +4,7 @@
 	"description": "FluidTemplateContentObject Test",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"autoload": {
 		"psr-4": {
diff --git a/typo3/sysext/frontend/Tests/Functional/Fixtures/Extensions/test_request_mirror/composer.json b/typo3/sysext/frontend/Tests/Functional/Fixtures/Extensions/test_request_mirror/composer.json
index 94b694d3c73e..7d8890e782b0 100644
--- a/typo3/sysext/frontend/Tests/Functional/Fixtures/Extensions/test_request_mirror/composer.json
+++ b/typo3/sysext/frontend/Tests/Functional/Fixtures/Extensions/test_request_mirror/composer.json
@@ -4,7 +4,7 @@
 	"description": "a fixture extension for fluid functional tests",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"autoload": {
 		"psr-4": {
diff --git a/typo3/sysext/frontend/composer.json b/typo3/sysext/frontend/composer.json
index 35eebc13f15e..26031a8cb864 100644
--- a/typo3/sysext/frontend/composer.json
+++ b/typo3/sysext/frontend/composer.json
@@ -20,7 +20,7 @@
 	},
 	"require": {
 		"ext-libxml": "*",
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"conflict": {
 		"typo3/cms": "*"
diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/Extensions/template_extension/composer.json b/typo3/sysext/impexp/Tests/Functional/Fixtures/Extensions/template_extension/composer.json
index 44482001b519..48d274c8e223 100644
--- a/typo3/sysext/impexp/Tests/Functional/Fixtures/Extensions/template_extension/composer.json
+++ b/typo3/sysext/impexp/Tests/Functional/Fixtures/Extensions/template_extension/composer.json
@@ -4,7 +4,7 @@
 	"description": "a fixture extension for impexp functional tests",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/impexp/composer.json b/typo3/sysext/impexp/composer.json
index b771b3cd3d22..069cb94b2d80 100644
--- a/typo3/sysext/impexp/composer.json
+++ b/typo3/sysext/impexp/composer.json
@@ -19,7 +19,7 @@
 		"sort-packages": true
 	},
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"conflict": {
 		"typo3/cms": "*"
diff --git a/typo3/sysext/indexed_search/composer.json b/typo3/sysext/indexed_search/composer.json
index d01df4fb70ca..602bafc92724 100644
--- a/typo3/sysext/indexed_search/composer.json
+++ b/typo3/sysext/indexed_search/composer.json
@@ -19,7 +19,7 @@
 		"sort-packages": true
 	},
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"conflict": {
 		"typo3/cms": "*"
diff --git a/typo3/sysext/info/composer.json b/typo3/sysext/info/composer.json
index ba2160f7b7e6..daaf49973ef5 100644
--- a/typo3/sysext/info/composer.json
+++ b/typo3/sysext/info/composer.json
@@ -19,7 +19,7 @@
 		"sort-packages": true
 	},
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"conflict": {
 		"typo3/cms": "*"
diff --git a/typo3/sysext/install/composer.json b/typo3/sysext/install/composer.json
index 0f1f431b4844..7f3cabd06568 100644
--- a/typo3/sysext/install/composer.json
+++ b/typo3/sysext/install/composer.json
@@ -24,9 +24,9 @@
 		"nikic/php-parser": "^4.15.4",
 		"symfony/finder": "^6.4 || ^7.0",
 		"symfony/http-foundation": "^6.4 || ^7.0",
-		"typo3/cms-core": "12.4.*@dev",
-		"typo3/cms-extbase": "12.4.*@dev",
-		"typo3/cms-fluid": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21",
+		"typo3/cms-extbase": "12.4.21",
+		"typo3/cms-fluid": "12.4.21"
 	},
 	"conflict": {
 		"typo3/cms": "*"
diff --git a/typo3/sysext/linkvalidator/composer.json b/typo3/sysext/linkvalidator/composer.json
index 94e9296a8334..7d44f2519735 100644
--- a/typo3/sysext/linkvalidator/composer.json
+++ b/typo3/sysext/linkvalidator/composer.json
@@ -19,8 +19,8 @@
 		"sort-packages": true
 	},
 	"require": {
-		"typo3/cms-core": "12.4.*@dev",
-		"typo3/cms-info": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21",
+		"typo3/cms-info": "12.4.21"
 	},
 	"suggest": {
 		"typo3/cms-scheduler": "Regular checks of links"
diff --git a/typo3/sysext/lowlevel/composer.json b/typo3/sysext/lowlevel/composer.json
index ef8e3bbf8ad3..ad4268ab736b 100644
--- a/typo3/sysext/lowlevel/composer.json
+++ b/typo3/sysext/lowlevel/composer.json
@@ -19,7 +19,7 @@
 		"sort-packages": true
 	},
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"conflict": {
 		"typo3/cms": "*"
diff --git a/typo3/sysext/opendocs/composer.json b/typo3/sysext/opendocs/composer.json
index 3a37c8683480..c5cfda56555b 100644
--- a/typo3/sysext/opendocs/composer.json
+++ b/typo3/sysext/opendocs/composer.json
@@ -19,7 +19,7 @@
 		"sort-packages": true
 	},
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"conflict": {
 		"typo3/cms": "*"
diff --git a/typo3/sysext/reactions/composer.json b/typo3/sysext/reactions/composer.json
index fb3f711540e2..4b785d517728 100644
--- a/typo3/sysext/reactions/composer.json
+++ b/typo3/sysext/reactions/composer.json
@@ -19,7 +19,7 @@
 		"sort-packages": true
 	},
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"suggest": {
 		"typo3/cms-lowlevel": "To display registered reactions in the configuration module"
diff --git a/typo3/sysext/recycler/composer.json b/typo3/sysext/recycler/composer.json
index 04be77d1f73d..3781ed68140a 100644
--- a/typo3/sysext/recycler/composer.json
+++ b/typo3/sysext/recycler/composer.json
@@ -19,7 +19,7 @@
 		"sort-packages": true
 	},
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"suggest": {
 		"typo3/cms-scheduler": "Remove deleted records after given time"
diff --git a/typo3/sysext/redirects/Tests/Functional/Fixtures/Extensions/test_bolt/composer.json b/typo3/sysext/redirects/Tests/Functional/Fixtures/Extensions/test_bolt/composer.json
index d1336d393d31..b89fe8636d5e 100644
--- a/typo3/sysext/redirects/Tests/Functional/Fixtures/Extensions/test_bolt/composer.json
+++ b/typo3/sysext/redirects/Tests/Functional/Fixtures/Extensions/test_bolt/composer.json
@@ -4,8 +4,8 @@
 	"description": "This extension simulates b13/bolt.",
 	"license": "GPL-2.0-or-later",
 	"require": {
-		"typo3/cms-core": "12.4.*@dev",
-		"typo3/cms-frontend": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21",
+		"typo3/cms-frontend": "12.4.21"
 	},
 	"extra": {
 		"typo3/cms": {
diff --git a/typo3/sysext/redirects/composer.json b/typo3/sysext/redirects/composer.json
index 7d2da043c3fb..8ff06c457250 100644
--- a/typo3/sysext/redirects/composer.json
+++ b/typo3/sysext/redirects/composer.json
@@ -23,8 +23,8 @@
 		"psr/http-message": "^1.1 || ^2.0",
 		"psr/log": "^2.0 || ^3.0",
 		"symfony/console": "^6.4 || ^7.0",
-		"typo3/cms-backend": "12.4.*@dev",
-		"typo3/cms-core": "12.4.*@dev",
+		"typo3/cms-backend": "12.4.21",
+		"typo3/cms-core": "12.4.21",
 		"typo3fluid/fluid": "^2.9.2"
 	},
 	"conflict": {
diff --git a/typo3/sysext/reports/composer.json b/typo3/sysext/reports/composer.json
index b46578f488b2..9e5e3a1283ff 100644
--- a/typo3/sysext/reports/composer.json
+++ b/typo3/sysext/reports/composer.json
@@ -19,7 +19,7 @@
 		"sort-packages": true
 	},
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"suggest": {
 		"typo3/cms-scheduler": "Determine system's status and send it via email"
diff --git a/typo3/sysext/rte_ckeditor/composer.json b/typo3/sysext/rte_ckeditor/composer.json
index 05f93564a21c..8a0bb2a4d14f 100644
--- a/typo3/sysext/rte_ckeditor/composer.json
+++ b/typo3/sysext/rte_ckeditor/composer.json
@@ -19,7 +19,7 @@
 		"sort-packages": true
 	},
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"conflict": {
 		"typo3/cms": "*"
diff --git a/typo3/sysext/scheduler/composer.json b/typo3/sysext/scheduler/composer.json
index e3b715a7c420..f4d60e726bfd 100644
--- a/typo3/sysext/scheduler/composer.json
+++ b/typo3/sysext/scheduler/composer.json
@@ -19,7 +19,7 @@
 		"sort-packages": true
 	},
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"conflict": {
 		"typo3/cms": "*"
diff --git a/typo3/sysext/seo/composer.json b/typo3/sysext/seo/composer.json
index 52e75fa16a91..515ba9448a17 100644
--- a/typo3/sysext/seo/composer.json
+++ b/typo3/sysext/seo/composer.json
@@ -19,9 +19,9 @@
 		"sort-packages": true
 	},
 	"require": {
-		"typo3/cms-core": "12.4.*@dev",
-		"typo3/cms-frontend": "12.4.*@dev",
-		"typo3/cms-extbase": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21",
+		"typo3/cms-frontend": "12.4.21",
+		"typo3/cms-extbase": "12.4.21"
 	},
 	"conflict": {
 		"typo3/cms": "*"
diff --git a/typo3/sysext/setup/composer.json b/typo3/sysext/setup/composer.json
index 4d6ae87c3b57..2c7a83db4a4e 100644
--- a/typo3/sysext/setup/composer.json
+++ b/typo3/sysext/setup/composer.json
@@ -19,7 +19,7 @@
 		"sort-packages": true
 	},
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"conflict": {
 		"typo3/cms": "*"
diff --git a/typo3/sysext/sys_note/composer.json b/typo3/sysext/sys_note/composer.json
index 248f78ffac15..d5f876c5115b 100644
--- a/typo3/sysext/sys_note/composer.json
+++ b/typo3/sysext/sys_note/composer.json
@@ -19,7 +19,7 @@
 		"sort-packages": true
 	},
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"conflict": {
 		"typo3/cms": "*"
diff --git a/typo3/sysext/t3editor/composer.json b/typo3/sysext/t3editor/composer.json
index e08edaf4979e..c0f48f75b20b 100644
--- a/typo3/sysext/t3editor/composer.json
+++ b/typo3/sysext/t3editor/composer.json
@@ -20,7 +20,7 @@
 	},
 	"require": {
 		"ext-libxml": "*",
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"conflict": {
 		"typo3/cms": "*"
diff --git a/typo3/sysext/tstemplate/composer.json b/typo3/sysext/tstemplate/composer.json
index f97c0818c746..0ab2edd90a65 100644
--- a/typo3/sysext/tstemplate/composer.json
+++ b/typo3/sysext/tstemplate/composer.json
@@ -19,7 +19,7 @@
 		"sort-packages": true
 	},
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"conflict": {
 		"typo3/cms": "*"
diff --git a/typo3/sysext/viewpage/composer.json b/typo3/sysext/viewpage/composer.json
index 53298d56c743..296a85ce9e4b 100644
--- a/typo3/sysext/viewpage/composer.json
+++ b/typo3/sysext/viewpage/composer.json
@@ -19,7 +19,7 @@
 		"sort-packages": true
 	},
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"conflict": {
 		"typo3/cms": "*"
diff --git a/typo3/sysext/webhooks/composer.json b/typo3/sysext/webhooks/composer.json
index 2b295bc890df..7d57ac1eb1f3 100644
--- a/typo3/sysext/webhooks/composer.json
+++ b/typo3/sysext/webhooks/composer.json
@@ -20,7 +20,7 @@
 	},
 	"require": {
 		"symfony/uid": "^6.4 || ^7.0",
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"suggest": {
 		"typo3/cms-lowlevel": "To display registered webhooks in the configuration module"
diff --git a/typo3/sysext/workspaces/composer.json b/typo3/sysext/workspaces/composer.json
index 4f9b31be35d2..f6c582e6b444 100644
--- a/typo3/sysext/workspaces/composer.json
+++ b/typo3/sysext/workspaces/composer.json
@@ -19,7 +19,7 @@
 		"sort-packages": true
 	},
 	"require": {
-		"typo3/cms-core": "12.4.*@dev"
+		"typo3/cms-core": "12.4.21"
 	},
 	"conflict": {
 		"typo3/cms": "*"
-- 
GitLab