Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
5286 commits
Select commit Hold shift + click to select a range
ee14c99
ext/phar: remove const qualifier for alias zend_string param
Apr 30, 2026
b5b2c5d
ext/phar: use zend_string for alias arg of phar_open_from_fp()
May 2, 2026
8bec211
ext/phar: remove pphar argument of phar_find_in_include_path() (#21975)
May 7, 2026
359b9a5
Merge branch 'PHP-8.4' into PHP-8.5
May 7, 2026
8d0777e
Merge branch 'PHP-8.5'
May 7, 2026
f777ce3
ext/phar: use zend_string* for alias argument of phar_open_parsed_pha…
May 8, 2026
2582710
ext/phar: refactor phar_copy_cached_phar() to return allocated pointe…
May 8, 2026
eedda2a
Add consumed_args callback optimization and apply to array_reduce() f…
May 8, 2026
630555f
[skip ci] ext/intl: Remove stale TODO in common_date (#21959)
May 9, 2026
115eb0f
zend: avoid potential integer overflow in zend_string_concat2 and zen…
May 9, 2026
0d7a0a4
ext/intl: Throw TypeError for non-stringable timezone objects (#21990)
May 9, 2026
fe52e5b
[skip ci] Fix the blog link of The Mysterious PHP RFC Process in CONT…
May 9, 2026
463c5dc
[RFC] Allow __debugInfo() on enums (#21425)
May 10, 2026
eb32042
UPGRADING: Document `__debugInfo()` for enums
May 10, 2026
f340037
Merge branch 'PHP-8.4' into PHP-8.5
May 11, 2026
43b56c9
Merge branch 'PHP-8.5'
May 11, 2026
769441b
ext/gmp: Emit deprecation for precision-losing float RHS in ** / << /…
May 11, 2026
b114db0
streams: split filter seekability into read and write fields (#21878)
May 11, 2026
ac8248b
ext/gd: imagebmp_basic.phpt test require PNG support.
May 8, 2026
10dad92
Merge branch 'PHP-8.5'
May 11, 2026
6f1f465
ext/intl: Throw ValueError for invalid break iterator locale type (#2…
May 12, 2026
fa7ab23
Merge branch 'PHP-8.4' into PHP-8.5
May 12, 2026
c2d11de
Merge branch 'PHP-8.5'
May 12, 2026
9e3e41f
Merge branch 'PHP-8.4' into PHP-8.5
May 12, 2026
061f90a
Merge branch 'PHP-8.5'
May 12, 2026
c4aa851
Merge branch 'PHP-8.4' into PHP-8.5
May 12, 2026
c0af268
Merge branch 'PHP-8.5'
May 12, 2026
0dae1e7
Merge branch 'PHP-8.4' into PHP-8.5
May 13, 2026
bba2dc3
Merge branch 'PHP-8.5'
May 13, 2026
8680c3d
Merge branch 'PHP-8.4' into PHP-8.5
May 14, 2026
0078a27
Merge branch 'PHP-8.5'
May 14, 2026
cde32be
sqlite3: fix internal return type violation in escapeString() (#22026)
May 15, 2026
b89e0ef
Fix GH-22000: Unwrap references in ReflectionProperty::isReadable() (…
May 15, 2026
3ed80a1
ext/intl: Migrate formatter, listformatter, and rangeformatter from I…
May 16, 2026
f1c6357
Deprecate making `__debugInfo()` nullable (#21984)
May 16, 2026
0288015
Merge branch 'PHP-8.4' into PHP-8.5
May 16, 2026
69b9ef2
Merge branch 'PHP-8.5'
May 16, 2026
c8c48f5
Merge branch 'PHP-8.4' into PHP-8.5
May 16, 2026
51911cc
Merge branch 'PHP-8.5'
May 16, 2026
438ad64
ext/intl: Expose Spoofchecker restriction-level APIs on all supported…
May 15, 2026
7959359
Merge branch 'PHP-8.4' into PHP-8.5
May 17, 2026
6bc2f9f
Merge branch 'PHP-8.5'
May 17, 2026
0859e1e
Zend: Fix sizeof(pointer) usage in zend_observer memmove calls (#22054)
May 17, 2026
7827754
ext/intl: Fix merge conflict markers in spoofchecker_arginfo.h (#22072)
May 17, 2026
6e2e6e2
Merge branch 'PHP-8.4' into PHP-8.5
May 18, 2026
26504b6
Merge branch 'PHP-8.5'
May 18, 2026
ed2c6ba
ext/intl: fix build due to 2d78489 merge.
May 18, 2026
1603252
Merge branch 'PHP-8.5'
May 18, 2026
33a49bb
ext/dom: Fix UAF in custom XPath function
May 18, 2026
27d2555
Merge branch 'PHP-8.5'
May 18, 2026
fa3b5a1
* ext/intl: master community build fix (attempt). (#22080)
May 18, 2026
a791534
[ext/standard] Specialize array_sum()/array_product() for long arrays…
May 18, 2026
f99989f
ext/phar: improve .phar madic directory preservation logic in phar::a…
May 18, 2026
48d588d
ext/session: reject null bytes in session.cookie_path, session.cookie…
May 18, 2026
0a03d10
ext/pcre: fix duplicate MARK key in matches array
May 12, 2026
ea8487d
Merge branch 'PHP-8.4' into PHP-8.5
May 18, 2026
6c0efb7
Merge branch 'PHP-8.5'
May 18, 2026
bb73942
uri: Update to uriparser-1.0.2 (#22070)
May 18, 2026
62b9ce9
Merge branch 'PHP-8.5'
May 18, 2026
2c32bdf
Fix GH-22023 crash during ZTS thread startup (#22027)
May 18, 2026
05574fc
Merge branch 'PHP-8.5'
May 18, 2026
06bfe15
Fix tailcall helper dispatch after VM interrupt
Apr 30, 2026
fc450ae
Merge branch 'PHP-8.5'
May 18, 2026
1746b58
Merge branch 'PHP-8.4' into PHP-8.5
May 18, 2026
696ea50
Merge branch 'PHP-8.5'
May 18, 2026
d6b7bd0
Fix GH-22062: SplDoublyLinkedList iterator UAF via destructor releasi…
May 16, 2026
ad7cce6
zend_portability: Add `ZEND_CONTAINER_OF()` (#21903)
May 19, 2026
5212b81
zend_objects: Make old_object a const* in `zend_objects_clone_member…
May 19, 2026
27ead91
ext/session: secure session configuration defaults (RFC) (#21938)
May 19, 2026
1687d81
Merge branch 'PHP-8.4' into PHP-8.5
May 19, 2026
5394a8a
Merge branch 'PHP-8.5'
May 19, 2026
a846c8f
PHP-8.5 is now for PHP 8.5.8-dev
May 19, 2026
7f7238e
Merge branch 'PHP-8.5'
May 19, 2026
9d72072
Merge branch 'PHP-8.4' into PHP-8.5
May 19, 2026
4c027ea
Merge branch 'PHP-8.5'
May 19, 2026
71eff10
Merge branch 'PHP-8.4' into PHP-8.5
May 19, 2026
0e34806
Merge branch 'PHP-8.5'
May 19, 2026
f51c8d5
ext/phar: fix for GH-21986 for master
May 19, 2026
c288b40
Merge branch 'PHP-8.4' into PHP-8.5
May 20, 2026
27a7298
Merge branch 'PHP-8.5'
May 20, 2026
3ec0670
Merge branch 'PHP-8.4' into PHP-8.5
May 20, 2026
900afbb
Merge branch 'PHP-8.5'
May 20, 2026
38e0aca
Fix GH-22071: JIT assertion on abstract static method call.
May 18, 2026
755f4e6
Merge branch 'PHP-8.5'
May 20, 2026
87efb35
Merge branch 'PHP-8.4' into PHP-8.5
May 21, 2026
cd2e060
Merge branch 'PHP-8.5'
May 21, 2026
8e3befd
Fix Windows clang VM handler declaration (#22103)
May 21, 2026
c56f5ad
Merge branch 'PHP-8.5'
May 21, 2026
c4105b6
[skip ci] Add classification section to SECURITY.md (GH-22109)
May 22, 2026
ba9dfa7
Merge branch 'PHP-8.4' into PHP-8.5
May 22, 2026
a544b8b
Merge branch 'PHP-8.5'
May 22, 2026
89f7cbd
Merge branch 'PHP-8.4' into PHP-8.5
May 22, 2026
e22ba55
Merge branch 'PHP-8.5'
May 22, 2026
946d687
ext/intl: fix IntlListFormatter object error state after format() fai…
May 22, 2026
cd55746
Merge branch 'PHP-8.5'
May 24, 2026
eeb12a4
ext/Intl: Return PHP_INT_MIN as int from MessageFormatter::parse() on…
May 24, 2026
6cc51fe
ext/curl: Use CHECK_HEADER (#22106)
May 24, 2026
900797e
ext/intl: various optimization (#22069)
May 24, 2026
b92c1a7
[ci skip] ext/session: add missing NEWS entries (#22098)
May 24, 2026
5f2ed88
main: remove OPENBASEDIR_CHECKPATH() compatibility macro (#22140)
May 24, 2026
17b262e
ext/getopt.c: simplify and cleanup (#22139)
May 24, 2026
daa9b09
Merge branch 'PHP-8.4' into PHP-8.5
May 24, 2026
5fd337e
Merge branch 'PHP-8.5'
May 24, 2026
1414ae6
Merge branch 'PHP-8.4' into PHP-8.5
May 24, 2026
825e734
Merge branch 'PHP-8.5'
May 24, 2026
7500c86
ext/intl: fix deprecation warning for GH-19666 test.
May 24, 2026
973d511
Merge branch 'PHP-8.5'
May 24, 2026
4659762
Merge branch 'PHP-8.4' into PHP-8.5
May 24, 2026
68d01d2
Merge branch 'PHP-8.5'
May 24, 2026
27d7b79
Add lxb_url_is_special to the public API of Lexbor (#22093)
May 24, 2026
f58b95e
ini_get_all(): Add `builtin_default_value` column (#22134)
May 24, 2026
1bf64ce
Implement "Followup improvements for ext/uri" RFC - URI type detectio…
May 24, 2026
d8a5aec
Implement "Followup improvements for ext/uri" RFC - Host type detecti…
May 24, 2026
6cdf46f
openssl: Introduce TLS PSK support
May 15, 2026
9e1b285
Fix GH-22142: Assertion failure in zendi_try_get_long() on IS_UNDEF.
May 25, 2026
7260b27
Merge branch 'PHP-8.4' into PHP-8.5
May 26, 2026
5a9f7c5
Merge branch 'PHP-8.5'
May 26, 2026
3447c58
Zend: no need to fetch method name for constructor (#22153)
May 26, 2026
533162d
ext/intl: document IntlBreakIterator::getPartsIterator() $type change…
May 26, 2026
9898293
Release Process: Add commands for merge up (#22096)
May 26, 2026
f97ff59
`zend_string` docs: add missing apostrophe
May 27, 2026
95743e0
uri: Update contributor name in CREDITS
May 28, 2026
7aa91a8
Merge branch 'PHP-8.4' into PHP-8.5
May 28, 2026
093a59c
Merge branch 'PHP-8.5'
May 28, 2026
a7aacec
Fix compilation errors up until Clang 21.0 (#22141)
May 28, 2026
c956d6d
Merge branch 'PHP-8.4' into PHP-8.5
May 29, 2026
9596ab1
Merge branch 'PHP-8.5'
May 29, 2026
ab748d5
Define LEXBOR_STATIC in CFLAGS_URI for static ext/uri on Windows (#22…
May 29, 2026
f9d6735
Merge branch 'PHP-8.5'
May 29, 2026
625f0a7
Fix ref unwrap for zend_call_method_if_exists() (zend_test) (GH-22179)
May 29, 2026
d61ff7c
ext/spl: ArrayObject no longer accepts arbitrary Iterators during uns…
May 29, 2026
be41c36
ext/phar: harden OpenSSL signature handling in util.c. (#22174)
May 29, 2026
263743b
ext/standard: http(s) wrapper corrupts the basic auth header on perce…
May 28, 2026
f357164
ext/standard: http(s) wrapper corrupts the basic auth header on perce…
May 28, 2026
ce4adcc
Merge branch 'PHP-8.5'
May 29, 2026
f2b371e
Add new stream erros API
May 28, 2026
639a57d
Fix GH-22081: Memory leak in php_openssl_enable_crypto (#22189)
May 30, 2026
6007c09
Merge branch 'PHP-8.4' into PHP-8.5
May 30, 2026
64ebf2f
Merge branch 'PHP-8.5'
May 30, 2026
7092ff5
main/streams: use zend_call_known_fcc() instead of call_user_function…
May 30, 2026
b14702a
[skip ci] Specify unserialize() in security policy (GH-22184)
May 31, 2026
8575931
Fix stream_last_errors() rcn hint (GH-22194)
May 31, 2026
61e679d
[skip ci] Add CREDITS for GH-22047.phpt
May 31, 2026
69e023f
ext/*: Make `X_from_obj(zend_object *obj)` functions macros (#22183)
Jun 1, 2026
fd33418
Add ZipArchive::closeString() (#21497)
Jun 1, 2026
56d1ffc
UPGRADING: document `ZipArchive::closeString()` addition
Jun 1, 2026
4c8dabf
Fix -Werror compile error in `zend_dval_to_lval_cap()` (#22196)
Jun 1, 2026
d837199
Merge branch 'PHP-8.5'
Jun 1, 2026
8172b7e
Fix merge
Jun 1, 2026
7de451f
uri: Do not copy and normalize already-normalized URIs for uri_parser…
Jun 1, 2026
a22c56c
Add `error_include_args` INI option to display function args in docre…
Jun 1, 2026
72244e6
ext/standard: improve explode() error message for empty separator (GH…
Jun 2, 2026
b5c17e7
openssl: fix memory leaks when session callback returns wrong type (#…
Jun 2, 2026
092fd61
Merge branch 'PHP-8.4' into PHP-8.5
Jun 3, 2026
9f96285
win32/signal.c: convert ctrl_handler to FCC (#22210)
Jun 3, 2026
4e4306a
zend_ini.c: fix zend_ini_bool_literal() with unknown INI setting (#22…
Jun 3, 2026
951c891
Merge branch 'PHP-8.5'
Jun 3, 2026
eea5d0a
ext/openssl: use helper function for ValueError
May 30, 2026
f7c63f7
ext/openssl: convert PSK callback to FCC
May 30, 2026
425cd3d
ext/openssl: convert SESSION callback to FCC
May 30, 2026
a4ff76e
ext/intl: Preserve int64 precision in IntlNumberRangeFormatter::format()
Jun 1, 2026
b747e19
ext/intl: Fix UConverter::transcode() substitution length truncation …
Jun 4, 2026
21c2318
Reject out-of-range SOAP schema integers (#22178)
Jun 4, 2026
631bf8a
Fix GH-22200: stream api memory leaks. (#22204)
Jun 4, 2026
8816199
Add stream crypto status for exposing OSSL WANT_READ / WANT_WRITE (#2…
Jun 4, 2026
ecd6cd8
Convert stream error in php_stream_xport_crypto_get_status
Jun 4, 2026
80d580b
Fix GH-22218: SoapServer::handle() crash on non-array `$_SERVER`.
Jun 3, 2026
95b5b48
Merge branch 'PHP-8.5'
Jun 4, 2026
c701c57
ext/phar: stream context options are always stored in an array (#22234)
Jun 6, 2026
d89f14b
Add WebP support to ext/exif
Jun 2, 2026
16e217e
Merge branch 'PHP-8.4' into PHP-8.5
Jun 7, 2026
0d2d353
Merge branch 'PHP-8.5'
Jun 7, 2026
42cc4ad
ext/intl: Fix ResourceBundle fallback-disabled error message (#22236)
Jun 7, 2026
0814870
Merge branch 'PHP-8.4' into PHP-8.5
Jun 7, 2026
ad1cf51
Merge branch 'PHP-8.5'
Jun 7, 2026
e21aaa3
Merge branch 'PHP-8.4' into PHP-8.5
Jun 7, 2026
7aff22c
Merge branch 'PHP-8.5'
Jun 7, 2026
237932f
ext/bz2: Reject oversized input in bzdecompress()
Jun 6, 2026
d3a70ea
Merge branch 'PHP-8.4' into PHP-8.5
Jun 7, 2026
a7223e7
Merge branch 'PHP-8.5'
Jun 7, 2026
1d8cb11
sockets: Fix memory leak in socket_recvfrom()
Jun 7, 2026
63c3394
Merge branch 'PHP-8.4' into PHP-8.5
Jun 8, 2026
e9e2418
Merge branch 'PHP-8.5'
Jun 8, 2026
78d394e
[skip ci] ext/intl: Fix typos in error conventions (#22261)
Jun 9, 2026
a7f40d1
zend_hash.h: return `true`/`false` from `bool` functions (#22162)
Jun 9, 2026
fb9bff1
Merge branch 'PHP-8.4' into PHP-8.5
Jun 10, 2026
20e99a7
Merge branch 'PHP-8.5'
Jun 10, 2026
7aa6c49
Merge branch 'PHP-8.4' into PHP-8.5
Jun 10, 2026
5170c01
Merge branch 'PHP-8.5'
Jun 10, 2026
8a14cd1
Fix Uri\Rfc3986\Uri test name
Jun 10, 2026
65ad51c
Remove unnecessary "extensions" section from ext/uri tests
Jun 10, 2026
0e973e3
Fix missing zend_tests extension dependencies for ext/uri tests
Jun 11, 2026
d641a9f
Merge branch 'PHP-8.4' into PHP-8.5
Jun 11, 2026
8db6246
Merge branch 'PHP-8.5'
Jun 11, 2026
05c7b00
Fix another vm_interrupt bug for tailcall VM (#22265)
Jun 11, 2026
bd02ae9
Merge branch 'PHP-8.5'
Jun 11, 2026
c9cb1f9
Clean Lexbor logs before each Uri\WhatWg\Url wither call (#22276)
Jun 11, 2026
78952c7
Merge branch 'PHP-8.5'
Jun 11, 2026
00d7f85
Merge branch 'PHP-8.4' into PHP-8.5
Jun 11, 2026
03b148c
Merge branch 'PHP-8.5'
Jun 11, 2026
50decba
Merge branch 'PHP-8.4' into PHP-8.5
Jun 11, 2026
8bbe4b4
Merge branch 'PHP-8.5'
Jun 11, 2026
2869551
sapi/apache2handler: Add --disable-apache2-conf configure option (#22…
Jun 12, 2026
5c5c48f
Add info about --disable-apache2-conf
Jun 12, 2026
534d28a
Merge branch 'PHP-8.4' into PHP-8.5
Jun 12, 2026
b7cc1c1
Merge branch 'PHP-8.5'
Jun 12, 2026
b50b30c
standard: Fail unserialization when the `C` format is used for classe…
Jun 12, 2026
bb20b5f
Merge branch 'PHP-8.4' into PHP-8.5
Jun 12, 2026
8c63ec4
Merge branch 'PHP-8.5'
Jun 12, 2026
7c86d86
Reuse existing Zend parameter error helpers for standard error paths …
Jun 13, 2026
fb739d1
Merge branch 'PHP-8.4' into PHP-8.5
Jun 13, 2026
eda2a76
Merge branch 'PHP-8.5'
Jun 13, 2026
a151551
Constify the value param of the ext/uri write handlers (#22274)
Jun 13, 2026
7c98e65
Fix GH-22118: Compare equivalent fake closures in FCCs (#22145)
Jun 14, 2026
a2114a3
Zend: fix canonical case of magic-method name macros (#22275)
Jun 14, 2026
3d8ed85
[skip-ci] ext/standard/tests: use die() instead of echo for 64-bit sk…
Jun 14, 2026
b6385ef
ext/exif: spell the Exif identifier code as a char literal (#22241)
Jun 14, 2026
a59f6ec
[skip ci] use die() instead of echo for 64-bit skip condition (#22299)
Jun 14, 2026
d7e4fc7
zend_types: Move `zend_gc_*()` functions above the wrapper macros (#2…
Jun 14, 2026
ceb4934
zend_operators: Remove `zend_binary_zval_str(n)cmp()` (#22298)
Jun 14, 2026
e645c60
Merge branch 'PHP-8.4' into PHP-8.5
Jun 14, 2026
4badd48
Merge branch 'PHP-8.5'
Jun 14, 2026
3c6b25c
zend_string: Add `zend_string_equals_cstr_ci()` (#22296)
Jun 14, 2026
8f44bd9
zend_ast: Quote names of invalid variable names when exporting AST (#…
Jun 14, 2026
f26aae1
Microoptimize zval_long_or_null_to_lexbor_str
Jun 13, 2026
3642a7a
Add a few missing modifiers for ext/uri functions
Jun 14, 2026
2ec5f2d
Merge branch 'PHP-8.4' into PHP-8.5
Jun 14, 2026
10bdc08
Merge branch 'PHP-8.5'
Jun 14, 2026
c76b33d
zend_types: Remove the unused `Z_GC_*()` macros (#22303)
Jun 14, 2026
b8ff8d6
Fix GH-22112: assertion when error handler throws during NaN coercion
May 25, 2026
51c22d3
zend_observer: Convert macros to inline functions (#22301)
Jun 14, 2026
9516807
zend_object_handlers: Replace function-like macros by (inline) functi…
Jun 14, 2026
3ed338c
Merge branch 'PHP-8.5'
Jun 14, 2026
98b5660
Merge branch 'PHP-8.4' into PHP-8.5
Jun 14, 2026
eaa40bb
Update NEWS after upmerge
Jun 14, 2026
825cb52
Merge branch 'PHP-8.5'
Jun 14, 2026
85231e8
[8.5] NEWS: order extensions alphabetically
Jun 14, 2026
b5133d0
Merge branch 'PHP-8.5'
Jun 14, 2026
2d15108
Add internal polling API
Mar 15, 2026
6c6fb56
Introduce Io\Poll userspace API
Mar 15, 2026
59df418
Fix refcount mistake in \Io\Poll\Backend::getAvailableBackends()
Jun 14, 2026
0d6f941
Fix old license headers from latest stream changes
Jun 14, 2026
92128ac
Fix stream_context_set_option() mutating the default context (#22235)
Jun 14, 2026
74d6137
[skip ci] Fix test output of ZipArchive_closeString_false.phpt for So…
Jun 15, 2026
2dfc044
Merge branch 'PHP-8.4' into PHP-8.5
Jun 15, 2026
917f3ea
Merge branch 'PHP-8.5'
Jun 15, 2026
fe841b7
Merge branch 'PHP-8.4' into PHP-8.5
Jun 15, 2026
8a43a0a
Update NEWS for PR 22221
Jun 15, 2026
3bb6e55
Merge branch 'PHP-8.5'
Jun 15, 2026
4e5451e
zend: fix missing return in global register detection (GH-22206)
Jun 15, 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 @SakiTakamachi
/ext/bcmath @SakiTakamachi
/ext/curl @adoy
/ext/date @derickr
/ext/dba @Girgias
Expand All @@ -28,6 +28,7 @@
/ext/intl @devnexen @LamentXU123
/ext/libxml @devnexen
/ext/json @bukka
/ext/lexbor @kocsismate
/ext/mbstring @alexdowad @youkidearitai
/ext/mysqli @bukka @kamil-tekiela
/ext/mysqlnd @bukka @kamil-tekiela @SakiTakamachi
Expand All @@ -51,6 +52,7 @@
/ext/sockets @devnexen
/ext/spl @Girgias
/ext/standard @bukka
/ext/uri @kocsismate @TimWolla
/ext/xml @devnexen
/ext/xmlreader @devnexen
/ext/xmlwriter @devnexen
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 © The PHP Group and Contributors
Built by Ubuntu
Zend Engine v4.5.2, Copyright © Zend by Perforce
with Zend OPcache v8.5.2, Copyright ©, Zend by Perforce
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
9 changes: 3 additions & 6 deletions .github/actions/freebsd/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ runs:
pkgconf \
webp \
libavif \
`#sqlite3` \
sqlite3 \
curl \
$OPCACHE_TLS_TESTS_DEPS

Expand All @@ -57,9 +57,7 @@ runs:
--enable-debug \
--enable-option-checking=fatal \
--enable-fpm \
`#--with-pdo-sqlite` \
--without-sqlite3 \
--without-pdo-sqlite \
--with-pdo-sqlite \
--without-pear \
--with-bz2 \
--with-avif \
Expand Down Expand Up @@ -115,8 +113,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 .
19 changes: 18 additions & 1 deletion .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,18 @@
- scripts/**/*
- win32/build/**/*

"Category: CI":
- changed-files:
- any-glob-to-any-file:
- .circleci/*
- .github/actions/**/*
- .github/scripts/**/*
- .github/workflows/*
- .github/CODEOWNERS
- .github/labeler.yml
- .github/setup_hmailserver.php
- .github/matrix.php

"Extension: bcmath":
- changed-files:
- any-glob-to-any-file:
Expand Down Expand Up @@ -320,6 +332,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 +481,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 +504,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
Loading