Drop support for PHP 8.1, Add support for PHP 8.5#45
Conversation
Signed-off-by: sandesh.as <cod48668@adobe.com>
Signed-off-by: sandesh.as <cod48668@adobe.com>
Signed-off-by: sandesh.as <cod48668@adobe.com>
Signed-off-by: sandesh.as <cod48668@adobe.com>
|
@Xerkus We've completed the work to add PHP 8.5 support, and the PR is now ready for review and merge. Thank you for your support! |
|
Hi @Xerkus @froschdesign, Thanks again! |
Signed-off-by: sandesh.as <cod48668@adobe.com>
Signed-off-by: sandesh.as <cod48668@adobe.com>
Signed-off-by: sandesh.as <cod48668@adobe.com>
Signed-off-by: sandesh.as <cod48668@adobe.com>
Signed-off-by: sandesh.as <cod48668@adobe.com>
Signed-off-by: sandesh.as <cod48668@adobe.com>
abafa4b to
6634107
Compare
Signed-off-by: sandesh.as <cod48668@adobe.com>
225507d to
60671e8
Compare
Signed-off-by: sandesh.as <cod48668@adobe.com>
|
@froschdesign As most of the Laminas dependencies are now available and compatible with PHP 8.5, thank you very much for your support and for reviewing and merging the PRs so far — it’s really appreciated. I just wanted to check if there is any tentative or upcoming release timeline, as it would help us prioritize and plan around this PR more effectively. Additionally, I have one more question, and please let me know if this isn’t the right place to raise it: laminas/laminas-modulemanager depends on laminas/laminas-config, which is currently marked as abandoned. Similarly, laminas/laminas-captcha depends on laminas/laminas-text, which is also abandoned. laminas/laminas-http depends on laminas/laminas-loader, which is abandoned as well. I noticed that the laminas/laminas-loader dependency has already been removed in laminas/laminas-http:dev-3.x. Is there any plan to release a stable 3.x version of laminas/laminas-http, and more broadly, is there a roadmap or initiative to phase out or replace these abandoned dependencies across Laminas packages? Since these abandoned dependencies are not compatible with PHP 8.5, they may potentially cause compatibility or maintenance issues. Thanks again for all the help and guidance. Looking forward to your inputs. |
When I find the time, I'll look through all the pull requests for PHP 8.5, but unfortunately I can't give you a timeline for that. However, I think it will be sooner rather than later.
I don't think there will be any changes here, because laminas/laminas-modulemanager itself is in security-only maintenance mode and therefore no further development is taking place here.
laminas-text will be removed from laminas-captcha.
I don't know if there will be another major version for laminas-http; I personally don't see the need for it. Rather, all dependencies on laminas-http should be resolved. |
|
@froschdesign thanks for responding and updating about this. Quick query - I understand that laminas/laminas-modulemanager is currently in security-maintenance mode. However, even the latest version (laminas/laminas-modulemanager:^2.19) still depends on laminas/laminas-config, which is not compatible with PHP 8.5. While PRs enabling PHP 8.5 compatibility for laminas/laminas-modulemanager have been accepted (please correct me if my understanding is incorrect), in practice the package cannot be used with PHP 8.5 unless all of its required dependencies are also compatible. Until these dependent packages support PHP 8.5, it becomes difficult for consumers to adopt laminas/laminas-modulemanager on PHP 8.5 without running into compatibility or maintenance issues. Any comments on this from your side would be greatly appreciated. |
laminas-config must follow the same path as laminas-loader: laminas/laminas-loader#16 |
|
@froschdesign Do we have an estimated timeline for when this change will be available for use? |
|
Also wondering when this will be available. Thanks |
| string $action, | ||
| int $version, | ||
| bool $oneWay = false, | ||
| ?string $uriParserClass = null |
There was a problem hiding this comment.
the new parameter should not be added, that will bc break on children, use func_num_args() + func_get_args(), also check in case of use named parameter, use of debug_backtrace() should work.
There was a problem hiding this comment.
Thank you for the suggestion, @samsonasik. We explored that approach, but discovered that PHP 8.5 enforces strict signature compatibility with SoapClient::__doRequest(). It seems without matching the parent signature exactly, we hit a fatal error.
..PHP Fatal error: Declaration of Laminas\Soap\Client\Common::__doRequest($request, $location, $action, $version, $oneWay = null) must be compatible with SoapClient::__doRequest(string $request, string $location, string $action, int $version, bool $oneWay = false, ?string $uriParserClass = null): ?string in /opt/homebrew/var/www/magento2/magento2ce/laminas-soap/src/Client/Common.php on line 52
SOAP migration-php8.5
SoapClient::__doRequest() now accepts a new, optional $uriParserClass parameter accepting string or null arguments
There was a problem hiding this comment.
hm.., ok, that will be a little bc break still, if some user extends Common.php, but that seems unavoidable :)
Signed-off-by: sandesh.as <cod48668@adobe.com>
d56eeda to
0699caf
Compare
Signed-off-by: sandesh.as <cod48668@adobe.com>
0699caf to
075975c
Compare
|
thank you @sandesh-as |
Description