diff --git a/brightcove.drush.inc b/brightcove.drush.inc
index 04e222d..600c500 100644
--- a/brightcove.drush.inc
+++ b/brightcove.drush.inc
@@ -6,6 +6,7 @@
  */
 
 use Drupal\brightcove\BrightcoveUtil;
+use Drush\Drush;
 
 /**
  * Implements hook_drush_command().
@@ -30,8 +31,8 @@ function brightcove_drush_command() {
  * Implements drush_hook_COMMAND().
  */
 function drush_brightcove_sync_all() {
-  drush_print('Initiating Brightcove-to-Drupal sync...');
+  Drush::output()->writeln('Initiating Brightcove-to-Drupal sync...');
   BrightcoveUtil::runStatusQueues('sync', \Drupal::service('queue'));
   drush_backend_batch_process();
-  drush_print('Sync complete.');
+  Drush::output()->writeln('Sync complete.');
 }
diff --git a/brightcove.info.yml b/brightcove.info.yml
index 68c026e..cd93080 100644
--- a/brightcove.info.yml
+++ b/brightcove.info.yml
@@ -1,7 +1,7 @@
 name: Brightcove
 type: module
 description: Brightcove Video Connect
-core: 8.x
+core_version_requirement: ^8 || ^9
 package: Brightcove
 configure: entity.brightcove_api_client.collection
 dependencies:
