Skip to content

[pull] master from php:master #207

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 512 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
512 commits
Select commit Hold shift + click to select a range
d40e320
ext/tidy: Use uint32_t and bool types instead of unsigned int type
Girgias Jun 5, 2025
b7db5c8
ext/tidy: Remove TIDY_SET_CONTEXT macro
Girgias Jun 5, 2025
4fd91c6
ext/tidy: Use RETURN_THROWS() macro
Girgias Jun 5, 2025
bf3d7d1
ext/tidy: Use RETURN_STR() instead of RETVAL_STR() + return;
Girgias Jun 5, 2025
2505781
ext/tidy: Use RETURN_BOOL() where possible
Girgias Jun 5, 2025
feff538
ext/tidy: Reduce scope of variable and rename to prevent variable sha…
Girgias Jun 5, 2025
d97a90a
ext/tidy: Use zend_result type instead of int type
Girgias Jun 5, 2025
19b1173
ext/tidy: Add some const qualifiers
Girgias Jun 5, 2025
4162c20
Fix compile without ZEND_MM_STORAGE
nielsdos Jun 5, 2025
976143e
Merge branch 'PHP-8.3' into PHP-8.4
nielsdos Jun 5, 2025
99d5624
Merge branch 'PHP-8.4'
nielsdos Jun 5, 2025
8f3cdf6
gen_stub: Add support for attributes on constants in stubs (#18735)
DanielEScherzer Jun 5, 2025
2751064
use XSSE for bcmath (#18770)
SakiTakamachi Jun 5, 2025
e549ccb
ext/pdo_pgsql: Delete unused constants
vrana Apr 19, 2025
cc1f1c6
[skip ci] giving proper credits to last changes in ext/pdo_pgsql
devnexen Jun 6, 2025
ae92b85
Fix linking ext/curl against OpenSSL (#13262)
petk Feb 14, 2024
c772963
Merge branch 'PHP-8.3' into PHP-8.4
bukka Jun 6, 2025
a8b7c65
Merge branch 'PHP-8.4'
bukka Jun 6, 2025
01abca9
[skip ci ] fix: deleted stray semicolon (GH-18782)
NickSdot Jun 6, 2025
cce0efd
Revert "ext/pdo_pgsql: Delete unused constants"
devnexen Jun 6, 2025
d15c61e
ext/gettext: fixed typo in config.m4 (#18790)
NickSdot Jun 7, 2025
1044558
ext/pdo_sqlite: createCollation memory leaks fix.
devnexen Jun 7, 2025
b72dccb
Merge branch 'PHP-8.4'
devnexen Jun 7, 2025
ceffa70
ext/pdo_sqlite: Fix GH-18796 test exception message. (#18798)
devnexen Jun 7, 2025
cb04226
Avoid making a redundant copy in php_filter_callback() (#18794)
nielsdos Jun 8, 2025
eac91d0
[ci skip] Fix UPGRADING formatting
nielsdos Jun 8, 2025
e3cfa4b
ext/pdo_sqlite: PDO::sqliteCreateCollection return type strenghtening.
devnexen Jun 7, 2025
1a18012
zend_vm_gen: Fix GET_OP*_OBJ_ZVAL_PTR_DEREF for ANY (#18746)
TimWolla Jun 9, 2025
31b4f39
Use ZVAL_NEW_STR() for new string in php_filter_encode_html()
nielsdos Jun 7, 2025
c02f6fb
Output blocks of safe chars in php_filter_encode_html()
nielsdos Jun 7, 2025
4852a2c
pdo_dblib: Use stack local array instead of heap allocation (#18801)
nielsdos Jun 9, 2025
9a9d98e
Do not delete main chunk in zend_gc
danog Jun 4, 2025
ef92e06
Fix memory leak on php_odbc_fetch_hash() failure
nielsdos Jun 6, 2025
786090b
pdo_odbc: Fix memory leak if WideCharToMultiByte() fails
nielsdos Jun 6, 2025
5526301
Merge branch 'PHP-8.3' into PHP-8.4
nielsdos Jun 9, 2025
502c682
Merge branch 'PHP-8.4'
nielsdos Jun 9, 2025
b3c8afe
Fix GH-18743: Incompatibility in Inline TLS Assembly on Alpine 3.22
nielsdos Jun 5, 2025
7a0beb4
Merge branch 'PHP-8.3' into PHP-8.4
nielsdos Jun 9, 2025
4c72203
Merge branch 'PHP-8.4'
nielsdos Jun 9, 2025
4f0554f
Properly handle __debugInfo() returning an array reference
nielsdos Jun 4, 2025
b41a8aa
[ci skip] Fix NEWS location
nielsdos Jun 9, 2025
7b6c0b9
zend_alloc: Fix compilation with ZEND_MM_CUSTOM=0 (#18808)
nielsdos Jun 9, 2025
186a811
Fix test conflict between copy_variation2-win32-mb.phpt and copy_vari…
nielsdos Jun 9, 2025
d6258d6
Merge branch 'PHP-8.3' into PHP-8.4
nielsdos Jun 9, 2025
5b85b1a
Merge branch 'PHP-8.4'
nielsdos Jun 9, 2025
d11f971
zend_alloc: Fix compile with ZEND_MM_STAT=0
nielsdos Jun 9, 2025
fc89d19
Merge branch 'PHP-8.3' into PHP-8.4
nielsdos Jun 9, 2025
8a3201d
Merge branch 'PHP-8.4'
nielsdos Jun 9, 2025
53231a8
ext/pdo_sqlite: adding Pdo_Sqlite::ATTR_BUSY_STATEMENT
devnexen Jun 8, 2025
931ee4b
[ci skip] Re-add accidentally removed NEWS entry
nielsdos Jun 9, 2025
e118147
release-process: update pre-release cycle docs (#18805)
DanielEScherzer Jun 9, 2025
fe3bea0
Fix technically incorrect sizeof
nielsdos Jun 9, 2025
4f233e3
Merge branch 'PHP-8.3' into PHP-8.4
nielsdos Jun 9, 2025
32c6ac9
Merge branch 'PHP-8.4'
nielsdos Jun 9, 2025
3e37bce
[skip ci] Trim trailing whitespace in zend_compile.c
TimWolla Jun 10, 2025
2036c71
[skip ci] Add T_VOID_CAST constant to UPGRADING
TimWolla Jun 10, 2025
1c09c0c
RFC: Pipe operator (#17118)
Crell Jun 10, 2025
7d24cce
Update Lexbor
kocsismate Jun 10, 2025
3399235
Add Uri\WhatWg classes to ext/uri (#18672)
kocsismate Jun 10, 2025
5f9a0b5
gen_stub: Fix undefined variable warning (#18821)
TimWolla Jun 10, 2025
8f3e555
Use zval_try_get_string_func() in concat_function() (#18815)
nielsdos Jun 10, 2025
594221f
cli: Fix tests/bug80092.phpt expectation for `PHP_BUILD_PROVIDER` (#1…
TimWolla Jun 10, 2025
eb151e3
Properly handle reference return value from __toString()
nielsdos Jun 9, 2025
5740607
Merge branch 'PHP-8.4'
TimWolla Jun 10, 2025
0cd3ebf
Fix 'phpdbg --help' segfault on shutdown with USE_ZEND_ALLOC=0
nielsdos Jun 9, 2025
6685414
Merge branch 'PHP-8.3' into PHP-8.4
nielsdos Jun 10, 2025
7f3a2bc
Merge branch 'PHP-8.4'
nielsdos Jun 10, 2025
0a95b2f
Fix GH-18820: Windows compilation issue: php-src\Zend\zend_exceptions…
nielsdos Jun 10, 2025
559858c
Improve performance of unpack() with nameless repetitions (#18803)
nielsdos Jun 10, 2025
dbabbe1
Remove dead code from openssl_spki_new() implementation (#18752)
nielsdos Jun 10, 2025
2a77e28
ext/standard/pack: Inline constant single use variables
Girgias Jun 10, 2025
e96a7f0
ext/standard/pack: Remove useless casts
Girgias Jun 10, 2025
34e22c5
ext/standard/pack: Reduce scope of variable
Girgias Jun 10, 2025
a297a44
ext/standard/pack: Remove unused header includes
Girgias Jun 10, 2025
def3a95
[skip ci] ext/standard/pack: Fix indentation to use tabs
Girgias Jun 10, 2025
029a788
Simplify callers of zval_try_get_long() (#18830)
nielsdos Jun 12, 2025
28a083b
Use zend_string_release_ex() in concat_function() (#18827)
nielsdos Jun 12, 2025
42b9b2f
[ci skip] Fix pipe optimization test wrt temps for observers
nielsdos Jun 12, 2025
afb1c57
Fix GH-14551: PGO build fails with xxhash
nielsdos Jun 9, 2025
f8e2adf
Merge branch 'PHP-8.3' into PHP-8.4
nielsdos Jun 12, 2025
5740038
Merge branch 'PHP-8.4'
nielsdos Jun 12, 2025
71a2544
ext/pdo_sqlite: EXPLAIN mode support for SQL statements.
devnexen Jun 10, 2025
058c034
ext/sqlite3: adding busy() call.
devnexen Jun 12, 2025
43c18f3
Fix GH-18823: setlocale's 2nd and 3rd argument ignores strict_types
nielsdos Jun 10, 2025
7361a12
ext/pdo_sqlite: explain statement prefixing with its class for errors…
devnexen Jun 13, 2025
7e59769
Move pipe test with opcache dump to ext/opcache
iluuu1994 Jun 14, 2025
0a9697f
Fix unused variable in pdo_sqlite_stmt_set_attribute() (GH-18851)
iluuu1994 Jun 14, 2025
2e2494f
[skip ci] Fix whitespace in ext/pdo_sqlite/sqlite_statement.c
iluuu1994 Jun 14, 2025
a674904
PHP-8.4 is now for PHP 8.4.10-dev
SakiTakamachi Jun 17, 2025
50606f8
PHP 8.3 is now for PHP 8.3.24-dev
ericmann Jun 17, 2025
4d303e7
Merge branch 'PHP-8.3' into PHP-8.4
ericmann Jun 17, 2025
ee1bbcf
Merge branch 'PHP-8.4'
ericmann Jun 17, 2025
5f67bac
ext/intl: Fix compile issues with ICU versions lower than 67 (#18868)
BogdanUngureanu Jun 18, 2025
5ff5ee0
Fix iconv tests skipped on windows
hyh19962008 Jun 8, 2025
55b9d0a
Merge branch 'PHP-8.3' into PHP-8.4
nielsdos Jun 18, 2025
412d691
Merge branch 'PHP-8.4'
nielsdos Jun 18, 2025
5cf3c26
Fix use after free during shutdown destruction
danog Jun 11, 2025
bb6263a
Merge branch 'PHP-8.3' into PHP-8.4
nielsdos Jun 18, 2025
bc7d00e
Merge branch 'PHP-8.4'
nielsdos Jun 18, 2025
f129586
ext/pdo_sqlite: fix minimal version for EXPLAIN feature support. (#18…
devnexen Jun 18, 2025
3ff6874
Remove HAVE_GETLOGIN from win32/config.w32.h.in template (#18865)
petk Jun 19, 2025
49dd619
Autotools: Move PHP_ODBC_* defines to configuration header (#15708)
petk Jun 19, 2025
2f55291
Sync to lexbor/lexbor@0eac579f (#18882)
nielsdos Jun 19, 2025
be70f42
Add HAVE_MEMMOVE to ext/pcre (#18862)
petk Jun 19, 2025
9cacc57
Track heap->real_size for USE_TRACKED_ALLOC
iluuu1994 Jun 19, 2025
7841c8a
Merge branch 'PHP-8.1' into PHP-8.2
iluuu1994 Jun 20, 2025
dfc4caa
Merge branch 'PHP-8.2' into PHP-8.3
iluuu1994 Jun 20, 2025
0ee73cc
Merge branch 'PHP-8.3' into PHP-8.4
iluuu1994 Jun 20, 2025
feb1d63
Merge branch 'PHP-8.4'
iluuu1994 Jun 20, 2025
edfd55c
ext/bcmath: use vector in compare (#18859)
SakiTakamachi Jun 20, 2025
9404411
ext/dom: Fix new MSVC compiler warning
Girgias Jun 20, 2025
27e485d
Merge branch 'PHP-8.4'
Girgias Jun 20, 2025
391bd2a
Remove bug61371 test
iluuu1994 Jun 20, 2025
2ecdde0
Merge branch 'PHP-8.1' into PHP-8.2
iluuu1994 Jun 20, 2025
64bc12c
Merge branch 'PHP-8.2' into PHP-8.3
iluuu1994 Jun 20, 2025
a68f1e7
Merge branch 'PHP-8.3' into PHP-8.4
iluuu1994 Jun 20, 2025
ed2bebd
Merge branch 'PHP-8.4'
iluuu1994 Jun 20, 2025
9859d83
Implement request #61105: Support Soap 1.2 SoapFault Reason Text lang…
nielsdos May 29, 2025
c6b058b
Fix memory leaks when returning refcounted value from curl callback
nielsdos Jun 19, 2025
ca487ae
Merge branch 'PHP-8.3' into PHP-8.4
nielsdos Jun 20, 2025
89be689
Merge branch 'PHP-8.4'
nielsdos Jun 20, 2025
5bd18e3
ext/zlib: Refactor tests (#18887)
Girgias Jun 21, 2025
a36b8fd
Fix GH-13264: fgets() and stream_get_line() do not return false on fi…
bukka Jun 5, 2025
bbac591
Merge branch 'PHP-8.3' into PHP-8.4
bukka Jun 21, 2025
89934b4
Merge branch 'PHP-8.4'
bukka Jun 21, 2025
4fadf64
Refactor dom_nnodemap_objects_new()
nielsdos Jun 20, 2025
ff0a2cf
Refactor implementation of DOM nodelists, named maps, and iterators
nielsdos Jun 21, 2025
0ab5f70
ext/spl: Remove bool type coercions in tests
Girgias Jun 21, 2025
091308c
ext/soap: Remove bool type coercions in tests
Girgias Jun 21, 2025
8316ff2
ext/dba: Remove bool type coercions in tests
Girgias Jun 21, 2025
5f3e10d
ext/bz2: Remove bool type coercions in tests
Girgias Jun 21, 2025
fa81a23
ext/exif: Remove bool type coercions in tests
Girgias Jun 21, 2025
37549e4
ext/gmp: Remove bool type coercions in tests
Girgias Jun 21, 2025
8526de8
Move common obj_map API functions to obj_map.c
nielsdos Jun 21, 2025
26aea0e
Tweak sizes of some dom_nnodemap_object fields
nielsdos Jun 21, 2025
8736342
Pack dom_nnodemap_object fields together with a union that can't be a…
nielsdos Jun 21, 2025
479e9be
Store hash table entry directly in dom_nnodemap_object
nielsdos Jun 21, 2025
9b6df10
Don't use the obj_map cache for attributes (#18895)
nielsdos Jun 22, 2025
2694eb9
Fixed GH-18902: ldap_exop/ldap_exop_sync assert triggered on empty re…
devnexen Jun 22, 2025
0afe0bb
Merge branch 'PHP-8.3' into PHP-8.4
devnexen Jun 22, 2025
a246102
Merge branch 'PHP-8.4'
devnexen Jun 22, 2025
a5f21ca
Fix GH-18901: integer overflow mb_split
nielsdos Jun 22, 2025
2577e3a
Merge branch 'PHP-8.3' into PHP-8.4
nielsdos Jun 22, 2025
b727821
Merge branch 'PHP-8.4'
nielsdos Jun 22, 2025
3df665a
[Windows build] Remove redundant flags definitions (#18890)
petk Jun 22, 2025
4f1b005
Autotools: Enable tsrmls cache in hash extension on big endian (#15303)
petk Jun 22, 2025
01c3001
ext/tidy: zend_parse_parameters_none -> ZEND_PARSE_PARAMETERS_NONE ma…
devnexen Jun 22, 2025
4dfba7a
[RFC] Final Property Promotion
DanielEScherzer Jun 22, 2025
ddd33fd
Generated arginfo headers: combine preprocessor conditional blocks (2…
DanielEScherzer Jun 22, 2025
e931017
[skip ci] Add myself to EXTENSIONS (#18918)
SakiTakamachi Jun 23, 2025
22bd2ae
ext/sqlite3: explain statement support addition.
devnexen Jun 14, 2025
375316d
ext/sqlite3: Sqlite3Result::fetchAll()
devnexen Jun 19, 2025
81865ec
uri: Improve exceptions for Uri\WhatWg\Url (#18855)
TimWolla Jun 23, 2025
2ccd2b0
ext/calendar: jewishtojd overflow on year argument.
devnexen Jun 14, 2025
e3fe9a9
Merge branch 'PHP-8.3' into PHP-8.4
devnexen Jun 23, 2025
0f55c20
Merge branch 'PHP-8.4'
devnexen Jun 23, 2025
67bbf9c
ext/filter: Remove ZPP test
Girgias Jun 20, 2025
c03f606
ext/calendar: Remove ZPP test
Girgias Jun 20, 2025
c777864
ext/mbstring: Remove ZPP tests
Girgias Jun 20, 2025
b068bef
ext/dom: Remove bool type coercions in tests
Girgias Jun 23, 2025
8cd4f95
ext/pcntl: Remove bool type coercions in tests
Girgias Jun 23, 2025
c26105d
ext/posix: Remove ZPP tests
Girgias Jun 23, 2025
4ff8d9f
ext/uri: Remove bool type coercions in tests (#18921)
Girgias Jun 23, 2025
40be5fa
ext/sockets: Remove bool type coercions in tests
Girgias Jun 23, 2025
4baecc1
ext/simplexml: Remove bool type coercions in tests
Girgias Jun 23, 2025
7f80d4d
ext/session: Remove bool type coercions in tests
Girgias Jun 23, 2025
c7f0ac1
ext/random: Remove useless tests (#18920)
Girgias Jun 23, 2025
fe504d3
Fix leak when creating cycle in hook
iluuu1994 Jun 22, 2025
ddfa743
Merge branch 'PHP-8.4'
iluuu1994 Jun 23, 2025
b508988
Unbreak PRINTF_DEBUG macro usages
nielsdos Jun 22, 2025
799ec7b
Fix misleading errors in printf()
nielsdos Jun 22, 2025
eb78a0b
Merge branch 'PHP-8.3' into PHP-8.4
nielsdos Jun 23, 2025
8493495
Merge branch 'PHP-8.4'
nielsdos Jun 23, 2025
8e731ca
Fix GH-18639: Internal class aliases can break preloading + JIT
nielsdos Jun 22, 2025
ee2c0d7
Merge branch 'PHP-8.3' into PHP-8.4
nielsdos Jun 23, 2025
9b7252b
Merge branch 'PHP-8.4'
nielsdos Jun 23, 2025
56c4ddf
Fix GH-18899: JIT function crash when emitting undefined variable war…
nielsdos Jun 22, 2025
6eed02b
Merge branch 'PHP-8.4'
nielsdos Jun 23, 2025
591b324
Do not use RTLD_DEEPBIND if dlmopen is available (#18612)
danog Jun 23, 2025
1e3d92f
Fix GH-14082: Segmentation fault on unknown address 0x600000000018 in…
nielsdos Jun 22, 2025
3664f4a
Merge branch 'PHP-8.3' into PHP-8.4
nielsdos Jun 23, 2025
d8c4890
Merge branch 'PHP-8.4'
nielsdos Jun 23, 2025
29e94f8
Autotools: Remove obsole Autoconf macros (#18914)
petk Jun 23, 2025
ecc602e
Remove non-existing INI directive detect_unicode (#18909)
petk Jun 23, 2025
d6fc743
zend_string: Simplify logic in `zend_interned_strings_init()` (#18922)
TimWolla Jun 24, 2025
c5e7490
mail: fix exit code handling of sendmail cmd
lollipopman Jun 3, 2025
6a75612
mail: add logging on errors
lollipopman Jun 3, 2025
fc04966
Add NEWS and UPGRADING for sendmail error handling changes
bukka Jun 24, 2025
537ae4f
removed `ZEND_IS_XDIGIT()` (#18926)
SakiTakamachi Jun 24, 2025
39cf276
php_gdb: Print some numeric fields as hexadecimal (#18925)
TimWolla Jun 24, 2025
5ed8b2b
Fix GH-18897: printf: empty precision is interpreted as precision 6, …
nielsdos Jun 24, 2025
ca49a7b
RFC: Turn `clone()` into a function (#18919)
TimWolla Jun 24, 2025
aea3ade
ext/pcntl: Added rusage parameter to pcntl_waitid
vrza Sep 16, 2024
41d3440
NEWS: add a missing backtick [skip ci]
DanielEScherzer Jun 24, 2025
e7678cd
sqlite3: Use Z_TRY_ADDREF
nielsdos Jun 24, 2025
6d15475
sqlite3: Split off column name cache generation
nielsdos Jun 24, 2025
6233dc6
Switch to windows-2022 in CI (#18927)
shivammathur Jun 24, 2025
91f2458
Merge branch 'PHP-8.1' into PHP-8.2
shivammathur Jun 24, 2025
dc79f4c
Merge branch 'PHP-8.2' into PHP-8.3
shivammathur Jun 24, 2025
d2a30ac
Merge branch 'PHP-8.3' into PHP-8.4
shivammathur Jun 24, 2025
720917f
Merge branch 'PHP-8.4'
shivammathur Jun 24, 2025
2965fb8
ext/pcntl: following up #15921 rework SYS_pidfd_open configure detect…
devnexen Jun 24, 2025
359a21f
Fix RCN violations in array functions
nielsdos Jun 24, 2025
f77c04d
Merge branch 'PHP-8.3' into PHP-8.4
nielsdos Jun 24, 2025
be23be0
Merge branch 'PHP-8.4'
nielsdos Jun 24, 2025
ea6a7a9
Fix CI for windows-2022
shivammathur Jun 24, 2025
ac15486
Fix CI for windows-2022
shivammathur Jun 24, 2025
a8bd3ba
Merge branch 'PHP-8.3' into PHP-8.4
shivammathur Jun 24, 2025
9adc949
Merge branch 'PHP-8.4'
shivammathur Jun 24, 2025
e892356
Merge branch 'PHP-8.2' into PHP-8.3
iluuu1994 Jun 24, 2025
86e5c67
Merge branch 'PHP-8.3' into PHP-8.4
iluuu1994 Jun 24, 2025
aab2815
Merge branch 'PHP-8.4'
iluuu1994 Jun 24, 2025
8b61c49
Allowed the use of formats like `@param array<>` (#18924)
SakiTakamachi Jun 25, 2025
e98879f
main.c: fix a typo, add some capitalization [skip ci] (#18905)
DanielEScherzer Jun 26, 2025
171501b
Replace `@deprecated` with `#[\Deprecated]` for internal constants (#…
DanielEScherzer Jun 26, 2025
1b7f456
ext/date: Fix tests (#18891)
Girgias Jun 26, 2025
c7c6a79
Add support for ParentNode::$children (#18908)
nielsdos Jun 27, 2025
aee1d7f
Fix pcntl_rfork / pcntl_forkx with zend-max-execution-timers
arnaud-lb Jun 27, 2025
dd1a07f
Merge branch 'PHP-8.3' into PHP-8.4
arnaud-lb Jun 27, 2025
e0ab056
Merge branch 'PHP-8.4'
arnaud-lb Jun 27, 2025
25e1674
[skip ci] Add editor config dirs to gitignore (GH-18669)
xepozz Jun 27, 2025
22e444c
[skip ci] README: Add macos instruction + other tweaks (GH-18670)
xepozz Jun 27, 2025
4495594
ext/intl: Use zval_get_tmp_string where possible (#18966)
nielsdos Jun 28, 2025
737db4a
Use hasThis() where appropriate (#18967)
nielsdos Jun 28, 2025
984bcb5
ext/mysqli: Get rid of calls to strcpy (#18970)
nielsdos Jun 28, 2025
fffe642
Remove HAVE_PTRDIFF_T and SIZEOF_PTRDIFF_T (#18968)
petk Jun 28, 2025
761478a
[ci skip] Update OSS-Fuzz link
nielsdos Jun 28, 2025
8d116a4
Implement GH-15483: Use C23 memset_explicit() for ZEND_SECURE_ZERO() …
nielsdos Jun 29, 2025
1d5da86
ext/sqlite3: relax sqlite3 explain test conditions (#18949)
devnexen Jun 29, 2025
1a5128f
[ci skip] Fix comment typo in opcache
nielsdos Jun 29, 2025
865739e
Fix GH-18976: pack with h or H format string overflow.
devnexen Jun 29, 2025
ef08bce
Merge branch 'PHP-8.3' into PHP-8.4
devnexen Jun 29, 2025
9644ba6
Merge branch 'PHP-8.4'
devnexen Jun 29, 2025
93e3aca
Remove HAVE_INTMAX_T and SIZEOF_INTMAX_T (#18971)
petk Jun 29, 2025
db157e3
Remove redundant PCRE_STATIC definition (#18952)
petk Jun 29, 2025
4a18c89
Fix OSS-Fuzz #428053935 (#18969)
nielsdos Jun 30, 2025
85522c0
Add FreeBSD ZTS nightly build
arnaud-lb Jun 27, 2025
05a44d2
Merge branch 'PHP-8.1' into PHP-8.2
arnaud-lb Jun 30, 2025
0d9c8f6
Merge branch 'PHP-8.2' into PHP-8.3
arnaud-lb Jun 30, 2025
562660d
Merge branch 'PHP-8.3' into PHP-8.4
arnaud-lb Jun 30, 2025
bbc465e
Merge branch 'PHP-8.4'
arnaud-lb Jun 30, 2025
c9249e2
Support every argument syntax for `clone()` (#18938)
TimWolla Jun 30, 2025
8ddc210
Fix PHP_BUILD_CRT input in the nightly workflow (#18982)
shivammathur Jun 30, 2025
c5f1ae3
Merge branch 'PHP-8.1' into PHP-8.2
shivammathur Jun 30, 2025
8ae80d2
Merge branch 'PHP-8.2' into PHP-8.3
shivammathur Jun 30, 2025
cb49400
Merge branch 'PHP-8.3' into PHP-8.4
shivammathur Jun 30, 2025
a1d4b18
Merge branch 'PHP-8.4'
shivammathur Jun 30, 2025
f6f0aed
Allow using fast destruction path when ASAN is in use (#18835)
danog Jun 30, 2025
53f2aa9
Fix GH-18898: SEGV zend_jit_op_array_hot with property hooks and prel…
nielsdos Jun 23, 2025
4a98b36
Merge branch 'PHP-8.4'
nielsdos Jun 30, 2025
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
  •  
  •  
  •  
3 changes: 2 additions & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,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
2 changes: 2 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
/ext/gmp @Girgias
/ext/intl @devnexen
/ext/json @bukka
/ext/lexbor @kocsismate @nielsdos
/ext/libxml @nielsdos
/ext/mbstring @alexdowad @youkidearitai
/ext/mysqli @bukka @kamil-tekiela
Expand All @@ -51,6 +52,7 @@
/ext/sockets @devnexen
/ext/spl @Girgias
/ext/standard @bukka
/ext/uri @kocsismate
/ext/xml @nielsdos
/ext/xmlreader @nielsdos
/ext/xmlwriter @nielsdos
Expand Down
8 changes: 7 additions & 1 deletion .github/actions/freebsd/action.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
name: FreeBSD
inputs:
configurationParameters:
default: ''
required: false
runs:
using: composite
steps:
Expand Down Expand Up @@ -80,7 +84,9 @@ runs:
--with-sodium \
--enable-werror \
--with-config-file-path=/etc \
--with-config-file-scan-dir=/etc/php.d
--with-config-file-scan-dir=/etc/php.d \
${{ inputs.configurationParameters }}
gmake -j2
mkdir /etc/php.d
gmake install > /dev/null
Expand Down
5 changes: 5 additions & 0 deletions .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
4 changes: 3 additions & 1 deletion .github/scripts/windows/build.bat
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,9 @@ if not exist "%SDK_RUNNER%" (
exit /b 3
)

cmd /c %SDK_RUNNER% -t .github\scripts\windows\build_task.bat
for /f "delims=" %%T in ('call .github\scripts\windows\find-vs-toolset.bat %PHP_BUILD_CRT%') do set "VS_TOOLSET=%%T"
echo Got VS Toolset %VS_TOOLSET%
cmd /c %SDK_RUNNER% -s %VS_TOOLSET% -t .github\scripts\windows\build_task.bat
if %errorlevel% neq 0 exit /b 3

exit /b 0
49 changes: 49 additions & 0 deletions .github/scripts/windows/find-vs-toolset.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
@echo off

setlocal enabledelayedexpansion

if "%~1"=="" (
echo ERROR: Usage: %~nx0 [vc14^|vc15^|vs16^|vs17]
exit /b 1
)

set "toolsets_vc14=14.0"
set "toolsets_vc15="
set "toolsets_vs16="
set "toolsets_vs17="


for /f "usebackq tokens=*" %%I in (`vswhere.exe -latest -find "VC\Tools\MSVC"`) do set "MSVCDIR=%%I"

if not defined MSVCDIR (
echo ERROR: could not locate VC\Tools\MSVC
exit /b 1
)

for /f "delims=" %%D in ('dir /b /ad "%MSVCDIR%"') do (
for /f "tokens=1,2 delims=." %%A in ("%%D") do (
set "maj=%%A" & set "min=%%B"
if "!maj!"=="14" (
if !min! LEQ 9 (
set "toolsets_vc14=%%D"
) else if !min! LEQ 19 (
set "toolsets_vc15=%%D"
) else if !min! LEQ 29 (
set "toolsets_vs16=%%D"
) else (
set "toolsets_vs17=%%D"
)
)
)
)

set "KEY=%~1"
set "VAR=toolsets_%KEY%"
call set "RESULT=%%%VAR%%%"
if defined RESULT (
echo %RESULT%
exit /b 0
) else (
echo ERROR: no toolset found for %KEY%
exit /b 1
)
3 changes: 2 additions & 1 deletion .github/scripts/windows/test.bat
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ if not exist "%SDK_RUNNER%" (
exit /b 3
)

cmd /c %SDK_RUNNER% -t .github\scripts\windows\test_task.bat
for /f "delims=" %%T in ('call .github\scripts\windows\find-vs-toolset.bat %PHP_BUILD_CRT%') do set "VS_TOOLSET=%%T"
cmd /c %SDK_RUNNER% -s %VS_TOOLSET% -t .github\scripts\windows\test_task.bat
if %errorlevel% neq 0 exit /b 3

exit /b 0
19 changes: 17 additions & 2 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,18 @@ on:
run_macos_arm64:
required: true
type: boolean
run_freebsd_zts:
required: true
type: boolean
ubuntu_version:
required: true
type: string
windows_version:
required: true
type: string
vs_crt_version:
required: true
type: string
skip_laravel:
required: true
type: boolean
Expand Down Expand Up @@ -1031,7 +1037,7 @@ jobs:
PHP_BUILD_OBJ_DIR: C:\obj
PHP_BUILD_CACHE_SDK_DIR: C:\build-cache\sdk
PHP_BUILD_SDK_BRANCH: php-sdk-2.3.0
PHP_BUILD_CRT: ${{ inputs.windows_version == '2022' && 'vs17' || 'vs16' }}
PHP_BUILD_CRT: ${{ inputs.vs_crt_version }}
PLATFORM: ${{ matrix.x64 && 'x64' || 'x86' }}
THREAD_SAFE: "${{ matrix.zts && '1' || '0' }}"
INTRINSICS: "${{ matrix.zts && 'AVX2' || '' }}"
Expand All @@ -1052,7 +1058,13 @@ jobs:
- name: Test
run: .github/scripts/windows/test.bat
FREEBSD:
name: FREEBSD
strategy:
fail-fast: false
matrix:
zts: [true, false]
exclude:
- zts: ${{ !inputs.run_freebsd_zts && true || '*never*' }}
name: "FREEBSD_${{ matrix.zts && 'ZTS' || 'NTS' }}"
runs-on: ubuntu-latest
steps:
- name: git checkout
Expand All @@ -1061,3 +1073,6 @@ jobs:
ref: ${{ inputs.branch }}
- name: FreeBSD
uses: ./.github/actions/freebsd
with:
configurationParameters: >-
--${{ matrix.zts && 'enable' || 'disable' }}-zts
4 changes: 3 additions & 1 deletion .github/workflows/root.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,10 +55,12 @@ jobs:
run_alpine: ${{ (matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 4) || matrix.branch.version[0] >= 9 }}
run_linux_ppc64: ${{ (matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 4) || matrix.branch.version[0] >= 9 }}
run_macos_arm64: ${{ (matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 4) || matrix.branch.version[0] >= 9 }}
run_freebsd_zts: ${{ (matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 3) || matrix.branch.version[0] >= 9 }}
ubuntu_version: ${{
(((matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 5) || matrix.branch.version[0] >= 9) && '24.04')
|| '22.04' }}
windows_version: ${{ ((matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 4) || matrix.branch.version[0] >= 9) && '2022' || '2019' }}
windows_version: '2022'
vs_crt_version: ${{ ((matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 4) && 'vs17') || 'vs16' }}
skip_laravel: ${{ matrix.branch.version[0] == 8 && matrix.branch.version[1] == 1 }}
skip_symfony: ${{ matrix.branch.version[0] == 8 && matrix.branch.version[1] == 1 }}
skip_wordpress: ${{ matrix.branch.version[0] == 8 && matrix.branch.version[1] == 1 }}
Expand Down
9 changes: 8 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -294,6 +294,13 @@ tmp-php.ini
/junit.out.xml
/.ccache/

# ------------------------------------------------------------------------------
# Editor configuration directories
# ------------------------------------------------------------------------------
/.idea/
/.vscode/
/.zed/

# ------------------------------------------------------------------------------
# Additional test build files
# ------------------------------------------------------------------------------
Expand All @@ -306,6 +313,6 @@ tmp-php.ini
!/ext/fileinfo/libmagic/config.h
!/ext/fileinfo/libmagic.patch
!/ext/fileinfo/magicdata.patch
!/ext/dom/lexbor/patches/*.patch
!/ext/lexbor/patches/*.patch
!/ext/pcre/pcre2lib/config.h
!/win32/build/Makefile
14 changes: 14 additions & 0 deletions EXTENSIONS
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,13 @@ PRIMARY MAINTAINER: Thies C. Arntzen <[email protected]> (1999 - 2002)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: lexbor
PRIMARY MAINTAINER: Niels Dossche <[email protected]> (2023 - 2025)
Mate Kocsis <[email protected]> (2025 - 2025)
MAINTENANCE: Maintained
STATUS: Working
SINCE: 8.5
-------------------------------------------------------------------------------
EXTENSION: libxml
PRIMARY MAINTAINER: Rob Richards <[email protected]> (2003 - 2009)
Christian Stocker <[email protected]> (2004 - 2011)
Expand Down Expand Up @@ -231,6 +238,7 @@ SINCE: 5.0
-------------------------------------------------------------------------------
EXTENSION: bcmath
PRIMARY MAINTAINER: Andi Gutmans <[email protected]> (2000 - 2004)
Saki Takamachi <[email protected]> (2024 - 2025)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
Expand Down Expand Up @@ -496,6 +504,12 @@ PRIMARY MAINTAINER: Andrei Zmievski <[email protected]> (2002 - 2002)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: uri
PRIMARY MAINTAINER Máté Kocsis <[email protected]> (2025 - 2025)
MAINTENANCE: Maintained
STATUS: Working
SINCE: 8.5.0
-------------------------------------------------------------------------------
EXTENSION: zip
PRIMARY MAINTAINER: Pierre-Alain Joye <[email protected]> (2006 - 2011)
Remi Collet <[email protected]> (2013-2020)
Expand Down
64 changes: 63 additions & 1 deletion NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,17 @@ PHP NEWS
. Added get_error_handler(), get_exception_handler() functions. (Arnaud)
. Fixed bug GH-15753 and GH-16198 (Bind traits before parent class). (ilutov)
. Added support for casts in constant expressions. (nielsdos)
. Fixed bugs GH-17711 and GH-18022 (Infinite recursion on deprecated attribute
evaluation) and GH-18464 (Recursion protection for deprecation constants not
released on bailout). (DanielEScherzer and ilutov)
. Fixed AST printing for immediately invoked Closure. (Dmitrii Derepko)
. Properly handle __debugInfo() returning an array reference. (nielsdos)
. Properly handle reference return value from __toString(). (nielsdos)
. Added the pipe (|>) operator. (crell)
. Added support for `final` with constructor property promotion.
(DanielEScherzer)
. Do not use RTLD_DEEPBIND if dlmopen is available. (Daniil Gentili)
. Make `clone()` a function. (timwolla, edorian)

- Curl:
. Added curl_multi_get_handles(). (timwolla)
Expand All @@ -63,10 +74,12 @@ PHP NEWS
- DOM:
. Added Dom\Element::$outerHTML. (nielsdos)
. Added Dom\Element::insertAdjacentHTML(). (nielsdos)
. Added $children property to ParentNode implementations. (nielsdos)

- Enchant:
. Added enchant_dict_remove_from_session(). (nielsdos)
. Added enchant_dict_remove(). (nielsdos)
. Fix missing empty string checks. (nielsdos)

- EXIF:
. Add OffsetTime* Exif tags. (acc987)
Expand Down Expand Up @@ -96,6 +109,13 @@ PHP NEWS
. Added grapheme_levenshtein() function. (Yuya Hamada)
. Added Locale::addLikelySubtags/Locale::minimizeSubtags to handle
adding/removing likely subtags to a locale. (David Carlier)
. Added IntlListFormatter class to format a list of items with a locale
, operands types and units. (BogdanUngureanu)
. Fixed bug GH-18566 ([intl] Weird numeric sort in Collator). (nielsdos)

- LDAP:
. Allow ldap_get_option to retrieve global option by allowing NULL for
connection instance ($ldap). (Remi)

- MySQLi:
. Fixed bugs GH-17900 and GH-8084 (calling mysqli::__construct twice).
Expand All @@ -105,13 +125,19 @@ PHP NEWS
. Added mysqlnd.collect_memory_statistics to ini quick reference.
(hauk92)

- OPcache:
- Opcache:
. Fixed ZTS OPcache build on Cygwin. (cmb)
. Added opcache.file_cache_read_only. (Samuel Melrose)
. Updated default value of opcache.jit_hot_loop. (Arnaud)
. Log a warning when opcache lock file permissions could not be changed.
(Taavi Eomäe)

- Output:
. Fixed calculation of aligned buffer size. (cmb)

- PCNTL:
. Extend pcntl_waitid with rusage parameter. (vrza)

- PCRE:
. Upgraded to pre2lib from 10.44 to 10.45. (nielsdos)
. Remove PCRE2_EXTRA_ALLOW_LOOKAROUND_BSK from pcre compile options.
Expand All @@ -126,6 +152,13 @@ PHP NEWS
- PDO_SQLITE:
. throw on null bytes / resolve GH-13952 (divinity76).
. Implement GH-17321: Add setAuthorizer to Pdo\Sqlite. (nielsdos)
. PDO::sqliteCreateCollation now throws a TypeError if the callback
has a wrong return type. (David Carlier)
. Added Pdo_Sqlite::ATTR_BUSY_STATEMENT constant to check
if a statement is currently executing. (David Carlier)
. Added Pdo_Sqlite::ATTR_EXPLAIN_STATEMENT constant to set a statement
in either EXPLAIN_MODE_PREPARED, EXPLAIN_MODE_EXPLAIN,
EXPLAIN_MODE_EXPLAIN_QUERY_PLAN modes. (David Carlier)

- PGSQL:
. Added pg_close_stmt to close a prepared statement while allowing
Expand Down Expand Up @@ -172,6 +205,13 @@ PHP NEWS
- SOAP:
. Fixed bug #49169 (SoapServer calls wrong function, although "SOAP action"
header is correct). (nielsdos)
. Fix namespace handling of WSDL and XML schema in SOAP,
fixing at least GH-16320 and bug #68576. (nielsdos)
. Fixed bug #70951 (Segmentation fault on invalid WSDL cache). (nielsdos)
. Implement request #55503 (Extend __getTypes to support enumerations).
(nielsdos, datibbaw)
. Implement request #61105 (Support Soap 1.2 SoapFault Reason Text lang
attribute). (nielsdos)

- Sockets:
. Added IPPROTO_ICMP/IPPROTO_ICMPV6 to create raw socket for ICMP usage.
Expand Down Expand Up @@ -201,17 +241,35 @@ PHP NEWS
(David Carlier)
. Added IP_BINDANY for a socket to bind to any address. (David Carlier)
. Added SO_BUSY_POOL to reduce packets poll latency. (David Carlier)
- Added UDP_SEGMENT support to optimise multiple large datagrams over UDP
if the kernel and hardware supports it. (David Carlier)
- Added SHUT_RD, SHUT_WR and SHUT_RDWR constants for socket_shutdown().
(David Carlier)

- Sodium:
. Fix overall theorical overflows on zend_string buffer allocations.
(David Carlier/nielsdos)

- Sqlite:
. Added Sqlite3Stmt::busy to check if a statement is still being executed.
(David Carlier)
. Added Sqlite3Stmt::explain to produce a explain query plan from
the statement. (David Carlier)
. Added Sqlite3Result::fetchAll to returns all results at once from a query.
(David Carlier)

- Standard:
. Fixed crypt() tests on musl when using --with-external-libcrypt
(Michael Orlitzky).
. Fixed bug GH-18062 (is_callable(func(...), callable_name: $name) for first
class callables returns wrong name). (timwolla)
. Added array_first() and array_last(). (nielsdos)
. Fixed bug GH-18823 (setlocale's 2nd and 3rd argument ignores strict_types).
(nielsdos)
. Fixed exit code handling of sendmail cmd and added warnings.
(Jesse Hathaway)
. Fixed bug GH-18897 (printf: empty precision is interpreted as precision 6,
not as precision 0). (nielsdos)

- Streams:
. Fixed bug GH-16889 (stream_select() timeout useless for pipes on Windows).
Expand All @@ -220,6 +278,10 @@ PHP NEWS
- Tests:
. Allow to shuffle tests even in non-parallell mode. (dhuang00)

- Tidy:
. tidy::__construct/parseFile/parseString methods throw an exception if
the configuration argument is invalid. (David Carlier)

- Windows:
. Fixed bug GH-10992 (Improper long path support for relative paths). (cmb,
nielsdos)
Expand Down
3 changes: 2 additions & 1 deletion README.REDIST.BINS
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,9 @@
17. ext/mbstring/ucgendat portions based on the ucgendat.c from the OpenLDAP
18. avifinfo (ext/standard/libavifinfo) see ext/standard/libavifinfo/LICENSE
19. xxHash (ext/hash/xxhash)
20. Lexbor (ext/dom/lexbor/lexbor) see ext/dom/lexbor/LICENSE
20. Lexbor (ext/lexbor/lexbor) see ext/lexbor/LICENSE
21. Portions of libcperciva (ext/hash/hash_sha_{ni,sse2}.c) see the header in the source file
22. uriparser (ext/uri/uriparser) see ext/uri/uriparser/COPYING

3. pcre2lib (ext/pcre)

Expand Down
Loading