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

Update to require PHP 7.1+ #222

Merged
merged 3 commits into from
May 19, 2024
Merged

Update to require PHP 7.1+ #222

merged 3 commits into from
May 19, 2024

Conversation

SimonFrings
Copy link
Member

@SimonFrings SimonFrings commented Feb 27, 2024

This changeset updates the project to require PHP 7.1+ and drop legacy PHP < 7.1 and HHVM as discussed in #219. I'm marking this as a BC break for anybody still stuck on very old PHP versions, but there's little chance this will affect any current projects otherwise.

This PR aims to contain the minimal changeset to update the PHP version requirement only. Follow-up PRs will update our APIs to leverage newer language features.

FYI: I used reactphp/cache#58, reactphp/stream#175 and reactphp/event-loop#276 as inspiration.

Builds on top of #101, #170, #217, #220 and others

@SimonFrings SimonFrings added this to the v3.0.0 milestone Feb 27, 2024
Copy link
Member

@WyriHaximus WyriHaximus left a comment

Choose a reason for hiding this comment

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

Looks good overall, but found some points worth addressing.

src/Query/TcpTransportExecutor.php Show resolved Hide resolved
tests/Protocol/ParserTest.php Outdated Show resolved Hide resolved
tests/Query/TcpTransportExecutorTest.php Outdated Show resolved Hide resolved
tests/Query/UdpTransportExecutorTest.php Outdated Show resolved Hide resolved
tests/Resolver/ResolveAliasesTest.php Outdated Show resolved Hide resolved
tests/Resolver/ResolverTest.php Outdated Show resolved Hide resolved
Copy link
Member

@clue clue left a comment

Choose a reason for hiding this comment

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

@SimonFrings Thanks for looking into this! Excellent work so far, only spotted some minor oversights below.

Also noticed that there are still a number of assertInstanceOf() calls with class name strings. I would suggest updating this to the class syntax (StringClassNameToClassConstantRector is your friend) while we're at it as suggested in reactphp/stream#175 (review).

src/Query/TcpTransportExecutor.php Outdated Show resolved Hide resolved
src/Query/UdpTransportExecutor.php Outdated Show resolved Hide resolved
tests/Query/CoopExecutorTest.php Outdated Show resolved Hide resolved
tests/Query/HostsFileExecutorTest.php Outdated Show resolved Hide resolved
Copy link
Member

@clue clue left a comment

Choose a reason for hiding this comment

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

@SimonFrings Thanks for the update, changes LGTM! :shipit:

Copy link
Member

@WyriHaximus WyriHaximus left a comment

Choose a reason for hiding this comment

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

Sweet, thanks for updating everything 👍

@WyriHaximus WyriHaximus merged commit d9681b1 into reactphp:3.x May 19, 2024
9 checks passed
WyriHaximus added a commit to WyriHaximus-labs/dns that referenced this pull request May 22, 2024
This changeset improves PHP 8.4+ support by avoiding implicitly nullable types as discussed in reactphp/promise#260.

I'm planning to add native types to the public API and introduce PHPStan in follow-up PRs.

Once merged, we should apply similar changes to all our upcoming v3 components. On top of this, we should backport similar changes to the v1 branch.

Builds on top of reactphp#182, reactphp#222 and reactphp/promise#260
WyriHaximus added a commit to WyriHaximus-labs/dns that referenced this pull request May 27, 2024
This changeset adds native types to the public API as discussed in reactphp#219.

Once merged, I'm planning to add PHPStan in a follow-up PR which would take advantage of these types.

Builds on top of reactphp#222, reactphp#223 and reactphp/cache#60
WyriHaximus added a commit to WyriHaximus-labs/dns that referenced this pull request May 27, 2024
This changeset adds native types to the public API as discussed in reactphp#219.

Once merged, I'm planning to add PHPStan in a follow-up PR which would take advantage of these types.

