diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d9d2f219f8c6e00c00f7d3343730c4d5f9c8362d..9b0a72a27f6fcaba23b271a485123a4c0e15facd 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -5,3 +5,8 @@ include:
       - '/includes/include.drupalci.main.yml'
       - '/includes/include.drupalci.variables.yml'
       - '/includes/include.drupalci.workflows.yml'
+variables:
+  OPT_IN_TEST_MAX_PHP: 1
+  # Broaden test coverage.
+  OPT_IN_TEST_NEXT_MINOR: 1
+  OPT_IN_TEST_NEXT_MAJOR: 1
\ No newline at end of file
diff --git a/composer.json b/composer.json
index 9838024b9807a7d25803d66b3fdb108727324f6e..081604bce4be55266f3903d871783ff69f51f8d4 100644
--- a/composer.json
+++ b/composer.json
@@ -27,18 +27,18 @@
   "extra": {
     "drush": {
       "services": {
-        "drush.services.yml": "^9 || ^10 || ^11"
+        "drush.services.yml": ">=9"
       }
     }
   },
   "require": {
-    "consolidation/output-formatters": "^3.2.0 || ^4.1",
+    "consolidation/output-formatters": "^3.2.0 || ^4.5",
     "lusitanian/oauth": "^0.8.11",
     "firebase/php-jwt": "^5.0 || ^6.0",
-    "drupal/address": "^1.8 || ^2.0",
-    "drupal/key": "^1.14",
-    "drupal/dynamic_entity_reference": "^1.9 || ^2.0 || ^3 || ^4",
-    "drupal/typed_data": "^2.1",
+    "drupal/address": "^2.0",
+    "drupal/key": "^1",
+    "drupal/dynamic_entity_reference": "^3 || ^4",
+    "drupal/typed_data": "^2",
     "messageagency/force.com-toolkit-for-php": "^1.0.2",
     "ext-soap": "*",
     "ext-json": "*"
diff --git a/modules/salesforce_address/salesforce_address.info.yml b/modules/salesforce_address/salesforce_address.info.yml
index fcfcb4fbabf0a7ade32a6826c9fd85c1e88c082a..0036544d33725496cfae2bc831e9d802f59fb119 100644
--- a/modules/salesforce_address/salesforce_address.info.yml
+++ b/modules/salesforce_address/salesforce_address.info.yml
@@ -1,7 +1,7 @@
 name: Salesforce Address
 type: module
 description: A custom Address Field Widget for Salesforce compatibility.
-core_version_requirement: ^10.3
+core_version_requirement: ^10.3 || ^11
 package: Salesforce
 dependencies:
   - address:address
diff --git a/modules/salesforce_example/salesforce_example.info.yml b/modules/salesforce_example/salesforce_example.info.yml
index bd5a054a20fb8b365790589b078f9a5e94c82ba1..edcd9724ce05c008a76d5b12f55f665f36cd1e88 100644
--- a/modules/salesforce_example/salesforce_example.info.yml
+++ b/modules/salesforce_example/salesforce_example.info.yml
@@ -1,7 +1,7 @@
 name: Salesforce Example
 type: module
 description: Salesforce Examples
-core_version_requirement: ^10.3
+core_version_requirement: ^10.3 || ^11
 package: Salesforce
 dependencies:
   - salesforce:salesforce_push
diff --git a/modules/salesforce_example/salesforce_example.services.yml b/modules/salesforce_example/salesforce_example.services.yml
index 439b2de601a4c9577b703e8009edb66777850d7e..5a1173230d6819ebdbce3bdbccc7fea31c890597 100644
--- a/modules/salesforce_example/salesforce_example.services.yml
+++ b/modules/salesforce_example/salesforce_example.services.yml
@@ -1,6 +1,6 @@
 services:
   salesforce_example.push_params:
     class: Drupal\salesforce_example\EventSubscriber\SalesforceExampleSubscriber
-    arguments: []
+    arguments: ['@salesforce.client', '@logger.factory','@messenger']
     tags:
       - { name: event_subscriber }
diff --git a/modules/salesforce_example/src/EventSubscriber/SalesforceExampleSubscriber.php b/modules/salesforce_example/src/EventSubscriber/SalesforceExampleSubscriber.php
index 15face96f47e3fdbb90cded3c3b7ff133a150d14..eef600d464921b026a2fc7daa7a3f4bf1c42ba5d 100644
--- a/modules/salesforce_example/src/EventSubscriber/SalesforceExampleSubscriber.php
+++ b/modules/salesforce_example/src/EventSubscriber/SalesforceExampleSubscriber.php
@@ -5,13 +5,16 @@
 namespace Drupal\salesforce_example\EventSubscriber;
 
 use Drupal\Core\File\FileSystemInterface;
+use Drupal\Core\Messenger\MessengerInterface;
 use Drupal\Core\StringTranslation\StringTranslationTrait;
 use Drupal\salesforce\Event\SalesforceEvents;
+use Drupal\salesforce\Rest\RestClientInterface;
 use Drupal\salesforce_mapping\Event\SalesforcePullEvent;
 use Drupal\salesforce_mapping\Event\SalesforcePushAllowedEvent;
 use Drupal\salesforce_mapping\Event\SalesforcePushOpEvent;
 use Drupal\salesforce_mapping\Event\SalesforcePushParamsEvent;
 use Drupal\salesforce_mapping\Event\SalesforceQueryEvent;
+use Psr\Log\LoggerInterface;
 use Symfony\Component\EventDispatcher\EventSubscriberInterface;
 
 /**
@@ -40,6 +43,13 @@ class SalesforceExampleSubscriber implements EventSubscriberInterface {
    */
   protected $client;
 
+  /**
+   * The messenger.
+   *
+   * @var \Drupal\Core\Messenger\MessengerInterface
+   */
+  protected $messenger;
+
   /**
    * Create a new Salesforce object.
    *
@@ -47,10 +57,17 @@ class SalesforceExampleSubscriber implements EventSubscriberInterface {
    *   The logger.
    * @param \Drupal\salesforce\Rest\RestClientInterface $salesforce_client
    *   The factory for configuration objects.
+   * @param \Drupal\Core\Messenger\MessengerInterface $messenger
+   *   The messenger.
    */
-  public function __construct(LoggerInterface $logger, RestClientInterface $salesforce_client) {
+  public function __construct(
+    LoggerInterface $logger,
+    RestClientInterface $salesforce_client,
+    MessengerInterface $messenger,
+  ) {
     $this->logger = $logger;
     $this->client = $salesforce_client;
+    $this->messenger = $messenger;
   }
 
   /**
@@ -185,7 +202,7 @@ class SalesforceExampleSubscriber implements EventSubscriberInterface {
         }
         catch (\Exception $e) {
           // Unable to fetch file data from SF.
-          $this->logger('db')->error($this->t('failed to fetch attachment for user @user', ['@user' => $account->id()]));
+          $this->logger->error($this->t('failed to fetch attachment for user @user', ['@user' => $account->id()]));
           return;
         }
 
@@ -198,7 +215,7 @@ class SalesforceExampleSubscriber implements EventSubscriberInterface {
           $account->user_picture->target_id = $file->id();
         }
         else {
-          $this->logger('db')->error('failed to save profile pic for user ' . $account->id());
+          $this->logger->error('failed to save profile pic for user ' . $account->id());
         }
 
         break;
diff --git a/modules/salesforce_jwt/salesforce_jwt.info.yml b/modules/salesforce_jwt/salesforce_jwt.info.yml
index 40cbec662968f7e06f4bda0d7653ea61d7b3c375..799cb1544894df7a2bf60c7516c4d0fa37656b71 100644
--- a/modules/salesforce_jwt/salesforce_jwt.info.yml
+++ b/modules/salesforce_jwt/salesforce_jwt.info.yml
@@ -1,7 +1,7 @@
 name: Salesforce JWT Auth Provider
 type: module
 description: Provides key-based Salesforce authentication.
-core_version_requirement: ^10.3
+core_version_requirement: ^10.3 || ^11
 package: Salesforce
 configure: salesforce.auth_config
 dependencies:
diff --git a/modules/salesforce_logger/salesforce_logger.info.yml b/modules/salesforce_logger/salesforce_logger.info.yml
index d281c2d5c63d2e854d3a972485b63c0ec4f04932..631568d6e25ee8ed719a676d20a1f9e9dfe9a55f 100644
--- a/modules/salesforce_logger/salesforce_logger.info.yml
+++ b/modules/salesforce_logger/salesforce_logger.info.yml
@@ -1,7 +1,7 @@
 name: Salesforce Logger
 type: module
 description: Consolidated logging for Salesforce Log events.
-core_version_requirement: ^10.3
+core_version_requirement: ^10.3 || ^11
 package: Salesforce
 configure: salesforce_logger.settings
 dependencies:
diff --git a/modules/salesforce_mapping/composer.json b/modules/salesforce_mapping/composer.json
index 8a47be296c83cd79354039d7e959118cb5677e0a..70619633db250d2ccd8487c685ca070cadd1657d 100644
--- a/modules/salesforce_mapping/composer.json
+++ b/modules/salesforce_mapping/composer.json
@@ -9,13 +9,13 @@
     }
   ],
   "require": {
-    "drupal/dynamic_entity_reference": "^1.9 || ^2.0 || ^3 || ^4",
-    "drupal/typed_data": "^1.0-beta2"
+    "drupal/dynamic_entity_reference": "^3 || ^4",
+    "drupal/typed_data": "^2.1"
   },
   "extra": {
     "drush": {
       "services": {
-        "drush.services.yml": "^9 || ^10 || ^11"
+        "drush.services.yml": ">=9"
       }
     }
   }
diff --git a/modules/salesforce_mapping/config/schema/salesforce_mapping.schema.yml b/modules/salesforce_mapping/config/schema/salesforce_mapping.schema.yml
index 16b49031bc61c0581cabe93ce1094f6716f412d0..117b8b97293b244c520063af45dff296237a35bb 100644
--- a/modules/salesforce_mapping/config/schema/salesforce_mapping.schema.yml
+++ b/modules/salesforce_mapping/config/schema/salesforce_mapping.schema.yml
@@ -50,8 +50,10 @@ salesforce_mapping.salesforce_mapping.*:
       type: string
       label: 'Pull query SOQL "WHERE" clause'
     pull_record_type_filter:
-      type: mapping
+      type: sequence
       label: 'Pull query record type filter'
+      sequence:
+        type: string
     sync_triggers:
       type: mapping
       label: 'Sync triggers'
diff --git a/modules/salesforce_mapping/salesforce_mapping.info.yml b/modules/salesforce_mapping/salesforce_mapping.info.yml
index 315758d385a5f3fda88f6dacae763f9b79d396e7..a311fbe62429d24f7fe553f5b5fc772bcc921955 100644
--- a/modules/salesforce_mapping/salesforce_mapping.info.yml
+++ b/modules/salesforce_mapping/salesforce_mapping.info.yml
@@ -2,7 +2,7 @@ name: Salesforce Mapping
 type: module
 description: Map Drupal entities to Salesforce objects.
 package: Salesforce
-core_version_requirement: ^10.3
+core_version_requirement: ^10.3 || ^11
 dependencies:
   - salesforce:salesforce
   - dynamic_entity_reference:dynamic_entity_reference
diff --git a/modules/salesforce_mapping/src/Entity/MappedObject.php b/modules/salesforce_mapping/src/Entity/MappedObject.php
index b3d6e5b0377413504ac017b946c3fc0625bfd90c..0f58901c1b6c40b11036687bbbc48547a1e51a5b 100644
--- a/modules/salesforce_mapping/src/Entity/MappedObject.php
+++ b/modules/salesforce_mapping/src/Entity/MappedObject.php
@@ -139,6 +139,8 @@ class MappedObject extends RevisionableContentEntityBase implements MappedObject
    * {@inheritdoc}
    */
   public function pruneRevisions(EntityStorageInterface $storage) {
+    /** @var \Drupal\Core\Entity\RevisionableStorageInterface $entityStorage */
+    $entityStorage = $storage;
     $limit = $this
       ->config('salesforce.settings')
       ->get('limit_mapped_object_revisions');
@@ -146,7 +148,7 @@ class MappedObject extends RevisionableContentEntityBase implements MappedObject
       // Limit 0 means no limit.
       return $this;
     }
-    $count = $storage
+    $count = $entityStorage
       ->getQuery()
       ->accessCheck(FALSE)
       ->allRevisions()
@@ -158,7 +160,7 @@ class MappedObject extends RevisionableContentEntityBase implements MappedObject
     if ($count <= $limit) {
       return $this;
     }
-    $vids_to_delete = $storage
+    $vids_to_delete = $entityStorage
       ->getQuery()
       ->accessCheck(FALSE)
       ->allRevisions()
@@ -170,14 +172,14 @@ class MappedObject extends RevisionableContentEntityBase implements MappedObject
       return $this;
     }
     foreach ($vids_to_delete as $vid => $dummy) {
-      /** @var \Drupal\Core\Entity\RevisionableInterface $revision */
-      if ($revision = $storage->loadRevision($vid)) {
+      
+      if ($revision = $entityStorage->loadRevision($vid)) {
         // Prevent deletion if this is the default revision.
         if ($revision->isDefaultRevision()) {
           continue;
         }
       }
-      $storage->deleteRevision($vid);
+      $entityStorage->deleteRevision($vid);
     }
     return $this;
   }
diff --git a/modules/salesforce_mapping/src/Plugin/Validation/Constraint/MappingEntityTypeConstraintValidator.php b/modules/salesforce_mapping/src/Plugin/Validation/Constraint/MappingEntityTypeConstraintValidator.php
index d6bab519d3a7fc736cb063b04164157293a08c23..eabf2cb7b649bbf9cb3e8722d70d464414a909f3 100644
--- a/modules/salesforce_mapping/src/Plugin/Validation/Constraint/MappingEntityTypeConstraintValidator.php
+++ b/modules/salesforce_mapping/src/Plugin/Validation/Constraint/MappingEntityTypeConstraintValidator.php
@@ -13,7 +13,7 @@ class MappingEntityTypeConstraintValidator extends ConstraintValidator {
   /**
    * {@inheritdoc}
    */
-  public function validate($entity, Constraint $constraint) {
+  public function validate(mixed $entity, Constraint $constraint) {
     $drupal_entity = $entity->getMappedEntity() ?: $entity->getDrupalEntityStub();
     if (!$drupal_entity) {
       $this->context->addViolation('Validation failed. Please check your input and try again.');
diff --git a/modules/salesforce_mapping/src/Plugin/Validation/Constraint/UniqueFieldsConstraint.php b/modules/salesforce_mapping/src/Plugin/Validation/Constraint/UniqueFieldsConstraint.php
index 0693a63abf8f4d6f6d402ae95d27dadf70789b42..2d5dd3fa0bb67c8b65bd2e6f3bf8b7eaa52672ea 100644
--- a/modules/salesforce_mapping/src/Plugin/Validation/Constraint/UniqueFieldsConstraint.php
+++ b/modules/salesforce_mapping/src/Plugin/Validation/Constraint/UniqueFieldsConstraint.php
@@ -32,21 +32,21 @@ class UniqueFieldsConstraint extends Constraint {
   /**
    * {@inheritdoc}
    */
-  public function getRequiredOptions() {
+  public function getRequiredOptions(): array {
     return ['fields'];
   }
 
   /**
    * {@inheritdoc}
    */
-  public function getDefaultOption() {
+  public function getDefaultOption(): ?string {
     return 'fields';
   }
 
   /**
    * {@inheritdoc}
    */
-  public function validatedBy() {
+  public function validatedBy(): string {
     return '\Drupal\salesforce_mapping\Plugin\Validation\Constraint\UniqueFieldsConstraintValidator';
   }
 
diff --git a/modules/salesforce_mapping/tests/src/Unit/MappedObjectTest.php b/modules/salesforce_mapping/tests/src/Unit/MappedObjectTest.php
index 2dfc95d3eb6ef236dc528d34f7904164492c06b4..53670c125785b10eb28157ce1a4e6082fe619951 100644
--- a/modules/salesforce_mapping/tests/src/Unit/MappedObjectTest.php
+++ b/modules/salesforce_mapping/tests/src/Unit/MappedObjectTest.php
@@ -97,32 +97,32 @@ class MappedObjectTest extends UnitTestCase {
       ->getMock();
     $this->entityType->expects($this->any())
       ->method('getKeys')
-      ->will($this->returnValue([
+      ->willReturn([
         'id' => 'id',
         'uuid' => 'uuid',
-      ]));
+      ]);
 
     $this->etm = $this->getMockBuilder(EntityTypeManagerInterface::class)
       ->getMock();
     $this->etm->expects($this->any())
       ->method('getDefinition')
       ->with($this->entityTypeId)
-      ->will($this->returnValue($this->entityType));
+      ->willReturn($this->entityType);
 
     $this->mappedObjectEntityType = $this->getMockBuilder(EntityTypeInterface::class)
       ->getMock();
     $this->mappedObjectEntityType->expects($this->any())
       ->method('getKeys')
-      ->will($this->returnValue([
+      ->willReturn([
         'id' => 'id',
         'entity_id' => 'entity_id',
         'salesforce_id' => 'salesforce_id',
-      ]));
+      ]);
 
     $this->etm->expects($this->any())
       ->method('getDefinition')
       ->with('salesforce_mapped_object')
-      ->will($this->returnValue($this->mappedObjectEntityType));
+      ->willReturn($this->mappedObjectEntityType);
 
     $this->event_dispatcher = $this->getMockBuilder(EventDispatcherInterface::class)
       ->getMock();
@@ -135,14 +135,13 @@ class MappedObjectTest extends UnitTestCase {
       ->getMock();
     $this->fieldTypePluginManager->expects($this->any())
       ->method('getDefaultStorageSettings')
-      ->will($this->returnValue([]));
+      ->willReturn([]);
     $this->fieldTypePluginManager->expects($this->any())
       ->method('getDefaultFieldSettings')
-      ->will($this->returnValue([]));
+      ->willReturn([]);
     $this->fieldTypePluginManager->expects($this->any())
       ->method('createFieldItemList')
-      ->will($this->returnValue(
-        $this->getMockBuilder(FieldItemListInterface::class)->getMock()));
+      ->willReturn($this->getMockBuilder(FieldItemListInterface::class)->getMock());
 
     $this->time = $this->getMockBuilder(TimeInterface::CLASS)->getMock();
 
@@ -184,7 +183,7 @@ class MappedObjectTest extends UnitTestCase {
 
     $this->mapped_object = $this->getMockBuilder(MappedObject::CLASS)
       ->disableOriginalConstructor()
-      ->setMethods([
+      ->onlyMethods([
         'getMappedEntity',
         'getMapping',
         'getEntityType',
@@ -225,7 +224,7 @@ class MappedObjectTest extends UnitTestCase {
       ->willReturn(FALSE);
     $this->mapping->expects($this->any())
       ->method('hasKey')
-      ->will($this->returnValue(TRUE));
+      ->willReturn(TRUE);
     $this->client->expects($this->once())
       ->method('objectUpsert')
       ->willReturn(NULL);
@@ -256,7 +255,7 @@ class MappedObjectTest extends UnitTestCase {
     // Third pass: test create.
     $this->mapping->expects($this->once())
       ->method('hasKey')
-      ->will($this->returnValue(FALSE));
+      ->willReturn(FALSE);
     $this->mapped_object->expects($this->any())
       ->method('sfid')
       ->willReturn(FALSE);
@@ -285,7 +284,7 @@ class MappedObjectTest extends UnitTestCase {
       ->willReturn(TRUE);
     $this->mapping->expects($this->once())
       ->method('hasKey')
-      ->will($this->returnValue(TRUE));
+      ->willReturn(TRUE);
     $this->client->expects($this->once())
       ->method('objectUpsert')
       ->willReturn(NULL);
diff --git a/modules/salesforce_mapping/tests/src/Unit/SalesforceMappingStorageTest.php b/modules/salesforce_mapping/tests/src/Unit/SalesforceMappingStorageTest.php
index d22ab8cb2d3a9d9bc575aec71ea86f981f8a44ff..62c2c7d3f150cc1dda0ada1808a843ce7b592152 100644
--- a/modules/salesforce_mapping/tests/src/Unit/SalesforceMappingStorageTest.php
+++ b/modules/salesforce_mapping/tests/src/Unit/SalesforceMappingStorageTest.php
@@ -109,7 +109,7 @@ class SalesforceMappingStorageTest extends UnitTestCase {
         $this->etm,
       ])
       ->disableOriginalConstructor()
-      ->setMethods(['loadByProperties'])
+      ->onlyMethods(['loadByProperties'])
       ->getMock();
   }
 
diff --git a/modules/salesforce_mapping/tests/src/Unit/SalesforceMappingTest.php b/modules/salesforce_mapping/tests/src/Unit/SalesforceMappingTest.php
index b1579483097ca513410cb4694070fc2986fa3a70..ea2042d1d8485b0d8627334a3d664783a27fbc62 100644
--- a/modules/salesforce_mapping/tests/src/Unit/SalesforceMappingTest.php
+++ b/modules/salesforce_mapping/tests/src/Unit/SalesforceMappingTest.php
@@ -145,7 +145,7 @@ class SalesforceMappingTest extends UnitTestCase {
     \Drupal::setContainer($container);
 
     $this->mapping = $this->getMockBuilder(SalesforceMapping::CLASS)
-      ->setMethods(['fieldManager'])
+      ->onlyMethods(['fieldManager'])
       ->setConstructorArgs([$this->values, $this->entityTypeId])
       ->getMock();
     $this->mapping->expects($this->any())
diff --git a/modules/salesforce_mapping_ui/salesforce_mapping_ui.info.yml b/modules/salesforce_mapping_ui/salesforce_mapping_ui.info.yml
index 360683020e6cd0f6cb53fc173360b27bec93206b..39b0377727ed8edcb40b8c1b6fcaaa523acf2c66 100644
--- a/modules/salesforce_mapping_ui/salesforce_mapping_ui.info.yml
+++ b/modules/salesforce_mapping_ui/salesforce_mapping_ui.info.yml
@@ -2,7 +2,7 @@ name: Salesforce Mapping UI
 type: module
 description: User interface for managing Salesforce mappings.
 package: Salesforce
-core_version_requirement: ^10.3
+core_version_requirement: ^10.3 || ^11
 configure: entity.salesforce_mapping.list
 dependencies:
   - salesforce:salesforce_mapping
diff --git a/modules/salesforce_mapping_ui/src/Form/MappedObjectDeleteForm.php b/modules/salesforce_mapping_ui/src/Form/MappedObjectDeleteForm.php
index 34fc379ac8a82560ee5f8e5f55b9e9b05109b6c2..038facd54a9e040b64344fb025dffb6340dcb8af 100644
--- a/modules/salesforce_mapping_ui/src/Form/MappedObjectDeleteForm.php
+++ b/modules/salesforce_mapping_ui/src/Form/MappedObjectDeleteForm.php
@@ -12,7 +12,7 @@ use Drupal\Core\Url;
 use Drupal\salesforce\Event\SalesforceEvents;
 use Drupal\salesforce\Event\SalesforceNoticeEvent;
 use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\EventDispatcher\EventDispatcherInterface;
+use Symfony\Contracts\EventDispatcher\EventDispatcherInterface;
 
 /**
  * Provides a form for deleting a salesforce_mapped_oject entity.
@@ -21,6 +21,13 @@ use Symfony\Component\EventDispatcher\EventDispatcherInterface;
  */
 class MappedObjectDeleteForm extends ContentEntityConfirmFormBase {
 
+  /**
+   * An event dispatcher instance to use for configuration events.
+   *
+   * @var \Symfony\Contracts\EventDispatcher\EventDispatcherInterface
+   */
+  protected $eventDispatcher;
+
   /**
    * {@inheritdoc}
    */
diff --git a/modules/salesforce_mapping_ui/src/Form/SalesforceMappingFormBase.php b/modules/salesforce_mapping_ui/src/Form/SalesforceMappingFormBase.php
index 6ee4288ac5bb76386eb12979bb07d8e65604e449..4c1d7ddc231beeb320afd38a69a04c971741e38c 100644
--- a/modules/salesforce_mapping_ui/src/Form/SalesforceMappingFormBase.php
+++ b/modules/salesforce_mapping_ui/src/Form/SalesforceMappingFormBase.php
@@ -182,4 +182,21 @@ abstract class SalesforceMappingFormBase extends EntityForm {
     return $sfobject_options;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function buildEntity(array $form, FormStateInterface $form_state) {
+    $entity = parent::buildEntity($form, $form_state);
+    $record_types = $form_state->getValue('pull_record_type_filter');
+    if (!empty($record_types)) {
+      $record_types = array_filter($record_types);
+      if (!empty($record_types)) {
+        $record_types = array_values($record_types);
+      }
+    }
+    $entity->set('pull_record_type_filter', $record_types ?? []);
+    return $entity;
+  }
+
+
 }
diff --git a/modules/salesforce_mapping_ui/src/Tests/SalesforceMappingCrudFormTest.php b/modules/salesforce_mapping_ui/src/Tests/SalesforceMappingCrudFormTest.php
index 44f96515f976aa9b4f97faf44b1ce2426e559784..0a1dc66de36024e882d8542065a865da826c2530 100644
--- a/modules/salesforce_mapping_ui/src/Tests/SalesforceMappingCrudFormTest.php
+++ b/modules/salesforce_mapping_ui/src/Tests/SalesforceMappingCrudFormTest.php
@@ -91,7 +91,7 @@ class SalesforceMappingCrudFormTest extends BrowserTestBase {
       'salesforce_object_type' => 'Contact',
     ];
     $this->submitForm($post, 'Save');
-    $this->assertSession()->fieldValueEquals('label', $post['label']);
+    $this->assertSession()->pageTextContains($post['label']);
 
     // Test simply adding a field plugin of every possible type. This is not
     // great coverage, but will at least make sure our plugin definitions don't
diff --git a/modules/salesforce_oauth/salesforce_oauth.info.yml b/modules/salesforce_oauth/salesforce_oauth.info.yml
index ade4562c2964c176c538d50be9b59c3a17476acd..69a53745a4d8f6666df64a8a1566960ead08c58a 100644
--- a/modules/salesforce_oauth/salesforce_oauth.info.yml
+++ b/modules/salesforce_oauth/salesforce_oauth.info.yml
@@ -1,7 +1,7 @@
 name: Salesforce OAuth user-agent Provider
 type: module
 description: Provides user-agent-based Salesforce OAuth authentication.
-core_version_requirement: ^10.3
+core_version_requirement: ^10.3 || ^11
 package: Salesforce
 configure: salesforce.auth_config
 dependencies:
diff --git a/modules/salesforce_pull/salesforce_pull.info.yml b/modules/salesforce_pull/salesforce_pull.info.yml
index 50f2c7e03f60a61371e25b69cba4957d17859c47..15828f5414673dcad40a986e5bb261bbcedaa94f 100644
--- a/modules/salesforce_pull/salesforce_pull.info.yml
+++ b/modules/salesforce_pull/salesforce_pull.info.yml
@@ -2,6 +2,6 @@ name: Salesforce Pull
 type: module
 description: Imports objects from Salesforce based on mappings defined in Salesforce Mapping.
 package: Salesforce
-core_version_requirement: ^10.3
+core_version_requirement: ^10.3 || ^11
 dependencies:
   - salesforce:salesforce_mapping
diff --git a/modules/salesforce_pull/src/Commands/SalesforcePullCommands.php b/modules/salesforce_pull/src/Commands/SalesforcePullCommands.php
index 5018f6a4859e431f2dd6b9fe92c6bad8b9ba4c76..b28778cf4b35837dfc31c6554444e73516116bb5 100644
--- a/modules/salesforce_pull/src/Commands/SalesforcePullCommands.php
+++ b/modules/salesforce_pull/src/Commands/SalesforcePullCommands.php
@@ -2,7 +2,6 @@
 
 namespace Drupal\salesforce_pull\Commands;
 
-use Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher;
 use Drupal\Core\Entity\EntityTypeManagerInterface;
 use Drupal\salesforce\Event\SalesforceEvents;
 use Drupal\salesforce\Rest\RestClient;
@@ -14,6 +13,7 @@ use Drupal\salesforce_mapping\Event\SalesforceQueryEvent;
 use Drupal\salesforce_pull\QueueHandler;
 use Symfony\Component\Console\Input\Input;
 use Symfony\Component\Console\Output\Output;
+use Symfony\Component\EventDispatcher\EventDispatcherInterface;
 
 /**
  * A Drush commandfile.
@@ -55,13 +55,13 @@ class SalesforcePullCommands extends SalesforceMappingCommandsBase {
    *   Token storage.
    * @param \Drupal\salesforce_pull\QueueHandler $pullQueue
    *   Pull queue handler service.
-   * @param \Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher $eventDispatcher
+   * @param \Symfony\Component\EventDispatcher\EventDispatcherInterface $eventDispatcher
    *   Event dispatcher service.
    *
    * @throws \Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException
    * @throws \Drupal\Component\Plugin\Exception\PluginNotFoundException
    */
-  public function __construct(RestClient $client, EntityTypeManagerInterface $etm, SalesforceAuthProviderPluginManagerInterface $auth_man, SalesforceAuthTokenStorageInterface $token_storage, QueueHandler $pullQueue, ContainerAwareEventDispatcher $eventDispatcher) {
+  public function __construct(RestClient $client, EntityTypeManagerInterface $etm, SalesforceAuthProviderPluginManagerInterface $auth_man, SalesforceAuthTokenStorageInterface $token_storage, QueueHandler $pullQueue, EventDispatcherInterface $eventDispatcher) {
     parent::__construct($client, $etm, $auth_man, $token_storage);
     $this->pullQueue = $pullQueue;
     $this->eventDispatcher = $eventDispatcher;
diff --git a/modules/salesforce_pull/tests/src/Unit/DeleteHandlerTest.php b/modules/salesforce_pull/tests/src/Unit/DeleteHandlerTest.php
index 3167ffd2b3ce454fbe709616ae0e16d9c730621c..edf4dbf4471c838ea2d12597d9ea330093efdc1f 100644
--- a/modules/salesforce_pull/tests/src/Unit/DeleteHandlerTest.php
+++ b/modules/salesforce_pull/tests/src/Unit/DeleteHandlerTest.php
@@ -2,7 +2,7 @@
 
 namespace Drupal\Tests\salesforce_pull\Unit;
 
-use Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher;
+use Symfony\Component\EventDispatcher\EventDispatcher;
 use Drupal\Core\Entity\EntityStorageBase;
 use Drupal\Core\Entity\EntityTypeManagerInterface;
 use Drupal\Core\State\StateInterface;
@@ -180,7 +180,7 @@ class DeleteHandlerTest extends UnitTestCase {
     $this->state = $prophecy->reveal();
 
     // Mock event dispatcher.
-    $prophecy = $this->prophesize(ContainerAwareEventDispatcher::CLASS);
+    $prophecy = $this->prophesize(EventDispatcher::CLASS);
     $prophecy->dispatch(Argument::any(), Argument::any())
       ->willReturnArgument(0);
     $this->ed = $prophecy->reveal();
diff --git a/modules/salesforce_pull/tests/src/Unit/PullBaseTest.php b/modules/salesforce_pull/tests/src/Unit/PullBaseTest.php
index f8f3e5561a3a60a4c578f5dd826ea4641372c665..cc029ee95241dd095348b4f2fe41f4764123cc33 100644
--- a/modules/salesforce_pull/tests/src/Unit/PullBaseTest.php
+++ b/modules/salesforce_pull/tests/src/Unit/PullBaseTest.php
@@ -85,7 +85,7 @@ class PullBaseTest extends UnitTestCase {
 
     // Mock StringItem for mock Entity.
     $changed_value = $this->getMockBuilder(StringItem::CLASS)
-      ->setMethods(['__get'])
+      ->onlyMethods(['__get'])
       ->disableOriginalConstructor()
       // ->setConstructorArgs([$ddi,null,null])
       ->getMock();
@@ -96,7 +96,7 @@ class PullBaseTest extends UnitTestCase {
 
     // Mock content entity.
     $this->entity = $this->getMockBuilder(ContentEntityBase::CLASS)
-      ->setMethods(['__construct', '__get', '__set', 'label', 'id', '__isset'])
+      ->onlyMethods(['__construct', '__get', '__set', 'label', 'id', '__isset'])
       ->disableOriginalConstructor()
       ->getMock();
     $this->entity->expects($this->any())
diff --git a/modules/salesforce_push/composer.json b/modules/salesforce_push/composer.json
index ee4c4b9504c8666212d6115300d887fb1d8de897..6704813bf87a6f7f2d4209750d63a2c56009ed10 100644
--- a/modules/salesforce_push/composer.json
+++ b/modules/salesforce_push/composer.json
@@ -11,7 +11,7 @@
     "extra": {
         "drush": {
             "services": {
-                "drush.services.yml": "^9 || ^10 || ^11"
+                "drush.services.yml": ">=9"
             }
         }
     }
diff --git a/modules/salesforce_push/salesforce_push.info.yml b/modules/salesforce_push/salesforce_push.info.yml
index 9f0ac3e219d94faa5c18b1b4cedc3cd8bebeef66..e363c2ebcd8a8d5def0b117c486337644d1dcf8b 100644
--- a/modules/salesforce_push/salesforce_push.info.yml
+++ b/modules/salesforce_push/salesforce_push.info.yml
@@ -2,6 +2,6 @@ name: Salesforce Push
 type: module
 description: Push data to Salesforce when updates are made to Drupal entities.
 package: Salesforce
-core_version_requirement: ^10.3
+core_version_requirement: ^10.3 || ^11
 dependencies:
   - salesforce:salesforce_mapping
diff --git a/modules/salesforce_push/tests/src/Unit/PushQueueTest.php b/modules/salesforce_push/tests/src/Unit/PushQueueTest.php
index 2a6e1ca634f2f244c50c70c5fd62a8f4631f3983..37285636480ae45bc164a053deb3ba926a0faad9 100644
--- a/modules/salesforce_push/tests/src/Unit/PushQueueTest.php
+++ b/modules/salesforce_push/tests/src/Unit/PushQueueTest.php
@@ -210,7 +210,7 @@ class PushQueueTest extends UnitTestCase {
       ->willReturn($this->worker);
 
     $this->queue = $this->getMockBuilder(PushQueue::class)
-      ->setMethods([
+      ->onlyMethods([
         'claimItems',
         'setName',
         'garbageCollection',
diff --git a/modules/salesforce_push/tests/src/Unit/SalesforcePushQueueProcessorRestTest.php b/modules/salesforce_push/tests/src/Unit/SalesforcePushQueueProcessorRestTest.php
index b8dddabdda145dae5d8dbfb5e741a3e23b93e26d..ed9bfacf6ba1d5b158e991e3fede0ce318dfae33 100644
--- a/modules/salesforce_push/tests/src/Unit/SalesforcePushQueueProcessorRestTest.php
+++ b/modules/salesforce_push/tests/src/Unit/SalesforcePushQueueProcessorRestTest.php
@@ -76,6 +76,7 @@ class SalesforcePushQueueProcessorRestTest extends UnitTestCase {
    * {@inheritdoc}
    */
   protected function setUp(): void {
+    parent::setUp();
     $this->entityType = 'default';
 
     $this->queue = $this->getMockBuilder(PushQueueInterface::CLASS)->getMock();
@@ -159,7 +160,7 @@ class SalesforcePushQueueProcessorRestTest extends UnitTestCase {
       ->willReturn(NULL);
 
     $this->handler = $this->getMockBuilder(Rest::class)
-      ->setMethods(['processItem'])
+      ->onlyMethods(['processItem'])
       ->setConstructorArgs([
         [],
         '',
@@ -180,7 +181,7 @@ class SalesforcePushQueueProcessorRestTest extends UnitTestCase {
    */
   public function testProcessSuccess() {
     $this->handler = $this->getMockBuilder(Rest::class)
-      ->setMethods(['processItem'])
+      ->onlyMethods(['processItem'])
       ->setConstructorArgs([
         [],
         '',
@@ -218,7 +219,7 @@ class SalesforcePushQueueProcessorRestTest extends UnitTestCase {
         $this->eventDispatcher,
         $this->authMan,
       ])
-      ->setMethods(['getMappedObject'])
+      ->onlyMethods(['getMappedObject'])
       ->getMock();
 
     $mappedObject = $this->getMockBuilder(MappedObjectInterface::class)
@@ -257,7 +258,7 @@ class SalesforcePushQueueProcessorRestTest extends UnitTestCase {
       ->willReturn(NULL);
 
     $this->handler = $this->getMockBuilder(Rest::class)
-      ->setMethods(['getMappedObject'])
+      ->onlyMethods(['getMappedObject'])
       ->setConstructorArgs([
         [],
         '',
@@ -316,7 +317,7 @@ class SalesforcePushQueueProcessorRestTest extends UnitTestCase {
       ->willReturn(NULL);
 
     $this->handler = $this->getMockBuilder(Rest::class)
-      ->setMethods(['getMappedObject'])
+      ->onlyMethods(['getMappedObject'])
       ->setConstructorArgs([
         [],
         '',
@@ -369,7 +370,7 @@ class SalesforcePushQueueProcessorRestTest extends UnitTestCase {
       ->willReturn(NULL);
 
     $this->handler = $this->getMockBuilder(Rest::class)
-      ->setMethods(['getMappedObject'])
+      ->onlyMethods(['getMappedObject'])
       ->setConstructorArgs([
         [],
         '',
diff --git a/modules/salesforce_soap/salesforce_soap.info.yml b/modules/salesforce_soap/salesforce_soap.info.yml
index 177d3323c90bd1d1b4caa5363e98931c1e7ecd8e..e13e5af290801a8577f9097c7f2d6e164759f543 100644
--- a/modules/salesforce_soap/salesforce_soap.info.yml
+++ b/modules/salesforce_soap/salesforce_soap.info.yml
@@ -2,6 +2,6 @@ name: Salesforce Soap
 type: module
 description: Exposes a SoapClient service for communicating with the Salesforce SOAP API.
 package: Salesforce
-core_version_requirement: ^10.3
+core_version_requirement: ^10.3 || ^11
 dependencies:
   - salesforce:salesforce
diff --git a/modules/salesforce_webform/composer.json b/modules/salesforce_webform/composer.json
index ca37d48d83e218e4d56523f71114ed3f05419517..791ec8228f474a014bd9314af8862a4394bdf0bb 100644
--- a/modules/salesforce_webform/composer.json
+++ b/modules/salesforce_webform/composer.json
@@ -11,7 +11,7 @@
     "extra": {
         "drush": {
             "services": {
-                "drush.services.yml": "^9 || ^10 || ^11"
+                "drush.services.yml": ">=9"
             }
         }
     }
diff --git a/modules/salesforce_webform/salesforce_webform.info.yml b/modules/salesforce_webform/salesforce_webform.info.yml
index 28e48f24cc34b1e5852c7ae56ecafb88a0cac182..b62ffce550a073d2d834e753dd47b74cfeec3347 100644
--- a/modules/salesforce_webform/salesforce_webform.info.yml
+++ b/modules/salesforce_webform/salesforce_webform.info.yml
@@ -2,7 +2,7 @@ name: Salesforce Webform
 type: module
 description: Adds support for webforms fields in Salesforce Mapping.
 package: Salesforce
-core_version_requirement: ^10.3
+core_version_requirement: ^10.3 || ^11
 
 dependencies:
   - salesforce:salesforce_mapping
diff --git a/modules/salesforce_webform/salesforce_webform.module b/modules/salesforce_webform/salesforce_webform.module
index 0768ba4570d9b3d8909a05d8306c51ce7a10d9a2..b572fe85115e7a0fc28abc5a4492cd8adbae8299 100644
--- a/modules/salesforce_webform/salesforce_webform.module
+++ b/modules/salesforce_webform/salesforce_webform.module
@@ -29,6 +29,7 @@ function salesforce_webform_menu_local_tasks_alter(&$data, $route_name) {
         $tab_route_parameters = $url->getRouteParameters();
 
         if (strpos($tab_route_name, 'entity.webform_submission.salesforce') !== 0) {
+          /** @var \Drupal\webform\WebformSubmissionInterface $webform_submission */
           $webform_submission = WebformSubmission::load($tab_route_parameters['webform_submission']);
           $url->setRouteParameter('webform', $webform_submission->getWebform()->id());
         }
diff --git a/salesforce.info.yml b/salesforce.info.yml
index 89b76e0b70abbc4063c16bfd80b8d1b9caaefc05..b854b810d66c3d5a78270f772beb3bb5e7285c6b 100644
--- a/salesforce.info.yml
+++ b/salesforce.info.yml
@@ -2,5 +2,5 @@ name: Salesforce Integration
 type: module
 description: Modules to integrate Drupal and Salesforce
 package: Salesforce
-core_version_requirement: ^10.3
+core_version_requirement: ^10.3 || ^11
 configure: salesforce.admin_config_salesforce
diff --git a/src/Form/SalesforceAuthSettings.php b/src/Form/SalesforceAuthSettings.php
index cdf10041936f8c7d8831a87c2c8e25adc07b37fe..645fb270936a931f804a9740b7902c73da706a85 100644
--- a/src/Form/SalesforceAuthSettings.php
+++ b/src/Form/SalesforceAuthSettings.php
@@ -2,20 +2,18 @@
 
 namespace Drupal\salesforce\Form;
 
-use Drupal\Core\Config\ConfigFactoryInterface;
 use Drupal\Core\Form\ConfigFormBase;
 use Drupal\Core\Form\FormStateInterface;
 use Drupal\salesforce\Event\SalesforceEvents;
 use Drupal\salesforce\Event\SalesforceNoticeEvent;
-use Drupal\salesforce\SalesforceAuthProviderPluginManagerInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\EventDispatcher\EventDispatcherInterface;
 
 /**
  * Class auth settings for salesforce.
  */
 class SalesforceAuthSettings extends ConfigFormBase {
 
+
   /**
    * Auth provider plugin manager service.
    *
@@ -30,31 +28,16 @@ class SalesforceAuthSettings extends ConfigFormBase {
    */
   protected $eventDispatcher;
 
-  /**
-   * Constructs a \Drupal\system\ConfigFormBase object.
-   *
-   * @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory
-   *   Config.
-   * @param \Drupal\salesforce\SalesforceAuthProviderPluginManagerInterface $salesforceAuth
-   *   Authman.
-   * @param \Symfony\Component\EventDispatcher\EventDispatcherInterface $eventDispatcher
-   *   Events.
-   */
-  public function __construct(ConfigFactoryInterface $config_factory, SalesforceAuthProviderPluginManagerInterface $salesforceAuth, EventDispatcherInterface $eventDispatcher) {
-    parent::__construct($config_factory);
-    $this->salesforceAuth = $salesforceAuth;
-    $this->eventDispatcher = $eventDispatcher;
-  }
-
   /**
    * {@inheritdoc}
    */
   public static function create(ContainerInterface $container) {
-    return new static(
-      $container->get('config.factory'),
-      $container->get('plugin.manager.salesforce.auth_providers'),
-      $container->get('event_dispatcher')
-    );
+    $instance = parent::create($container);
+    
+    $instance->salesforceAuth = $container->get('plugin.manager.salesforce.auth_providers');
+    $instance->eventDispatcher = $container->get('event_dispatcher');
+    
+    return $instance;
   }
 
   /**
diff --git a/src/Form/SettingsForm.php b/src/Form/SettingsForm.php
index 835f1ab6af79d0593c37a9d5425abd0f84a7967c..214a661230db5c2684b6e0c125ac8c2a794f7d89 100644
--- a/src/Form/SettingsForm.php
+++ b/src/Form/SettingsForm.php
@@ -2,16 +2,11 @@
 
 namespace Drupal\salesforce\Form;
 
-use Drupal\Core\Config\ConfigFactoryInterface;
-use Drupal\Core\Config\TypedConfigManagerInterface;
-use Drupal\Core\Extension\ModuleHandlerInterface;
 use Drupal\Core\Form\ConfigFormBase;
 use Drupal\Core\Form\FormStateInterface;
-use Drupal\Core\State\StateInterface;
 use Drupal\Core\Url;
 use Drupal\salesforce\Rest\RestClientInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\EventDispatcher\EventDispatcherInterface;
 
 /**
  * Creates authorization form for Salesforce.
@@ -28,17 +23,10 @@ class SettingsForm extends ConfigFormBase {
   /**
    * The sevent dispatcher service..
    *
-   * @var \Drupal\Core\State\StateInterface
+   * @var \Symfony\Component\EventDispatcher\EventDispatcherInterface
    */
   protected $eventDispatcher;
 
-  /**
-   * Typed config.
-   *
-   * @var \Drupal\Core\Config\TypedConfigManagerInterface
-   */
-  protected $typedConfigManager;
-
   /**
    * Module handler.
    *
@@ -53,30 +41,18 @@ class SettingsForm extends ConfigFormBase {
    */
   protected $state;
 
-  /**
-   * {@inheritdoc}
-   */
-  public function __construct(ConfigFactoryInterface $config_factory, RestClientInterface $salesforce_client, EventDispatcherInterface $event_dispatcher, TypedConfigManagerInterface $typedConfigManager, ModuleHandlerInterface $moduleHandler, StateInterface $state) {
-    parent::__construct($config_factory);
-    $this->client = $salesforce_client;
-    $this->eventDispatcher = $event_dispatcher;
-    $this->typedConfigManager = $typedConfigManager;
-    $this->moduleHandler = $moduleHandler;
-    $this->state = $state;
-  }
-
   /**
    * {@inheritdoc}
    */
   public static function create(ContainerInterface $container) {
-    return new static(
-      $container->get('config.factory'),
-      $container->get('salesforce.client'),
-      $container->get('event_dispatcher'),
-      $container->get('config.typed'),
-      $container->get('module_handler'),
-      $container->get('state')
-    );
+    $instance = parent::create($container);
+    
+    $instance->client = $container->get('salesforce.client');
+    $instance->eventDispatcher = $container->get('event_dispatcher');
+    $instance->moduleHandler = $container->get('module_handler');
+    $instance->state = $container->get('state');
+    
+    return $instance;
   }
 
   /**
diff --git a/src/Rest/RestResponseDescribe.php b/src/Rest/RestResponseDescribe.php
index 157c738eafed6525aea8b411e19e2f78e509a49e..af34ab6879b2e9c6fbd5f3d05e0acaced638b2da 100644
--- a/src/Rest/RestResponseDescribe.php
+++ b/src/Rest/RestResponseDescribe.php
@@ -170,6 +170,13 @@ class RestResponseDescribe extends RestResponse {
     $this->$key = $value;
   }
 
+  /**
+   * Magic isset checker.
+   */
+  public function __isset($property){
+    return isset($this->$property);
+  }
+
   /**
    * Getter for name.
    *
diff --git a/src/SalesforceAuthProviderPluginBase.php b/src/SalesforceAuthProviderPluginBase.php
index 56d250a196541f3b97954648b679609b0f4b7f23..a13c63297f0353cd997040f7d6559ea7c7d01501 100644
--- a/src/SalesforceAuthProviderPluginBase.php
+++ b/src/SalesforceAuthProviderPluginBase.php
@@ -8,6 +8,7 @@ use Drupal\Core\Form\FormStateInterface;
 use Drupal\Core\Messenger\MessengerTrait;
 use Drupal\Core\Routing\TrustedRedirectResponse;
 use Drupal\Core\StringTranslation\StringTranslationTrait;
+use Drupal\Core\Utility\Error;
 use Drupal\salesforce\Rest\SalesforceIdentity;
 use Drupal\salesforce\Storage\SalesforceAuthTokenStorageInterface;
 use OAuth\Common\Http\Client\ClientInterface;
@@ -200,7 +201,7 @@ abstract class SalesforceAuthProviderPluginBase extends Salesforce implements Sa
       $this->refreshIdentity($token);
     }
     catch (\Exception $e) {
-      watchdog_exception('salesforce', $e);
+      Error::logException(\Drupal::logger('salesforce'), $e);
       $this->messenger()->addError($e->getMessage());
       $form_state->disableRedirect();
       return FALSE;
diff --git a/tests/modules/salesforce_test_rest_client/salesforce_test_rest_client.info.yml b/tests/modules/salesforce_test_rest_client/salesforce_test_rest_client.info.yml
index 089e512bec80d768fbe287d20ac4ec76a4b17c36..82585cb2a306baf562f0571e3fc9d5517262e334 100644
--- a/tests/modules/salesforce_test_rest_client/salesforce_test_rest_client.info.yml
+++ b/tests/modules/salesforce_test_rest_client/salesforce_test_rest_client.info.yml
@@ -2,6 +2,6 @@ name: 'Salesforce Test Rest Client'
 type: module
 description: 'Provides a dummy Rest Client for functional tests.'
 package: Testing
-core_version_requirement: ^10.3
+core_version_requirement: ^10.3 || ^11
 dependencies:
   - salesforce:salesforce
diff --git a/tests/src/Unit/RestClientTest.php b/tests/src/Unit/RestClientTest.php
index 3cc8f1fb642b217d7361d3bf58b7b35748c9c5eb..14c3a344a6a56f3871fc86ba09543f27f70a3158 100644
--- a/tests/src/Unit/RestClientTest.php
+++ b/tests/src/Unit/RestClientTest.php
@@ -139,7 +139,7 @@ class RestClientTest extends UnitTestCase {
 
     $this->client = $this
       ->getMockBuilder(RestClient::CLASS)
-      ->setMethods($methods)
+      ->onlyMethods($methods)
       ->setConstructorArgs($args)
       ->getMock();