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

2.8.x is not compatible #104

Closed
mjvanmiddelaar opened this issue Jul 17, 2020 · 12 comments
Closed

2.8.x is not compatible #104

mjvanmiddelaar opened this issue Jul 17, 2020 · 12 comments

Comments

@mjvanmiddelaar
Copy link

When I first loaded this package i used composer require globalcitizen/php-iban. This placed an entry in my composer.json as following: "globalcitizen/php-iban": "^2.6",

Whenever run composer update, composer updates this package within the range of 2.x by default. After updating composer today, i noticed that my application broke because of the introduction of namespaces in 2.8.0.

I would like to suggest to release 3.0 and remove 2.8.x so anyone that assumes SemVer will not have a breaking application.

@globalcitizen
Copy link
Owner

globalcitizen commented Jul 17, 2020

I am not familiar with composer. I basically don't use PHP much these days. I have used it since 3.x.

If you are suggesting a version bump, I can do that on the next release, but I am not sure why 3.x should be any different to 2.x with respect to brokenness. Can you clarify?

Here is what I get.

$ composer -vvvvvvvvv require globalcitizen/php-iban
Failed to initialize global composer: Composer could not find the config file: /Users/user/.composer/composer.json
To initialize a project, please create a composer.json file as described in the https://getcomposer.org/ "Getting Started" section
Running 1.9.0 (2019-08-02 20:55:32) with PHP 7.4.8 on Darwin / 18.7.0
Failed to initialize global composer: Composer could not find the config file: /Users/user/.composer/composer.json
To initialize a project, please create a composer.json file as described in the https://getcomposer.org/ "Getting Started" section
Reading ./composer.json
Loading config file ./composer.json
Checked CA file /usr/local/etc/[email protected]/cert.pem: valid
Executing command (/Users/user/code/blah): git branch --no-color --no-abbrev -v
Executing command (/Users/user/code/blah): git describe --exact-match --tags
Executing command (/Users/user/code/blah): git log --pretty="%H" -n1 HEAD
Executing command (/Users/user/code/blah): hg branch
Executing command (/Users/user/code/blah): fossil branch list
Executing command (/Users/user/code/blah): fossil tag list
Executing command (/Users/user/code/blah): svn info --xml
Failed to initialize global composer: Composer could not find the config file: /Users/user/.composer/composer.json
To initialize a project, please create a composer.json file as described in the https://getcomposer.org/ "Getting Started" section
Downloading https://repo.packagist.org/packages.json
Writing /Users/user/.composer/cache/repo/https---repo.packagist.org/packages.json into cache
Reading /Users/user/.composer/cache/repo/https---repo.packagist.org/p-provider-2013.json from cache
Reading /Users/user/.composer/cache/repo/https---repo.packagist.org/p-provider-2014.json from cache
Downloading http://repo.packagist.org/p/provider-2015%24de45302eae45d5a9c2302fd1b33576b2817a3d367ad56412f53a4f9a52072071.json
Writing /Users/user/.composer/cache/repo/https---repo.packagist.org/p-provider-2015.json into cache
Reading /Users/user/.composer/cache/repo/https---repo.packagist.org/p-provider-2016.json from cache
Downloading http://repo.packagist.org/p/provider-2017%241f1a7b1f5ab5ff4154a687d9d74fb9f745253b79c2861554e590e8f075223885.json
Writing /Users/user/.composer/cache/repo/https---repo.packagist.org/p-provider-2017.json into cache
Downloading http://repo.packagist.org/p/provider-2018%2499e8ef09702cda26d39779e6c8d3d5b91488d208b525a82cdabe3a93f8624d1a.json
Writing /Users/user/.composer/cache/repo/https---repo.packagist.org/p-provider-2018.json into cache
Reading /Users/user/.composer/cache/repo/https---repo.packagist.org/p-provider-2019.json from cache
Reading /Users/user/.composer/cache/repo/https---repo.packagist.org/p-provider-2019-10.json from cache
Reading /Users/user/.composer/cache/repo/https---repo.packagist.org/p-provider-2020-01.json from cache
Downloading http://repo.packagist.org/p/provider-2020-04%24953c95be9846372948249070dd07a71322d69b5077bc44a171a72359efc9303a.json
Writing /Users/user/.composer/cache/repo/https---repo.packagist.org/p-provider-2020-04.json into cache
Downloading http://repo.packagist.org/p/provider-2020-07%24a8e08c135e77eec29fa3af808409491e52450bacbea4de4f1695a0f6e70d5a1c.json
Writing /Users/user/.composer/cache/repo/https---repo.packagist.org/p-provider-2020-07.json into cache
Downloading http://repo.packagist.org/p/provider-archived%242077b817cd58e6047117d1dc33351a6e25ee1524c111ce1d98bae037ac03ccd6.json
Writing /Users/user/.composer/cache/repo/https---repo.packagist.org/p-provider-archived.json into cache
Downloading http://repo.packagist.org/p/provider-latest%247dcf18be329c3bc87b9e4d59e8ddcec510680b8a42b6c32b19c1a6ec30d9459c.json
Writing /Users/user/.composer/cache/repo/https---repo.packagist.org/p-provider-latest.json into cache
Downloading http://repo.packagist.org/p/globalcitizen/php-iban%24eb090a9e4b455b6b68cfcbf945c1381dba927712efc6a9f493b19bc14d930fa7.json
Writing /Users/user/.composer/cache/repo/https---repo.packagist.org/provider-globalcitizen$php-iban.json into cache
Using version ^2.8 for globalcitizen/php-iban
./composer.json has been created
Reading ./composer.json
Loading config file ./composer.json
Executing command (/Users/user/code/blah): git branch --no-color --no-abbrev -v
Executing command (/Users/user/code/blah): git describe --exact-match --tags
Executing command (/Users/user/code/blah): git log --pretty="%H" -n1 HEAD
Executing command (/Users/user/code/blah): hg branch
Executing command (/Users/user/code/blah): fossil branch list
Executing command (/Users/user/code/blah): fossil tag list
Executing command (/Users/user/code/blah): svn info --xml
Failed to initialize global composer: Composer could not find the config file: /Users/user/.composer/composer.json
To initialize a project, please create a composer.json file as described in the https://getcomposer.org/ "Getting Started" section
Loading composer repositories with package information
Downloading https://repo.packagist.org/packages.json
Writing /Users/user/.composer/cache/repo/https---repo.packagist.org/packages.json into cache
Updating dependencies (including require-dev)
Reading /Users/user/.composer/cache/repo/https---repo.packagist.org/p-provider-2013.json from cache
Reading /Users/user/.composer/cache/repo/https---repo.packagist.org/p-provider-2014.json from cache
Reading /Users/user/.composer/cache/repo/https---repo.packagist.org/p-provider-2015.json from cache
Reading /Users/user/.composer/cache/repo/https---repo.packagist.org/p-provider-2016.json from cache
Reading /Users/user/.composer/cache/repo/https---repo.packagist.org/p-provider-2017.json from cache
Reading /Users/user/.composer/cache/repo/https---repo.packagist.org/p-provider-2018.json from cache
Reading /Users/user/.composer/cache/repo/https---repo.packagist.org/p-provider-2019.json from cache
Reading /Users/user/.composer/cache/repo/https---repo.packagist.org/p-provider-2019-10.json from cache
Reading /Users/user/.composer/cache/repo/https---repo.packagist.org/p-provider-2020-01.json from cache
Reading /Users/user/.composer/cache/repo/https---repo.packagist.org/p-provider-2020-04.json from cache
Reading /Users/user/.composer/cache/repo/https---repo.packagist.org/p-provider-2020-07.json from cache
Reading /Users/user/.composer/cache/repo/https---repo.packagist.org/p-provider-archived.json from cache
Reading /Users/user/.composer/cache/repo/https---repo.packagist.org/p-provider-latest.json from cache
Reading /Users/user/.composer/cache/repo/https---repo.packagist.org/provider-globalcitizen$php-iban.json from cache
Resolving dependencies through SAT
Looking at all rules.

