grpc-php icon indicating copy to clipboard operation
grpc-php copied to clipboard

Add PHP8.4 support by fixing nullable parameter typing, drop support of PHP7.0

Open shu-yusa opened this issue 10 months ago • 8 comments

From PHP8.4, a parameter that has null as a default value has to be typed as a nullable type: https://www.php.net/manual/en/migration84.deprecated.php In the code base, the factory methods of Status class have to be fixed to comply with this syntax. On the other hand, as pointed out in https://github.com/grpc/grpc-php/pull/37, nullable type is not available in 7.0 (https://www.php.net/manual/en/migration71.new-features.php), which is supported in this library. Since the versions 7.0 - 8.0 have reached the EOL (https://www.php.net/supported-versions.php) as of now, I would like to propose dropping support of these versions, and adding support of 8.4. In order not to break users who are using this library in these EOL versions, I think the major version should be lifted. I also found the library google/auth is not used in any place in the code base. It should be added by library users if necessary, rather than by this library.

shu-yusa avatar Feb 25 '25 02:02 shu-yusa

CLA Signed

The committers listed above are authorized under a signed CLA.

  • :white_check_mark: login: shu-yusa / name: Shusaku Yusa (b7e2b061ace204742ba38e50f1b48df4872a8ca9, 5f75c3a0f24fe7c0492e27ac361939985d951cb5, 65c9d6bafa06c81860007dc98fd3cf8510b782e5, 15dadda77146867c2bbd3f167517059c87b74b25)

@PNardman @stanley-cheung How's changing like this, and tagging 2.0.0 by the release?

shu-yusa avatar Feb 26 '25 03:02 shu-yusa

@PNardman @stanley-cheung How's changing like this, and tagging 2.0.0 by the release?

Plus one would love this!

PNardman avatar Feb 26 '25 15:02 PNardman

Nice I need this as well 💪🏽

mhv666 avatar Mar 05 '25 09:03 mhv666

@stanley-cheung would you be able to take a look at this PR?

shu-yusa avatar Mar 10 '25 00:03 shu-yusa

Everyone is still waiting for this. 🙏

PNardman avatar Apr 07 '25 09:04 PNardman

I noticed the README says a request should be sent to https://github.com/grpc/grpc I created a PR in that repository: https://github.com/grpc/grpc/pull/39199

shu-yusa avatar Apr 09 '25 08:04 shu-yusa

synced with the update in https://github.com/grpc/grpc/pull/39199. Still waiting for a review

shu-yusa avatar Jun 24 '25 05:06 shu-yusa

The update has been merged by https://github.com/grpc/grpc-php/pull/40. will close this PR

shu-yusa avatar Jul 28 '25 02:07 shu-yusa