diff --git a/automatic_updates_extensions/src/ExtensionUpdateStage.php b/automatic_updates_extensions/src/ExtensionUpdateStage.php
index 0c26b806a43af9f9cdcb91e93722b63ab950d58f..cc4b8547408dc9bcd8caacb376b855343aa11b18 100644
--- a/automatic_updates_extensions/src/ExtensionUpdateStage.php
+++ b/automatic_updates_extensions/src/ExtensionUpdateStage.php
@@ -55,7 +55,7 @@ class ExtensionUpdateStage extends StageBase {
    *   The failure marker service.
    */
   public function __construct(
-    protected ComposerInspector $composerInspector,
+    protected readonly ComposerInspector $composerInspector,
     PathLocator $pathLocator,
     BeginnerInterface $beginner,
     StagerInterface $stager,
diff --git a/automatic_updates_extensions/src/Form/UpdateReady.php b/automatic_updates_extensions/src/Form/UpdateReady.php
index b3019276d4eaea3225f0ddba01eee54a0654e91b..8de52b77cabfd9ebafa0e1b29ff630ab14026158 100644
--- a/automatic_updates_extensions/src/Form/UpdateReady.php
+++ b/automatic_updates_extensions/src/Form/UpdateReady.php
@@ -55,14 +55,14 @@ final class UpdateReady extends UpdateFormBase {
    *   The path locator service.
    */
   public function __construct(
-    private ExtensionUpdateStage $stage,
+    private readonly ExtensionUpdateStage $stage,
     MessengerInterface $messenger,
-    private StateInterface $state,
-    private ModuleExtensionList $moduleList,
-    private RendererInterface $renderer,
-    private EventDispatcherInterface $eventDispatcher,
-    private ComposerInspector $composerInspector,
-    private PathLocator $pathLocator,
+    private readonly StateInterface $state,
+    private readonly ModuleExtensionList $moduleList,
+    private readonly RendererInterface $renderer,
+    private readonly EventDispatcherInterface $eventDispatcher,
+    private readonly ComposerInspector $composerInspector,
+    private readonly PathLocator $pathLocator,
   ) {
     $this->setMessenger($messenger);
   }
diff --git a/automatic_updates_extensions/src/Form/UpdaterForm.php b/automatic_updates_extensions/src/Form/UpdaterForm.php
index e5200d3ef51da1e977628bcc56be04c4e55db9b8..4b26b7d40f6733e681be27d19f707ad5d0f87199 100644
--- a/automatic_updates_extensions/src/Form/UpdaterForm.php
+++ b/automatic_updates_extensions/src/Form/UpdaterForm.php
@@ -66,13 +66,13 @@ final class UpdaterForm extends UpdateFormBase {
    *   The path locator service.
    */
   public function __construct(
-    private ExtensionUpdateStage $stage,
-    private EventDispatcherInterface $eventDispatcher,
-    private RendererInterface $renderer,
-    private StateInterface $state,
-    private FailureMarker $failureMarker,
-    private ComposerInspector $composerInspector,
-    private PathLocator $pathLocator,
+    private readonly ExtensionUpdateStage $stage,
+    private readonly EventDispatcherInterface $eventDispatcher,
+    private readonly RendererInterface $renderer,
+    private readonly StateInterface $state,
+    private readonly FailureMarker $failureMarker,
+    private readonly ComposerInspector $composerInspector,
+    private readonly PathLocator $pathLocator,
   ) {}
 
   /**
diff --git a/automatic_updates_extensions/src/Validator/UpdateReleaseValidator.php b/automatic_updates_extensions/src/Validator/UpdateReleaseValidator.php
index 09f84d46ba84accd64ef9dd4c4ff65aba586bbf3..adc7027e775cf9f5a2674ce595ec2e2428eb44eb 100644
--- a/automatic_updates_extensions/src/Validator/UpdateReleaseValidator.php
+++ b/automatic_updates_extensions/src/Validator/UpdateReleaseValidator.php
@@ -36,8 +36,8 @@ final class UpdateReleaseValidator implements EventSubscriberInterface {
    *   The path locator service.
    */
   public function __construct(
-    private ComposerInspector $composerInspector,
-    private PathLocator $pathLocator
+    private readonly ComposerInspector $composerInspector,
+    private readonly PathLocator $pathLocator
   ) {}
 
   /**
diff --git a/package_manager/src/ComposerInspector.php b/package_manager/src/ComposerInspector.php
index 19815785f69528b085a76419fa61a7b285458ed2..94550aba3e4896a628ecf11b5153f705561ef056 100644
--- a/package_manager/src/ComposerInspector.php
+++ b/package_manager/src/ComposerInspector.php
@@ -74,7 +74,11 @@ class ComposerInspector implements LoggerAwareInterface {
    * @param \PhpTuf\ComposerStager\Infrastructure\Factory\Path\PathFactoryInterface $pathFactory
    *   The path factory service from Composer Stager.
    */
-  public function __construct(private ComposerRunnerInterface $runner, private ComposerIsAvailableInterface $composerIsAvailable, private PathFactoryInterface $pathFactory) {
+  public function __construct(
+    private readonly ComposerRunnerInterface $runner,
+    private readonly ComposerIsAvailableInterface $composerIsAvailable,
+    private readonly PathFactoryInterface $pathFactory
+  ) {
     $this->processCallback = new ProcessOutputCallback();
     $this->setLogger(new NullLogger());
   }
diff --git a/package_manager/src/EventSubscriber/UpdateDataSubscriber.php b/package_manager/src/EventSubscriber/UpdateDataSubscriber.php
index 918b97a5cb649b562250f457e6e36511374528cd..beb7463bc5794c52f6b24a8d535b9d365aafbd59 100644
--- a/package_manager/src/EventSubscriber/UpdateDataSubscriber.php
+++ b/package_manager/src/EventSubscriber/UpdateDataSubscriber.php
@@ -24,7 +24,7 @@ final class UpdateDataSubscriber implements EventSubscriberInterface {
    * @param \Drupal\update\UpdateManagerInterface $updateManager
    *   The update manager service.
    */
-  public function __construct(protected UpdateManagerInterface $updateManager) {
+  public function __construct(private readonly UpdateManagerInterface $updateManager) {
   }
 
   /**
diff --git a/package_manager/src/ExecutableFinder.php b/package_manager/src/ExecutableFinder.php
index d7ec3a785220b0d2ef0d89892e9d719961fd8c1e..93e8ddd05a67f262c0680ad42592295119108cba 100644
--- a/package_manager/src/ExecutableFinder.php
+++ b/package_manager/src/ExecutableFinder.php
@@ -34,7 +34,10 @@ final class ExecutableFinder implements ExecutableFinderInterface {
    * @param \Drupal\Core\Config\ConfigFactoryInterface $configFactory
    *   The config factory service.
    */
-  public function __construct(SymfonyExecutableFinder $symfony_executable_finder, private ConfigFactoryInterface $configFactory) {
+  public function __construct(
+    SymfonyExecutableFinder $symfony_executable_finder,
+    private readonly ConfigFactoryInterface $configFactory
+  ) {
     $this->decorated = new StagerExecutableFinder($symfony_executable_finder);
   }
 
diff --git a/package_manager/src/FailureMarker.php b/package_manager/src/FailureMarker.php
index 38a05e24e6cafbec27d09941d686713a03d6d395..c351c6f124dfbfe2e3e67c164ceb5cc1e8f9a6d4 100644
--- a/package_manager/src/FailureMarker.php
+++ b/package_manager/src/FailureMarker.php
@@ -30,7 +30,7 @@ final class FailureMarker {
    * @param \Drupal\package_manager\PathLocator $pathLocator
    *   The path locator service.
    */
-  public function __construct(private PathLocator $pathLocator) {
+  public function __construct(private readonly PathLocator $pathLocator) {
   }
 
   /**
diff --git a/package_manager/src/FileSyncerFactory.php b/package_manager/src/FileSyncerFactory.php
index aa6c384359c24357e3281088b0ead785eea8c7e2..1210ae817fb81de6d07cdb7d4b2acf6b9c0da572 100644
--- a/package_manager/src/FileSyncerFactory.php
+++ b/package_manager/src/FileSyncerFactory.php
@@ -42,9 +42,9 @@ final class FileSyncerFactory {
    */
   public function __construct(
     ExecutableFinder $executable_finder,
-    private PhpFileSyncer $phpFileSyncer,
-    private RsyncFileSyncer $rsyncFileSyncer,
-    private ConfigFactoryInterface $configFactory,
+    private readonly PhpFileSyncer $phpFileSyncer,
+    private readonly RsyncFileSyncer $rsyncFileSyncer,
+    private readonly ConfigFactoryInterface $configFactory,
   ) {
     $this->decorated = new StagerFileSyncerFactory($executable_finder, $phpFileSyncer, $rsyncFileSyncer);
   }
diff --git a/package_manager/src/NoSymlinksPointToADirectory.php b/package_manager/src/NoSymlinksPointToADirectory.php
index a003d4adb7ca679f5f352f8c86eb3a46e3beb698..fb97daf5580a6847e352050ca1c36ab56490d7cf 100644
--- a/package_manager/src/NoSymlinksPointToADirectory.php
+++ b/package_manager/src/NoSymlinksPointToADirectory.php
@@ -35,8 +35,8 @@ final class NoSymlinksPointToADirectory implements NoSymlinksPointToADirectoryIn
    *   The config factory.
    */
   public function __construct(
-    private NoSymlinksPointToADirectoryInterface $decorated,
-    private ConfigFactoryInterface $configFactory
+    private readonly NoSymlinksPointToADirectoryInterface $decorated,
+    private readonly ConfigFactoryInterface $configFactory
   ) {}
 
   /**
diff --git a/package_manager/src/PathExcluder/GitExcluder.php b/package_manager/src/PathExcluder/GitExcluder.php
index c7efb7fa52d9a475d74aa694436b62655587c98f..42f473e74c1fe652c2e4985591301f8dff2ce55e 100644
--- a/package_manager/src/PathExcluder/GitExcluder.php
+++ b/package_manager/src/PathExcluder/GitExcluder.php
@@ -29,7 +29,7 @@ final class GitExcluder implements EventSubscriberInterface {
    * @param \Drupal\package_manager\ComposerInspector $composerInspector
    *   The Composer inspector service.
    */
-  public function __construct(PathLocator $path_locator, private ComposerInspector $composerInspector) {
+  public function __construct(PathLocator $path_locator, private readonly ComposerInspector $composerInspector) {
     $this->pathLocator = $path_locator;
   }
 
diff --git a/package_manager/src/PathExcluder/SiteFilesExcluder.php b/package_manager/src/PathExcluder/SiteFilesExcluder.php
index 4967e44265fb40c46572a6ddf06934d471d06da6..07bbdc757da2c26a01bae5ca2c8a06d0793ff530 100644
--- a/package_manager/src/PathExcluder/SiteFilesExcluder.php
+++ b/package_manager/src/PathExcluder/SiteFilesExcluder.php
@@ -33,7 +33,11 @@ final class SiteFilesExcluder implements EventSubscriberInterface {
    * @param \Symfony\Component\Filesystem\Filesystem $fileSystem
    *   The Symfony file system service.
    */
-  public function __construct(PathLocator $path_locator, protected StreamWrapperManagerInterface $streamWrapperManager, protected Filesystem $fileSystem) {
+  public function __construct(
+    PathLocator $path_locator,
+    private readonly StreamWrapperManagerInterface $streamWrapperManager,
+    private readonly Filesystem $fileSystem
+  ) {
     $this->pathLocator = $path_locator;
   }
 
diff --git a/package_manager/src/PathExcluder/UnknownPathExcluder.php b/package_manager/src/PathExcluder/UnknownPathExcluder.php
index 8c31a600ceb04b27178ba5adc3e7f37f179ac467..d9c3071c3bf8b6489bbe8cd88884961b1f25c9d1 100644
--- a/package_manager/src/PathExcluder/UnknownPathExcluder.php
+++ b/package_manager/src/PathExcluder/UnknownPathExcluder.php
@@ -40,7 +40,7 @@ final class UnknownPathExcluder implements EventSubscriberInterface {
    * @param \Drupal\package_manager\PathLocator $path_locator
    *   The path locator service.
    */
-  public function __construct(private ComposerInspector $composerInspector, PathLocator $path_locator) {
+  public function __construct(private readonly ComposerInspector $composerInspector, PathLocator $path_locator) {
     $this->pathLocator = $path_locator;
   }
 
diff --git a/package_manager/src/ProcessFactory.php b/package_manager/src/ProcessFactory.php
index 6f342f2b11f444fa91c6290b43b4cf8f95d32136..99ea7fd83d3c9a66971ae49083a1a03005afc053 100644
--- a/package_manager/src/ProcessFactory.php
+++ b/package_manager/src/ProcessFactory.php
@@ -37,7 +37,10 @@ final class ProcessFactory implements ProcessFactoryInterface {
    * @param \Drupal\Core\Config\ConfigFactoryInterface $configFactory
    *   The config factory service.
    */
-  public function __construct(private FileSystemInterface $fileSystem, private ConfigFactoryInterface $configFactory) {
+  public function __construct(
+    private readonly FileSystemInterface $fileSystem,
+    private readonly ConfigFactoryInterface $configFactory
+  ) {
     $this->decorated = new StagerProcessFactory();
   }
 
diff --git a/package_manager/src/ProjectInfo.php b/package_manager/src/ProjectInfo.php
index fc267c5e8e904e874ac22c13d9d7a60efb16a90e..4e1bf8c6b6a1d06a5ac56f55938841e291823274 100644
--- a/package_manager/src/ProjectInfo.php
+++ b/package_manager/src/ProjectInfo.php
@@ -27,7 +27,7 @@ final class ProjectInfo {
    * @param string $name
    *   The project name.
    */
-  public function __construct(protected string $name) {
+  public function __construct(private readonly string $name) {
   }
 
   /**
diff --git a/package_manager/src/StageBase.php b/package_manager/src/StageBase.php
index 17929ca387dd56a83af53448b7a35c68f23ff8ea..74e46e8e99e44e3fcb50c952a14f4d3107a25ce7 100644
--- a/package_manager/src/StageBase.php
+++ b/package_manager/src/StageBase.php
@@ -186,16 +186,16 @@ abstract class StageBase implements LoggerAwareInterface {
    *   The failure marker service.
    */
   public function __construct(
-    protected PathLocator $pathLocator,
-    protected BeginnerInterface $beginner,
-    protected StagerInterface $stager,
-    protected CommitterInterface $committer,
-    protected FileSystemInterface $fileSystem,
+    protected readonly PathLocator $pathLocator,
+    protected readonly BeginnerInterface $beginner,
+    protected readonly StagerInterface $stager,
+    protected readonly CommitterInterface $committer,
+    protected readonly FileSystemInterface $fileSystem,
     protected EventDispatcherInterface $eventDispatcher,
-    protected SharedTempStoreFactory $tempStoreFactory,
-    protected TimeInterface $time,
-    protected PathFactoryInterface $pathFactory,
-    protected FailureMarker $failureMarker,
+    protected readonly SharedTempStoreFactory $tempStoreFactory,
+    protected readonly TimeInterface $time,
+    protected readonly PathFactoryInterface $pathFactory,
+    protected readonly FailureMarker $failureMarker,
   ) {
     $this->tempStore = $tempStoreFactory->get('package_manager_stage');
     $this->setLogger(new NullLogger());
diff --git a/package_manager/src/ValidationResult.php b/package_manager/src/ValidationResult.php
index 700862231a85257999cf445ed69148ab7893310f..a9854a075a3b503cb1efb05dc458d8b325047ac3 100644
--- a/package_manager/src/ValidationResult.php
+++ b/package_manager/src/ValidationResult.php
@@ -32,7 +32,12 @@ final class ValidationResult {
    *   Thrown if $messages is empty, or if it has 2 or more items but $summary
    *   is NULL.
    */
-  private function __construct(public readonly int $severity, private array $messages, public readonly ?TranslatableMarkup $summary, bool $assert_translatable) {
+  private function __construct(
+    public readonly int $severity,
+    private array $messages,
+    public readonly ?TranslatableMarkup $summary,
+    bool $assert_translatable
+  ) {
     if ($assert_translatable) {
       assert(Inspector::assertAll(fn ($message) => $message instanceof TranslatableMarkup, $messages));
     }
diff --git a/package_manager/src/Validator/AllowedScaffoldPackagesValidator.php b/package_manager/src/Validator/AllowedScaffoldPackagesValidator.php
index c0e439d5b437fbc0ee1096b4b5101a9eeb9bcf92..4f2ca15c6a553691aea57d6f5945ec42ea33931b 100644
--- a/package_manager/src/Validator/AllowedScaffoldPackagesValidator.php
+++ b/package_manager/src/Validator/AllowedScaffoldPackagesValidator.php
@@ -35,8 +35,8 @@ final class AllowedScaffoldPackagesValidator implements EventSubscriberInterface
    *   The path locator service.
    */
   public function __construct(
-    private ComposerInspector $composerInspector,
-    private PathLocator $pathLocator,
+    private readonly ComposerInspector $composerInspector,
+    private readonly PathLocator $pathLocator,
   ) {}
 
   /**
diff --git a/package_manager/src/Validator/ComposerMinimumStabilityValidator.php b/package_manager/src/Validator/ComposerMinimumStabilityValidator.php
index 13ed4a84a391e0071252c9b5b71af0fdba56d7ac..41ebbf6e2ef518d00f755dae60a88585323f1d9c 100644
--- a/package_manager/src/Validator/ComposerMinimumStabilityValidator.php
+++ b/package_manager/src/Validator/ComposerMinimumStabilityValidator.php
@@ -32,8 +32,10 @@ final class ComposerMinimumStabilityValidator implements EventSubscriberInterfac
    * @param \Drupal\package_manager\ComposerInspector $inspector
    *   The Composer inspector service.
    */
-  public function __construct(protected PathLocator $pathLocator, protected ComposerInspector $inspector) {
-  }
+  public function __construct(
+    private readonly PathLocator $pathLocator,
+    private readonly ComposerInspector $inspector
+  ) {}
 
   /**
    * Validates composer minimum stability.
diff --git a/package_manager/src/Validator/ComposerPatchesValidator.php b/package_manager/src/Validator/ComposerPatchesValidator.php
index ce8bb9f7ab91a9862c63792bd667dc607c6d5bf9..ba83ceedb11e811e2e42ea88e6dc5f05859b0b26 100644
--- a/package_manager/src/Validator/ComposerPatchesValidator.php
+++ b/package_manager/src/Validator/ComposerPatchesValidator.php
@@ -58,9 +58,9 @@ final class ComposerPatchesValidator implements EventSubscriberInterface {
    *   The path locator service.
    */
   public function __construct(
-    private ModuleHandlerInterface $moduleHandler,
-    private ComposerInspector $composerInspector,
-    private PathLocator $pathLocator
+    private readonly ModuleHandlerInterface $moduleHandler,
+    private readonly ComposerInspector $composerInspector,
+    private readonly PathLocator $pathLocator
   ) {}
 
   /**
diff --git a/package_manager/src/Validator/ComposerPluginsValidator.php b/package_manager/src/Validator/ComposerPluginsValidator.php
index d2a23e8e91f07c4630fe41f3907635e24721dd28..0fdc0268d909a7ea60bcc73d89b85a365526ce75 100644
--- a/package_manager/src/Validator/ComposerPluginsValidator.php
+++ b/package_manager/src/Validator/ComposerPluginsValidator.php
@@ -109,8 +109,8 @@ final class ComposerPluginsValidator implements EventSubscriberInterface {
    */
   public function __construct(
     ConfigFactoryInterface $config_factory,
-    protected ComposerInspector $inspector,
-    protected PathLocator $pathLocator,
+    private readonly ComposerInspector $inspector,
+    private readonly PathLocator $pathLocator,
   ) {
     $settings = $config_factory->get('package_manager.settings');
     $this->additionalTrustedComposerPlugins = array_fill_keys(
diff --git a/package_manager/src/Validator/ComposerValidator.php b/package_manager/src/Validator/ComposerValidator.php
index dd9772aed41f74fc43c0bc4c201dad86f98a894a..8c17867976a1ea4cb0f9062c1b38c2e510d43401 100644
--- a/package_manager/src/Validator/ComposerValidator.php
+++ b/package_manager/src/Validator/ComposerValidator.php
@@ -37,9 +37,9 @@ class ComposerValidator implements EventSubscriberInterface {
    *   The module handler service.
    */
   public function __construct(
-    protected ComposerInspector $composerInspector,
-    protected PathLocator $pathLocator,
-    protected ModuleHandlerInterface $moduleHandler,
+    private readonly ComposerInspector $composerInspector,
+    private readonly PathLocator $pathLocator,
+    private readonly ModuleHandlerInterface $moduleHandler,
   ) {}
 
   /**
diff --git a/package_manager/src/Validator/DiskSpaceValidator.php b/package_manager/src/Validator/DiskSpaceValidator.php
index 09921fd7be2ac47e37846ca27d622817d48f9ef8..b3330f22cee1a95fb21a18135822759628c6b0fd 100644
--- a/package_manager/src/Validator/DiskSpaceValidator.php
+++ b/package_manager/src/Validator/DiskSpaceValidator.php
@@ -30,7 +30,7 @@ class DiskSpaceValidator implements EventSubscriberInterface {
    * @param \Drupal\package_manager\PathLocator $pathLocator
    *   The path locator service.
    */
-  public function __construct(protected PathLocator $pathLocator) {
+  public function __construct(private readonly PathLocator $pathLocator) {
   }
 
   /**
diff --git a/package_manager/src/Validator/DuplicateInfoFileValidator.php b/package_manager/src/Validator/DuplicateInfoFileValidator.php
index 82bd2fb392ec02c31cf1f07d40966a3ade232e02..beea0bc313b1b37468b976165e4ff586defa0325 100644
--- a/package_manager/src/Validator/DuplicateInfoFileValidator.php
+++ b/package_manager/src/Validator/DuplicateInfoFileValidator.php
@@ -28,7 +28,7 @@ class DuplicateInfoFileValidator implements EventSubscriberInterface {
    * @param \Drupal\package_manager\PathLocator $pathLocator
    *   The path locator service.
    */
-  public function __construct(protected PathLocator $pathLocator) {
+  public function __construct(private readonly PathLocator $pathLocator) {
   }
 
   /**
diff --git a/package_manager/src/Validator/EnabledExtensionsValidator.php b/package_manager/src/Validator/EnabledExtensionsValidator.php
index daeca84b1a74e0fbb6b27a31ad06153607709369..de1c7b7039594cd046b08be94d78c729f78e77fe 100644
--- a/package_manager/src/Validator/EnabledExtensionsValidator.php
+++ b/package_manager/src/Validator/EnabledExtensionsValidator.php
@@ -37,10 +37,10 @@ final class EnabledExtensionsValidator implements EventSubscriberInterface {
    *   The theme handler service.
    */
   public function __construct(
-    private PathLocator $pathLocator,
-    private ModuleHandlerInterface $moduleHandler,
-    private ComposerInspector $composerInspector,
-    private ThemeHandlerInterface $themeHandler
+    private readonly PathLocator $pathLocator,
+    private readonly ModuleHandlerInterface $moduleHandler,
+    private readonly ComposerInspector $composerInspector,
+    private readonly ThemeHandlerInterface $themeHandler
   ) {}
 
   /**
diff --git a/package_manager/src/Validator/LockFileValidator.php b/package_manager/src/Validator/LockFileValidator.php
index 41c3e3e965d6e0fea9b74547e09c753d6afc9c88..6662ab2476b207ea51fab1e44e140e18070e527a 100644
--- a/package_manager/src/Validator/LockFileValidator.php
+++ b/package_manager/src/Validator/LockFileValidator.php
@@ -42,8 +42,10 @@ final class LockFileValidator implements EventSubscriberInterface {
    * @param \Drupal\package_manager\PathLocator $pathLocator
    *   The path locator service.
    */
-  public function __construct(protected StateInterface $state, protected PathLocator $pathLocator) {
-  }
+  public function __construct(
+    private readonly StateInterface $state,
+    private readonly PathLocator $pathLocator
+  ) {}
 
   /**
    * Returns the current hash of the given directory's lock file.
diff --git a/package_manager/src/Validator/MultisiteValidator.php b/package_manager/src/Validator/MultisiteValidator.php
index ddf1efdc51d033171a40448da9f273ddfa3993cb..a203f10d89f9693b93a01018dee60ce514905bf2 100644
--- a/package_manager/src/Validator/MultisiteValidator.php
+++ b/package_manager/src/Validator/MultisiteValidator.php
@@ -28,7 +28,7 @@ final class MultisiteValidator implements EventSubscriberInterface {
    * @param \Drupal\package_manager\PathLocator $pathLocator
    *   The path locator service.
    */
-  public function __construct(protected PathLocator $pathLocator) {
+  public function __construct(private readonly PathLocator $pathLocator) {
   }
 
   /**
diff --git a/package_manager/src/Validator/OverwriteExistingPackagesValidator.php b/package_manager/src/Validator/OverwriteExistingPackagesValidator.php
index f5f38e7c9830f967a5e012a3c192ae8896159ce3..974498fd3634f37af72434122614360a2f8fa397 100644
--- a/package_manager/src/Validator/OverwriteExistingPackagesValidator.php
+++ b/package_manager/src/Validator/OverwriteExistingPackagesValidator.php
@@ -41,8 +41,10 @@ final class OverwriteExistingPackagesValidator implements EventSubscriberInterfa
    * @param \Drupal\package_manager\ComposerInspector $composerInspector
    *   The Composer inspector service.
    */
-  public function __construct(private PathLocator $pathLocator, private ComposerInspector $composerInspector) {
-  }
+  public function __construct(
+    private readonly PathLocator $pathLocator,
+    private readonly ComposerInspector $composerInspector
+  ) {}
 
   /**
    * Validates that new installed packages don't overwrite existing directories.
diff --git a/package_manager/src/Validator/PendingUpdatesValidator.php b/package_manager/src/Validator/PendingUpdatesValidator.php
index 335427dd3e392688c76d261cd3b0fdfbecc96f65..26eb7b950680c3b4adf5cf90ff27076414bef7df 100644
--- a/package_manager/src/Validator/PendingUpdatesValidator.php
+++ b/package_manager/src/Validator/PendingUpdatesValidator.php
@@ -33,8 +33,10 @@ final class PendingUpdatesValidator implements EventSubscriberInterface {
    * @param \Drupal\Core\Update\UpdateRegistry $updateRegistry
    *   The update registry service.
    */
-  public function __construct(protected string $appRoot, protected UpdateRegistry $updateRegistry) {
-  }
+  public function __construct(
+    private readonly string $appRoot,
+    private readonly UpdateRegistry $updateRegistry
+  ) {}
 
   /**
    * Validates that there are no pending database updates.
diff --git a/package_manager/src/Validator/StageNotInActiveValidator.php b/package_manager/src/Validator/StageNotInActiveValidator.php
index ac033d27312e270dcdf790425c75c849c6725924..956641452ba62d93ad3aa1941cc55096e49e694d 100644
--- a/package_manager/src/Validator/StageNotInActiveValidator.php
+++ b/package_manager/src/Validator/StageNotInActiveValidator.php
@@ -31,7 +31,7 @@ class StageNotInActiveValidator implements EventSubscriberInterface {
    * @param \Drupal\package_manager\PathLocator $pathLocator
    *   The path locator service.
    */
-  public function __construct(protected PathLocator $pathLocator) {
+  public function __construct(private readonly PathLocator $pathLocator) {
   }
 
   /**
diff --git a/package_manager/src/Validator/StagedDBUpdateValidator.php b/package_manager/src/Validator/StagedDBUpdateValidator.php
index bdbce0acb67cf8c2eeacd310850437a8c8275be7..1df91013c3b01fcb612bfae46df96dd246bbc5d7 100644
--- a/package_manager/src/Validator/StagedDBUpdateValidator.php
+++ b/package_manager/src/Validator/StagedDBUpdateValidator.php
@@ -35,9 +35,9 @@ class StagedDBUpdateValidator implements EventSubscriberInterface {
    *   The theme list service.
    */
   public function __construct(
-    protected PathLocator $pathLocator,
-    protected ModuleExtensionList $moduleList,
-    protected ThemeExtensionList $themeList,
+    private readonly PathLocator $pathLocator,
+    private readonly ModuleExtensionList $moduleList,
+    private readonly ThemeExtensionList $themeList,
   ) {}
 
   /**
diff --git a/package_manager/src/Validator/SupportedReleaseValidator.php b/package_manager/src/Validator/SupportedReleaseValidator.php
index bf9dddc6bd2a686f49a2a43e6a8e5fbe2e839c7c..a41edf4cf9edbd9ecbe5150f95acc3d8bc3c53d9 100644
--- a/package_manager/src/Validator/SupportedReleaseValidator.php
+++ b/package_manager/src/Validator/SupportedReleaseValidator.php
@@ -31,8 +31,10 @@ final class SupportedReleaseValidator implements EventSubscriberInterface {
    * @param \Drupal\package_manager\PathLocator $pathLocator
    *   The path locator service.
    */
-  public function __construct(private ComposerInspector $composerInspector, private PathLocator $pathLocator) {
-  }
+  public function __construct(
+    private readonly ComposerInspector $composerInspector,
+    private readonly PathLocator $pathLocator
+  ) {}
 
   /**
    * Checks if the given version of a project is supported.
diff --git a/package_manager/src/Validator/SymlinkValidator.php b/package_manager/src/Validator/SymlinkValidator.php
index 901c20ede412333796a1cd771a16a1e92640296d..12d84007a9091140aeab0f04c7065ad5a92231ac 100644
--- a/package_manager/src/Validator/SymlinkValidator.php
+++ b/package_manager/src/Validator/SymlinkValidator.php
@@ -37,9 +37,9 @@ class SymlinkValidator implements EventSubscriberInterface {
    *   The path factory service.
    */
   public function __construct(
-    protected PathLocator $pathLocator,
-    protected NoUnsupportedLinksExistInterface $precondition,
-    protected PathFactoryInterface $pathFactory,
+    private readonly PathLocator $pathLocator,
+    private readonly NoUnsupportedLinksExistInterface $precondition,
+    private readonly PathFactoryInterface $pathFactory,
   ) {}
 
   /**
diff --git a/package_manager/src/Validator/WritableFileSystemValidator.php b/package_manager/src/Validator/WritableFileSystemValidator.php
index 9858f741484f840bed53c3715162d8b70d7eb9da..5b0a507dff28f0c861aed7728a877821fec295db 100644
--- a/package_manager/src/Validator/WritableFileSystemValidator.php
+++ b/package_manager/src/Validator/WritableFileSystemValidator.php
@@ -29,7 +29,7 @@ class WritableFileSystemValidator implements EventSubscriberInterface {
    * @param \Drupal\package_manager\PathLocator $pathLocator
    *   The path locator service.
    */
-  public function __construct(protected PathLocator $pathLocator) {
+  public function __construct(private readonly PathLocator $pathLocator) {
   }
 
   /**
diff --git a/package_manager/tests/modules/package_manager_test_validation/src/CollectPathsToExcludeFailValidator.php b/package_manager/tests/modules/package_manager_test_validation/src/CollectPathsToExcludeFailValidator.php
index bb06aab23199a0eca7d15ab90a7c955616392f32..4daac9cdbf47f90cc853a046c7a749519daf7686 100644
--- a/package_manager/tests/modules/package_manager_test_validation/src/CollectPathsToExcludeFailValidator.php
+++ b/package_manager/tests/modules/package_manager_test_validation/src/CollectPathsToExcludeFailValidator.php
@@ -22,8 +22,10 @@ class CollectPathsToExcludeFailValidator implements EventSubscriberInterface {
    * @param \Drupal\package_manager\PathLocator $pathLocator
    *   The path locator service.
    */
-  public function __construct(private ComposerInspector $composerInspector, private PathLocator $pathLocator) {
-  }
+  public function __construct(
+    private readonly ComposerInspector $composerInspector,
+    private readonly PathLocator $pathLocator
+  ) {}
 
   /**
    * {@inheritdoc}
diff --git a/src/Controller/StatusCheckController.php b/src/Controller/StatusCheckController.php
index 1a0c693ca9b1b85e53633544d765f5cc14ccc88c..e1a6d9d079debb5dbd98599c1b56986dcd833b5d 100644
--- a/src/Controller/StatusCheckController.php
+++ b/src/Controller/StatusCheckController.php
@@ -27,7 +27,7 @@ final class StatusCheckController extends ControllerBase {
    * @param \Drupal\automatic_updates\Validation\StatusChecker $statusChecker
    *   The status checker service.
    */
-  public function __construct(protected StatusChecker $statusChecker) {
+  public function __construct(private readonly StatusChecker $statusChecker) {
   }
 
   /**
diff --git a/src/Controller/UpdateController.php b/src/Controller/UpdateController.php
index bf8029dd980a9ccdee4fc699b5cc311b1898400e..a5f99c924163d149aa2c5ed2f1933b042ed61e30 100644
--- a/src/Controller/UpdateController.php
+++ b/src/Controller/UpdateController.php
@@ -34,9 +34,9 @@ final class UpdateController extends ControllerBase {
    *   The status checker service.
    */
   public function __construct(
-    protected PendingUpdatesValidator $pendingUpdatesValidator,
-    protected RouteMatchInterface $routeMatch,
-    protected StatusChecker $statusChecker,
+    private readonly PendingUpdatesValidator $pendingUpdatesValidator,
+    private readonly RouteMatchInterface $routeMatch,
+    private readonly StatusChecker $statusChecker,
   ) {}
 
   /**
diff --git a/src/CronUpdateStage.php b/src/CronUpdateStage.php
index bd75d4eab0401e292724cd17b3d9d688e1d126d1..0c0b3036ef209a93f23d86a4148587834761afad 100644
--- a/src/CronUpdateStage.php
+++ b/src/CronUpdateStage.php
@@ -95,11 +95,11 @@ class CronUpdateStage extends UpdateStage {
    *   The failure marker service.
    */
   public function __construct(
-    protected ReleaseChooser $releaseChooser,
-    protected MailManagerInterface $mailManager,
-    protected StatusCheckMailer $statusCheckMailer,
-    protected StateInterface $state,
-    protected ConfigFactoryInterface $configFactory,
+    private readonly ReleaseChooser $releaseChooser,
+    private readonly MailManagerInterface $mailManager,
+    private readonly StatusCheckMailer $statusCheckMailer,
+    private readonly StateInterface $state,
+    private readonly ConfigFactoryInterface $configFactory,
     ComposerInspector $composerInspector,
     PathLocator $pathLocator,
     BeginnerInterface $beginner,
diff --git a/src/ReleaseChooser.php b/src/ReleaseChooser.php
index df02d95328ba9ba501e9b2bf885e54128427a96a..83523493e78ff4c99a0d3cbdba5bbbe10346b421 100644
--- a/src/ReleaseChooser.php
+++ b/src/ReleaseChooser.php
@@ -30,7 +30,7 @@ final class ReleaseChooser {
    * @param \Drupal\automatic_updates\Validator\VersionPolicyValidator $versionPolicyValidator
    *   The version validator.
    */
-  public function __construct(protected VersionPolicyValidator $versionPolicyValidator) {
+  public function __construct(private readonly VersionPolicyValidator $versionPolicyValidator) {
     $this->projectInfo = new ProjectInfo('drupal');
   }
 
diff --git a/src/StatusCheckMailer.php b/src/StatusCheckMailer.php
index f23b35df961ded6f557e5b4ce2b559d49861ea1e..23f8fa6ee4a4dbcbb77d3ea44d3e0bfe82881995 100644
--- a/src/StatusCheckMailer.php
+++ b/src/StatusCheckMailer.php
@@ -52,9 +52,9 @@ final class StatusCheckMailer {
    *   The language manager service.
    */
   public function __construct(
-    protected ConfigFactoryInterface $configFactory,
-    protected MailManagerInterface $mailManager,
-    protected LanguageManagerInterface $languageManager,
+    private readonly ConfigFactoryInterface $configFactory,
+    private readonly MailManagerInterface $mailManager,
+    private readonly LanguageManagerInterface $languageManager,
   ) {}
 
   /**
diff --git a/src/UpdateStage.php b/src/UpdateStage.php
index a542b2a7d11c47fc5e66c1e52480eedfe12f4b52..9cb2501a8e33d68d231d19af591b221e1c920227 100644
--- a/src/UpdateStage.php
+++ b/src/UpdateStage.php
@@ -55,7 +55,7 @@ class UpdateStage extends StageBase {
    *   The failure marker service.
    */
   public function __construct(
-    protected ComposerInspector $composerInspector,
+    protected readonly ComposerInspector $composerInspector,
     PathLocator $pathLocator,
     BeginnerInterface $beginner,
     StagerInterface $stager,
diff --git a/src/Validation/AdminStatusCheckMessages.php b/src/Validation/AdminStatusCheckMessages.php
index 4098fe870ae5f5b7942dea9a8bfdcc7d552efe49..acc27ca9ab4a93185f6751bf21eaf4f9333c315d 100644
--- a/src/Validation/AdminStatusCheckMessages.php
+++ b/src/Validation/AdminStatusCheckMessages.php
@@ -51,12 +51,12 @@ final class AdminStatusCheckMessages implements ContainerInjectionInterface {
    *   The renderer service.
    */
   public function __construct(
-    protected StatusChecker $statusChecker,
-    protected AdminContext $adminContext,
-    protected AccountProxyInterface $currentUser,
-    protected CurrentRouteMatch $currentRouteMatch,
-    protected CronUpdateStage $stage,
-    protected RendererInterface $renderer
+    private readonly StatusChecker $statusChecker,
+    private readonly AdminContext $adminContext,
+    private readonly AccountProxyInterface $currentUser,
+    private readonly CurrentRouteMatch $currentRouteMatch,
+    private readonly CronUpdateStage $stage,
+    private readonly RendererInterface $renderer
   ) {}
 
   /**
diff --git a/src/Validation/StatusCheckRequirements.php b/src/Validation/StatusCheckRequirements.php
index 482063aa6b1ea8bc90ba0ac70f6d809127b5b4cb..573d85938940c80656d350b3f19b5f2399981519 100644
--- a/src/Validation/StatusCheckRequirements.php
+++ b/src/Validation/StatusCheckRequirements.php
@@ -34,8 +34,10 @@ final class StatusCheckRequirements implements ContainerInjectionInterface {
    * @param \Drupal\Core\Datetime\DateFormatterInterface $dateFormatter
    *   The date formatter service.
    */
-  public function __construct(protected StatusChecker $statusChecker, protected DateFormatterInterface $dateFormatter) {
-  }
+  public function __construct(
+    private readonly StatusChecker $statusChecker,
+    private readonly DateFormatterInterface $dateFormatter
+  ) {}
 
   /**
    * {@inheritdoc}
diff --git a/src/Validation/StatusChecker.php b/src/Validation/StatusChecker.php
index 7a325c517093b30ee28e554e6ce7b2191731519c..cde3d100d7720e8e2b230f14e492df1cb2e32b7e 100644
--- a/src/Validation/StatusChecker.php
+++ b/src/Validation/StatusChecker.php
@@ -48,11 +48,11 @@ final class StatusChecker implements EventSubscriberInterface {
    */
   public function __construct(
     KeyValueExpirableFactoryInterface $key_value_expirable_factory,
-    protected TimeInterface $time,
-    protected EventDispatcherInterface $eventDispatcher,
-    protected UpdateStage $updateStage,
-    protected CronUpdateStage $cronUpdateStage,
-    protected int $resultsTimeToLive,
+    private readonly TimeInterface $time,
+    private readonly EventDispatcherInterface $eventDispatcher,
+    private readonly UpdateStage $updateStage,
+    private readonly CronUpdateStage $cronUpdateStage,
+    private readonly int $resultsTimeToLive,
   ) {
     $this->keyValueExpirable = $key_value_expirable_factory->get('automatic_updates');
   }
diff --git a/src/Validator/CronFrequencyValidator.php b/src/Validator/CronFrequencyValidator.php
index efe167ecdf1ca3442ed74c49a75a60d64cf9d4f6..5fffda02e7292968754857275f7371686547f099 100644
--- a/src/Validator/CronFrequencyValidator.php
+++ b/src/Validator/CronFrequencyValidator.php
@@ -69,11 +69,11 @@ class CronFrequencyValidator implements EventSubscriberInterface {
    *   The lock service.
    */
   public function __construct(
-    protected ConfigFactoryInterface $configFactory,
-    protected ModuleHandlerInterface $moduleHandler,
-    protected StateInterface $state,
-    protected TimeInterface $time,
-    protected LockBackendInterface $lock,
+    private readonly ConfigFactoryInterface $configFactory,
+    private readonly ModuleHandlerInterface $moduleHandler,
+    private readonly StateInterface $state,
+    private readonly TimeInterface $time,
+    private readonly LockBackendInterface $lock,
   ) {}
 
   /**
diff --git a/src/Validator/CronServerValidator.php b/src/Validator/CronServerValidator.php
index 125a225a5eb2b1fe288cda0fb488496691eb5361..8f7207867708a7367054882b3e2259abd495cf2f 100644
--- a/src/Validator/CronServerValidator.php
+++ b/src/Validator/CronServerValidator.php
@@ -57,8 +57,8 @@ final class CronServerValidator implements EventSubscriberInterface {
    */
   public function __construct(
     RequestStack $request_stack,
-    protected ConfigFactoryInterface $configFactory,
-    protected ModuleHandlerInterface $moduleHandler,
+    private readonly ConfigFactoryInterface $configFactory,
+    private readonly ModuleHandlerInterface $moduleHandler,
   ) {
     $this->request = $request_stack->getCurrentRequest();
   }
diff --git a/src/Validator/RequestedUpdateValidator.php b/src/Validator/RequestedUpdateValidator.php
index 1315063312742ae07ed7cf39bb6398d0493c03c4..60e09c88d17b6371bc66a454e4005418864f742e 100644
--- a/src/Validator/RequestedUpdateValidator.php
+++ b/src/Validator/RequestedUpdateValidator.php
@@ -28,8 +28,8 @@ class RequestedUpdateValidator implements EventSubscriberInterface {
    *   The path locator service.
    */
   public function __construct(
-    private ComposerInspector $composerInspector,
-    private PathLocator $pathLocator,
+    private readonly ComposerInspector $composerInspector,
+    private readonly PathLocator $pathLocator,
   ) {}
 
   /**
diff --git a/src/Validator/ScaffoldFilePermissionsValidator.php b/src/Validator/ScaffoldFilePermissionsValidator.php
index 854092c296c238a3ef4897a3e31dd25b2988476b..e8d3b8639b956c092931e31b2eb0b62d37e11f7b 100644
--- a/src/Validator/ScaffoldFilePermissionsValidator.php
+++ b/src/Validator/ScaffoldFilePermissionsValidator.php
@@ -35,8 +35,8 @@ final class ScaffoldFilePermissionsValidator implements EventSubscriberInterface
    *   The path locator service.
    */
   public function __construct(
-    private ComposerInspector $composerInspector,
-    private PathLocator $pathLocator,
+    private readonly ComposerInspector $composerInspector,
+    private readonly PathLocator $pathLocator,
   ) {}
 
   /**
diff --git a/src/Validator/StagedDatabaseUpdateValidator.php b/src/Validator/StagedDatabaseUpdateValidator.php
index 09b52a76a92dfd2c2708f648e52375c4a1b25c80..b3a3bb785409051a4a23257597ac69086f9fdf2f 100644
--- a/src/Validator/StagedDatabaseUpdateValidator.php
+++ b/src/Validator/StagedDatabaseUpdateValidator.php
@@ -28,7 +28,7 @@ class StagedDatabaseUpdateValidator implements EventSubscriberInterface {
    * @param \Drupal\package_manager\Validator\StagedDBUpdateValidator $stagedDBUpdateValidator
    *   The Staged DB Update Validator service.
    */
-  public function __construct(protected StagedDBUpdateValidator $stagedDBUpdateValidator) {
+  public function __construct(private readonly StagedDBUpdateValidator $stagedDBUpdateValidator) {
   }
 
   /**
diff --git a/src/Validator/StagedProjectsValidator.php b/src/Validator/StagedProjectsValidator.php
index c0f94fcf496bd1344a83f14cfca3df263ff48707..dcc231c259bb28c77b0a1b6a8305f6110b7300eb 100644
--- a/src/Validator/StagedProjectsValidator.php
+++ b/src/Validator/StagedProjectsValidator.php
@@ -32,8 +32,10 @@ final class StagedProjectsValidator implements EventSubscriberInterface {
    * @param \Drupal\package_manager\ComposerInspector $composerInspector
    *   The Composer inspector service.
    */
-  public function __construct(private PathLocator $pathLocator, private ComposerInspector $composerInspector) {
-  }
+  public function __construct(
+    private readonly PathLocator $pathLocator,
+    private readonly ComposerInspector $composerInspector
+  ) {}
 
   /**
    * Validates the staged packages.
diff --git a/src/Validator/VersionPolicy/TargetVersionInstallable.php b/src/Validator/VersionPolicy/TargetVersionInstallable.php
index 79ee6a656dcda80292725841d9bed75cc637c499..5b05a95f59c28b063df2225b1dfe52484a406fb1 100644
--- a/src/Validator/VersionPolicy/TargetVersionInstallable.php
+++ b/src/Validator/VersionPolicy/TargetVersionInstallable.php
@@ -29,7 +29,7 @@ final class TargetVersionInstallable implements ContainerInjectionInterface {
    * @param \Drupal\Core\Config\ConfigFactoryInterface $configFactory
    *   The config factory service.
    */
-  public function __construct(private ConfigFactoryInterface $configFactory) {}
+  public function __construct(private readonly ConfigFactoryInterface $configFactory) {}
 
   /**
    * {@inheritdoc}
diff --git a/src/Validator/VersionPolicyValidator.php b/src/Validator/VersionPolicyValidator.php
index 7bf7e7421afe64bdb09638ccaf3b71d34e78e4e9..32866729c0cbfabe84f5bd5f8c5f611554ff7007 100644
--- a/src/Validator/VersionPolicyValidator.php
+++ b/src/Validator/VersionPolicyValidator.php
@@ -49,9 +49,9 @@ final class VersionPolicyValidator implements EventSubscriberInterface {
    *   The Composer inspector service.
    */
   public function __construct(
-    private ClassResolverInterface $classResolver,
-    private PathLocator $pathLocator,
-    private ComposerInspector $composerInspector,
+    private readonly ClassResolverInterface $classResolver,
+    private readonly PathLocator $pathLocator,
+    private readonly ComposerInspector $composerInspector,
   ) {}
 
   /**