Dependency resolution completed in 0.000 seconds
Analyzed 140 packages to resolve dependencies
Analyzed 76 rules to resolve dependencies
Package operations: 1 install, 0 updates, 0 removals
Installs: globalcitizen/php-iban:v2.8.0
  - Installing globalcitizen/php-iban (v2.8.0): Downloading https://api.github.com/repos/globalcitizen/php-iban/zipball/072fe329b8c5c6de42fa791d3bb107d9c98fd2de
Downloading (connecting...)
Following redirect (2) https://codeload.github.com/globalcitizen/php-iban/legacy.zip/072fe329b8c5c6de42fa791d3bb107d9c98fd2de
Downloading https://codeload.github.com/globalcitizen/php-iban/legacy.zip/072fe329b8c5c6de42fa791d3bb107d9c98fd2de
Downloading (100%)Writing /Users/user/.composer/cache/files/globalcitizen/php-iban/2bff2989b4583e08a2586759a82edb14955f1951.zip into cache from /Users/user/code/blah/vendor/globalcitizen/php-iban/6c129c0f14c8cc82aae2cd2990b9db82

 Extracting archiveExecuting command (CWD): unzip -qq  '/Users/user/code/blah/vendor/globalcitizen/php-iban/6c129c0f14c8cc82aae2cd2990b9db82' -d '/Users/user/code/blah/vendor/composer/238b8c2c'
    REASON: Required by the root package: Install command rule (install globalcitizen/php-iban v2.8.0)