Builds on top of reactphp#222, reactphp#223 and reactphp/cache#60
WyriHaximus added a commit to WyriHaximus-labs/dns that referenced this pull request May 30, 2024
This changeset improves PHP 8.4+ support by avoiding implicitly nullable types as discussed in reactphp/promise#260.

I'm planning to add native types to the public API and introduce PHPStan in follow-up PRs.

Once merged, we should apply similar changes to all our upcoming v3 components. On top of this, we should backport similar changes to the v1 branch.

Builds on top of reactphp#182, reactphp#222 and reactphp/promise#260
WyriHaximus added a commit to WyriHaximus-labs/dns that referenced this pull request Jun 5, 2024
This changeset improves PHP 8.4+ support by avoiding implicitly nullable types as discussed in reactphp/promise#260.

I'm planning to add native types to the public API and introduce PHPStan in follow-up PRs.

Once merged, we should apply similar changes to all our upcoming v3 components. On top of this, we should backport similar changes to the v1 branch.

Builds on top of reactphp#182, reactphp#222 and reactphp/promise#260
WyriHaximus added a commit to WyriHaximus-labs/dns that referenced this pull request Jun 5, 2024
This changeset improves PHP 8.4+ support by avoiding implicitly nullable types as discussed in reactphp/promise#260.

I'm planning to add native types to the public API and introduce PHPStan in follow-up PRs.

Once merged, we should apply similar changes to all our upcoming v3 components. On top of this, we should backport similar changes to the v1 branch.

Builds on top of reactphp#182, reactphp#222 and reactphp/promise#260
WyriHaximus added a commit to WyriHaximus-labs/dns that referenced this pull request Jun 5, 2024
This changeset adds native types to the public API as discussed in reactphp#219.

Once merged, I'm planning to add PHPStan in a follow-up PR which would take advantage of these types.

Builds on top of reactphp#222, reactphp#223 and reactphp/cache#60
WyriHaximus added a commit to WyriHaximus-labs/dns that referenced this pull request Jun 13, 2024
This changeset adds native types to the public API as discussed in reactphp#219.

Once merged, I'm planning to add PHPStan in a follow-up PR which would take advantage of these types.

Builds on top of reactphp#222, reactphp#223 and reactphp/cache#60
WyriHaximus added a commit to WyriHaximus-labs/dns that referenced this pull request Jun 13, 2024
This changeset adds native types to the public API as discussed in reactphp#219.

Once merged, I'm planning to add PHPStan in a follow-up PR which would take advantage of these types.

Builds on top of reactphp#222, reactphp#223 and reactphp/cache#60
WyriHaximus added a commit to WyriHaximus-labs/dns that referenced this pull request Jun 13, 2024
This changeset adds native types to the public API as discussed in reactphp#219.

Once merged, I'm planning to add PHPStan in a follow-up PR which would take advantage of these types.

Builds on top of reactphp#222, reactphp#223 and reactphp/cache#60
WyriHaximus added a commit to WyriHaximus-labs/dns that referenced this pull request Jun 13, 2024
This changeset adds native types to the public API as discussed in reactphp#219.

Once merged, I'm planning to add PHPStan in a follow-up PR which would take advantage of these types.

Builds on top of reactphp#222, reactphp#223 and reactphp/cache#60
WyriHaximus added a commit to WyriHaximus-labs/dns that referenced this pull request Jun 14, 2024
This changeset adds native types to the public API as discussed in reactphp#219.

Once merged, I'm planning to add PHPStan in a follow-up PR which would take advantage of these types.

Builds on top of reactphp#222, reactphp#223 and reactphp/cache#60
WyriHaximus added a commit to WyriHaximus-labs/dns that referenced this pull request Jun 14, 2024
This changeset adds native types to the public API as discussed in reactphp#219.

Once merged, I'm planning to add PHPStan in a follow-up PR which would take advantage of these types.

Builds on top of reactphp#222, reactphp#223 and reactphp/cache#60
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants