Change the dependencies guzzlehttp/promises and symfony/options-resolver in favor of php 8 support - #1144
Merged
ste93cry merged 6 commits intoNov 28, 2020
Conversation
…ions-resolver` in favor of php 8 support
chris-doehring
marked this pull request as ready for review
November 27, 2020 23:02
Merged
ste93cry
suggested changes
Nov 28, 2020
ste93cry
approved these changes
Nov 28, 2020
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I'm still trying to help regarding php 8 support, so I checked the remaining CI issues and found two dependency issues when installing under lowest compatibility that this PR will address.
guzzlehttp/promises:
^1.3=>^1.4In #1079 the promise
new FulfilledPromise(true);has been added to several Transport classes, which is theoretically valid, but due to a lax check of data types, this causes an error underguzzlehttp/promises1.3.*, since it will be assumed that the parameter is an object or string without checking. in1.4.0there is an additionalis_objectcheck which prevents that from happening(guzzle/promises@3976c7d).
symfony/options-resolver:
^3.4.4|^4.0|^5.0=>^3.4.43|^4.4.11|^5.0.11Several reflection methods have been deprecated or changed in php 8 and therefor the Symfony Team adjusted the package accordingly to make
options-resolvercompatible to php 8. The latest changes are available in version constraint^3.4.43|^4.4.11|^5.0.11:https://github.com/symfony/options-resolver/releases/tag/v3.4.43
https://github.com/symfony/options-resolver/releases/tag/v4.4.11
https://github.com/symfony/options-resolver/releases/tag/v5.0.11
These two changes have no impact on the lowest php version support of this package. After this PR, it seems only the Segmentation faults are still blocking the support for php 8.
EDIT: I had to change the symfony version constraint again. In the first version I assumed no php 8 compatibility for Symfony 3.