Release Information
- Release Type
- Bug Fix Release
- Release Status
- QA Release Latest
- Branch Status
- Upcoming Release
PHP 8.4 is a development version, and is not recommended for production use. PHP 8.4 is scheduled to reach General Availability on 2024-11-21. This is the latest QA release in the series.
Downloads
Source Code
git clone https://github.com/php/php-src.git --depth 1 --branch php-8.4.0RC1
./buildconf
), configuring the build ./configure
, and running make
.Detailed articles on how to compile PHP are available for Ubuntu/Debian based systems and Fedora/RHEL based systems.
Windows binaries
Docker/Podman Containers
docker pull php:8.4.0RC1-cli-alpine
docker pull php:8.4.0RC1-cli
docker pull php:8.4.0RC1-fpm-alpine
docker pull php:8.4.0RC1-apache
docker pull php:8.4.0RC1-fpm
ChangeLog
BcMath
bcpow()
performance improvement.ext/bcmath
: Check for scale overflow.- [RFC]
ext/bcmath
: Added bcdivmod. - Fix GH-15968 (Avoid converting objects to strings in operator calculations).
Curl
- Added CURLOPT_DEBUGFUNCTION as a Curl option.
Debugging
- Fixed bug GH-15923 (GDB: Python Exception <class 'TypeError'>: exceptions must derive from BaseException).
DOM
- Fix XML serializer errata: xmlns="" serialization should be allowed.
- Fixed bug GH-15910 (Assertion failure in ext/dom/element.c).
- Fix unsetting DOM properties.
MBString
- Fixed bug GH-15824 (
mb_detect_encoding()
: Argument $encodings contains invalid encoding "UTF8"). - Updated Unicode data tables to Unicode 16.0.
Opcache
- Fixed bug GH-15657 (Segmentation fault in
dasm_x86.h
). - Added
opcache_jit_blacklist()
function.
PCRE
- Fixed GH-16189 (underflow on offset argument).
- Fix UAF issues with PCRE after request shutdown.
PHPDBG
- Fixed bug GH-15901 (phpdbg: Assertion failure on i funcs).
PDO_PGSQL
- Fixed GH-15986 (Double-free due to Pdo`Pgsql::setNoticeCallback()`).
- Fixed GH-12940 (Using PQclosePrepared when available instead of the DEALLOCATE command to free statements resources).
Reflection
- Add missing
ReflectionProperty::hasHook
[s]() methods. - Add missing
ReflectionProperty::isFinal()
method.
SimpleXML
- Fixed bug GH-15837 (Segmentation fault in ext/simplexml/simplexml.c).
SOAP
- Fixed bug #73182 (PHP SOAPClient does not support stream context HTTP headers in array form).
- Fixed bug #62900 (Wrong namespace on xsd import error message).
- Fixed bug GH-15711 (SoapClient can't convert BackedEnum to scalar value).
SPL
- Fixed bug GH-15918 (Assertion failure in ext/spl/spl_fixedarray.c).
Standard
- Add support for backed enums in
http_build_query()
. - Fixed bug GH-15982 (Assertion failure with
array_find
when references are involved).
Streams
- Fixed bugs GH-15908 and GH-15026 (leak / assertion failure in
streams.c
). - Fixed bug GH-15980 (Signed integer overflow in main/streams/streams.c).
TSRM
- Prevent closing of unrelated handles.
Windows
- Fixed minimal Windows version.
Zip
- Added
ZipArchive::ER_TRUNCATED_ZIP
added in libzip 1.11.
Commit List
Arnaud Le Blanc
- Alpine/Musl nightly job in GH-13925
- Do not scan generator frames more than once in GH-15330
- Lazy objects in 58aa6fc830
- Fix removal of optimization cflags in debug builds in GH-9647
- Do not remove -O0 in the middle of a flag in c639614346
- Fix
zend_get_property_info_for_slot()
for lazy objects in GH-15855 - Fix oss-fuzz #71382 (#15854) in 17d46bb3b2
- Fix
zend_lazy_object_get_properties
for object with prop ht, when init fails in GH-15825
Ayesh Karunaratne
ext/curl
: AddCURLOPT_PREREQFUNCTION
in GH-13255ext/curl
: libcurlCURLOPT_{FTP_RESPONSE_TIMEOUT,ENCODING}
replacements in GH-15126ext/curl
: UpdateUPGRADING
andNEWS
for GH-13255 in GH-15668ext/curl
: No-opCURLOPT_DNS_USE_GLOBAL_CACHE
constant (GH-15127) in 24d4ae9d2fext/gd
: enable avif tests on GH-Actions in GH-15850ext/mbstring
: Update to Unicode 16 in 3afb96184e- CI: Update
actions/cache
in nightly run to v4 in GH-15933 ext/curl
: mark certain tests asxfail
on curl 8.10.0 in 0bdc4b8c24ext/curl
: AddCURLOPT_DEBUGFUNCTION
option (GH-15674) in ba748e7bb5ext/curl
: AddCURLINFO_POSTTRANSFER_TIME_T
support (GH-15849) in 99bceda0b3
Bernd Kuhls
- Fix GH-15587: Autotools: fix configure check for aarch64 CRC32 API in 5947db6bb8
Bob Weinand
- Make internal run_time_cache a persistent allocation in GH-15040
- Add API to exempt function from being traced in JIT in GH-15559
Calvin Buckley
- Cast big endian byte shuffling to uint in 792a0e6dec
- Fix regression on systems built without JIT in GH-16024
Christoph M. Becker
- Support AVX-512 builds on Windows in 2f17f157ca
- Fix format specifiers and arguments in com_dotnet (GH-15398) in 4b2dc58651
- Explicitly drop support for old clang versions on Windows (GH-15415) in b0ac9bf669
- Drop support for MYSQL_TEST_SKIP_CONNECT_FAILURE in GH-15461
- Drop erroneous CLEAN section in d472866f33
- Drop support for MYSQL_TEST_EXPERIMENTAL (GH-15467) in 7fa2dbf924
- Fix
ZEND_FASTCALL
definition wrt. x64 Windows clang builds (GH-15425) in f16cb1866a - Remove unnecessary Windows specific time formatting (GH-15474) in 4a77ce2022
- Avoid multiple connects in
SKIPIF
sections (GH-15470) in 7a9120e5f3 - Don't skip tests which are supposed to fail; mark them as
xfail
in GH-15472 - Fix GH-15432: Heap corruption when querying a vector in b1211c1e4a
- Cater to raised requirement of fbclient 3.0+ for pdo_firebird (GH-15498) in 96840072fc
- Revert "Merge branch 'PHP-8.3'" in b75775ea39
- Revert "Merge branch 'PHP-8.3'" in c9ea4d76af
- Fix rename_variation12*.phpt parallel test conflicts (GH-15518) in d4263ddc40
- Support AVX-512 builds on Windows (GH-15159) in e5a30274d8
- Drop unused, but confusing macro definition (GH-15541) in 6a51062c85
- Drop support for building with MSC_VER < 1920 in b3d6414b87
- ICU 75.1 requires C++17 (GH-15678) in 0f8259e896
- Don't export
php_pdo_int.h
in a57ce052cd - Fix GH-15628:
php_stream_memory_get_buffer()
not zero-terminated in 93021c635d - Mark
gd14930.phpt
as dynamicxfail
in ac4039df20 - Skip tests calling wmic if it is not available in 0b1e401f2c
- Fix GH-15552: Signed integer overflow in ext/standard/scanf.c in 08841bf79c
- Fix
run-tests.php
to propagate status code on Windows in 71b908748a - Dynamically
xfail
test cases which fail on CI (GH-15710) in 6d5962074f - Close-GH 15685: improve
proc_open
error reporting on Windows in 3892529fed - Fix dba tests wrt resource to object conversion (GH-15716) in 8a2015451a
- Use
php_error_docref()
instead ofzend_error()
insession.c
(GH-15505) in 217ea732fc - Fix GH-15742:
php_hash_sha.h
incompatible with C++ in 5d1181fb3f - Support SHA256_Transform_shani() with MSVC, too in 1d36927127
- Support
--openssl-legacy-providers
on Windows, too (GH-15747) in 6732b8892d - Add comments about internal headers (GH-15689) in 50b3a0d011
gai_strerror()
is not thread-safe on Windows (GH-15568) in edcd6cc564- Support building
ext/gd
without libxpm on Windows (GH-15846) in 66060b1a9e - Support
--with-openssl-argon
2 on Windows (GH-15713) in 5121acaa66 - Run snmp tests in Windows CI, again in b26e610777
- Fix GH-15901: phpdbg: Assertion failure on
i funcs
in 422aa17b9b - Fix
ext/snmp
for newer net-snmp versions on Windows (GH-15888) in 6f5610ccc8 - Support
bug64159.phpt
on Windows CI (GH-15895) in 580435354e - Make
ext/shmop/tests/gh14537.phpt
more resilient (GH-15985) in 0695b9773d - Prevent closing of unrelated handles in f303840a86
- Fix minimal Windows version in 5bcbe8a358
- Fix GH-15986: Double-free due to Pdo`Pgsql::setNoticeCallback()` in 2b90acb469
- Fix GH-15980: Signed integer overflow in main/streams/streams.c in 6a04c79e41
- Revert "Fix GH-15980: Signed integer overflow in main/streams/streams.c" in ee95ee7216
- Mark failing curl test on macOS x64 as
xfail
in fc06e0c0d8 - Adapt labeler.yml to v4 syntax in 89b5cc3668
- Fix GH-15980: Signed integer overflow in main/streams/streams.c in 81916758ec
- Port libgd/libgd/pull/711 (GH-16016) in f89eb15f72
DanielEScherzer
- Generated arginfo header files: remove empty
zend_function_entry
arrays in GH-15705 - Generated arginfo header files: combine preprocessor conditional blocks in GH-15736
zend_get_constant_ex()
- remove commented out handling of class constants in GH-15728#[AllowDynamicProperties]
validation: improve error messages in GH-15734- Fix GH-15731: Prevent
#[AllowDynamicProperties]
on enums in GH-15733 userland_declaration_error_class_const.phpt
: fix test name in GH-15784- Rename
ZEND_STR_DEPRECATED
toZEND_STR_DEPRECATED_CAPITALIZED
in GH-15831 - Add
ReflectionProperty::isDynamic()
as an alternative toisDefault()
in GH-15758 - readline: inline
_readline_long_zval()
function in GH-15840 - Fix some misleading comments about
__clone()
never being executed in GH-15926 php_reflection.c
: make a bunch of pointersconst
in GH-15927zend_inheritance.c
: make a bunch of pointersconst
(GH-15934) in a3583d7eefzend_enum.c
: make a bunch of pointersconst
in GH-15932zend_assert_valid_class_name()
: use double quotes around names in GH-15990- GH-15976: don't say "type alias" in GH-15996
zend_resolve_const_class_name_reference()
: use double quotes around names in GH-15998- Zend/*: fix a bunch of typos (GH-16017) in ea297654f4
Daniel Ruf
- Fix typo in GH-15780
Daniel Scherzer
ReflectionProperty::get
{Hook,Hooks}(): handle dynamic properties in 18df69ee34- Fix GH-15752:
finfo_file()
- parameter validation error messages in c5e0a6aaab - backporting GH-15755 fix in 29f9f903b1
- GH-15976: test current output in ca679c681f
- GH-15976: clarify error messages for enum/trait/interface/alias names in 79d708cfca
David CARLIER
David Carlier
ext/sockets
: adding SO_BINDTOIFINDEX in d713e3619e- Fixed GH-15547: curl_multi_wait expects a signed int for timeout in cc67220ea3
- Follow-up on GH-15548: curl_multi_select in c4ae645849
ext/gd
: porting gdImageClone to the bundled libgd version in 307565d577- Fix GH-15653: fgetcsv overflow on length parameter in 7db1a5843f
- Fix GH-15613: unpack on format hex strings repeater value in 791a6ef19c
- Fix GH-15712: overflow on float print with precision ini large value in 503d9145e0
- Fix GH-15729 PDO tests name conflicts in 32358173c9
- GH-12940
ext/pdo_pgsql
: using PQclosePrepared to free statement resources in f35ad560b4
Derick Rethans
- Add NEWS entry in 0f7aebb61a
- Merged pull request GH-14581 in cce27c6725
- Updated to version 2024.2 (2024b) in 5fc37b1ec6
- Empty merge in d31a9474b0
- Updated to version 2024.2 (2024b) in 7023fb9d93
- Empty merge in 8fcd0ccecf
- Updated to version 2024.2 (2024b) in 2f3224ea41
- Fix GH-15582: Crash when not calling parent constructor of DateTimeZone in f752e23cff
- Import timelib 2022.12 in 40d06fb645
- Fixed regression: Using more than one sign is now OK again when using
modify()
in 8a8859bce7 - Backport fix from PHP 8.3: The exception handler already takes care of destroying the return value in fecad54d74
Dmitry Stogov
- Remove unintended
ZEND_EXT_API
usage in GH-15602 - Fix GH-15502: Crash with JIT and Excimer in GH-15601
- Fix GH-15497: Opcache with file_cache and JIT enabled crashes in GH-15635
- Fix GH-15497: Opcache with file_cache and JIT enabled crashes in GH-15635
- Prevent JIT of propery hooks in case of file caching (related to GH-15497) in 45dac39c71
- Restore error message incorrectly removed by commit 10d43c4 (related to GH-15497) in c15bb9afe2
- Prevent possible incorrect optimization caused by
ZEND_ASSUME()
in bf98023f1a - Don't set IS_STR_PERMANENT flag for strings stored in the file cache in GH-15643
- Fix GH-15652: Segmentation fault in the Zend engine when JIT enabled in GH-15717
- Update IR in a7f789ec56
- Fix GH-15656: php8.4beta4 JIT erronous results in GH-15732
- Fix GH-15820: Core dumped with jit.opcache=1245 in 5cf045d357
- Fix GH-15821: Core dumped in Zend/Optimizer/zend_inference.c:4062 in 7c8b3b2c96
- Update IR in 32d67855e6
- Fix more issues reported in GH-15852 in 98f07fcfca
- Update IR in 1ce865244a
- Update IR in 718cff9bbb
- Add test for GH-15909 (fixed by previous IR update) in 36dfe634b0
- Update IR in 9cb48c8fa1
- Add test for GH-15903 in a360b1757e
- Fix GH-15973: Segmentation fault in JIT mode 1135 in GH-16006
- Fix GH-15972: Assertion failure in ext/opcache/jit/zend_jit_vm_helpers.c with function JIT in GH-16001
Flavio Heleno
- Add PHP-FPM memory peak to the scoreboard in 67aac59cfc
Florian Engelhardt
Gina Peter Banyard
- ext/opcache/ZendAccelerator.c: Restrict MD5 header include to Windows in GH-15418
ext/standard
: Throw a RequestParseBodyException instead of InvalidArgumentException in GH-15468ext/standard
: Improve checking of allowed_classes option in GH-15267ext/mysqli
: Minor clean-up in GH-15526- main/network: Use more appropriate types in GH-15511
- Zend: Voidify virtualcwd(de)
activate()
in GH-15554 - Phar offset exist issue with entry classes not based on PharFileInfo in GH-14503
- Make CSV deprecation less annoying to deal with in GH-15569
- ext/standard/browscap.c: Minor refactorings in GH-15885
- Inlines the behaviour of
php_mkdir_ex()
into plain wrapper mkdir handler in GH-15520 ext/gmp
: Usezend_result
for type instead of int in b039af0120ext/bcmath
:null
should not be supported for operator overloading & fix some comparison issues in GH-15875
Gina Peter Bnayard
- Zend/zend_object_handlers.c: Remove unused include in 4a4aae540b
ext/phar
: Use standard C types in 04320d2fbaext/standard
: Remove deprecated php_uint32 and php_int32 typedefs in 3e05c86c35- Remove unused ext/standard/basic_functions.h header inclusions in 3813ad10dc
- ext/standard/mail.c: Reduce scope of some variable declarations in 962aba3b12
- ext/standard/mail.c: change return type of
php_mail()
to bool in 312c919a2d - ext/standard/mail.c: Move macros out of the header in a171b20c7c
- ext/standard/mail.c: Move
php_mail_header_value_error_type
enum out of header in ebfef2505d - ext/standard/crc32: Use
zend_result
return type and remove unused header in 775ca03eb8 - ext/standard/file.c: Use RETURN_BOOL() instead of if-else in 369eeb73ca
- ext/standard/file.c: Use more appropriate types in 9147687b6d
- Zend: Add helper for "cannot be empty" ValueError in 96d572a18e
- Use new helper function for "cannot be empty" ValueErrors in e7c4d54d65
- ext/standard/exec.c: Use ZPP path modifier to check for nul bytes in 10738141d7
ext/gettext
: Remove duplicate domain length checks in f6c464fee5ext/dba
: Remove duplicate check for empty mode in ad8480304dext/dom
: Use standard wording for ValueError in 6d9a74cde0- ext/standard/string.c: use standard wording for ValueError in
str_pad()
in 997199e938 ext/mbstring
: Use standard wording for ValueError in 9a2fdbec48ext/pcntl
: Use standard wording for ValueError in c811d58953- Use "must not" instead of "cannot" wording in 5853cdb73d
ext/hash
: Specialize copy function typedef in c26e77c4c5ext/hash
: Make return typezend_result
for serialize function typedef in 937c4e4ac6ext/phar
: Use standard naming for PHP functions in 947f72c181ext/phar
: Use size_t for string lenghts in 009039d447ext/phar
: Refactor part oftar.c
in 03be1ac0adext/phar
: Adjust return types for methods that always return true in d015af60dfext/phar
: Move some header functions intoutil.c
in 81d232fed5ext/phar
: Use more specialized types instead of int in 20f7e08687ext/phar
: Simplify a return condition inPhar::offsetExists()
in 6f986837ecext/phar
: Add some const qualifiers in 51bb8cfcb5ext/phar
: Usezend_string
instead of char* len pair in d55074ede4ext/phar
: Reorganise some headers in f9c69bc392- ext/standard/quot_print.c: Minor refactoring to
php_hex2int()
in 5c191a45d9 - ext/standard/quot_print.c: Mark readonly string as const in 312f789e22
- ext/standard/string.c: Refactor
php_spn_common_handler()
in 1b87772f40 - ext/standard/string.c: Remove to(upper|lower) PHP API in favour of Zend APIs in 85e6688791
- ext/standard/type.c: Remove unused include in d45eb46c97
- ext/standard/url.c: Stop exposing
php_replace_controlchars_ex()
in 8109d21065 - ext/standard/versioning.c: Slightly refactor
compare_special_version_forms()
in ab99161444 ext/phar
: Usezend_result
as return value in 6adffebeb8ext/phar
: Reduce scope of some variables in d486d65962ext/phar
: Add comment about include in ae9d8099c2ext/phar
: Use normal variable instead of macro in 1facbc385aext/phar
: Refactor flushing of archive to only take string stub file in 03e2cfdad1ext/phar
: Use bool instead of int in b75c79ee1dext/standard
: Make char* ofphp_stristr()
const in 3f1a4441bdext/phar
: Mark constant string as static const in 290fb920f2ext/phar
: Move variable to inner scope in 4f9fdf841eext/phar
: Voidify flush function as it always returns EOL in 2513258a2b
Go Kudo
- libtool: Don't remove gcov *.gcno files in GH-15441
- Fix MSan false-positive in
zend_max_execution_timer
in GH-15408 zend_max_execution_timer
: fix gcc compatibility in GH-15447zend_max_execution_timer
: fix gcc compatibility in GH-15447- Update extension skeleton .gitignore in GH-15542
- standard: supress msan in GH-15665
- Fix OPcache tests under specific conditions in bca5f6e74f
- Fix OPcache tests under specific conditions in d966c296d0
Ilija Tovilo
- Fix param with hooks but no visibility not treated as cpp (GH-15442) in 770616b823
- Fix missing compile error when declaring hooked props on readonly classes (GH-15439) in 36b1977415
- Fix various hooked object iterator issues (GH-15394) in 60f87f29bb
- Fix virtual properties in
get_class_vars()
(GH-15494) in b6d7c011b8 - Replace OBJ_PROP_PTR_TO_NUM() with
zend_get_property_info_for_slot()
in 327588abf9 - Remove
ZEND_ACC_ABSTRACT
from prop variance check in 8fcf34d598 - Fix building of callgraph including preloaded symbols (GH-15545) in b839c5f1af
- Stop recording of trace when encountering hook in 606eb849bb
- [RFC] Asymmetric visibility v2 (GH-15063) in 8df557ac42
- Improve readonly avis error (GH-15618) in daeb3295b2
- Fix asymmetric visibility with set hook in e12188fe89
- Forbid a-vis on unilateral virtual prop in 2b8a1b4258
- Simplify a-vis error message in 7f0d2574f0
- Fix uninitialized lineno in constant AST of internal enums in 08e0729c57
- Intercept strlcpy and strlcat for msan on Clang 17 in GH-12674
- Fix uouv in
array_column
in 24a294922b - Fix uninitialized EG(user_error_handler_error_reporting) in b9fdc0bdcd
- Fix uninitialized CG(
zend_lineno
) in 1f35e2a999 - Fix MSAN
getservbyport()
false positive in 0faa1d2017 - Fix
ReflectionProperty::isInitialized()
for hooked props in 025ed70ce3 - Use APPLY_STOP in
pcre_clean_cache()
(GH-15839) in ffb440550c - Mark some phar tests as flaky on macOS in 4e12189604
- Fix GA macOS brew warnings in 664e039069
- Fix missing deps in macos arm build (GH-15881) in f6a232cce2
- Implement
ReflectionProperty::hasHook
[s] in d75a289f6f - Implement
ReflectionProperty::isFinal()
in 2fce0bb877 - Implement backed enum coercion in
http_build_query()
in 1b9568d354
Jakub Zelenka
Jorg Adam Sowa
ext/session
:session_create_id()
now throws a ValueError for large prefix in GH-15338ext/session
: Warn when providing invalid values for session.gc_probability and session.gc_divisor in ff69f334f1- Add type indicator to array/arg unpack error messages (GH-15448) in 2a30f2ffc4
ext/bcmath
:bcpow()
performance improvement in GH-15790
Juliette
- PHP 8.4 | Exit as function: fix incorrect parameter name in GH-15433
Kamil Tekiela
- Remove PHP 6 leftovers and fix mysqli tests in GH-15464
- Clean up mysqli tests in GH-15473
- Remove
mysqli_change_user_get_lock.phpt
in GH-15482 - Remove MYSQLI_STMT_ATTR_PREFETCH_ROWS constant in GH-15485
- Drop
mysqli_stmt_result_metadata_sqltests.phpt
in GH-15488 - Fix error message and add UPGRADING entry in 4baf6a643b
- Drop MYSQLI_CURSOR_TYPE_FOR_UPDATE & MYSQLI_CURSOR_TYPE_SCROLLABLE in GH-15486
- Fix a mistake in mysqli test in 144c086c46
- MySQL 9: Add support for VECTOR type in GH-15431
- Update UPGRADING in c5ae122b2f
- Fix
mysqli_stmt_get_result.phpt
in GH-15495 - Remove MYSQLI_TYPE_INTERVAL constant in c290996db6
- Fix
mysqli_fetch_field_types.phpt
in 0775b99d5e - Deprecate disabling use_only_cookies in GH-13578
- Remove ifdefs from stub file in 082b964dfa
- Remove unsupported mysqlnd options in 2446500d97
- Remove dead code in 195d59a83c
Levi Morrison
- Interrupt while internal frame is on the stack in GH-14627
Marc Bennewitz
- fixes GH-13773: DatePeriod does not take microseconds into account in d6113ba8fe
Michael Voříšek
- Deprecate E_STRICT constant and remove error level in d313ad6098
Máté Kocsis
- Suppress deprecation notices when
ext/dom
properties are accessed by the get_debug_info handler in GH-15530 - Fix registration of internal readonly child classes in GH-15459
- Use
ZEND_UNCOMPARABLE
for consistency in 09c498233e - Add missing return for DatePeriod::__unserialize in 6cab76986d
- Add missing returns in
ext/date
for PHP 8.3+ in GH-15735
Niels Dossche
- Fix NULL pointer dereference with NULL content in legacy nodes in GH-15546
- Correctly specify secret instead of seed in
ext/hash
deprecation message in GH-15557 - Fix NULL pointer dereference with NULL content in legacy nodes in title getting in GH-15558
- Fix GH-15551: Segmentation fault (access null pointer) in ext/dom/
xml_common
.h in 9af574c26e - Fix GH-15565:
--disable-ipv
6 during compilation produces error EAI_SYSTEM not found in 4b6575a1f9 - Update Lexbor in GH-15573
- Fix GH-15570: Segmentation fault (access null pointer) in ext/dom/html5_serializer.c in 690ce6d5d4
- Allow
ZEND_ACC_VIRTUAL
to be used to not have property backing storage without resorting to hooks in f78d5cfcd2 - Use virtual annotation in XMLReader in 6c63c48a7e
- Improve virtual property error message in baac01f594
- Fix GH-13988: Storing DOMElement consume 4 times more memory in PHP 8.1 than in PHP 8.0 in 88393cfaf7
- Avoid string duplication if possible in
SimpleXMLElement::addAttribute()
in GH-15606 - Cleanup
php_sxe_count_elements_helper()
in 7f37c22d22 - Remove unused parameter of
php_sxe_reset_iterator()
in 2fe8dd1054 - Remove unused parameter from
match_ns()
in 9979f4748c - Remove failure paths for infallible code in simplexml in 51d93c1947
- Optimize DOM property access in GH-15626
- Fix GH-15654: Signed integer overflow in ext/dom/nodelist.c in 9cb23a3dec
- Fix GH-15670: Polymorphic cache slot issue in DOM in GH-15676
- Remove redundant 'zobj->ce->__isset' check in GH-15699
- Fix GH-15690: ext-dba failures on 32-bit in GH-15691
- Fix GH-15693: Unnecessary include in
main.c
bloats binary in 0d616d1b82 - Simplify
bcmath_check_scale()
in f1b4e1276c - Move
bcmath_check_scale()
in 2e88916b58 - Reuse
bcmath_check_scale()
in ac0931d37a - Fix bug #61525: SOAP functions require at least one space after HTTP header colon in 7771ec07e5
- Deduplicate URI building code in soap schema code in GH-15799
- Fix SOAP test failure on libxml2 2.13 in 979e68a2ec
- Implement request #47317: SoapServer::__getLastResponse() in 8bcfc8cc13
- Fix GH-15661: Access null pointer in Zend/Optimizer/zend_inference.c in 86ef8d5466
- Fix GH-15658: Segmentation fault in Zend/zend_vm_execute.h in c1ffd4b484
- Fix merge into master in 23db89538b
- Fix buffer size configuration for AArch64 in bcd1f23b30
- Fix bug #73182: PHP SOAPClient does not support stream context HTTP headers in array form in 72a2cbcc7f
- Deduplicate Proxy-Authorization code from
php_stream_url_wrap_http_ex()
in GH-15818 - Fix GH-15657: Segmentation fault in ext/opcache/jit/ir/dynasm/dasm_x86.h in 3665ab0118
- Fix bug #62900: Wrong namespace on xsd import error message in 7a67fb0315
- Fix UAF issues with PCRE after request shutdown in ded8fb79bd
- Fix GH-15837: Segmentation fault in ext/simplexml/simplexml.c in b5834c12d4
- Avoid allocating memory in soap
get_function()
in GH-15843 - Avoid copying the local name in SOAP's
parse_namespace()
in GH-15862 - Update libxml test for the directory field behaviour change in f74f9b073a
- Update error message for libxml 2.13 in 3ec5919e14
- Update test for changed error message format in libxml 2.13 in 3354cc6e89
- Fix short-lived phar regression in cd232ed328
- Fix GH-15868: Assertion failure in
xml_parse_into_struct
after exception in ac8db36543 - Fix GH-15868: Assertion failure in
xml_parse_into_struct
after exception in 6c82ca2182 - Fix XML serializer errata: xmlns="" serialization should be allowed in ed54d6de49
- Fix GH-15910: Assertion failure in ext/dom/element.c in 55aa5f3ffb
- Introduce
get_serialization_string_from_zval()
and use it into_xml_string()
in 56fea5995d - Use
get_serialization_string_from_zval()
in all encoding functions in ca66a11c36 - Fix GH-15711: SoapClient can't convert BackedEnum to scalar value in 25289dd08e
- Fix GH-15923: GDB: Python Exception <class 'TypeError'>: exceptions must derive from BaseException in 31e2ec63d8
- Fix unsetting DOM properties in c9a4abadcc
- NEWS for 306dedcf5e in e2da65de2a
- Use cache slot for
dom_property_exists()
in GH-15941 - Small optimization in
dom_local_name_compare_ex()
in GH-15950 - Fix GH-15918: Assertion failure in ext/spl/spl_fixedarray.c in 9774cedb01
- Fix GH-15982: Assertion failure with
array_find
when references are involved in 27b3131422 - Fix GH-15908 and GH-15026: leak / assertion failure in
streams.c
in 018c0b3d14
Orlando Thöny
- FPM: Remove usage of non-existing MAX_LINE_LENGTH constant in GH-5634
Peter Kokot
- Autotools: Sync CS in sapi/fuzzer in GH-15417
- Autotools: Sync CS in fpm SAPI in GH-15412
- Autotools: Fix
PHP_EMBED_TYPE
variable substitution in GH-15414 - Autotools: Add note about
PHP_ADD_EXTENSION_DEP
usage in 8853cf3ae9 - Autotools: Sync CS in sapi/cgi in GH-15407
- Autotools: Use AS_* macros in apache2handler SAPI in GH-15423
- Autotools: Fix external PCRE JIT check in GH-15430
- Autotools: Simplify
PHP_SELECT_SAPI
in apache2handler SAPI in GH-15444 - Add hash extension to soap dependencies in GH-15449
- Autotools: Remove redundant SAPI_SHARED assignment in GH-15453
- Remove php_win32_init_gettimeofday declaration in GH-15451
- Autotools: Replace obsolete backticks with $(...) in apache2handler in GH-15454
- Autotools: Simplify
PHP_PDO_DBLIB
conditions in 0064c42215 - Autotools: Sync CS in pdo_odbc in GH-15466
- Autotools: Remove
PHP_LIBDIR
adjustment in pdo_dblib in GH-15463 - Update
ext/mbstring
andext/snmp
dependencies in GH-15469 - Autotools: Move AWK finder to
PHP_INIT_BUILD_SYSTEM
in GH-15478 - Add date extension to dependencies in GH-15475
- Autotools: Move auto_cflags marker to
PHP_INIT_BUILD_SYSTEM
in GH-15487 - Fix GH-15501: Windows HAVE_<header>_H macros defined to 1 or undefined in GH-15508
- Fix GH-15515: Configure error grep illegal option q in GH-15516
- Fix bug GH-15514 (Configure error: genif.sh: syntax error) in 48a18e5be7
- Autotools: Fix stack direction check in GH-15528
- Autotools: Move Zend/zend_config.h to AC_CONFIG_COMMANDS in GH-15538
- Autotools: Move abs_srcdir and abs_builddir to init macro in GH-15537
- Autotools: Add min-version argument to
PHP_PROG_PHP
macro in GH-15477 - Autotools: Check re2c version with AS_VERSION_COMPARE in GH-15465
- Fix Solaris 10 build: missing
libproc.h
in GH-15525 - Remove unused buffer variables in GH-15550
- Autotools: Remove obsolete compiler reset in GH-15549
- Autotools: Sync CS in
ext/standard
in GH-15560 - Autotools: Use a no-op command in PKG_CHECK_MODULES in GH-15562
- Fix GH-15534: Bump minimum libxml2 version to 2.9.4 in GH-15536
- Autotools: Replace break 2 with break in GH-15563
- Autotools: Sync CS in
ext/tidy
in GH-15561 - Autotools: Simplify adding tidy cflags in GH-15577
- Autotools: Sync CS in
ext/phar
in GH-15586 - Autotools: Fix tidy library checks in GH-15576
- Fix iconv_open basic test in GH-15611
- Autotools: Sync CS in
ext/dba
in GH-15608 - Autotools: Normalize
PHP_INSTALL_HEADERS
arguments in GH-15620 - Autotools: Normalize
PHP_ADD_BUILD_DIR
1st argument in GH-15612 - Autotools: Sync CS in
ext/odbc
in GH-15625 - Autotools: Normalize 2nd arg in
PHP_ADD_SOURCES_X
in GH-15088 - Remove redundant HAVE_LIBREADLINE check in GH-15623
- Autotools: Remove redundant double quotes in GH-15634
- Autotools: Use SED variable for sed command in GH-15641
- Autotools: Replace backticks command substitutions with $(...) in GH-15639
- Autotools: Sync CS in
ext/dba
(part 2) in GH-15621 - Trim trailing whitespace in GH-15649
- Fix -Wunused-function warning in
ext/pdo_firebird
in GH-15646 - Autotools: Replace backticks with $(...) in php.m4 in GH-15642
- Autotools: Refactor ODBC type checks in GH-15651
- Autotools: Add 3rd argument to dba
PHP_TEMP_LDFLAGS
in 558ccf7362 - Autotools: Fix pdo_mysql build with mysql client library in GH-15450
- Autotools: Normalize flags arguments in GH-15671
- Autotools: Fix iconv shared build with external library in GH-15686
- Autotools: Document PHP environment build configuration vars in GH-15684
- Autotools: Sync CS in
ext/openssl
in 45ebe47569 - Autotools: Sync CS in configure.ac in GH-15706
- Autotools: Enhance appending -lrt in GH-15719
- Remove Travis artefacts in GH-15714
- Autotools: Document the EXTENSION_DIR environment variable in GH-15743
- Autotools: Sync CS in
PHP_EVAL_LIBLINE
in GH-15737 - Autotools: Mark always-shared extensions with ext_shared variable in GH-15739
- Update skeleton extension .gitignore in GH-15738
- Autotools: Sync CS for
PHP_RUNPATH_SWITCH
in GH-15768 - Sync Zend/asm/make_ppc64_sysv_macho_gas.S with upstream in GH-15769
- Autotools: Replace uname with host_alias for finding Solaris in GH-15770
- Autotools: Sync CS in php.m4 in GH-15771
- Autotools: Sync CS in
PHP_PROG_AWK
in GH-15772 - Autotools: s/M4 macros/Autoconf macros in GH-15778
- Autotools: Fix gd extension -I flag for bundled libgd in GH-15786
- Convert CRLF line endings to LF in GH-15767
- Autotools: Sync CS for
PHP_PWRITE_TEST
andPHP_PREAD_TEST
in GH-15774 - Sync Zend/*_i386_sysv_elf_gas.S with upstream in GH-15788
- Autotools: Enable adding a list of paths in
PHP_ADD_INCLUDE
in GH-15777 - Autotools: Move extension setup to main check in GH-15797
- Autotools: Check Apache version with apxs and HTTPD_VERSION variable in GH-15476
- Autotools: Refactor
PHP_TEST_BUILD
checks in GH-15798 - Autotools: Obsolete
PHP_TEST_BUILD
,PHP_BUILD_THREAD_SAFE
, andPHP_DEF_HAVE
in GH-15802 - Autotools: Check copy_file_range with AC_COMPILE_IFELSE in GH-15858
- Fix -Wundef/C4668 warnings in GH-15853
- Autotools: Fix CS in undefined sanitizer check in GH-15892
- Remove redundant Kerberos library installation in GH-15889
- Remove redundant spell libraries on Alpine in GH-15890
Remi Collet
- exit_as_funtion RFC follow-up: ensure default INI settings used in status test in GH-15420
- Implement GH-13514 PASSWORD_ARGON2 from OpenSSL 3.2 in GH-13635
- add
ZipArchive::ER_TRUNCATED_ZIP
added in libzip 1.11 in GH-15959
Saki Takamachi
ext/bcmath
: Optimizebcdiv
processing in GH-14660- Fixed the sign to be PLUS if the result is 0 in GH-15599
ext/bcmath
: Fixedbcdiv()
div by one in GH-15629- Fixed LONG_MAX in BCMath ext in GH-15663
- NEWS for
ext/bcmath
: Fixedbcdiv()
div by one in GH-15629 - [RFC] Support object types in BCMath in GH-13741
ext/bcmath
: Check for scale overflow in GH-15741- [RFC]
ext/bcmath
: Addedbcdivmod
in GH-15740 - Fix GH-15968: Avoid converting objects to strings in operator calculations. in GH-16021
- update API/ABI versions in 7225a11e59
- Update versions for PHP 8.4.0RC1 in cc09e3f8d0
Simonov Denis
- pdo_firebird: Cleanup code (GH-15510) in 8487ddb8a3
ext/pdo_firebird
: Fixed GH-15604 Always make input parameters nullable in GH-15605
tekimen
Tim Düsterhus
- Add some entries to the performance section of UPGRADING in GH-16019
^_^
- mysqlnd: support ER_CLIENT_INTERACTION_TIMEOUT in GH-13618
武田 憲太郎
- Fix MySQL and MSSQL CI failures in af721c9c36