diff --git a/modules/string_demo/string_demo.info.yml b/modules/string_demo/string_demo.info.yml
index 7dabdc9..b4afe06 100644
--- a/modules/string_demo/string_demo.info.yml
+++ b/modules/string_demo/string_demo.info.yml
@@ -1,7 +1,7 @@
 name: 'String Demo'
 type: module
 description: 'Module is still present here so that user can uninstall it properly.'
-core_version_requirement: '^10.3 || ^11 || ^12'
+core_version_requirement: ^10.3 || ^11 || ^12
 package: 'Locale'
 dependencies:
   - string:string
diff --git a/modules/string_demo_test/string_demo_test.info.yml b/modules/string_demo_test/string_demo_test.info.yml
index 28ec4c9..bd93601 100644
--- a/modules/string_demo_test/string_demo_test.info.yml
+++ b/modules/string_demo_test/string_demo_test.info.yml
@@ -2,7 +2,7 @@ name: String Demo Test
 type: module
 description: 'Test module for string translations.'
 package: Testing
-core_version_requirement: '^10.3 || ^11'
+core_version_requirement: ^10.3 || ^11 || ^12
 dependencies:
   - string:string
 hidden: true
diff --git a/modules/string_i18next/string_i18next.info.yml b/modules/string_i18next/string_i18next.info.yml
index 8eeddc6..c2b7baf 100644
--- a/modules/string_i18next/string_i18next.info.yml
+++ b/modules/string_i18next/string_i18next.info.yml
@@ -1,7 +1,7 @@
 name: 'String i18next'
 description: 'String support for i18next.'
 package: 'Translation Management'
-core_version_requirement: '^10.3 || ^11'
+core_version_requirement: ^10.3 || ^11 || ^12
 type: module
 dependencies:
   - string:string
diff --git a/modules/string_i18next/tests/src/Unit/StringI18NextTest.php b/modules/string_i18next/tests/src/Unit/StringI18NextTest.php
index 4c3a289..0ae9b1b 100644
--- a/modules/string_i18next/tests/src/Unit/StringI18NextTest.php
+++ b/modules/string_i18next/tests/src/Unit/StringI18NextTest.php
@@ -2,6 +2,7 @@
 
 namespace Drupal\Tests\string_i18next\Unit;
 
+use PHPUnit\Framework\Attributes\Group;
 use Drupal\Core\StringTranslation\StringTranslationTrait;
 use Drupal\locale\StringStorageInterface;
 use Drupal\string\StringManager;
@@ -15,6 +16,7 @@ use Prophecy\PhpUnit\ProphecyTrait;
  * @coversDefaultClass \Drupal\string_i18next\StringI18Next
  * @group string_i18next
  */
+#[Group('string_i18next')]
 class StringI18NextTest extends UnitTestCase {
 
   use ProphecyTrait;
diff --git a/modules/string_tmgmt/string_tmgmt.info.yml b/modules/string_tmgmt/string_tmgmt.info.yml
index ced5695..4b6d5ef 100644
--- a/modules/string_tmgmt/string_tmgmt.info.yml
+++ b/modules/string_tmgmt/string_tmgmt.info.yml
@@ -1,7 +1,7 @@
 name: 'String TGMT'
 description: 'String plugin for the Translation Management system.'
 package: 'Translation Management'
-core_version_requirement: '^10.3 || ^11'
+core_version_requirement: ^10.3 || ^11 || ^12
 type: module
 dependencies:
   - string:string
diff --git a/string.info.yml b/string.info.yml
index 89589ae..c935b21 100644
--- a/string.info.yml
+++ b/string.info.yml
@@ -1,7 +1,7 @@
 name: 'String'
 type: module
 description: 'Strings for translation'
-core_version_requirement: '^10.3 || ^11'
+core_version_requirement: ^10.3 || ^11 || ^12
 package: 'Locale'
 dependencies:
   - drupal:locale
diff --git a/tests/src/Functional/StringAdminTest.php b/tests/src/Functional/StringAdminTest.php
index 393b1ac..2d58287 100644
--- a/tests/src/Functional/StringAdminTest.php
+++ b/tests/src/Functional/StringAdminTest.php
@@ -2,6 +2,8 @@
 
 namespace Drupal\Tests\string\Functional;
 
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\RunTestsInSeparateProcesses;
 use Drupal\Component\Plugin\Exception\PluginException;
 use Drupal\Tests\BrowserTestBase;
 use Drupal\string\StringManager;
@@ -11,6 +13,8 @@ use Drupal\string\StringManager;
  *
  * @group string
  */
+#[Group('string')]
+#[RunTestsInSeparateProcesses]
 class StringAdminTest extends BrowserTestBase {
 
   /**
@@ -95,7 +99,6 @@ class StringAdminTest extends BrowserTestBase {
   public function testCheckForNamespace(): void {
     $reflection = new \ReflectionClass(StringManager::class);
     $method = $reflection->getMethod('checkForNamespace');
-    $method->setAccessible(TRUE);
 
     // Test valid namespace.
     $this->assertNull($method->invoke($this->stringManager, 'valid.namespace'));
diff --git a/tests/src/Kernel/StringTranslationTest.php b/tests/src/Kernel/StringTranslationTest.php
index 3dcf24d..e16e9e0 100644
--- a/tests/src/Kernel/StringTranslationTest.php
+++ b/tests/src/Kernel/StringTranslationTest.php
@@ -2,6 +2,9 @@
 
 namespace Drupal\Tests\string\Kernel;
 
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\RunTestsInSeparateProcesses;
+use PHPUnit\Framework\Attributes\DataProvider;
 use Drupal\Component\Gettext\PoItem;
 use Drupal\Core\StringTranslation\PluralTranslatableMarkup;
 use Drupal\KernelTests\KernelTestBase;
@@ -12,6 +15,8 @@ use Drupal\string\Translator\StringTranslation;
  *
  * @group string
  */
+#[Group('string')]
+#[RunTestsInSeparateProcesses]
 class StringTranslationTest extends KernelTestBase {
 
   /**
@@ -147,6 +152,7 @@ class StringTranslationTest extends KernelTestBase {
    *
    * @dataProvider providerTestFormatPlural
    */
+  #[DataProvider('providerTestFormatPlural')]
   public function testFormatPlural($count, $string_id, array $args, array $options, $expected): void {
     $id = $string_id . PoItem::DELIMITER . $string_id;
     $context = '';
diff --git a/tests/src/Unit/StringManagerTest.php b/tests/src/Unit/StringManagerTest.php
index 6f54f97..554340d 100644
--- a/tests/src/Unit/StringManagerTest.php
+++ b/tests/src/Unit/StringManagerTest.php
@@ -2,6 +2,7 @@
 
 namespace Drupal\Tests\string\Unit;
 
+use PHPUnit\Framework\Attributes\Group;
 use Drupal\Tests\UnitTestCase;
 use Drupal\Component\Plugin\Exception\PluginException;
 use Drupal\locale\StringInterface;
@@ -15,6 +16,7 @@ use Drupal\string\StringManager;
  * @coversDefaultClass \Drupal\string\StringManager
  * @group string
  */
+#[Group('string')]
 class StringManagerTest extends UnitTestCase {
 
   /**
@@ -103,7 +105,6 @@ class StringManagerTest extends UnitTestCase {
   public function testCheckForNamespace(): void {
     $reflection = new \ReflectionClass($this->stringManager);
     $method = $reflection->getMethod('checkForNamespace');
-    $method->setAccessible(TRUE);
 
     // Test valid namespace.
     $this->assertNull($method->invoke($this->stringManager, 'valid.namespace'));
