Skip to content

[pull] master from php:master - #1182

Merged
pull[bot] merged 28 commits into
turkdevops:masterfrom
php:master
Aug 12, 2026
Merged

[pull] master from php:master#1182
pull[bot] merged 28 commits into
turkdevops:masterfrom
php:master

Conversation

@pull

@pull pull Bot commented Aug 12, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

NickSdot and others added 28 commits August 12, 2026 12:03
* PHP-8.5:
  ext/readline: Fixed the interactive shell not waiting for the pager process to exit (#23047)
* PHP-8.4:
  Fix test file conflict on Windows (#23226)
* PHP-8.5:
  Fix test file conflict on Windows (#23226)
The DO_INIT guard in zend_generator_resume() that avoids re-advancing an
already-primed delegate read the flag on orig_generator, but in a nested
"yield from" chain the fresh delegation is established by a middle generator
rather than the outermost consumer. Track the delegating generator through
the resume loop and check its DO_INIT, so a primed inner generator reached
through two "yield from" levels yields its current value once instead of
skipping it.

Fixes GH-15375
Closes GH-22640
* PHP-8.4:
  Fix GH-15375: nested "yield from" skips items after valid()/next()
* PHP-8.5:
  Fix GH-15375: nested "yield from" skips items after valid()/next()
Closure::__invoke is documented and reachable via method_exists() and
ReflectionClass (getMethod, hasMethod, getMethods), but
get_class_methods() walks ce->function_table directly and Closure does
not register __invoke there: the parameter list is materialized
per-instance by zend_get_closure_invoke_method().

Append __invoke to the result when ce == zend_ce_closure, the same
predicate is_closure_invoke() already uses in ext/reflection.

Closes GH-17126
…er (#23220)

Co-authored-by: Weilin Du <weilindu@php.net>
Both are single-argument wrappers around zend_string_tolower/upper;
static analyzers and general string handling call them at very high
frequency. The frameless call convention removes the call frame setup
and argument copying.

Co-authored-by: Markus Staab <maggus.staab@googlemail.com>
Closes GH-23084
…hell (#23218)

Reference: #22994 (comment) 

php -a class constant completion passed the full ClassName::PREFIX string to
the constant completion generator. And textlen had already been shortened to
the part after "::". This commit fixes this bug.

Co-authored-by: Ilia Alshanetsky <ilia@ilia.ws>
Partially reverts:
- 07d308a
- 7ad79be

We'll solve this in a different way.
* PHP-8.4:
  ext/readline: Fix class constant completion in readline interactive shell (#23218)
* PHP-8.5:
  ext/readline: Fix class constant completion in readline interactive shell (#23218)
* PHP-8.4:
  [skip ci] Fix NEWS entries in #23218
* PHP-8.5:
  [skip ci] Fix NEWS entries in #23218
SNMP tests are likely to fail on Windows CI when network features are tested.
So I add all these XFAIL sections to those tests to make sure it don't bother
unrelated CI runs.

(cherry picked from commit f619e66)
* PHP-8.4:
  ext/snmp: Add XFAIL on several tests (#22476) (#23231)
* PHP-8.5:
  ext/snmp: Add XFAIL on several tests (#22476) (#23231)
… objects

`ReflectionMethod::invoke()` and `::invokeArgs()` are affected, but share
implementation code and so are updated together.

https://wiki.php.net/rfc/deprecations_php_8_6
@pull pull Bot locked and limited conversation to collaborators Aug 12, 2026
@pull pull Bot added the ⤵️ pull label Aug 12, 2026
@pull
pull Bot merged commit d3f4ead into turkdevops:master Aug 12, 2026
1 check was pending
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants