Skip to content

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

@Goosterhof

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions