Skip to content

Dependency conflicts may prevent people taking more recent Behat releases #1637

@acoulton

Description

@acoulton

We have added two new composer dependencies in the last few releases:

  • v3.17.0 added "composer/xdebug-handler": "^3.0" - to allow us to improve performance by disabling xdebug unless requested
  • v3.20.0 added "nikic/php-parser": "^5.0" (subsequently bumped to ^5.2 in v3.21.0) - to power the YAML-to-PHP --convert-config command

Both of these packages are also required by a reasonable number of other packages (particularly for dev tools, though also some runtime).

This means that there are users out there with potentially complex dependency chains that prevent them from updating to the newer Behat releases.
That's a shame for users, but also means we have to be more cautious about assuming everyone will bump up Behat/Behat and Behat/Gherkin releases broadly in parallel (as discovered in Behat/Gherkin#317).

I think therefore that we should try to relax these requirements if we can:

  • composer/xdebug-handler v2 and v3 appear to be compatible other than PHP version support. I don't know how feasible it would be to also support v1, which is listed as a breaking release.
  • we do need the features of nikic/php-parser@^5.2 but only if/when the user runs the one-time --convert-config command. I don't imagine we will use it for anything else, so we should make this a suggested dependency, and ask the user to install it at runtime only if they try to use it.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions