craftcms / element-api

Create a JSON API/Feed for your elements in Craft.
MIT License
498 stars 56 forks source link

league/fractal locked @0.16.0 blocking update of other plugin with same dependency #109

Closed whoisjuan closed 4 years ago

whoisjuan commented 4 years ago

craftcms/element-api has a dependency on fractal. There's a new version of fractal but although you have it in the schema defined with a caret version range, it's forcing me to have 0.16.0 and not working on 0.18.0. See the following:

Problem 1

Could we get an update of that dependency requirement?

khalwat commented 4 years ago

Here are the Composer requirements:

craftcms/element-api's requirements:

    "league/fractal": "^0.16.0"

rias/craft-scout's requirements:

        "league/fractal": "^0.18.0"

These are very compatible semvers... so my guess @whoisjuan it's likely that you have league/fractal explicitly listed in your project's main composer.json file.

Remove any references to league/fractal from your project's composer.json and do a composer update

khalwat commented 4 years ago

Never mind, it's because of the treatment of < 0. releases, so ^0.16.0 will never match anything higher than 0.16.99

https://semver.mwl.be/#!?package=league%2Ffractal&version=%5E0.16.0&minimum-stability=stable

brandonkelly commented 4 years ago

Element API 2.6.0 is out now with Fractal 0.18.

jamesmacwhite commented 4 years ago

This seems to be possibly happening again:

  Problem 1
    - Installation request for rias/craft-scout ^2.2 -> satisfiable by rias/craft-scout[2.2.0].
    - Conclusion: remove league/fractal 0.18.0
    - Conclusion: don't install league/fractal 0.18.0
    - rias/craft-scout 2.2.0 requires league/fractal ^0.19 -> satisfiable by league/fractal[0.19, 0.19.1, 0.19.2].
    - Can only install one of: league/fractal[0.19, 0.18.0].
    - Can only install one of: league/fractal[0.19.1, 0.18.0].
    - Can only install one of: league/fractal[0.19.2, 0.18.0].
    - Installation request for league/fractal (locked at 0.18.0) -> satisfiable by league/fractal[0.18.0].

Scout 2.2 (recently released) is now wanting ^0.19 for league/fractal, where as the Element API is fixed at ^0.18.

aaronbushnell commented 10 months ago

Having this same issue where we have package that requires league/fractal ^0.20.1. Any shot Element API could get a version bump on this? Looks like the latest version offers a good deal of modern PHP benefits: https://github.com/thephpleague/fractal/releases/tag/0.20