Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
4516 commits
Select commit Hold shift + click to select a range
f52da75
Merge branch 'PHP-8.5'
iluuu1994 Feb 24, 2026
ff73aec
Merge branch 'PHP-8.4' into PHP-8.5
dstogov Feb 24, 2026
68d96e3
Merge branch 'PHP-8.5'
dstogov Feb 24, 2026
ee1e5f2
PHP-8.5 is now for PHP 8.5.5-dev
DanielEScherzer Feb 24, 2026
27a88a3
Merge branch 'PHP-8.5'
DanielEScherzer Feb 24, 2026
8206eb1
Merge branch 'PHP-8.4' into PHP-8.5
iluuu1994 Feb 24, 2026
4156b52
Merge branch 'PHP-8.5'
iluuu1994 Feb 24, 2026
022793e
Fix missed php_version changes
DanielEScherzer Feb 24, 2026
9a76133
Merge branch 'PHP-8.5'
DanielEScherzer Feb 24, 2026
955f82f
Merge branch 'PHP-8.4' into PHP-8.5
devnexen Feb 24, 2026
300892a
Merge branch 'PHP-8.5'
devnexen Feb 24, 2026
d7f2ff3
Merge branch 'PHP-8.4' into PHP-8.5
NattyNarwhal Feb 24, 2026
6f2ccd4
Merge branch 'PHP-8.5'
NattyNarwhal Feb 24, 2026
c2d204b
Merge branch 'PHP-8.4' into PHP-8.5
DanielEScherzer Feb 24, 2026
5fc9d9d
Merge branch 'PHP-8.5'
DanielEScherzer Feb 24, 2026
908723a
Merge branch 'PHP-8.4' into PHP-8.5
dstogov Feb 25, 2026
031b4c6
Merge branch 'PHP-8.5'
dstogov Feb 25, 2026
5bd1bbd
ext/pcre: Fix preg_grep() returning partial array instead of false on…
lacatoire Feb 26, 2026
e045b88
run-tests.php: Use PHP_SHLIB_SUFFIX (#21301)
petk Feb 26, 2026
9b01f51
ext/pcntl: Reject negative values in pcntl_alarm()
devnexen Feb 23, 2026
5406176
Merge branch 'PHP-8.4' into PHP-8.5
devnexen Feb 26, 2026
9cc1d32
Merge branch 'PHP-8.5'
devnexen Feb 26, 2026
e64e8b0
ext/pcre: fix new pcre2 test
devnexen Feb 26, 2026
7bc80c0
Merge branch 'PHP-8.5'
devnexen Feb 26, 2026
f46bc8e
ext/mbstring: Replace RETVAL_TRUE/RETVAL_FALSE with RETVAL_BOOL (#21276)
arshidkv12 Feb 26, 2026
8a907a9
ext/sodium: Add support for libsodium 1.0.21 APIs (#20960)
jedisct1 Feb 27, 2026
7a105ec
Merge branch 'PHP-8.4' into PHP-8.5
iluuu1994 Feb 27, 2026
1b106df
Merge branch 'PHP-8.5'
iluuu1994 Feb 27, 2026
fbb822f
Merge branch 'PHP-8.4' into PHP-8.5
iluuu1994 Feb 27, 2026
7923dc2
Merge branch 'PHP-8.5'
iluuu1994 Feb 27, 2026
e4f727d
Implement ReflectionProperty::is{Readable,Writable}()
iluuu1994 Oct 3, 2024
07e29ac
Merge branch 'PHP-8.4' into PHP-8.5
iluuu1994 Feb 27, 2026
073dcf6
Merge branch 'PHP-8.5'
iluuu1994 Feb 27, 2026
be6038a
[skip ci] Also add ReflectionProperty::is{Readable,Writable}() to NEWS
iluuu1994 Feb 27, 2026
3842168
Merge branch 'PHP-8.4' into PHP-8.5
ndossche Feb 27, 2026
4b0a4f4
Merge branch 'PHP-8.5'
ndossche Feb 27, 2026
27e12b5
ext/pcre: drop negative-length match tests
devnexen Feb 26, 2026
d1ff85f
Merge branch 'PHP-8.5'
devnexen Feb 27, 2026
7a8a863
Merge branch 'PHP-8.4' into PHP-8.5
devnexen Feb 27, 2026
114c0d6
Merge branch 'PHP-8.5'
devnexen Feb 27, 2026
9248a6c
Merge branch 'PHP-8.4' into PHP-8.5
ndossche Feb 27, 2026
c68ede9
Merge branch 'PHP-8.5'
ndossche Feb 27, 2026
b2bc70c
Update time periods in mbstring section of EXTENSIONS
alexdowad Feb 28, 2026
9200768
Merge branch 'PHP-8.4' into PHP-8.5
ndossche Feb 28, 2026
15a58cf
Merge branch 'PHP-8.5'
ndossche Feb 28, 2026
2bbca7c
Merge branch 'PHP-8.4' into PHP-8.5
devnexen Feb 28, 2026
2fd3433
Merge branch 'PHP-8.5'
devnexen Feb 28, 2026
1da8ff9
Merge branch 'PHP-8.4' into PHP-8.5
iluuu1994 Mar 2, 2026
41c436a
Merge branch 'PHP-8.5'
iluuu1994 Mar 2, 2026
56d515a
Merge branch 'PHP-8.4' into PHP-8.5
iluuu1994 Mar 2, 2026
ffd58ea
Merge branch 'PHP-8.5'
iluuu1994 Mar 2, 2026
fa3c8ee
Merge branch 'PHP-8.4' into PHP-8.5
ndossche Mar 2, 2026
daf1d32
Merge branch 'PHP-8.5'
ndossche Mar 2, 2026
11e625f
Empty merge
derickr Mar 2, 2026
043ade6
Updated to version 2026.1 (2026a)
derickr Mar 2, 2026
5ca1598
Empty merge
derickr Mar 2, 2026
832a5ea
Updated to version 2026.1 (2026a)
derickr Mar 2, 2026
2107042
Merge branch 'PHP-8.4' into PHP-8.5
ndossche Mar 2, 2026
bfd66bb
Merge branch 'PHP-8.5'
ndossche Mar 2, 2026
a83c025
Use zend_always_inline for frameless function template functions (GH-…
iluuu1994 Mar 2, 2026
f17c5ad
Windows build: Add new function CHECK_HEADER() (#21191)
petk Mar 3, 2026
84b0a73
Fix GH-13204: glob() fails if square bracket is in current directory …
ndossche Mar 3, 2026
0e2cc18
Merge branch 'PHP-8.4' into PHP-8.5
iluuu1994 Mar 3, 2026
c7824b3
Merge branch 'PHP-8.5'
iluuu1994 Mar 3, 2026
7a1c261
[RFC] Add grapheme_strrev function (#20949)
youkidearitai Mar 4, 2026
099769d
Merge branch 'PHP-8.4' into PHP-8.5
iluuu1994 Mar 4, 2026
ce1cadb
Fix Solaris tests and add nightly CI job
psumbera Dec 12, 2025
5307a67
Merge branch 'PHP-8.5'
iluuu1994 Mar 4, 2026
471ae15
Fix incorrect zend_hash_find_ptr() on non-ptr in ReflectionProperty::…
iluuu1994 Mar 4, 2026
11a9574
Convert more zend_parse_parameters_none() to fast ZPP (#21330)
alexandre-daubois Mar 4, 2026
7e78b0f
Add support for generating the namespace for the manual (#21313)
kocsismate Mar 5, 2026
c506142
Merge branch 'PHP-8.5'
kocsismate Mar 5, 2026
d08d80c
Merge branch 'PHP-8.4' into PHP-8.5
devnexen Mar 5, 2026
39f1ed4
Merge branch 'PHP-8.5'
devnexen Mar 5, 2026
449361a
Fix GH-21333: use-after-free when unlinking entries during iteration …
devnexen Mar 3, 2026
77925b9
Merge branch 'PHP-8.5'
devnexen Mar 5, 2026
1d7cddd
Merge branch 'PHP-8.4' into PHP-8.5
remicollet Mar 6, 2026
806e0d0
Merge branch 'PHP-8.5'
remicollet Mar 6, 2026
f99ca63
Windows build: Use GREP_HEADER() instead of CHECK_FUNC_IN_HEADER() (#…
petk Mar 6, 2026
37fbbbc
Merge branch 'PHP-8.4' into PHP-8.5
ndossche Mar 7, 2026
61fd5ce
Merge branch 'PHP-8.5'
ndossche Mar 7, 2026
1177670
Merge branch 'PHP-8.4' into PHP-8.5
iluuu1994 Mar 7, 2026
242445e
Merge branch 'PHP-8.5'
iluuu1994 Mar 7, 2026
c2a1d39
Merge branch 'PHP-8.4' into PHP-8.5
bukka Mar 7, 2026
be8ac28
Merge branch 'PHP-8.5'
bukka Mar 7, 2026
ceae788
Merge branch 'PHP-8.4' into PHP-8.5
bukka Mar 7, 2026
873468c
Merge branch 'PHP-8.5'
bukka Mar 7, 2026
10e02b0
Merge branch 'PHP-8.4' into PHP-8.5
Girgias Mar 7, 2026
f2d96c8
Merge branch 'PHP-8.5'
Girgias Mar 7, 2026
f830fa9
Sockets refactoring 2026 (#21365)
devnexen Mar 7, 2026
58acc67
ext/mbstring: Fix deprecation warning (#21363)
petk Mar 7, 2026
eedbffe
Empty some values of mysqli_get_charset() (#21361)
kamil-tekiela Mar 7, 2026
53e31d5
Fix GH-21362: ReflectionMethod::invoke() allows different Closures (#…
iliaal Mar 8, 2026
c56e8ca
ext/pgsql, ext/pdo_pgsql: Remove preprocessor guards for symbols pred…
KentarouTakeda Mar 8, 2026
b0470d1
Merge branch 'PHP-8.4' into PHP-8.5
devnexen Mar 9, 2026
148dc1d
Merge branch 'PHP-8.5'
devnexen Mar 9, 2026
ff3f59b
Fix incorrect property_info sizing for locally shadowed trait properties
iluuu1994 Mar 6, 2026
cccc548
Merge branch 'PHP-8.5'
iluuu1994 Mar 9, 2026
f38058d
ext/pcntl: Bump num_signals to uint16_t (#21347)
NattyNarwhal Mar 9, 2026
06f9389
Update NEWS for pcntl fix [skip ci]
NattyNarwhal Mar 9, 2026
d81db0b
Merge branch 'PHP-8.5'
NattyNarwhal Mar 9, 2026
0155b50
phar: Fix const-generic compile warnings
ndossche Mar 9, 2026
da1e89f
RFC: Add Form Feed in Trim Functions (#20788)
LamentXU123 Mar 9, 2026
8bff644
Zend: remove unused scope parameter of add_intersection_type()
Girgias Mar 9, 2026
6880a6c
Zend: mark scope parameter of zend_type_to_string_resolved() const
Girgias Mar 9, 2026
2b20627
Zend: mark zend_perform_covariant_type_check() as static
Girgias Mar 9, 2026
032e5f6
Zend: mark arg_info parameters of zend_do_perform_arg_type_hint_check…
Girgias Mar 9, 2026
1096ea1
Zend: mark variable as const
Girgias Mar 9, 2026
f93b170
Zend: inherit interfaces early (#18622)
Girgias Mar 9, 2026
f29bc08
reflection: Remove `_DO_THROW()` macro (#21399)
TimWolla Mar 10, 2026
6e664a0
reflection: Check against the known string in `is_closure_invoke()` (…
TimWolla Mar 10, 2026
3b8aac8
Merge branch 'PHP-8.4' into PHP-8.5
ndossche Mar 10, 2026
6409235
Merge branch 'PHP-8.5'
ndossche Mar 10, 2026
14f0f86
Merge branch 'PHP-8.4' into PHP-8.5
ndossche Mar 10, 2026
98ededc
Merge branch 'PHP-8.5'
ndossche Mar 10, 2026
bc0871d
Merge branch 'PHP-8.4' into PHP-8.5
ndossche Mar 10, 2026
d305591
Merge branch 'PHP-8.5'
ndossche Mar 10, 2026
f33091c
Merge branch 'PHP-8.4' into PHP-8.5
ndossche Mar 10, 2026
9a73c00
Merge branch 'PHP-8.5'
ndossche Mar 10, 2026
7f20223
ext/soap: use zend_string_equals_literal() instead of strcmp() (#21405)
Girgias Mar 10, 2026
f04873c
Merge branch 'PHP-8.4' into PHP-8.5
devnexen Mar 10, 2026
ed88724
Merge branch 'PHP-8.5'
devnexen Mar 10, 2026
c658d3c
ext/pgsql: use smart_str_append_double() instead of snprintf call (#2…
Girgias Mar 11, 2026
35ee95a
Merge branch 'PHP-8.4' into PHP-8.5
dstogov Mar 11, 2026
79556df
Merge branch 'PHP-8.5'
dstogov Mar 11, 2026
13b83a4
Bump libtool to serial 63 from 2.5.4 (#21067)
NattyNarwhal Mar 11, 2026
a3f486d
Merge branch 'PHP-8.4' into PHP-8.5
ndossche Mar 11, 2026
8b7c70d
Merge branch 'PHP-8.5'
ndossche Mar 11, 2026
113893b
Zend: create a IS_VOID type AST rather a string (#21415)
Girgias Mar 11, 2026
28c6659
dom: Simplify return value management of xpath callback
ndossche Mar 11, 2026
46357cb
dom: Merge declaration and assignment
ndossche Mar 11, 2026
b0aa6b9
ext/soap: various optimisations
devnexen Mar 12, 2026
757dadc
Merge branch 'PHP-8.4' into PHP-8.5
ndossche Mar 12, 2026
e9b3ea8
Merge branch 'PHP-8.5'
ndossche Mar 12, 2026
ed3eb85
Merge branch 'PHP-8.4' into PHP-8.5
ndossche Mar 12, 2026
a026333
Merge branch 'PHP-8.5'
ndossche Mar 12, 2026
5ccaccd
ext/reflection: Use smart_str_append instead of smart_str_appendl (#2…
arshidkv12 Mar 13, 2026
44d4f0e
ext/soap: Use smart_str_appends() instead of smart_str_appendl(..., s…
arshidkv12 Mar 13, 2026
80b1ede
[skip ci] Fix uninitialized fn_flags2 for internal functions
iluuu1994 Mar 13, 2026
92ba1e4
Prevent closing of innerstream of php://temp stream
iluuu1994 Feb 15, 2026
a2fc8fe
ext/openssl: openssl: use zend_string_init() instead of manual alloca…
arshidkv12 Mar 14, 2026
31962aa
ext/pgsql: Enable lo_tell64/lo_truncate64 by removing dead VE_PG_LO64…
KentarouTakeda Mar 14, 2026
a5ffcf3
Use zend_string_init_fast() for single-character string creation (#21…
arshidkv12 Mar 14, 2026
006f141
ext/phar: Use zend_string_concat2 instead of manual zend_string_alloc…
arshidkv12 Mar 14, 2026
605c075
ext/zip: add ZipArchive::openString() method
tstarling Apr 29, 2024
e0ac74f
Merge branch 'PHP-8.4' into PHP-8.5
ndossche Mar 14, 2026
c197fad
Merge branch 'PHP-8.5'
ndossche Mar 14, 2026
91134db
ReflectionFiber::getCallable(): remove stray backslash (#21439)
DanielEScherzer Mar 14, 2026
277a016
Merge branch 'PHP-8.4' into PHP-8.5
devnexen Mar 14, 2026
7e16d4e
Merge branch 'PHP-8.5'
devnexen Mar 14, 2026
4561e92
Fix ReflectionMethod::invoke() for first class callables (#21389)
iliaal Mar 15, 2026
3927630
Remove unused config.h inclusion in SAPIs (#21377)
petk Mar 15, 2026
45157d2
ext/zip: Remove unreachable break after RETURN_STRING (#21458)
arshidkv12 Mar 16, 2026
f44609c
ext/standard: Remove unreachable break after RETURN_STRING (#21459)
arshidkv12 Mar 16, 2026
0039af0
Propagate bind error for stream_socket_server()
iluuu1994 Mar 3, 2026
a8543df
Convert remaining zend_parse_parameters_none() to ZPP (#21343)
alexandre-daubois Mar 16, 2026
a1d8e52
gen_stub: drop unused parameter in `ConstInfo::getClassConstDeclarati…
DanielEScherzer Sep 4, 2025
8ee5a52
gen_stub: polyfill and use `array_any()`
DanielEScherzer Sep 4, 2025
777fa5d
gen_stub: fix typo `$minPHPCompatability` to `$minPHPCompatibility`
DanielEScherzer Sep 4, 2025
f1dd3f2
gen_stub: move `generateArgInfoCode()` into `FileInfo`
DanielEScherzer Mar 14, 2026
25f62cf
gen_stub: simplify with early returns
DanielEScherzer Sep 4, 2025
81504d3
Merge branch 'PHP-8.4' into PHP-8.5
dstogov Mar 16, 2026
00ff93d
Fix support for TAILCALL VM
dstogov Mar 16, 2026
0bd3a6b
Merge branch 'PHP-8.5'
dstogov Mar 16, 2026
c438805
Update IR (#21462)
dstogov Mar 16, 2026
0b2d813
Merge branch 'PHP-8.4' into PHP-8.5
dstogov Mar 16, 2026
8cf9179
Merge branch 'PHP-8.5'
dstogov Mar 16, 2026
c9a6743
Merge branch 'PHP-8.4' into PHP-8.5
ndossche Mar 17, 2026
a16ace8
Merge branch 'PHP-8.5'
ndossche Mar 17, 2026
cefdfc9
Merge branch 'PHP-8.4' into PHP-8.5
ndossche Mar 17, 2026
e6db18b
Merge branch 'PHP-8.5'
ndossche Mar 17, 2026
9b022c4
ext/standard: replace RETVAL_EMPTY_ARRAY() + return with RETURN_EMPT…
arshidkv12 Mar 18, 2026
769258f
[skip ci] Update `php -v` placeholder in bug_report.yml template
TimWolla Mar 18, 2026
ab043ee
[skip ci] Update versioned binary name in bug_report.yml template
TimWolla Mar 18, 2026
aa9964e
Merge branch 'PHP-8.4' into PHP-8.5
dstogov Mar 19, 2026
db37779
Merge branch 'PHP-8.5'
dstogov Mar 19, 2026
7b16f81
ext/session: code cleanup - use tab for indent
thg2k Mar 18, 2026
a680273
ext/session: code cleanup - use consistent pointer declarations
thg2k Mar 18, 2026
3b20ccd
ext/session: code cleanup - don't use tabs for alignments
thg2k Mar 18, 2026
adba504
ext/session: code cleanup - space after control flow keywords
thg2k Mar 18, 2026
d63fb99
ext/session: code cleanup - use single empty line except for sections
thg2k Mar 18, 2026
103e35d
ext/session: code refactoring - improve readability and consistency
thg2k Mar 18, 2026
f775360
Merge branch 'PHP-8.4' into PHP-8.5
iluuu1994 Mar 19, 2026
8c42cf4
Merge branch 'PHP-8.5'
iluuu1994 Mar 19, 2026
38cbbee
Zend: add const qualifiers to the majority of compare functions (#21304)
Girgias Mar 19, 2026
f134227
Merge branch 'PHP-8.4' into PHP-8.5
iluuu1994 Mar 20, 2026
e39b6b9
Merge branch 'PHP-8.5'
iluuu1994 Mar 20, 2026
5485f8e
Merge branch 'PHP-8.4' into PHP-8.5
arnaud-lb Mar 20, 2026
2e20074
Merge branch 'PHP-8.5'
arnaud-lb Mar 20, 2026
b83dd10
gen_stub: use real `mixed` type
DanielEScherzer Mar 18, 2026
ef5771d
gen_stub: use real `readonly` modifier
DanielEScherzer Mar 18, 2026
362f5fd
gen_stub: use `match` rather than `switch` when possible
DanielEScherzer Mar 18, 2026
36e1469
gen_stub: use first class callables where possible
DanielEScherzer Mar 18, 2026
6932260
Fix replacement of class signatures when a packagesynopsis element is…
kocsismate Mar 20, 2026
30b2d77
Merge branch 'PHP-8.5'
kocsismate Mar 20, 2026
614b22a
Add array size maximum to array_diff()
ndossche Mar 14, 2026
0d7ce4c
Merge branch 'PHP-8.4' into PHP-8.5
ndossche Mar 21, 2026
a6a7b39
Merge branch 'PHP-8.5'
ndossche Mar 21, 2026
d3727f4
ext/pgsql: Remove unreachable break (#21482)
arshidkv12 Mar 21, 2026
c524773
ext/ftp: Remove unreachable break (#21481)
arshidkv12 Mar 21, 2026
d8560ad
use lexbor version from library
remicollet Mar 20, 2026
f102735
Merge branch 'PHP-8.5'
remicollet Mar 21, 2026
4d52853
ext/spl: extract AppendIterator constructor (#21367)
Girgias Mar 21, 2026
f40b356
Use smart_str_append() if we have a zend_string* (#21414)
Girgias Mar 21, 2026
74fad61
Add test for array_diff() array maximum
ndossche Mar 21, 2026
9011bd3
[skip ci] Fix CI badge in README
iluuu1994 Mar 21, 2026
afbca75
Merge branch 'PHP-8.4' into PHP-8.5
iluuu1994 Mar 21, 2026
61c83f8
Merge branch 'PHP-8.5'
iluuu1994 Mar 21, 2026
b0215e9
Merge branch 'PHP-8.4' into PHP-8.5
iluuu1994 Mar 22, 2026
cb8d3a2
Merge branch 'PHP-8.5'
iluuu1994 Mar 22, 2026
99365b8
Merge branch 'PHP-8.4' into PHP-8.5
ndossche Mar 22, 2026
be539d9
Merge branch 'PHP-8.5'
ndossche Mar 22, 2026
b6b26f4
Merge branch 'PHP-8.4' into PHP-8.5
devnexen Mar 22, 2026
00c0a9b
Merge branch 'PHP-8.5'
devnexen Mar 22, 2026
be1ae8e
Zend: add const modifiers (#19571)
Girgias Mar 23, 2026
d34c840
zend_builtin_functions.c: add const qualifiers (#21487)
Girgias Mar 23, 2026
2918cae
ext/*: Remove `break` after `return` (#21485)
LamentXU123 Mar 23, 2026
8f9a8c0
Fix GH-21421: SoapClient typemap property breaks engine assumptions
ndossche Mar 12, 2026
0516a76
/build/gen_stub.php: typo fix from 'seperate' to 'separate' (#21505)
LamentXU123 Mar 24, 2026
04ae8d9
[skip ci] Recommend LLM disclosure for GH comments (GH-21506)
iluuu1994 Mar 24, 2026
0f2ddec
PHP-8.5 is now for PHP 8.5.6-dev
edorian Mar 24, 2026
f8e4f64
[skip ci] Regenerate ext/fileinfo/libmagic.patch (GH-21509)
orlitzky Mar 24, 2026
00c4295
Merge branch 'PHP-8.5'
edorian Mar 24, 2026
9caa0a7
Fix bc_str2num accepting strings with embedded null bytes
jorgsowa Mar 22, 2026
ce1761e
ext/dom: add a const qualifier in dom_objects_set_class_ex()(#21511)
Girgias Mar 24, 2026
118fa2c
ext/mysqli: add a const qualifier in mysqli_objects_new() (#21510)
Girgias Mar 24, 2026
674473d
ext/xsl: add const qualifiers when iteration over a CE's parents (#21…
Girgias Mar 24, 2026
a8cc04d
Optimize JSON pretty print indentation performance (GH-21474)
LamentXU123 Mar 24, 2026
8af4e80
ext/opcache: formalize return type of accel_restart_is_active() to bool
Girgias Mar 9, 2026
046b44e
ext/opcache: formalize return type of zend_get_stream_timestamp() to …
Girgias Mar 9, 2026
c136801
ext/opcache: formalize return type of do_validate_timestamps() to zen…
Girgias Mar 9, 2026
b431c36
ext/opcache: formalize return type of check_persistent_script_access(…
Girgias Mar 9, 2026
e7ffec3
ext/opcache: reduce scope of variable
Girgias Mar 9, 2026
d50b91f
ext/opcache: add const qualifiers
Girgias Mar 9, 2026
bcdadd5
ext/opcache: use type size_t instead of type int
Girgias Mar 23, 2026
022fc4c
zend_builtin_functions.c: Use RETURN_THROW() for clarity
Girgias Nov 7, 2025
5b5b17a
zend_builtin_functions.c: use type uint32_t instead of int
Girgias Nov 7, 2025
82866cc
zend_builtin_functions.c: use known string when possible
Girgias Nov 7, 2025
4852e7f
zend_builtin_functions.c: add const qualifiers
Girgias Nov 7, 2025
db8b4b5
zend_builtin_functions.c: remove some variable shadowing
Girgias Nov 7, 2025
afd04af
zend_builtin_functions.c: refactor is_a_impl() to use early returns
Girgias Nov 7, 2025
ee7d02d
zend_builtin_functions.c: use RET{URN|VAL}_BOOL() when possible
Girgias Nov 7, 2025
deb5997
zend_objects_API.h: add some const qualifiers
Girgias Mar 24, 2026
66e4ba1
zend_objects_API.c: reduce scope of variable
Girgias Mar 24, 2026
e4dcd2e
zend_objects_API.c: use uint32_t type instead of int type
Girgias Mar 24, 2026
dccf5f9
Merge branch 'PHP-8.4' into PHP-8.5
SakiTakamachi Mar 25, 2026
7d40bae
Merge branch 'PHP-8.5'
SakiTakamachi Mar 25, 2026
07a51a5
rerun test
LamentXU123 Mar 25, 2026
dc21966
Update gh21499.phpt
LamentXU123 Mar 25, 2026
6e8c140
delete env configure
LamentXU123 Mar 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
8 changes: 3 additions & 5 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ jobs:
arm:
resource_class: arm.medium
docker:
- image: cimg/base:current-22.04
- image: cimg/base:current-24.04
- image: mysql:8.4
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: true
Expand Down Expand Up @@ -60,7 +60,7 @@ jobs:
libreadline-dev \
libldap2-dev \
libsodium-dev \
libargon2-0-dev \
libargon2-dev \
libmm-dev \
libsnmp-dev \
snmpd \
Expand All @@ -78,7 +78,7 @@ jobs:
libqdbm-dev \
libjpeg-dev \
libpng-dev \
libfreetype6-dev
libfreetype-dev
- run:
name: ./configure
command: |
Expand All @@ -90,7 +90,6 @@ jobs:
--prefix=/usr \
--enable-phpdbg \
--enable-fpm \
--enable-opcache \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pgsql \
Expand Down Expand Up @@ -169,7 +168,6 @@ jobs:
command: |
export RUN_RESOURCE_HEAVY_TESTS=1
sapi/cli/php run-tests.php \
-d zend_extension=opcache.so \
-d opcache.enable_cli=1 \
-d opcache.jit_buffer_size=64M \
-d opcache.jit=tracing \
Expand Down
4 changes: 4 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,7 @@ max_line_length = 80

[*.patch]
trim_trailing_whitespace = false

[*.rst]
indent_style = space
max_line_length = 100
6 changes: 4 additions & 2 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@

# Collapse generated files within git and pull request diff.
**/*_arginfo.h linguist-generated -diff
/main/gdb_inlined_script.c linguist-generated -diff
**/*_decl.h linguist-generated -diff
/main/debug_gdb_scripts.c linguist-generated -diff
/Zend/zend_vm_execute.h linguist-generated -diff
/Zend/zend_vm_handlers.h linguist-generated -diff
/Zend/zend_vm_opcodes.[ch] linguist-generated -diff
Expand All @@ -30,4 +31,5 @@
/ext/date/tests/ossfuzz*.txt binary

# Vendored libraries
/ext/dom/lexbor/lexbor linguist-vendored
/ext/lexbor/lexbor linguist-vendored
/ext/uri/uriparser linguist-vendored
4 changes: 3 additions & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

/.github @TimWolla
/build/gen_stub.php @kocsismate
/ext/bcmath @Girgias @ndossche @SakiTakamachi
/ext/bcmath @ndossche @SakiTakamachi
/ext/curl @adoy
/ext/date @derickr
/ext/dba @Girgias
Expand All @@ -27,6 +27,7 @@
/ext/gmp @Girgias
/ext/intl @devnexen
/ext/json @bukka
/ext/lexbor @kocsismate @ndossche
/ext/libxml @ndossche
/ext/mbstring @alexdowad @youkidearitai
/ext/mysqli @bukka @kamil-tekiela
Expand All @@ -52,6 +53,7 @@
/ext/spl @Girgias
/ext/standard @bukka
/ext/tidy @ndossche
/ext/uri @kocsismate @TimWolla
/ext/xml @ndossche
/ext/xmlreader @ndossche
/ext/xmlwriter @ndossche
Expand Down
17 changes: 13 additions & 4 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,24 @@ body:
```
validations:
required: true
- type: input
- type: textarea
attributes:
label: PHP Version
description: "The used PHP version. Make sure it is [supported](https://www.php.net/supported-versions.php)."
placeholder: "PHP 8.0.12"
description: |
Please run PHP with the `-v` flag (e.g. `php -v`, `php8.5 -v`, `php-fpm -v` or similar) and provide the full output of that command. If executing that command is not possible, please provide the full version number as given in PHPInfo.

Please make sure that the used PHP version [is a supported version](https://www.php.net/supported-versions.php).
placeholder: |
PHP 8.5.2 (cli) (built: Jan 21 2026 17:35:28) (NTS)
Copyright (c) The PHP Group
Built by Ubuntu
Zend Engine v4.5.2, Copyright (c) Zend Technologies
with Zend OPcache v8.5.2, Copyright (c), by Zend Technologies
render: plain
validations:
required: true
- type: input
attributes:
label: Operating System
description: "The used operating system, if relevant."
placeholder: "Ubuntu 20.04"
placeholder: "Ubuntu 24.04"
4 changes: 1 addition & 3 deletions .github/actions/apt-x32/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,11 @@ runs:
libsodium-dev:i386 \
libsqlite3-dev:i386 \
libssl-dev:i386 \
libtidy-dev:i386 \
libwebp-dev:i386 \
libxml2-dev:i386 \
libxml2-dev:i386 \
libxpm-dev:i386 \
libxslt1-dev:i386 \
libzip-dev:i386 \
firebird-dev:i386 \
locales \
make \
pkg-config:i386 \
Expand Down
3 changes: 2 additions & 1 deletion .github/actions/brew/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@ runs:
tidy-html5 \
libzip \
libsodium \
icu4c
icu4c \
curl
brew install -v \
bison \
re2c
Expand Down
10 changes: 10 additions & 0 deletions .github/actions/configure-unit-tests/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
name: ./configure (unit tests)
description: Configure PHP with minimal settings for unit testing
runs:
using: composite
steps:
- shell: bash
run: |
set -x
./buildconf --force
./configure --disable-all --enable-embed=static
4 changes: 2 additions & 2 deletions .github/actions/configure-x32/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ runs:
run: |
set -x

export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib/i386-linux-gnu/pkgconfig"
./buildconf --force
export CFLAGS="-m32 -msse2"
export CXXFLAGS="-m32 -msse2"
Expand All @@ -26,19 +27,18 @@ runs:
--with-pgsql \
--with-pdo-pgsql \
--with-pdo-sqlite \
--with-pdo-firebird \
--without-pear \
--enable-gd \
--with-jpeg \
--with-webp \
--with-freetype \
--with-xpm \
--enable-exif \
--with-zip \
--with-zlib \
--enable-soap \
--enable-xmlreader \
--with-xsl \
--with-tidy \
--enable-sysvsem \
--enable-sysvshm \
--enable-shmop \
Expand Down
3 changes: 1 addition & 2 deletions .github/actions/freebsd/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -115,8 +115,7 @@ runs:
--offline \
--show-diff \
--show-slow 1000 \
--set-timeout 120 \
-d zend_extension=opcache.so
--set-timeout 120

if test "${{ inputs.runExtraTests }}" = "true"; then
sapi/cli/php run-extra-tests.php
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/setup-mssql/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ runs:
-p 1433:1433 \
--name sql1 \
-h sql1 \
-d mcr.microsoft.com/mssql/server:2022-CU14-ubuntu-22.04
-d mcr.microsoft.com/mssql/server:2025-latest
2 changes: 1 addition & 1 deletion .github/actions/test-alpine/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ runs:
export SKIP_IO_CAPTURE_TESTS=1
export STACK_LIMIT_DEFAULTS_CHECK=1
sapi/cli/php run-tests.php -P -q ${{ inputs.runTestsParameters }} \
${{ inputs.enableOpcache == 'true' && '-d zend_extension=opcache.so -d opcache.enable_cli=1' || '' }} \
${{ inputs.enableOpcache == 'true' && '-d opcache.enable_cli=1' || '' }} \
-d opcache.jit=${{ inputs.jitType }} \
-d opcache.jit_buffer_size=64M \
-j$(nproc) \
Expand Down
6 changes: 4 additions & 2 deletions .github/actions/test-linux/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,9 @@ runs:
export PDO_PGSQL_TEST_DSN="pgsql:host=localhost port=5432 dbname=test user=postgres password=postgres"
fi
export PDO_FIREBIRD_TEST_DATABASE=test.fdb
export PDO_FIREBIRD_TEST_DSN=firebird:dbname=localhost:test.fdb
if [[ -z "$PDO_FIREBIRD_TEST_DSN" ]]; then
export PDO_FIREBIRD_TEST_DSN=firebird:dbname=localhost:test.fdb
fi
export PDO_FIREBIRD_TEST_PASS=test
export PDO_FIREBIRD_TEST_USER=test
export ODBC_TEST_USER="odbc_test"
Expand All @@ -44,7 +46,7 @@ runs:
export STACK_LIMIT_DEFAULTS_CHECK=1
export RUN_RESOURCE_HEAVY_TESTS=1
sapi/cli/php run-tests.php -P -q ${{ inputs.runTestsParameters }} \
${{ inputs.enableOpcache == 'true' && '-d zend_extension=opcache.so -d opcache.enable_cli=1' || '' }} \
${{ inputs.enableOpcache == 'true' && '-d opcache.enable_cli=1' || '' }} \
-d opcache.jit=${{ inputs.jitType }} \
-d opcache.protect_memory=1 \
-d opcache.jit_buffer_size=64M \
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/test-macos/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ runs:
export STACK_LIMIT_DEFAULTS_CHECK=1
export RUN_RESOURCE_HEAVY_TESTS=1
sapi/cli/php run-tests.php -P -q ${{ inputs.runTestsParameters }} \
${{ inputs.enableOpcache == 'true' && '-d zend_extension=opcache.so -d opcache.enable_cli=1' || '' }} \
${{ inputs.enableOpcache == 'true' && '-d opcache.enable_cli=1' || '' }} \
-d opcache.jit=${{ inputs.jitType }} \
-d opcache.protect_memory=1 \
-d opcache.jit_buffer_size=64M \
Expand Down
4 changes: 2 additions & 2 deletions .github/actions/verify-generated-files/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,5 @@ runs:
Zend/zend_vm_gen.php
ext/tokenizer/tokenizer_data_gen.php
build/gen_stub.php -f --generate-optimizer-info --verify
# Use the -a flag for a bug in git 2.46.0, which doesn't consider changed -diff files.
git add . -N && git diff -a --exit-code
ext/phar/makestub.php
.github/scripts/test-directory-unchanged.sh .
7 changes: 6 additions & 1 deletion .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -320,6 +320,11 @@
- any-glob-to-any-file:
- ext/tokenizer/**/*

"Extension: uri":
- changed-files:
- any-glob-to-any-file:
- ext/uri/**/*

"Extension: xml":
- changed-files:
- any-glob-to-any-file:
Expand Down Expand Up @@ -464,7 +469,6 @@
- 'ext/pdo/php_pdo.h'
- 'ext/pdo/php_pdo_driver.h'
- 'ext/pdo/php_pdo_error.h'
- 'ext/phar/php_phar.h'
- 'ext/random/php_random.h'
- 'ext/random/php_random_csprng.h'
- 'ext/random/php_random_uint128.h'
Expand All @@ -488,6 +492,7 @@
- 'ext/spl/spl_iterators.h'
- 'ext/spl/spl_observer.h'
- 'ext/standard/*.h'
- 'ext/uri/*.h'
- 'ext/xml/expat_compat.h'
- 'ext/xml/php_xml.h'
- 'main/*.h'
Expand Down
1 change: 1 addition & 0 deletions .github/lsan-suppressions.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
leak:acommon::DictInfoList::elements
leak:timer_create
leak:netsnmp_init_mib_internals
leak:isc_attach_database
1 change: 1 addition & 0 deletions .github/scripts/download-bundled/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
!*.patch
41 changes: 41 additions & 0 deletions .github/scripts/download-bundled/boost-context.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#!/bin/sh
set -ex
cd "$(dirname "$0")/../../.."

tmp_dir=/tmp/php-src-download-bundled/boost-context
rm -rf "$tmp_dir"

revision=refs/tags/boost-1.86.0

git clone --depth 1 --revision="$revision" https://github.com/boostorg/context.git "$tmp_dir"

rm -rf Zend/asm
cp -R "$tmp_dir"/src/asm Zend/asm

cd Zend/asm

# remove unneeded files
rm jump_arm_aapcs_pe_armasm.asm
rm jump_i386_ms_pe_clang_gas.S
rm jump_i386_ms_pe_gas.asm
rm jump_i386_x86_64_sysv_macho_gas.S
rm jump_ppc32_ppc64_sysv_macho_gas.S
rm jump_x86_64_ms_pe_clang_gas.S
rm make_arm_aapcs_pe_armasm.asm
rm make_i386_ms_pe_clang_gas.S
rm make_i386_ms_pe_gas.asm
rm make_i386_x86_64_sysv_macho_gas.S
rm make_ppc32_ppc64_sysv_macho_gas.S
rm make_x86_64_ms_pe_clang_gas.S
rm ontop_*.S
rm ontop_*.asm
rm tail_ontop_ppc32_sysv.cpp

# move renamed files
# GH-13896 introduced these 2 files named as .S but since https://github.com/boostorg/context/pull/265 they are named as .asm
mv jump_x86_64_ms_pe_gas.asm jump_x86_64_ms_pe_gas.S
mv make_x86_64_ms_pe_gas.asm make_x86_64_ms_pe_gas.S

# add extra files
git restore LICENSE
git restore save_xmm_x86_64_ms_masm.asm # added in GH-18352, not an upstream boost.context file
35 changes: 35 additions & 0 deletions .github/scripts/download-bundled/pcre2.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#!/bin/sh
set -ex
cd "$(dirname "$0")/../../.."

tmp_dir=/tmp/php-src-download-bundled/pcre2
rm -rf "$tmp_dir"

revision=refs/tags/pcre2-10.44

git clone --depth 1 --recurse-submodules --revision="$revision" https://github.com/PCRE2Project/pcre2.git "$tmp_dir"

rm -rf ext/pcre/pcre2lib
cp -R "$tmp_dir"/src ext/pcre/pcre2lib

cd ext/pcre/pcre2lib

# remove unneeded files
rm config.h.generic
rm pcre2.h.in
rm pcre2_dftables.c
rm pcre2_fuzzsupport.c
rm pcre2_jit_test.c
rm pcre2demo.c
rm pcre2grep.c
rm pcre2posix.c
rm pcre2posix.h
rm pcre2posix_test.c
rm pcre2test.c

# move renamed files
mv pcre2.h.generic pcre2.h
mv pcre2_chartables.c.dist pcre2_chartables.c

# add extra files
git restore config.h # based on config.h.generic but with many changes
14 changes: 14 additions & 0 deletions .github/scripts/download-bundled/uriparser.config.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
diff --git a/ext/uri/uriparser/src/UriConfig.h b/ext/uri/uriparser/src/UriConfig.h
index b9a85a8..ab78b96 100644
--- a/ext/uri/uriparser/src/UriConfig.h
+++ b/ext/uri/uriparser/src/UriConfig.h
@@ -41,7 +41,9 @@

# define PACKAGE_VERSION "@PROJECT_VERSION@"

+/*
#cmakedefine HAVE_WPRINTF
#cmakedefine HAVE_REALLOCARRAY
+*/

#endif /* !defined(URI_CONFIG_H) */
Loading
Loading