1

We've created a bunch of bundles, that are compatible with Symfony 4.3, so we've set

  "conflict": {
    "symfony/browser-kit": ">=4.3",
    "symfony/http-kernel": ">=4.3"
  }

Now, we want to upgrade a project, that is using these bundles to Symfony 4.3. To prevent problems when upgrading to Symfony 4.4 at a later time, i would like to exclude all Symfony 4.4 packages like so:

  "conflict": {
    "symfony/*": ">=4.4"
  }

However, that doesn't seem to work:

Deprecation warning: conflict.symfony/* is invalid, it should have a vendor name, a forward slash, and a package name. The vendor and package name can be words separated by -, . or _. The complete name should match "a-z0-9/a-z0-9". Make sure you fix this as Composer 2.0 will error.

So the question is: Is there a way to set a whole vendor/version combination as conflicting within the composer.json? Or do i have to manually add all used symfony packages to the conflict block?


What i'll try now is:

  "conflict": {
    "symfony/symfony": ">=4.4"
  }

Maybe, that solves my problem already. But the question remains.

SGL
  • 341
  • 2
  • 15
  • This is an interesting question! ... not just from a technical pov but also in terms of licensing or even ethical compliance considering the possiblilty of an application or package with `{ "conflict": { "evil-corp/*": "*" }}` defined in it's `composer.json`. – Nicolai Fröhlich Sep 11 '19 at 00:53

0 Answers0