Skip to content

Drop support for PHP 8.1, Add support for PHP 8.5#45

Merged
samsonasik merged 14 commits into
laminas:2.15.xfrom
sandesh-as:Php-8.5-support
Mar 10, 2026
Merged

Drop support for PHP 8.1, Add support for PHP 8.5#45
samsonasik merged 14 commits into
laminas:2.15.xfrom
sandesh-as:Php-8.5-support

Conversation

@sandesh-as
Copy link
Copy Markdown
Contributor

Q A
Documentation yes/no
Bugfix yes/no
BC Break yes/no
New Feature yes/no
RFC yes/no
QA yes/no

Description

Signed-off-by: sandesh.as <cod48668@adobe.com>
@sandesh-as sandesh-as marked this pull request as draft October 31, 2025 06:01
Signed-off-by: sandesh.as <cod48668@adobe.com>
Signed-off-by: sandesh.as <cod48668@adobe.com>
Signed-off-by: sandesh.as <cod48668@adobe.com>
@sandesh-as sandesh-as marked this pull request as ready for review October 31, 2025 09:27
@sandesh-as
Copy link
Copy Markdown
Contributor Author

@Xerkus We've completed the work to add PHP 8.5 support, and the PR is now ready for review and merge.
Could you please take a look and share your feedback or any suggestions for improvement?

Thank you for your support!

@sandesh-as
Copy link
Copy Markdown
Contributor Author

Hi @Xerkus @froschdesign,
Just checking in to see if you had a chance to review the PR for PHP 8.5 support.
Please let me know if there’s anything else needed from my side.

Thanks again!

Signed-off-by: sandesh.as <cod48668@adobe.com>
Signed-off-by: sandesh.as <cod48668@adobe.com>
@github-project-automation github-project-automation Bot moved this to Todo in PHP 8.5 Dec 5, 2025
@froschdesign froschdesign added this to the 2.15.0 milestone Dec 5, 2025
@froschdesign froschdesign changed the title Allow PHP 8.5 Support Drop support for PHP 8.1, Add support for PHP 8.5 Dec 5, 2025
Comment thread src/Client/Common.php Outdated
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>
@sandesh-as sandesh-as force-pushed the Php-8.5-support branch 2 times, most recently from abafa4b to 6634107 Compare December 5, 2025 12:29
Signed-off-by: sandesh.as <cod48668@adobe.com>
Signed-off-by: sandesh.as <cod48668@adobe.com>
@sandesh-as sandesh-as marked this pull request as draft December 8, 2025 05:55
@sandesh-as sandesh-as marked this pull request as ready for review December 8, 2025 05:57
@froschdesign froschdesign moved this from Todo to In Progress in PHP 8.5 Dec 8, 2025
@glo71317
Copy link
Copy Markdown
Contributor

@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.

@froschdesign
Copy link
Copy Markdown
Member

froschdesign commented Dec 31, 2025

@glo71317

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.

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.

laminas/laminas-modulemanager depends on laminas/laminas-config, which is currently marked as abandoned.

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.

Similarly, laminas/laminas-captcha depends on laminas/laminas-text, which is also abandoned.

laminas-text will be removed from laminas-captcha.

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.

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.
But you can install laminas-http with version 8.5 of PHP.

@glo71317
Copy link
Copy Markdown
Contributor

@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.

@froschdesign
Copy link
Copy Markdown
Member

However, even the latest version (laminas/laminas-modulemanager:^2.19) still depends on laminas/laminas-config, which is not compatible with PHP 8.5.

laminas-config must follow the same path as laminas-loader: laminas/laminas-loader#16

@glo71317
Copy link
Copy Markdown
Contributor

glo71317 commented Feb 3, 2026

@froschdesign Do we have an estimated timeline for when this change will be available for use?

@jr-cobweb
Copy link
Copy Markdown

Also wondering when this will be available. Thanks

Comment thread src/Client/Common.php Outdated
Comment thread src/Client/Common.php Outdated
string $action,
int $version,
bool $oneWay = false,
?string $uriParserClass = null
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

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.

Copy link
Copy Markdown
Contributor Author

@sandesh-as sandesh-as Mar 9, 2026

Choose a reason for hiding this comment

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

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

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

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>
Signed-off-by: sandesh.as <cod48668@adobe.com>
@samsonasik samsonasik merged commit f6a910e into laminas:2.15.x Mar 10, 2026
16 of 17 checks passed
@github-project-automation github-project-automation Bot moved this from In Progress to Done in PHP 8.5 Mar 10, 2026
@samsonasik
Copy link
Copy Markdown
Member

thank you @sandesh-as

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

5 participants