Reading /Users/user/code/blah/vendor/composer/installed.json
Writing lock file
Generating autoload files

The generated composer.json has the following contents.

{
    "require": {
        "globalcitizen/php-iban": "^2.8"
    }
}

If I try to use the generated files it seems to work.

$ cd vendor
$ php autoload.php && echo works
works

Basically I don't understand what the problem is.

@globalcitizen
Copy link
Owner

Oh are you suggesting the namespacing change in 2.8 broke things? OK. Well, you are the second person to say that. I will release v3 then.

@globalcitizen
Copy link
Owner

Hopefully fixed with v3.0.0 release.

@mjvanmiddelaar
Copy link
Author

mjvanmiddelaar commented Jul 17, 2020

This is in regards with Semantic Versioning. See https://semver.org/

I would also suggest to release 2.9.0, reverting the namespace changes so that whomever updates within 2.x range, will update to the old namespace.

@globalcitizen
Copy link
Owner

I would also suggest to release 2.9.0, reverting the namespace changes so that whomever updates within 2.x range, will update to the old namespace.

Hrrm, agreed that makes sense. Project for another day though. My time today has run out!

@mjvanmiddelaar
Copy link
Author

Since 2.8.0 was already released with the new namespaces, anyone that started to use them will run into the issue of not being able to download the tag 2.8.x when installing via composer. They can revert to 2.7.x or update to 3.0.

Releasing 2.9 would require tagging 2.8 again, so perhaps the current situation is best and leave it at that.

@globalcitizen
Copy link
Owner

globalcitizen commented Jul 17, 2020 via email

@Ciki
Copy link

Ciki commented Jul 24, 2020

Hi @globalcitizen this is still causing problems as on packagist.org (used by composer) there is still 2.8 version but no 3.0 version . Maybe because you renamed the existing 2.8 tag to 3.0? Could you please bump to 3.0.1 or whatever just so it is pure new version and packagist will pull it?

Thanks

@globalcitizen
Copy link
Owner

globalcitizen commented Jul 24, 2020 via email

@Ciki
Copy link

Ciki commented Jul 24, 2020

it's documented there that if you just rename the tag, it is cached and will not be refreshed.. so it's rather feature than a bug. I think the correct way is to keep the original tag and issue a new release, in accordance with semver, i.e. keep 2.8, issue 2.8.1 (without namespaces) and issue 3.0.0. (with namespaces)

@globalcitizen
Copy link
Owner

Should be fixed now with v3.0.1. Please let me know if not resolved!

@Ciki
Copy link

Ciki commented Jul 25, 2020

resolved as now we can at least get v3.0.0 now, as mentioned in #105 thanks!

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

No branches or pull requests

3 participants