Skip to content

Remove temporary symfony/console ^7 pin once Infection supports Symfony Console 8 #30

Description

@Goosterhof

Context

PR #29 pinned symfony/console: ^7.2 in require-dev as a temporary fix for a repo-wide CI breakage.

symfony/console v8.1.0 (released 2026-05-29) crashes Infection 0.33.x's mutation runner:

In Container.php line 194:
  Unknown service "Symfony\Component\Console\Helper\QuestionHelper"

Infection's DI container registers QuestionHelper as a service in a way Symfony Console 8 no longer supports, so composer mutation:ci aborts with exit 1 and fails the check job. Because composer.lock is gitignored, CI resolves dependencies fresh on every run; illuminate/* v13 permits Symfony 8, so the resolver began pulling v8.1.0 — turning green PRs red overnight with no source change.

Confirmed on both Infection 0.33.1 and 0.33.2.

Why this needs tracking

The pin silently holds the package's dev toolchain a full Symfony major behind. Left unattended it becomes invisible debt and will eventually fight illuminate/* once a future Laravel requires Symfony 8.

Done-when

  • Infection releases a version compatible with symfony/console ^8 (watch infection/infection releases / a tracking issue there for the QuestionHelper service change).
  • Bump infection/infection to that version.
  • Widen or remove the symfony/console: ^7.2 constraint in require-dev.
  • Verify composer mutation:ci green on a fresh resolve (Symfony 8 present).

References

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    Agent Review RequestedRequesting review of specialized AI review agents.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions