[php-src] Issue #23990: Consider deferring the "is"/"let" identifier deprecation to PHP 8.7
| From: | GrahamCampbell | Date: | Tue, 29 Sep 2026 13:39:26 +0000 |
| Subject: | [php-src] Issue #23990: Consider deferring the "is"/"let" identifier deprecation to PHP 8.7 | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-252852@lists.php.net to get a copy of this message | ||
Issue: https://github.com/php/php-src/issues/23990
Author: GrahamCampbell
The deprecation of
is and let as class names from the PHP 8.6 deprecations
RFC was implemented in #23709. That PR was merged on 16 September, after feature freeze and during
the RC phase. guzzle/promises has a public class GuzzleHttp\Promise\Is,
which is used heavily in Guzzle and across the wider ecosystem. Loading it on PHP 8.6 now emits a
deprecation notice (guzzle/promises#244).
Renaming a public class is a breaking change for us, so we can only do it in a new major version.
Because the deprecation landed this late, maintainers of affected libraries have had almost no time
to prepare before 8.6.0 ships, and many users run with deprecations surfaced in tests or logs.
I'd like to ask the release managers to consider moving this deprecation to PHP 8.7. That would
give downstream projects a normal release cycle to plan the rename.