Skip to content

Upgrade Symfony dependencies to 7.4 LTS#86

Merged
zajca merged 1 commit intomainfrom
zajca/update-deps
Mar 13, 2026
Merged

Upgrade Symfony dependencies to 7.4 LTS#86
zajca merged 1 commit intomainfrom
zajca/update-deps

Conversation

@zajca
Copy link
Member

@zajca zajca commented Mar 11, 2026

Summary

  • Upgrade all Symfony components to ^7.4 LTS (console 3.4 -> 7.4, event-dispatcher 6.4 -> 7.4, config 6.4 -> 7.4)
  • Fix execute() signatures in 6 command files (public ?int -> protected int) as required by Symfony 7
  • Replace deprecated $defaultName property with #[AsCommand] attribute in QueueMassTerminateJobs
  • Fix PHPStan errors caused by stricter Symfony 7 return types (getArguments() -> getArgument() + assertions)
  • Remove unused direct psr/log dependency
  • Removed deprecated packages: symfony/debug, symfony/polyfill-php80, symfony/polyfill-php81

Test plan

  • PHPStan level 9 passes (0 errors)
  • PHPCS passes (0 errors)
  • php cli.php list loads all 24 commands
  • Docker build succeeds (PHP 8.3)
  • All checks pass inside Docker container

- symfony/console 3.4 -> 7.4, symfony/event-dispatcher 6.4 -> 7.4, symfony/config 6.4 -> 7.4
- Fix execute() signatures: public ?int -> protected int (Symfony 7 requirement)
- Replace $defaultName with #[AsCommand] attribute in QueueMassTerminateJobs
- Fix PHPStan errors: use getArgument() with assertions instead of getArguments()
- Remove unused psr/log direct dependency
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Upgrades this CLI utilities project to Symfony 7.4 LTS and aligns command implementations with Symfony 7’s Console API expectations (command registration + execute() signatures), while refreshing the dependency lockfile accordingly.

Changes:

  • Upgrade Symfony components to ^7.4 (notably symfony/console, symfony/event-dispatcher, symfony/config) and update composer.lock to match.
  • Update multiple console commands to Symfony 7-compatible execute() signatures and adjust argument access for stricter typing.
  • Migrate QueueMassTerminateJobs from deprecated $defaultName to #[AsCommand].

Reviewed changes

Copilot reviewed 8 out of 9 changed files in this pull request and generated no comments.

Show a summary per file
File Description
composer.json Bumps Symfony requirements to ^7.4 and removes direct psr/log requirement.
composer.lock Large lock refresh to Symfony 7.4-era dependency graph and updated transitive packages.
src/Keboola/Console/Command/UpdateDataRetention.php Updates execute() signature + argument retrieval/assertions for Symfony 7 typing.
src/Keboola/Console/Command/QueueMassTerminateJobs.php Replaces $defaultName with #[AsCommand] attribute.
src/Keboola/Console/Command/ProjectsRemoveFeature.php Updates execute() signature for Symfony 7.
src/Keboola/Console/Command/ProjectsAddFeature.php Updates execute() signature + argument retrieval/assertions.
src/Keboola/Console/Command/OrganizationsAddFeature.php Updates execute() signature + argument retrieval/assertions.
src/Keboola/Console/Command/AllStacksIterator.php Updates execute() signature for Symfony 7.
src/Keboola/Console/Command/AddFeature.php Updates execute() signature + argument retrieval/assertions.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@zajca zajca requested a review from vojtabiberle March 11, 2026 09:01
@zajca zajca merged commit db7d4d4 into main Mar 13, 2026
5 checks passed
@zajca zajca deleted the zajca/update-deps branch March 13, 2026 13:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants