diff --git a/session_limit.install b/session_limit.install
index 657275d..af6ef98 100644
--- a/session_limit.install
+++ b/session_limit.install
@@ -1,5 +1,11 @@
 <?php
 
+/**
+ * @file
+ */
+
+use Drupal\Component\Utility\DeprecationHelper;
+
 /**
  * @file
  * Contains install and update functions for Session Limit.
@@ -11,7 +17,7 @@
 function session_limit_update_8001(&$sandbox) {
   $config = \Drupal::configFactory()->getEditable('session_limit.settings');
   $config->set('session_limit_log_events', FALSE);
-  $config->save(TRUE);
+  DeprecationHelper::backwardsCompatibleCall(\Drupal::VERSION, '11.4.0', fn() => $config->save(), fn() => $config->save(TRUE));
 }
 
 /**
@@ -20,5 +26,5 @@ function session_limit_update_8001(&$sandbox) {
 function session_limit_update_10001() {
   $config = \Drupal::configFactory()->getEditable('session_limit.settings');
   $config->set('session_limit_logged_out_display_message', t('You have been automatically logged out. Someone else has logged in with your username and password and the maximum number of @number simultaneous session(s) was exceeded. This may indicate that your account has been compromised or that account sharing is not allowed on this site. Please contact the site administrator if you suspect your account has been compromised.'));
-  $config->save(TRUE);
+  DeprecationHelper::backwardsCompatibleCall(\Drupal::VERSION, '11.4.0', fn() => $config->save(), fn() => $config->save(TRUE));
 }
diff --git a/src/Plugin/migrate/process/SessionLimitRidVariablesToRolesArray.php b/src/Plugin/migrate/process/SessionLimitRidVariablesToRolesArray.php
index 7c7a92c..e3d316e 100644
--- a/src/Plugin/migrate/process/SessionLimitRidVariablesToRolesArray.php
+++ b/src/Plugin/migrate/process/SessionLimitRidVariablesToRolesArray.php
@@ -56,7 +56,7 @@ class SessionLimitRidVariablesToRolesArray extends ProcessPluginBase implements
   /**
    * {@inheritdoc}
    */
-  public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration = NULL) {
+  public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition, ?MigrationInterface $migration = NULL) {
     return new static(
       $configuration,
       $plugin_id,
diff --git a/src/Services/SessionLimit.php b/src/Services/SessionLimit.php
index f8d9a43..b72c1ae 100644
--- a/src/Services/SessionLimit.php
+++ b/src/Services/SessionLimit.php
@@ -2,6 +2,7 @@
 
 namespace Drupal\session_limit\Services;
 
+use Drupal\Component\Utility\DeprecationHelper;
 use Drupal\Component\Render\FormattableMarkup;
 use Drupal\Core\Config\ConfigFactoryInterface;
 use Drupal\Core\Database\Connection;
@@ -230,11 +231,11 @@ class SessionLimit implements EventSubscriberInterface {
       // sessionId creation see issue #1176412.
       // @todo accessing the $_SESSION super global is bad.
       if (!isset($_SESSION['session_limit_checkonce'])) {
-        $_SESSION['session_limit_checkonce'] = TRUE;
+        DeprecationHelper::backwardsCompatibleCall(\Drupal::VERSION, '11.2.0', fn() => \Drupal::request()->getSession()->set('session_limit_checkonce', TRUE), fn() => $_SESSION['session_limit_checkonce'] = TRUE);
       }
       else {
         // Mark sessionId as verified to bypass this in future.
-        $_SESSION['session_limit'] = TRUE;
+        DeprecationHelper::backwardsCompatibleCall(\Drupal::VERSION, '11.2.0', fn() => \Drupal::request()->getSession()->set('session_limit', TRUE), fn() => $_SESSION['session_limit'] = TRUE);
       }
     }
   }
diff --git a/tests/src/Functional/SessionLimitConfigTest.php b/tests/src/Functional/SessionLimitConfigTest.php
index 0973925..0bccc1f 100644
--- a/tests/src/Functional/SessionLimitConfigTest.php
+++ b/tests/src/Functional/SessionLimitConfigTest.php
@@ -2,11 +2,16 @@
 
 namespace Drupal\Tests\session_limit\Functional;
 
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\RunTestsInSeparateProcesses;
+
 /**
  * Tests session limit module functionality.
  *
  * @group session_limit
  */
+#[Group('session_limit')]
+#[RunTestsInSeparateProcesses]
 class SessionLimitConfigTest extends SessionLimitTestBase {
 
   /**
diff --git a/tests/src/Functional/SessionLimitTestBase.php b/tests/src/Functional/SessionLimitTestBase.php
index 8670fce..18577c5 100644
--- a/tests/src/Functional/SessionLimitTestBase.php
+++ b/tests/src/Functional/SessionLimitTestBase.php
@@ -2,6 +2,7 @@
 
 namespace Drupal\Tests\session_limit\Functional;
 
+use PHPUnit\Framework\Attributes\Group;
 use Drupal\Tests\BrowserTestBase;
 
 /**
@@ -9,6 +10,7 @@ use Drupal\Tests\BrowserTestBase;
  *
  * @group securitytxt
  */
+#[Group('securitytxt')]
 abstract class SessionLimitTestBase extends BrowserTestBase {
 
   /**
diff --git a/tests/src/Kernel/SessionLimitMigrateTest.php b/tests/src/Kernel/SessionLimitMigrateTest.php
index 9003901..16e5446 100644
--- a/tests/src/Kernel/SessionLimitMigrateTest.php
+++ b/tests/src/Kernel/SessionLimitMigrateTest.php
@@ -2,6 +2,8 @@
 
 namespace Drupal\Tests\session_limit\Kernel;
 
+use PHPUnit\Framework\Attributes\Group;
+use PHPUnit\Framework\Attributes\RunTestsInSeparateProcesses;
 use Drupal\Tests\migrate_drupal\Kernel\d7\MigrateDrupal7TestBase;
 
 /**
@@ -9,6 +11,8 @@ use Drupal\Tests\migrate_drupal\Kernel\d7\MigrateDrupal7TestBase;
  *
  * @group session_limit
  */
+#[Group('session_limit')]
+#[RunTestsInSeparateProcesses]
 class SessionLimitMigrateTest extends MigrateDrupal7TestBase {
 
   /**
