Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tag v1.8 *requires* Laravel 5.8, not supports #30

Closed
soundsgoodsofar opened this issue May 1, 2019 · 4 comments
Closed

Tag v1.8 *requires* Laravel 5.8, not supports #30

soundsgoodsofar opened this issue May 1, 2019 · 4 comments

Comments

@soundsgoodsofar
Copy link

Not sure if this is intentional, but since the README on 1.8 still says "supports laravel 5.5.29+", I'm guessing it's not.

I have laravel/framework locked to 5.5.* in my composer file (5.5 is LTS), and when attempting to install 1.8 I get a conflict due to the laravel requirements in your composer.json.

Output follows

# composer require staudenmeir/eloquent-has-many-deep:"^1.8"
./composer.json has been updated                                                    
Loading composer repositories with package information
Updating dependencies (including require-dev) 
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for staudenmeir/eloquent-has-many-deep ^1.8 -> satisfiable by staudenmeir/eloquent-has-many-deep[v1.8].
    - Conclusion: remove laravel/framework v5.5.45
    - Conclusion: don't install laravel/framework v5.5.45
    - staudenmeir/eloquent-has-many-deep v1.8 requires illuminate/database 5.8.* -> satisfiable by illuminate/database[v5.8.0, v5.8.11, v5.8.12, v5.8.14, v5.8.15, v5.8.2, v5.8.3, v5.8.4, v5.8.8, v5.8.9].
    - don't install illuminate/database v5.8.0|don't install laravel/framework v5.5.45
    - don't install illuminate/database v5.8.11|don't install laravel/framework v5.5.45
    - don't install illuminate/database v5.8.12|don't install laravel/framework v5.5.45
    - don't install illuminate/database v5.8.14|don't install laravel/framework v5.5.45
    - don't install illuminate/database v5.8.15|don't install laravel/framework v5.5.45
    - don't install illuminate/database v5.8.2|don't install laravel/framework v5.5.45
    - don't install illuminate/database v5.8.3|don't install laravel/framework v5.5.45
    - don't install illuminate/database v5.8.4|don't install laravel/framework v5.5.45
    - don't install illuminate/database v5.8.8|don't install laravel/framework v5.5.45
    - don't install illuminate/database v5.8.9|don't install laravel/framework v5.5.45
    - Installation request for laravel/framework (locked at v5.5.45, required as 5.5.*) -> satisfiable by laravel/framework[v5.5.45].


Installation failed, reverting ./composer.json to its original content.
@staudenmeir
Copy link
Owner

Why do you want to install v1.8? v1.8 offers the same features as v1.7, but for Laravel 5.8.

If you use composer require staudenmeir/eloquent-has-many-deep:"^1.7" from the README, you always get the correct release that matches your Laravel version.

@soundsgoodsofar
Copy link
Author

Ah I see. Yes I did install 1.7.

I think the issue is it's confusing that the README.md in 1.8 still says "Supports Laravel 5.5.29+" which is now incorrect for 1.8 and the master branch. Often people are going to manage their package versions manually and not just go by your own installation recommendation--my tolerance for automatic major/minor package updates may be different from your project's ideas about it.

Generally what I see done to get around the problem of having a master branch README.md that still needs to work for old tags is to just spell it out:

Laravel 5.5.29+, 5.6.*, 5.7.*

composer require staudenmeir/eloquent-has-many-deep:"^1.7"

Laravel 5.8.*

composer require staudenmeir/eloquent-has-many-deep:"^1.8"

Up to you, but just my 2 cents--it confused me.

@staudenmeir
Copy link
Owner

the README.md in 1.8 still says "Supports Laravel 5.5.29+"

Since the package doesn't have its own website, the latest README represents the whole package and all of its versions. If people would visit the GitHub/Packagist page and only see "Supports Laravel 5.8", they wouldn't go looking for older versions that support Laravel 5.5–5.7 (I assume).

I chose composer require staudenmeir/eloquent-has-many-deep:"^1.7" because it works for everybody and people don't have to think about the Laravel version they are using.

Often people are going to manage their package versions manually

Personally, I think that only very few manage this manually (at least for small add-ons like this). That's why I chose not to add a compatibility list (as long as there aren't new major versions with breaking changes). But I'll think about it.

@staudenmeir
Copy link
Owner

I've added a compatibility list to the README:
https://github.com/staudenmeir/eloquent-has-many-deep#versions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants