8000 [3.0] Update required PHP to 5.5.9 by nicolas-grekas · Pull Request #12522 · symfony/symfony · GitHub
[go: up one dir, main page]

Skip to content

[3.0] Update required PHP to 5.5.9 #12522

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

Merged
merged 2 commits into from
Dec 30, 2014
Merged

Conversation

nicolas-grekas
Copy link
Member
Q A
Bug fix? no
New feature? no
BC breaks? yes
Deprecations? no
Tests pass? yes
Fixed tickets #13126, #12778
License MIT
Doc PR -

This PR upgrades composer.json files to php>=5.5.9
5.5.9 is the lowest version available on Travis and the version shipped with Ubuntu LTS 14.04.
We can change the php version later when we'll agree on some other requirement, but currently, this is required to safely merge in master without having some users reporting issues because they have a dev-master@dev requirement.

@@ -16,7 +16,7 @@
}
],
"require": {
"php": ">=5.3.3",
"php": ">=5.5.0",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think ">=5.5" is enough

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because we somehow know, that PHP7 will (probably) fail, maybe ~5.5 is safer? At some point one can loosen this restriction.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Personally I prefer verbosity: "5.*, >= 5.5". But afaik, ~ is standard within symfony. When php7 is about to be released, it's a good idea to put php7 in travis and have phpunit test against it. Until than, no compatibility can be guaranteed with php7, thus it should be within the 5.* range.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why not greater than or equal to 5.5 and less than 7? no reason to exclude 5.6. folks are already using it.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i think ~5.5 would suffice, then later it can be changed into a more specifix >=5.5,<7.999 or something.

edit: ~5.5 matches the same as >=5.5,<6

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@iltar There is a difference between 5.*,>=5.5 and ~5.5, but I always forget the details 😶 Therefore the "compatible with" notation (~x.y) should be the prefered one.

@jrobeson ~5.5 covers 5.6(5.7, 5.8, ...) as well.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kingcrunch : i already forgot about no php 6 :)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kingcrunch I don't see any differences: https://getcomposer.org/doc/01-basic-usage.md#next-significant-release-tilde-operator-

afaik the follow constraints all yield the same:

  ~5.5
 >=5.5, <6
   5.*, <6
   5.*, >=5.5

Regarding the <6, I'm not sure how Alpha, Beta and RC are treated... I think it just depends on the stability setting.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

5.*, >=5.5 is rewritten to >=5.0, <6-dev, >=5.5. This will match the same than ~5.5 which is rewritten to >=5.5, <6-dev It will just give more work to Composer when matching constraint by checking 2 lower bound while the 5.5 one is enought to restrict things

5.*, <6 is not equivalent. It is the same than `5.*`` (given that 5.x is always lower than 6.0), which allows 5.4

And >=5.5, <6 is not equivalent to ~5.5, because it uses 6.0.0.0 as upper bound for the constraint, which is higher than pre-release for 6.0. The upper bound of the semantic operator is 6.0.0.0-dev (the number of 0 does not matter, but Composer normalizes to 4 digit parts because of version_compare doing crap for different numbers of parts), which is the first dev snapshot of 6.0 (i.e. a tag v6.0-dev, equivalent to what we called "Preview releases" in the Symfony 2.0 history).
Then, if you allow only dev stability, pre-releases will indeed be forbidden. But symfony does not control the stability setting, so it must write its constraint as if the dev stability was allowed to be selected.

@linaori
Copy link
Contributor
linaori commented Nov 20, 2014

👍 now my PR won't fail on Travis anymore

@@ -30,14 +30,14 @@
"symfony/dependency-injection": "self.version",
"symfony/debug": "self.version",
"symfony/debug-bundle": "self.version",
"symfony/doctrine-bridge": "self.version",
"symfony/doctrine-bridge": "2.99.99",
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks to these 2.99.99 instead of self.version, composer now succeeds at satisfying the doctrine/doctrine-bundle dependencies, and tests are run again.

@stof
Copy link
Member
stof commented Nov 21, 2014

All inter-component dependencies should be updated as well, because currently, each component at 3.0.x dev says it requires 2.x versions of its dependencies (it may be fine to allow both 2.x and 3.x when both work, but it should allow 3.x at least)

@nicolas-grekas nicolas-grekas changed the title Update required PHP to 5.5.0 [3.0] Update required PHP to 5.5.0 Dec 26, 2014
@nicolas-grekas nicolas-grekas force-pushed the php550 branch 3 times, most recently from 8181e6b to cd22cc6 Compare December 26, 2014 18:28
@saro0h
Copy link
Contributor
saro0h commented Dec 26, 2014

👍

@nicolas-grekas
Copy link
Member Author

See also sibling PR on 2.7: #13135

@nicolas-grekas nicolas-grekas changed the title [3.0] Update required PHP to 5.5.0 [3.0] Update required PHP to 5.5.09 Dec 28, 2014
@nicolas-grekas nicolas-grekas changed the title [3.0] Update required PHP to 5.5.09 [3.0] Update required PHP to 5.5.9 Dec 28, 2014
@nicolas-grekas nicolas-grekas force-pushed the php550 branch 3 times, most recently from a166ec2 to d81b177 Compare December 28, 2014 10:05
@nicolas-grekas nicolas-grekas force-pushed the php550 branch 3 times, most recently from 915f937 to 603c204 Compare December 28, 2014 10:26
@fabpot
Copy link
Member
fabpot commented Dec 29, 2014

👍

@nicolas-grekas nicolas-grekas force-pushed the php550 branch 2 times, most recently from aa7ff0c to fa83c13 Compare December 29, 2014 09:35
@nicolas-grekas
Copy link
Member Author

Greeeeeeeeeeeeeen ! :)
If this gets accepted, before merging, please merge #13135 and #13144 and let me rebase on the result.

@saro0h
Copy link
Contributor
saro0h commented Dec 29, 2014

036b67d34fd7cb1c23dfffb750543f0a652249d60a01aee2b56c8b82a71258c2

"psr/log": "~1.0"
},
"replace": {
"symfony/browser-kit": "self.version",
"symfony/class-loader": "self.version",
"symfony/config": "self.version",
"symfony/console": "self.version",
"symfony/config": "2.99.99",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For my information, what purpose has this version?

@nicolas-grekas
Copy link
Member Author

@Tobion 2.99.99 versions are for doctrine/common that in turn has ~2.x requirements. Without this we can't make composer happy. Some of them could be removed after merging #13135. The remaining will need a patch on doctrine.

As a side but important note, I do not expect these requirements, nor those in #13135, to be the definitive ones when .0 will be tagged on 2.7 and 3.0. It's just a step to make tests greens and allow moving forward with the eyes wide opened.

@nicolas-grekas nicolas-grekas force-pushed the php550 branch 4 times, most recently from 930e8c6 to 7a8c1ab Compare December 30, 2014 09:53
@fabpot
Copy link
Member
fabpot commented Dec 30, 2014

Thank you @nicolas-grekas.

@fabpot fabpot merged commit 35e0845 into symfony:master Dec 30, 2014
fabpot added a commit that referenced this pull request Dec 30, 2014
…amCampbell)

This PR was merged into the 3.0-dev branch.

Discussion
----------

[3.0] Update required PHP to 5.5.9

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | yes
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #13126, #12778
| License       | MIT
| Doc PR        | -

This PR upgrades composer.json files to php>=5.5.9
5.5.9 is the lowest version available on Travis and the version shipped with Ubuntu LTS 14.04.
We can change the php version later when we'll agree on some other requirement, but currently, this is required to safely merge in master without having some users reporting issues because they have a `dev-master@dev` requirement.

Commits
-------

35e0845 [3.0] Removed some old hacks
fddcb86 [3.0] Update required PHP to 5.5.9
@nicolas-grekas nicolas-grekas deleted the php550 branch December 30, 2014 13:23
wouterj added a commit to symfony/symfony-docs that referenced this pull request Jan 16, 2015
This PR was merged into the master branch.

Discussion
----------

bump Symfony requirements to PHP 5.5

| Q             | A
| ------------- | ---
| Doc fix?      | yes
| New docs?     | no (but mandatory due to symfony/symfony#12522)
| Applies to    | 3.0+
| Fixed tickets |

Commits
-------

bcab77b bump Symfony requirements to PHP 5.5
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

Successfully merging this pull request may close these issues.

10 participants
0