diff --git a/brightcove.install b/brightcove.install
index 6c647d3..df958bb 100644
--- a/brightcove.install
+++ b/brightcove.install
@@ -134,8 +134,8 @@ function brightcove_update_8100(&$sandbox) {
   foreach ($entries as $entry) {
     $sandbox['progress']++;
 
-    if (REQUEST_TIME < $entry->expires) {
-      $key_value_expirable->setWithExpire($entry->token, $entry->video_id, $entry->expires - REQUEST_TIME);
+    if (\Drupal::time()->getRequestTime() < $entry->expires) {
+      $key_value_expirable->setWithExpire($entry->token, $entry->video_id, $entry->expires - \Drupal::time()->getRequestTime());
     }
   }
 
@@ -211,7 +211,7 @@ function brightcove_update_8105() {
   // Migrate brightcove_video entity name field before updating the entity
   // definitions.
   $schema = \Drupal::database()->schema();
-  /* @var \Drupal\Core\Entity\EntityDefinitionUpdateManagerInterface $entity_definition_update_manager */
+  /** @var \Drupal\Core\Entity\EntityDefinitionUpdateManagerInterface $entity_definition_update_manager */
   $entity_definition_update_manager = Drupal::service('entity.definition_update_manager');
   $entity_type_manager = Drupal::entityTypeManager();
   $name_column_specifications = [
@@ -224,14 +224,14 @@ function brightcove_update_8105() {
   $entity_definition_update_manager->installEntityType($entity_type_definition);
 
   // Apply entity definition updates.
-  \Drupal::entityDefinitionUpdateManager()->applyUpdates();
+  \Drupal::entityDefinitionUpdateManager()->EntityDefinitionUpdateManagerInterface::getChangeList();
 }
 
 /**
  * Create default subscription for each available client.
  */
 function brightcove_update_8106() {
-  /* @var BrightcoveAPIClient[] $clients */
+  /** @var \Drupal\brightcove\Entity\BrightcoveAPIClient[] $clients */
   $clients = BrightcoveAPIClient::loadMultiple();
   $messages = [];
   foreach ($clients as $client) {
diff --git a/brightcove.module b/brightcove.module
index 922d662..848bab1 100644
--- a/brightcove.module
+++ b/brightcove.module
@@ -258,7 +258,7 @@ function _brightcove_get_player_field(BrightcoveVideoPlaylistCMSEntityInterface
       $player_field = [
         '#theme' => [$player->isResponsive() ? 'brightcove_player_responsive' : 'brightcove_player_fixed'],
         '#account' => $api_client->getAccountId(),
-        '#data_usage' => 'cms:drupal:' . \DRUPAL::VERSION . ':' . system_get_info('module', 'brightcove')['version'] . ':javascript',
+        '#data_usage' => 'cms:drupal:' . \DRUPAL::VERSION . ':' . \Drupal::service('extension.list.module')->getExtensionInfo('brightcove')['version'] . ':javascript',
         '#id' => $id,
         '#is_playlist' => $player->isPlaylist(),
         '#player' => BrightcoveUtil::getDefaultPlayer($entity),
@@ -363,7 +363,7 @@ function brightcove_theme_suggestions_brightcove_video_alter(array &$suggestions
  */
 function brightcove_entity_access(EntityInterface $entity, $operation, AccountInterface $account) {
   // Disable editing/deleting video tags.
-  if (($entity instanceof TermInterface && $entity->getVocabularyId() == BrightcoveVideo::TAGS_VID || $entity instanceof VocabularyInterface && $entity->id() == BrightcoveVideo::TAGS_VID) && ($operation == 'update' || $operation == 'delete')) {
+  if (($entity instanceof TermInterface && $entity->bundle() == BrightcoveVideo::TAGS_VID || $entity instanceof VocabularyInterface && $entity->id() == BrightcoveVideo::TAGS_VID) && ($operation == 'update' || $operation == 'delete')) {
     return AccessResult::forbidden();
   }
   return AccessResult::neutral();
diff --git a/modules/brightcove_proxy/brightcove_proxy.info.yml b/modules/brightcove_proxy/brightcove_proxy.info.yml
index 69a4493..b8938b4 100644
--- a/modules/brightcove_proxy/brightcove_proxy.info.yml
+++ b/modules/brightcove_proxy/brightcove_proxy.info.yml
@@ -1,7 +1,7 @@
 name: Brightcove Proxy
 description: Proxy configuration for Brightcove Video Connect.
 type: module
-core: 8.x
+core_version_requirement: ^8 || ^9
 package: Brightcove
 configure: brightcove_proxy.config_form
 dependencies:
diff --git a/modules/media_brightcove/media_brightcove.info.yml b/modules/media_brightcove/media_brightcove.info.yml
index 461c09c..4f11e80 100644
--- a/modules/media_brightcove/media_brightcove.info.yml
+++ b/modules/media_brightcove/media_brightcove.info.yml
@@ -1,7 +1,7 @@
 name: Media Brightcove
 description: Provides a "Brightcove Video" media source.
 type: module
-core: 8.x
+core_version_requirement: ^8 || ^9
 package: Brightcove
 dependencies:
   - drupal:media
diff --git a/modules/media_brightcove/src/Plugin/Validation/Constraint/BrightcoveVideoConstraintValidator.php b/modules/media_brightcove/src/Plugin/Validation/Constraint/BrightcoveVideoConstraintValidator.php
index 6e63b25..1c3a360 100644
--- a/modules/media_brightcove/src/Plugin/Validation/Constraint/BrightcoveVideoConstraintValidator.php
+++ b/modules/media_brightcove/src/Plugin/Validation/Constraint/BrightcoveVideoConstraintValidator.php
@@ -18,7 +18,7 @@ class BrightcoveVideoConstraintValidator extends ConstraintValidator {
     if (!($value instanceof EntityReferenceFieldItemList)) {
       $this->context->addViolation($constraint->message);
     }
-    /** @var EntityReferenceFieldItemList $value */
+    /** @var \Drupal\Core\Field\EntityReferenceFieldItemList $value */
     $target_type = $value->getFieldDefinition()
       ->getFieldStorageDefinition()
       ->getSetting('target_type');
diff --git a/modules/media_entity_brightcove/media_entity_brightcove.info.yml b/modules/media_entity_brightcove/media_entity_brightcove.info.yml
index 697926b..3048a52 100644
--- a/modules/media_entity_brightcove/media_entity_brightcove.info.yml
+++ b/modules/media_entity_brightcove/media_entity_brightcove.info.yml
@@ -1,7 +1,7 @@
 name: Media Entity Brightcove
 description: Allows you to add a "Brightcove Video" entity media type.
 type: module
-core: 8.x
+core_version_requirement: ^8 || ^9
 hidden: true
 package: Brightcove
 dependencies:
diff --git a/src/Access/BrightcovePlaylistAccessControlHandler.php b/src/Access/BrightcovePlaylistAccessControlHandler.php
index 7cbbfce..f17956b 100644
--- a/src/Access/BrightcovePlaylistAccessControlHandler.php
+++ b/src/Access/BrightcovePlaylistAccessControlHandler.php
@@ -18,7 +18,7 @@ class BrightcovePlaylistAccessControlHandler extends EntityAccessControlHandler
    * {@inheritdoc}
    */
   protected function checkAccess(EntityInterface $entity, $operation, AccountInterface $account) {
-    /* @var \Drupal\brightcove\Entity\BrightcovePlaylist $entity */
+    /** @var \Drupal\brightcove\Entity\BrightcovePlaylist $entity */
     switch ($operation) {
       case 'view':
         if (!$entity->isPublished()) {
diff --git a/src/BrightcovePlaylistAccessControlHandler.php b/src/BrightcovePlaylistAccessControlHandler.php
index 6678142..bc11470 100644
--- a/src/BrightcovePlaylistAccessControlHandler.php
+++ b/src/BrightcovePlaylistAccessControlHandler.php
@@ -18,7 +18,7 @@ class BrightcovePlaylistAccessControlHandler extends EntityAccessControlHandler
    * {@inheritdoc}
    */
   protected function checkAccess(EntityInterface $entity, $operation, AccountInterface $account) {
-    /* @var \Drupal\brightcove\BrightcovePlaylistInterface $entity */
+    /** @var \Drupal\brightcove\BrightcovePlaylistInterface $entity */
     switch ($operation) {
       case 'view':
         if (!$entity->isPublished()) {
diff --git a/src/BrightcovePlaylistListBuilder.php b/src/BrightcovePlaylistListBuilder.php
index 45cabcf..1ec485e 100644
--- a/src/BrightcovePlaylistListBuilder.php
+++ b/src/BrightcovePlaylistListBuilder.php
@@ -2,12 +2,12 @@
 
 namespace Drupal\brightcove;
 
+use Drupal\Core\Link;
 use Drupal\Core\Datetime\DateFormatter;
 use Drupal\Core\Entity\EntityInterface;
 use Drupal\Core\Entity\EntityListBuilder;
 use Drupal\Core\Entity\EntityStorageInterface;
 use Drupal\Core\Entity\EntityTypeInterface;
-use Drupal\Core\Routing\LinkGeneratorTrait;
 use Drupal\Core\Session\AccountProxy;
 use Drupal\Core\Url;
 use Symfony\Component\DependencyInjection\ContainerInterface;
@@ -18,7 +18,6 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
  * @ingroup brightcove
  */
 class BrightcovePlaylistListBuilder extends EntityListBuilder {
-  use LinkGeneratorTrait;
 
   /**
    * Account proxy.
@@ -101,16 +100,13 @@ class BrightcovePlaylistListBuilder extends EntityListBuilder {
    * {@inheritdoc}
    */
   public function buildRow(EntityInterface $entity) {
-    /* @var $entity \Drupal\brightcove\Entity\BrightcovePlaylist */
+    /** @var \Drupal\brightcove\Entity\BrightcovePlaylist $entity */
     if (($entity->isPublished() && $this->accountProxy->hasPermission('view published brightcove playlists')) || (!$entity->isPublished() && $this->accountProxy->hasPermission('view unpublished brightcove playlists'))) {
-      $name = $this->l(
-        $entity->label(),
-        new Url(
+      $name = Link::fromTextAndUrl($entity->label(), new Url(
           'entity.brightcove_playlist.canonical', [
             'brightcove_playlist' => $entity->id(),
           ]
-        )
-      );
+      ));
     }
     else {
       $name = $entity->label();
diff --git a/src/BrightcoveUtil.php b/src/BrightcoveUtil.php
index 6bbae75..3a836b0 100644
--- a/src/BrightcoveUtil.php
+++ b/src/BrightcoveUtil.php
@@ -196,30 +196,30 @@ class BrightcoveUtil {
           if ($entity->getChangedTime() < strtotime($cms_entity->getUpdatedAt())) {
             $url = Url::fromRoute("brightcove_manual_update_{$entity_type}", ['entity_id' => $entity->id()], ['query' => ['token' => \Drupal::getContainer()->get('csrf_token')->get("brightcove_{$entity_type}/{$entity->id()}/update")]]);
 
-            drupal_set_message(t("There is a newer version of this :type on Brightcove, you may want to <a href=':url'>update the local version</a> before editing it.", [
+            \Drupal::messenger()->addWarning(t("There is a newer version of this :type on Brightcove, you may want to <a href=':url'>update the local version</a> before editing it.", [
               ':type' => $entity_type,
               ':url' => $url->toString(),
-            ]), 'warning');
+            ]));
           }
         }
       }
       catch (APIException $e) {
         if (!empty($entity_type)) {
           $url = Url::fromRoute("entity.brightcove_{$entity_type}.delete_form", ["brightcove_{$entity_type}" => $entity->id()]);
-          drupal_set_message(t("This :type no longer exists on Brightcove. You may want to <a href=':url'>delete the local version</a> too.", [
+          \Drupal::messenger()->addError(t("This :type no longer exists on Brightcove. You may want to <a href=':url'>delete the local version</a> too.", [
             ':type' => $entity_type,
             ':url' => $url->toString(),
-          ]), 'error');
+          ]));
         }
         else {
-          drupal_set_message($e->getMessage(), 'error');
+          \Drupal::messenger()->addError($e->getMessage());
         }
       }
     }
     else {
-      drupal_set_message(t('Brightcove API connection error: :error', [
+      \Drupal::messenger()->addError(t('Brightcove API connection error: :error', [
         ':error' => self::getApiClient($entity->getApiClient())->getClientStatusMessage(),
-      ]), 'error');
+      ]));
     }
   }
 
@@ -328,7 +328,7 @@ class BrightcoveUtil {
   public static function runQueue($queue, &$context) {
     // This is a static function called by Batch API, so it's not possible to
     // use dependency injection here.
-    /* @var \Drupal\Core\Queue\QueueWorkerInterface $queue_worker */
+    /** @var \Drupal\Core\Queue\QueueWorkerInterface $queue_worker */
     $queue_worker = \Drupal::getContainer()->get('plugin.manager.queue_worker')->createInstance($queue);
     $queue = \Drupal::queue($queue);
 
diff --git a/src/BrightcoveVideoListBuilder.php b/src/BrightcoveVideoListBuilder.php
index 5628724..a636fbc 100644
--- a/src/BrightcoveVideoListBuilder.php
+++ b/src/BrightcoveVideoListBuilder.php
@@ -2,12 +2,12 @@
 
 namespace Drupal\brightcove;
 
+use Drupal\Core\Link;
 use Drupal\Core\Datetime\DateFormatter;
 use Drupal\Core\Entity\EntityInterface;
 use Drupal\Core\Entity\EntityListBuilder;
 use Drupal\Core\Entity\EntityStorageInterface;
 use Drupal\Core\Entity\EntityTypeInterface;
-use Drupal\Core\Routing\LinkGeneratorTrait;
 use Drupal\Core\Session\AccountProxy;
 use Drupal\Core\Url;
 use Drupal\file\Entity\File;
@@ -20,7 +20,6 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
  * @ingroup brightcove
  */
 class BrightcoveVideoListBuilder extends EntityListBuilder {
-  use LinkGeneratorTrait;
 
   /**
    * Account proxy.
@@ -106,16 +105,13 @@ class BrightcoveVideoListBuilder extends EntityListBuilder {
    * {@inheritdoc}
    */
   public function buildRow(EntityInterface $entity) {
-    /* @var $entity \Drupal\brightcove\Entity\BrightcoveVideo */
+    /** @var \Drupal\brightcove\Entity\BrightcoveVideo $entity */
     if (($entity->isPublished() && $this->accountProxy->hasPermission('view published brightcove videos')) || (!$entity->isPublished() && $this->accountProxy->hasPermission('view unpublished brightcove videos'))) {
-      $name = $this->l(
-        $entity->label(),
-        new Url(
-          'entity.brightcove_video.canonical', [
-            'brightcove_video' => $entity->id(),
-          ]
-        )
-      );
+      $name = Link::fromTextAndUrl($entity->label(), new Url(
+        'entity.brightcove_video.canonical', [
+          'brightcove_video' => $entity->id(),
+        ]
+      ));
     }
     else {
       $name = $entity->label();
diff --git a/src/Controller/BrightcoveSubscriptionController.php b/src/Controller/BrightcoveSubscriptionController.php
index 6132f66..f7b736b 100644
--- a/src/Controller/BrightcoveSubscriptionController.php
+++ b/src/Controller/BrightcoveSubscriptionController.php
@@ -205,7 +205,7 @@ class BrightcoveSubscriptionController extends ControllerBase {
         }
 
         if (!$warning_set && !$subscription_found) {
-          drupal_set_message($this->t('There are subscriptions which are not available on Brightcove.<br>You can either <strong>create</strong> them on Brightcove or <strong>delete</strong> them if no longer needed.'), 'warning');
+          $this->messenger()->addWarning($this->t('There are subscriptions which are not available on Brightcove.<br>You can either <strong>create</strong> them on Brightcove or <strong>delete</strong> them if no longer needed.'));
           $warning_set = TRUE;
         }
 
@@ -248,10 +248,10 @@ class BrightcoveSubscriptionController extends ControllerBase {
       }
     }
     if (!empty($api_clients_without_default_subscription)) {
-      drupal_set_message($this->t('There are missing default subscription(s) for the following API Client(s): %api_clients<br><a href="@link">Create missing subscription(s)</a>.', [
+      $this->messenger()->addWarning($this->t('There are missing default subscription(s) for the following API Client(s): %api_clients<br><a href="@link">Create missing subscription(s)</a>.', [
         '%api_clients' => implode(', ', $api_clients_without_default_subscription),
         '@link' => Url::fromRoute('entity.brightcove_subscription.create_defaults')->toString(),
-      ]), 'warning');
+      ]));
     }
 
     $page['subscriptions'] = [
@@ -280,7 +280,7 @@ class BrightcoveSubscriptionController extends ControllerBase {
       $brightcove_subscription->saveToBrightcove();
     }
     catch (BrightcoveSubscriptionException $e) {
-      drupal_set_message($this->t('Failed to create Subscription on Brightcove: @error', ['@error' => $e->getMessage()]), 'error');
+      $this->messenger()->addError($this->t('Failed to create Subscription on Brightcove: @error', ['@error' => $e->getMessage()]));
     }
 
     return $this->redirect('entity.brightcove_subscription.list');
@@ -300,10 +300,10 @@ class BrightcoveSubscriptionController extends ControllerBase {
     try {
       $subscription = BrightcoveSubscription::load($id);
       $subscription->saveToBrightcove();
-      drupal_set_message($this->t('Default subscription for the "@api_client" API client has been successfully enabled.', ['@api_client' => $subscription->getApiClient()->label()]));
+      $this->messenger()->addStatus($this->t('Default subscription for the "@api_client" API client has been successfully enabled.', ['@api_client' => $subscription->getApiClient()->label()]));
     }
     catch (\Exception $e) {
-      drupal_set_message($this->t('Failed to enable the default subscription: @error', ['@error' => $e->getMessage()]), 'error');
+      $this->messenger()->addError($this->t('Failed to enable the default subscription: @error', ['@error' => $e->getMessage()]));
     }
     return $this->redirect('entity.brightcove_subscription.list');
   }
@@ -322,10 +322,10 @@ class BrightcoveSubscriptionController extends ControllerBase {
     try {
       $subscription = BrightcoveSubscription::load($id);
       $subscription->deleteFromBrightcove();
-      drupal_set_message($this->t('Default subscription for the "@api_client" API client has been successfully disabled.', ['@api_client' => $subscription->getApiClient()->label()]));
+      $this->messenger()->addStatus($this->t('Default subscription for the "@api_client" API client has been successfully disabled.', ['@api_client' => $subscription->getApiClient()->label()]));
     }
     catch (\Exception $e) {
-      drupal_set_message($this->t('Failed to disable the default subscription: @error', ['@error' => $e->getMessage()]), 'error');
+      $this->messenger()->addError($this->t('Failed to disable the default subscription: @error', ['@error' => $e->getMessage()]));
     }
     return $this->redirect('entity.brightcove_subscription.list');
   }
@@ -392,10 +392,10 @@ class BrightcoveSubscriptionController extends ControllerBase {
         }
       }
 
-      drupal_set_message($this->t('Default subscriptions has been successfully created.'));
+      $this->messenger()->addStatus($this->t('Default subscriptions has been successfully created.'));
     }
     catch (\Exception $e) {
-      drupal_set_message($this->t('Failed to create default subscription(s), @error', ['@error' => $e->getMessage()]), 'error');
+      $this->messenger()->addError($this->t('Failed to create default subscription(s), @error', ['@error' => $e->getMessage()]));
       watchdog_exception('brightcove', $e, 'Failed to create default subscription(s), @error', ['@error' => $e->getMessage()]);
     }
 
diff --git a/src/Controller/BrightcoveVideoController.php b/src/Controller/BrightcoveVideoController.php
index a1a7875..7b64082 100644
--- a/src/Controller/BrightcoveVideoController.php
+++ b/src/Controller/BrightcoveVideoController.php
@@ -200,7 +200,7 @@ class BrightcoveVideoController extends ControllerBase {
 
                         // Try to find the ingested text track on the video
                         // object and recreate it.
-                        $cms = BrightcoveUtil::getCmsApi($video_entity->getApiClient());;
+                        $cms = BrightcoveUtil::getCmsApi($video_entity->getApiClient());
                         $video = $cms->getVideo($video_entity->getBrightcoveId());
                         $api_text_tracks = $video->getTextTracks();
                         $found_api_text_track = NULL;
diff --git a/src/Entity/BrightcoveAPIClient.php b/src/Entity/BrightcoveAPIClient.php
index 7be5abe..8f8af83 100644
--- a/src/Entity/BrightcoveAPIClient.php
+++ b/src/Entity/BrightcoveAPIClient.php
@@ -29,6 +29,15 @@ use Brightcove\API\Client;
  *     "label" = "label",
  *     "uuid" = "uuid"
  *   },
+ *   config_export={
+ *     "id" = "id",
+ *     "label" = "label",
+ *     "account_id" = "account_id",
+ *     "client_id" = "client_id",
+ *     "default_player" = "default_player",
+ *     "secret_key" = "secret_key",
+ *     "max_custom_fields" = "max_custom_fields",
+ *   },
  *   links = {
  *     "add-form" = "/admin/config/media/brightcove_api_client/add",
  *     "edit-form" = "/admin/config/media/brightcove_api_client/{brightcove_api_client}",
diff --git a/src/Entity/BrightcoveTextTrack.php b/src/Entity/BrightcoveTextTrack.php
index 8ba5493..65ab291 100644
--- a/src/Entity/BrightcoveTextTrack.php
+++ b/src/Entity/BrightcoveTextTrack.php
@@ -268,7 +268,7 @@ class BrightcoveTextTrack extends ContentEntityBase implements BrightcoveTextTra
    * {@inheritdoc}
    */
   public function setPublished($published) {
-    return $this->set('status', $published ? NODE_PUBLISHED : NODE_NOT_PUBLISHED);
+    return $this->set('status', $published ? NodeInterface::PUBLISHED : NodeInterface::NOT_PUBLISHED);
   }
 
   /**
diff --git a/src/Entity/BrightcoveVideo.php b/src/Entity/BrightcoveVideo.php
index 99f5da2..39b90f2 100644
--- a/src/Entity/BrightcoveVideo.php
+++ b/src/Entity/BrightcoveVideo.php
@@ -2,6 +2,7 @@
 
 namespace Drupal\brightcove\Entity;
 
+use Drupal\Core\File\FileSystemInterface;
 use Brightcove\API\Exception\APIException;
 use Brightcove\API\Request\IngestImage;
 use Brightcove\API\Request\IngestRequest;
@@ -169,7 +170,7 @@ class BrightcoveVideo extends BrightcoveVideoPlaylistCmsEntity implements Bright
       if ($needs_save) {
         $image_content = file_get_contents($img_src);
         // Prepare directory and if it was a success try to save the image.
-        if (file_prepare_directory($image_dir, FILE_MODIFY_PERMISSIONS | FILE_CREATE_DIRECTORY)) {
+        if (\Drupal::service('file_system')->prepareDirectory($image_dir, FileSystemInterface::MODIFY_PERMISSIONS | FileSystemInterface::CREATE_DIRECTORY)) {
           $image_name = $matches[1];
           $file = file_save_data($image_content, "{$image_dir}/{$image_name}");
 
@@ -921,13 +922,13 @@ class BrightcoveVideo extends BrightcoveVideoPlaylistCmsEntity implements Bright
       }
       catch (APIException $e) {
         if ($e->getCode() == 404) {
-          drupal_set_message(t('The video was not found on Brightcove, only the local version was deleted.'), 'warning');
+          \Drupal::messenger()->addWarning(t('The video was not found on Brightcove, only the local version was deleted.'));
           parent::delete();
         }
         else {
-          drupal_set_message(t('There was an error while trying to delete the Video from Brightcove: @error', [
+          \Drupal::messenger()->addError(t('There was an error while trying to delete the Video from Brightcove: @error', [
             '@error' => ($e->getMessage()),
-          ]), 'error');
+          ]));
         }
       }
     }
diff --git a/src/Entity/BrightcoveVideoPlaylistCmsEntity.php b/src/Entity/BrightcoveVideoPlaylistCmsEntity.php
index 35fd023..027a3cf 100644
--- a/src/Entity/BrightcoveVideoPlaylistCmsEntity.php
+++ b/src/Entity/BrightcoveVideoPlaylistCmsEntity.php
@@ -77,7 +77,7 @@ abstract class BrightcoveVideoPlaylistCmsEntity extends BrightcoveCmsEntity impl
    * {@inheritdoc}
    */
   public function setPublished($published) {
-    return $this->set('status', $published ? NODE_PUBLISHED : NODE_NOT_PUBLISHED);
+    return $this->set('status', $published ? NodeInterface::PUBLISHED : NodeInterface::NOT_PUBLISHED);
   }
 
 }
diff --git a/src/EventSubscriber/BrightcoveInitSubscriber.php b/src/EventSubscriber/BrightcoveInitSubscriber.php
index c4bfa08..8326a9e 100644
--- a/src/EventSubscriber/BrightcoveInitSubscriber.php
+++ b/src/EventSubscriber/BrightcoveInitSubscriber.php
@@ -19,7 +19,7 @@ class BrightcoveInitSubscriber implements EventSubscriberInterface {
    *   GET response event.
    */
   public function initializeBrightcoveClient(GetResponseEvent $event) {
-    Client::$consumer = 'Drupal/' . \Drupal::VERSION . ' Brightcove/' . (system_get_info('module', 'brightcove')['version'] ?: 'dev');
+    Client::$consumer = 'Drupal/' . \Drupal::VERSION . ' Brightcove/' . (\Drupal::service('extension.list.module')->getExtensionInfo('brightcove')['version'] ?: 'dev');
   }
 
   /**
diff --git a/src/Form/BrightcoveAPIClientDeleteForm.php b/src/Form/BrightcoveAPIClientDeleteForm.php
index 3f32d12..5bbb9db 100644
--- a/src/Form/BrightcoveAPIClientDeleteForm.php
+++ b/src/Form/BrightcoveAPIClientDeleteForm.php
@@ -4,9 +4,10 @@ namespace Drupal\brightcove\Form;
 
 use Drupal\brightcove\BrightcoveUtil;
 use Drupal\brightcove\Entity\BrightcoveSubscription;
+use Drupal\Core\Config\Entity\Query\QueryFactory;
 use Drupal\Core\Database\Connection;
 use Drupal\Core\Entity\EntityConfirmFormBase;
-use Drupal\Core\Entity\Query\QueryFactory;
+use Drupal\Core\Entity\EntityTypeManagerInterface;
 use Drupal\Core\Form\FormStateInterface;
 use Drupal\Core\Queue\QueueInterface;
 use Drupal\Core\Url;
@@ -18,11 +19,11 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
 class BrightcoveAPIClientDeleteForm extends EntityConfirmFormBase {
 
   /**
-   * Query factory.
+   * Entity Type Manager.
    *
-   * @var \Drupal\Core\Entity\Query\QueryFactory
+   * @var \Drupal\Core\Entity\EntityTypeManagerInterface
    */
-  protected $queryFactory;
+  protected $entityTypeManager;
 
   /**
    * Database connection.
@@ -76,8 +77,8 @@ class BrightcoveAPIClientDeleteForm extends EntityConfirmFormBase {
   /**
    * Constructs a new BrightcoveAPIClientDeleteForm.
    *
-   * @param \Drupal\Core\Entity\Query\QueryFactory $query_factory
-   *   Query factory.
+   * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
+   *   The entity type manager.
    * @param \Drupal\Core\Database\Connection $connection
    *   Database connection.
    * @param \Drupal\Core\Queue\QueueInterface $playlist_local_delete_queue
@@ -93,8 +94,8 @@ class BrightcoveAPIClientDeleteForm extends EntityConfirmFormBase {
    * @param \Drupal\Core\Queue\QueueInterface $subscription_delete_queue
    *   Subscription delete queue object.
    */
-  public function __construct(QueryFactory $query_factory, Connection $connection, QueueInterface $playlist_local_delete_queue, QueueInterface $video_local_delete_queue, QueueInterface $player_delete_queue, QueueInterface $custom_field_delete_queue, QueueInterface $text_track_delete_queue, QueueInterface $subscription_delete_queue) {
-    $this->queryFactory = $query_factory;
+  public function __construct(EntityTypeManagerInterface $entity_type_manager, Connection $connection, QueueInterface $playlist_local_delete_queue, QueueInterface $video_local_delete_queue, QueueInterface $player_delete_queue, QueueInterface $custom_field_delete_queue, QueueInterface $text_track_delete_queue, QueueInterface $subscription_delete_queue) {
+    $this->entityTypeManager = $entity_type_manager;
     $this->connection = $connection;
     $this->playlistLocalDeleteQueue = $playlist_local_delete_queue;
     $this->videoLocalDeleteQueue = $video_local_delete_queue;
@@ -109,7 +110,7 @@ class BrightcoveAPIClientDeleteForm extends EntityConfirmFormBase {
    */
   public static function create(ContainerInterface $container) {
     return new static(
-      $container->get('entity.query'),
+      $container->get('entity_type.manager'),
       $container->get('database'),
       $container->get('queue')->get('brightcove_playlist_local_delete_queue_worker'),
       $container->get('queue')->get('brightcove_video_local_delete_queue_worker'),
@@ -161,9 +162,10 @@ class BrightcoveAPIClientDeleteForm extends EntityConfirmFormBase {
     }
 
     // Collect all playlists belonging for the api client.
-    $playlists = $this->queryFactory->get('brightcove_playlist')
-      ->condition('api_client', $entity->id())
-      ->execute();
+    $playlistQuery = $this->entityTypeManager->getStorage('brightcove_playlist')->getQuery();
+    $playlistQuery->condition('api_client', $entity->id());
+    $playlists = $playlistQuery->execute();
+
     foreach ($playlists as $playlist) {
       $this->playlistLocalDeleteQueue->createItem($playlist);
     }
@@ -180,7 +182,7 @@ class BrightcoveAPIClientDeleteForm extends EntityConfirmFormBase {
     }
 
     // Collect all videos belonging for the api client.
-    $videos = $this->queryFactory->get('brightcove_video')
+    $videos = $this->entityTypeManager->getStorage('brightcove_video')->getQuery()
       ->condition('api_client', $entity->id())
       ->execute();
     foreach ($videos as $video) {
@@ -188,7 +190,7 @@ class BrightcoveAPIClientDeleteForm extends EntityConfirmFormBase {
     }
 
     // Collect all players belonging for the api client.
-    $players = $this->queryFactory->get('brightcove_player')
+    $players = $this->entityTypeManager->getStorage('brightcove_player')->getQuery()
       ->condition('api_client', $entity->id())
       ->execute();
     foreach ($players as $player) {
@@ -196,7 +198,7 @@ class BrightcoveAPIClientDeleteForm extends EntityConfirmFormBase {
     }
 
     // Collect all custom fields belonging for the api client.
-    $custom_fields = $this->queryFactory->get('brightcove_custom_field')
+    $custom_fields = $this->entityTypeManager->getStorage('brightcove_custom_field')->getQuery()
       ->condition('api_client', $entity->id())
       ->execute();
     foreach ($custom_fields as $custom_field) {
@@ -250,7 +252,7 @@ class BrightcoveAPIClientDeleteForm extends EntityConfirmFormBase {
 
     // Delete api client.
     $entity->delete();
-    drupal_set_message($this->t('Entity @type: deleted @label.', [
+    $this->messenger()->addStatus($this->t('Entity @type: deleted @label.', [
       '@type' => $this->entity->bundle(),
       '@label' => $this->entity->label(),
     ]));
diff --git a/src/Form/BrightcoveAPIClientForm.php b/src/Form/BrightcoveAPIClientForm.php
index 86113ca..83ae952 100644
--- a/src/Form/BrightcoveAPIClientForm.php
+++ b/src/Form/BrightcoveAPIClientForm.php
@@ -12,9 +12,12 @@ use Drupal\brightcove\Entity\BrightcoveAPIClient;
 use Drupal\brightcove\Entity\BrightcovePlayer;
 use Drupal\brightcove\Entity\BrightcoveSubscription;
 use Drupal\Core\Config\Config;
+use Drupal\Core\Config\Entity\Query\QueryFactory;
 use Drupal\Core\Entity\EntityForm;
 use Drupal\Core\Entity\EntityStorageInterface;
-use Drupal\Core\Entity\Query\QueryFactory;
+use Drupal\Core\Entity\EntityTypeInterface;
+use Drupal\Core\Entity\EntityTypeManager;
+use Drupal\Core\Entity\Query\QueryInterface;
 use Drupal\Core\Form\FormStateInterface;
 use Drupal\Core\KeyValueStore\KeyValueStoreExpirableInterface;
 use Drupal\Core\Queue\QueueInterface;
@@ -62,11 +65,11 @@ class BrightcoveAPIClientForm extends EntityForm {
   protected $subscriptionsQueue;
 
   /**
-   * Query factory.
+   * Brightcove API Client Query object.
    *
-   * @var \Drupal\Core\Entity\Query\QueryFactory
+   * @var \Drupal\Core\Entity\Query\QueryInterface
    */
-  protected $queryFactory;
+  protected $apiClientQuery;
 
   /**
    * Key/Value expirable store.
@@ -88,18 +91,20 @@ class BrightcoveAPIClientForm extends EntityForm {
    *   Custom field queue.
    * @param \Drupal\Core\Queue\QueueInterface $subscriptions_queue
    *   Custom field queue.
-   * @param \Drupal\Core\Entity\Query\QueryFactory $query_factory
+   * @param \Drupal\Core\Entity\EntityTypeInterface $brightcove_api_client
+   *   Brightcove API Client definition.
+   * @param \Drupal\Core\Config\Entity\Query\QueryFactory $config_query_factory
    *   Query factory.
    * @param \Drupal\Core\KeyValueStore\KeyValueStoreExpirableInterface $key_value_expirable_store
    *   Key/Value expirable store for "brightcove_access_token".
    */
-  public function __construct(Config $config, EntityStorageInterface $player_storage, QueueInterface $player_queue, QueueInterface $custom_field_queue, QueueInterface $subscriptions_queue, QueryFactory $query_factory, KeyValueStoreExpirableInterface $key_value_expirable_store) {
+  public function __construct(Config $config, EntityStorageInterface $player_storage, QueueInterface $player_queue, QueueInterface $custom_field_queue, QueueInterface $subscriptions_queue, EntityTypeInterface $brightcove_api_client, QueryFactory $config_query_factory, KeyValueStoreExpirableInterface $key_value_expirable_store) {
     $this->config = $config;
     $this->playerStorage = $player_storage;
     $this->playerQueue = $player_queue;
     $this->customFieldQueue = $custom_field_queue;
     $this->subscriptionsQueue = $subscriptions_queue;
-    $this->queryFactory = $query_factory;
+    $this->apiClientQuery = $config_query_factory->get($brightcove_api_client, 'AND');
     $this->keyValueExpirableStore = $key_value_expirable_store;
   }
 
@@ -113,7 +118,8 @@ class BrightcoveAPIClientForm extends EntityForm {
       $container->get('queue')->get('brightcove_player_queue_worker'),
       $container->get('queue')->get('brightcove_custom_field_queue_worker'),
       $container->get('queue')->get('brightcove_subscriptions_queue_worker'),
-      $container->get('entity.query'),
+      $container->get('entity_type.manager')->getDefinition('brightcove_api_client'),
+      $container->get('entity.query.config'),
       $container->get('keyvalue.expirable')->get('brightcove_access_token')
     );
   }
@@ -209,8 +215,7 @@ class BrightcoveAPIClientForm extends EntityForm {
     }
 
     // Count BrightcoveAPIClients.
-    $api_clients_number = $this->queryFactory->get('brightcove_api_client')
-      ->count()->execute();
+    $api_clients_number = $this->apiClientQuery->count()->execute();
     $form['default_client'] = [
       '#type' => 'checkbox',
       '#title' => $this->t('Default API Client'),
@@ -317,7 +322,7 @@ class BrightcoveAPIClientForm extends EntityForm {
 
     switch ($status) {
       case SAVED_NEW:
-        drupal_set_message($this->t('Created the %label Brightcove API Client.', [
+        $this->messenger()->addStatus($this->t('Created the %label Brightcove API Client.', [
           '%label' => $brightcove_api_client->label(),
         ]));
 
@@ -341,7 +346,7 @@ class BrightcoveAPIClientForm extends EntityForm {
         break;
 
       default:
-        drupal_set_message($this->t('Saved the %label Brightcove API Client.', [
+        $this->messenger()->addStatus($this->t('Saved the %label Brightcove API Client.', [
           '%label' => $brightcove_api_client->label(),
         ]));
     }
@@ -350,7 +355,7 @@ class BrightcoveAPIClientForm extends EntityForm {
       $this->config->set('defaultAPIClient', $brightcove_api_client->id())->save();
     }
 
-    $form_state->setRedirectUrl($brightcove_api_client->urlInfo('collection'));
+    $form_state->setRedirectUrl($brightcove_api_client->toUrl('collection'));
   }
 
 }
diff --git a/src/Form/BrightcovePlaylistForm.php b/src/Form/BrightcovePlaylistForm.php
index 05b9baa..b2faa74 100644
--- a/src/Form/BrightcovePlaylistForm.php
+++ b/src/Form/BrightcovePlaylistForm.php
@@ -21,7 +21,7 @@ class BrightcovePlaylistForm extends BrightcoveVideoPlaylistForm {
   public function buildForm(array $form, FormStateInterface $form_state) {
     $form = parent::buildForm($form, $form_state);
 
-    /* @var $entity \Drupal\brightcove\Entity\BrightcovePlaylist */
+    /** @var \Drupal\brightcove\Entity\BrightcovePlaylist $entity */
     $entity = $this->entity;
 
     // Get api client from the form settings.
@@ -97,7 +97,7 @@ class BrightcovePlaylistForm extends BrightcoveVideoPlaylistForm {
    * {@inheritdoc}
    */
   public function save(array $form, FormStateInterface $form_state) {
-    /* @var $entity \Drupal\brightcove\Entity\BrightcovePlaylist */
+    /** @var \Drupal\brightcove\Entity\BrightcovePlaylist $entity */
     $entity = $this->entity;
 
     try {
@@ -105,20 +105,20 @@ class BrightcovePlaylistForm extends BrightcoveVideoPlaylistForm {
 
       switch ($status) {
         case SAVED_NEW:
-          drupal_set_message($this->t('Created the %label Brightcove Playlist.', [
+          $this->messenger()->addStatus($this->t('Created the %label Brightcove Playlist.', [
             '%label' => $entity->label(),
           ]));
           break;
 
         default:
-          drupal_set_message($this->t('Saved the %label Brightcove Playlist.', [
+          $this->messenger()->addStatus($this->t('Saved the %label Brightcove Playlist.', [
             '%label' => $entity->label(),
           ]));
       }
       $form_state->setRedirect('entity.brightcove_playlist.canonical', ['brightcove_playlist' => $entity->id()]);
     }
     catch (APIException $e) {
-      drupal_set_message($e->getMessage(), 'error');
+      $this->messenger()->addError($e->getMessage());
     }
   }
 
diff --git a/src/Form/BrightcoveSubscriptionDeleteForm.php b/src/Form/BrightcoveSubscriptionDeleteForm.php
index 3b2a349..92b84da 100644
--- a/src/Form/BrightcoveSubscriptionDeleteForm.php
+++ b/src/Form/BrightcoveSubscriptionDeleteForm.php
@@ -61,7 +61,7 @@ class BrightcoveSubscriptionDeleteForm extends ConfirmFormBase {
   public function buildForm(array $form, FormStateInterface $form_state) {
     // Prevent deletion of the default Subscription entity.
     if (!empty($this->brightcoveSubscription) && $this->brightcoveSubscription->isDefault()) {
-      drupal_set_message($this->t('The API client default Subscription cannot be deleted.'), 'error');
+      $this->messenger()->addError($this->t('The API client default Subscription cannot be deleted.'));
       return $this->redirect('entity.brightcove_subscription.list');
     }
 
@@ -76,10 +76,10 @@ class BrightcoveSubscriptionDeleteForm extends ConfirmFormBase {
       $this->brightcoveSubscription->delete(FALSE);
     }
     catch (APIException $e) {
-      drupal_set_message($e->getMessage(), 'error');
+      $this->messenger()->addError($e->getMessage());
     }
 
-    drupal_set_message($this->t('Subscription has been successfully deleted.'));
+    $this->messenger()->addStatus($this->t('Subscription has been successfully deleted.'));
     $form_state->setRedirect('entity.brightcove_subscription.list');
   }
 
diff --git a/src/Form/BrightcoveSubscriptionForm.php b/src/Form/BrightcoveSubscriptionForm.php
index 1ce5f43..f0e57d0 100644
--- a/src/Form/BrightcoveSubscriptionForm.php
+++ b/src/Form/BrightcoveSubscriptionForm.php
@@ -95,17 +95,17 @@ class BrightcoveSubscriptionForm extends FormBase {
       ]);
       $brightcove_subscription->save(TRUE);
 
-      drupal_set_message($this->t('Created Brightcove Subscription with %endpoint endpoint.', [
+      $this->messenger()->addStatus($this->t('Created Brightcove Subscription with %endpoint endpoint.', [
         '%endpoint' => $brightcove_subscription->getEndpoint(),
       ]));
     }
     catch (\Exception $e) {
       // In case of an exception, show an error message and rebuild the form.
       if ($e->getMessage()) {
-        drupal_set_message($this->t('Failed to create subscription: %error', ['%error' => $e->getMessage()]), 'error');
+        $this->messenger()->addError($this->t('Failed to create subscription: %error', ['%error' => $e->getMessage()]));
       }
       else {
-        drupal_set_message($this->t('Failed to create subscription.'), 'error');
+        $this->messenger()->addError($this->t('Failed to create subscription.'));
       }
 
       $form_state->setRebuild(TRUE);
diff --git a/src/Form/BrightcoveTextTrackForm.php b/src/Form/BrightcoveTextTrackForm.php
index a25da09..6063c1b 100644
--- a/src/Form/BrightcoveTextTrackForm.php
+++ b/src/Form/BrightcoveTextTrackForm.php
@@ -16,7 +16,7 @@ class BrightcoveTextTrackForm extends ContentEntityForm {
    * {@inheritdoc}
    */
   public function buildForm(array $form, FormStateInterface $form_state) {
-    /* @var $entity \Drupal\brightcove\Entity\BrightcoveTextTrack */
+    /** @var \Drupal\brightcove\Entity\BrightcoveTextTrack $entity */
     $form = parent::buildForm($form, $form_state);
     return $form;
   }
@@ -30,13 +30,13 @@ class BrightcoveTextTrackForm extends ContentEntityForm {
 
     switch ($status) {
       case SAVED_NEW:
-        drupal_set_message($this->t('Created the %label Brightcove Text Track.', [
+        $this->messenger()->addStatus($this->t('Created the %label Brightcove Text Track.', [
           '%label' => $entity->label(),
         ]));
         break;
 
       default:
-        drupal_set_message($this->t('Saved the %label Brightcove Text Track.', [
+        $this->messenger()->addStatus($this->t('Saved the %label Brightcove Text Track.', [
           '%label' => $entity->label(),
         ]));
     }
diff --git a/src/Form/BrightcoveVideoForm.php b/src/Form/BrightcoveVideoForm.php
index ee165ef..3158ddb 100644
--- a/src/Form/BrightcoveVideoForm.php
+++ b/src/Form/BrightcoveVideoForm.php
@@ -24,7 +24,7 @@ class BrightcoveVideoForm extends BrightcoveVideoPlaylistForm {
 
     $form['#attached']['library'][] = 'brightcove/brightcove.video';
 
-    /* @var $entity \Drupal\brightcove\Entity\BrightcoveVideo */
+    /** @var \Drupal\brightcove\Entity\BrightcoveVideo $entity */
     $entity = $this->entity;
 
     // Get api client from the form settings.
@@ -216,7 +216,7 @@ class BrightcoveVideoForm extends BrightcoveVideoPlaylistForm {
   public function validateForm(array &$form, FormStateInterface $form_state) {
     parent::validateForm($form, $form_state);
 
-    /* @var $entity \Drupal\brightcove\Entity\BrightcoveVideo */
+    /** @var \Drupal\brightcove\Entity\BrightcoveVideo $entity */
     $entity = $this->entity;
 
     switch ($form_state->getValue('upload_type')) {
@@ -243,7 +243,7 @@ class BrightcoveVideoForm extends BrightcoveVideoPlaylistForm {
    * {@inheritdoc}
    */
   public function save(array $form, FormStateInterface $form_state) {
-    /* @var $entity \Drupal\brightcove\Entity\BrightcoveVideo */
+    /** @var \Drupal\brightcove\Entity\BrightcoveVideo $entity */
     $entity = $this->entity;
 
     try {
@@ -262,20 +262,20 @@ class BrightcoveVideoForm extends BrightcoveVideoPlaylistForm {
 
       switch ($status) {
         case SAVED_NEW:
-          drupal_set_message($this->t('Created the %label Brightcove Video.', [
+          $this->messenger()->addStatus($this->t('Created the %label Brightcove Video.', [
             '%label' => $entity->label(),
           ]));
           break;
 
         default:
-          drupal_set_message($this->t('Saved the %label Brightcove Video.', [
+          $this->messenger()->addStatus($this->t('Saved the %label Brightcove Video.', [
             '%label' => $entity->label(),
           ]));
       }
       $form_state->setRedirect('entity.brightcove_video.canonical', ['brightcove_video' => $entity->id()]);
     }
     catch (APIException $e) {
-      drupal_set_message($e->getMessage(), 'error');
+      $this->messenger()->addError($e->getMessage());
     }
   }
 
diff --git a/src/Form/BrightcoveVideoPlaylistForm.php b/src/Form/BrightcoveVideoPlaylistForm.php
index 87d3045..31cf7b4 100644
--- a/src/Form/BrightcoveVideoPlaylistForm.php
+++ b/src/Form/BrightcoveVideoPlaylistForm.php
@@ -7,7 +7,7 @@ use Drupal\brightcove\Entity\BrightcovePlayer;
 use Drupal\Core\Ajax\AjaxResponse;
 use Drupal\Core\Ajax\ReplaceCommand;
 use Drupal\Core\Entity\ContentEntityForm;
-use Drupal\Core\Entity\EntityManagerInterface;
+use Drupal\Core\Entity\EntityTypeBundleInfo;
 use Drupal\Core\Form\FormStateInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
@@ -26,13 +26,13 @@ abstract class BrightcoveVideoPlaylistForm extends ContentEntityForm {
   /**
    * Constructs a ContentEntityForm object.
    *
-   * @param \Drupal\Core\Entity\EntityManagerInterface $entity_manager
+   * @param \Drupal\Core\Entity\EntityTypeBundleInfo
    *   The entity manager.
    * @param string $defaultAPIClient
    *   The default API Client.
    */
-  public function __construct(EntityManagerInterface $entity_manager, $defaultAPIClient) {
-    parent::__construct($entity_manager);
+  public function __construct(EntityTypeBundleInfo $entity_bundle_info, $defaultAPIClient) {
+    parent::__construct($entity_bundle_info);
     $this->defaultAPIClient = $defaultAPIClient;
   }
 
@@ -52,7 +52,7 @@ abstract class BrightcoveVideoPlaylistForm extends ContentEntityForm {
   public function buildForm(array $form, FormStateInterface $form_state) {
     $form = parent::buildForm($form, $form_state);
 
-    /* @var $entity \Drupal\brightcove\Entity\BrightcoveVideoPlaylistCmsEntity */
+    /** @var \Drupal\brightcove\Entity\BrightcoveVideoPlaylistCmsEntity $entity */
     $entity = $this->entity;
     $triggering_element = $form_state->getTriggeringElement();
 
diff --git a/src/Plugin/Validation/Constraint/BrightcoveVideoByApiClientConstraintValidator.php b/src/Plugin/Validation/Constraint/BrightcoveVideoByApiClientConstraintValidator.php
index 0d53caf..08cb706 100644
--- a/src/Plugin/Validation/Constraint/BrightcoveVideoByApiClientConstraintValidator.php
+++ b/src/Plugin/Validation/Constraint/BrightcoveVideoByApiClientConstraintValidator.php
@@ -14,15 +14,15 @@ class BrightcoveVideoByApiClientConstraintValidator extends ConstraintValidator
    * {@inheritdoc}
    */
   public function validate($value, Constraint $constraint) {
-    /* @var \Drupal\Core\Field\EntityReferenceFieldItemList $videos */
-    /* @var \Drupal\brightcove\Plugin\Validation\Constraint\BrightcoveVideoByApiClientConstraint $constraint */
+    /** @var \Drupal\Core\Field\EntityReferenceFieldItemList $videos */
+    /** @var \Drupal\brightcove\Plugin\Validation\Constraint\BrightcoveVideoByApiClientConstraint $constraint */
 
     // Get API client.
     $api_client = $value->get('api_client')->getValue();
     if (!empty($api_client[0]['target_id'])) {
       // Get the videos field settings.
       $videos = $value->get('videos');
-      /* @var \Drupal\Core\Field\TypedData\FieldItemDataDefinition $item_definitions */
+      /** @var \Drupal\Core\Field\TypedData\FieldItemDataDefinition $item_definitions */
       $item_definitions = $videos->getItemDefinition();
       $settings = $item_definitions->getSettings();
 
