Tim Düsterhus
6ca6d569ff
bless_tests: Replace the object ID in var_dump() for namespaced classes ( #19174 )
2025-07-18 20:43:23 +02:00
David Carlier
2c42479890
Merge branch 'PHP-8.4'
2025-07-18 18:02:46 +01:00
David Carlier
f1a77c0198
Merge branch 'PHP-8.3' into PHP-8.4
2025-07-18 18:02:02 +01:00
Petr Sumbera
be09985c87
Fix GH-19169: ZEND_STATIC_ASSERT for -std=c++17
...
needs to define ZEND_STATIC_ASSERT to appropriate C++ static_assert
instead of the C version.
2025-07-18 18:00:24 +01:00
Gina Peter Banyard
b48faee850
ext/snmp: no need to use a smart_string for error message ( #19171 )
2025-07-18 16:43:39 +01:00
Tim Düsterhus
5fdc02282f
uri: Improve exceptions for Uri\Rfc3986\Uri ( #19161 )
...
* uri: Streamline implementation of `uriparser_parse_uri_ex()`
Avoid the use of a macro and streamline the logic.
* uri: Improve exceptions for `Uri\Rfc3986\Uri`
* uri: Allow empty URIs for RFC3986
* NEWS
* uri: Improve ext/uri/tests/004.phpt for empty URIs
2025-07-18 17:38:44 +02:00
David CARLIER
063d795599
ext/intl: using a bit more modern c++ memory management features. ( #19163 )
...
not always possible (e.g. PHP objects) but when scoped we can manage
here to simplify memory managament starting with IntlDateFormat.
2025-07-18 14:10:40 +01:00
Gina Peter Banyard
419f6750c0
ext/tidy: refactor php_tidy_file_to_mem()
...
Pass zend_string* along
2025-07-18 13:21:56 +01:00
Gina Peter Banyard
4433986e40
ext/tidy: Refactor php_tidy_parse_string()
2025-07-18 13:21:56 +01:00
Gina Peter Banyard
0a130caf58
ext/tidy: refactor php_tidy_set_tidy_opt()
...
Bring closer to unique call site and return value of it
2025-07-18 13:21:56 +01:00
Gina Peter Banyard
01dbee83e1
ext/tidy: tidyOptGetType returns an enum that is fully checked
2025-07-18 13:21:56 +01:00
Gina Peter Banyard
aadd724362
ext/intl: Refactor IntlRuleBasedBreakIterator::__construct() ( #19164 )
...
There is no need to delegate this to a seperate function and overwrite the error handler to promote warnings
2025-07-17 23:00:05 +01:00
Tim Düsterhus
6b3f302132
streams: Re-add support for arbitrary metadata for stream notifier functions ( #19158 )
...
Support for attaching arbitrary metadata for consumption by stream notifier
functions got broken in php/php-src#19024 when the previous `zval ptr` got
changed to `zend_fcall_info_cache *fcc`, making the data specific to the
`user_space_stream_notifier`.
Fix this by changing the field to `void *ptr`, avoiding the indirection through
a `zval`, but preserving the ability to store arbitrary data. If necessary to
support different types than `IS_PTR`, extensions can heap-allocate a `zval` to
store within `->ptr` as a minimal change to keep compatibility with PHP 8.4 or
lower.
2025-07-17 23:01:43 +02:00
Tim Düsterhus
78d96e94fa
zend_API: Make scope a const zend_class_entry* for zend_update_property_*() ( #19156 )
...
Follow-up for php/php-src#19060 .
2025-07-17 22:11:24 +02:00
Niels Dossche
04eadc803d
Merge branch 'PHP-8.4'
...
* PHP-8.4:
NEWS for GH-19162
ext/socket: Remove incorrect zval_ptr_dtor
ext/hash: Remove incorrect zval_ptr_dtor
2025-07-17 21:53:39 +02:00
Niels Dossche
d9602e4362
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
NEWS for GH-19162
ext/socket: Remove incorrect zval_ptr_dtor
ext/hash: Remove incorrect zval_ptr_dtor
2025-07-17 21:52:23 +02:00
Niels Dossche
86aaded7e5
NEWS for GH-19162
...
Closes GH-19162.
2025-07-17 21:51:49 +02:00
Niels Dossche
d11099ae32
ext/socket: Remove incorrect zval_ptr_dtor
2025-07-17 21:50:35 +02:00
Niels Dossche
bdca73cc14
ext/hash: Remove incorrect zval_ptr_dtor
2025-07-17 21:50:35 +02:00
Tim Düsterhus
7f4076bae0
RFC: Clone with v2 ( #18747 )
...
RFC: https://wiki.php.net/rfc/clone_with_v2
Co-authored-by: Volker Dusch <volker@tideways-gmbh.com >
2025-07-17 21:13:42 +02:00
Niels Dossche
8629256dc7
Deduplicate error-handling code in finfo_open ( #19149 )
2025-07-17 20:45:09 +02:00
Niels Dossche
56308f6490
ext/standard/password: Use zend_string_efree() where possible ( #19150 )
2025-07-17 18:51:49 +02:00
Jakub Zelenka
a8a3c81528
Update NEWS for recent Curl changes [ci skip]
2025-07-17 15:00:56 +02:00
Emre Çalışkan
7fb6afbe9f
Add support for CURLINFO_QUEUE_TIME_T in curl_getinfo() ( #19147 )
...
This patch adds support for the CURLINFO_QUEUE_TIME_T constant in the
curl_getinfo() function when compiled with libcurl >= 8.6.0.
CURLINFO_QUEUE_TIME_T This constant allows retrieving the time (in
microseconds) that the request spent in libcurl’s connection queue
before it was sent.
2025-07-17 14:56:07 +02:00
Ilija Tovilo
0e80be83b3
Fix lineno for cpp assignment
...
We previously changed the lineno of the property to the cpp argument, but now
also update the lineno for RECV and ASSIGN_OBJ. No test because we don't have a
way to enable lineno's in the opcode dump, and this is not easily testable
through error messages.
2025-07-17 14:07:23 +02:00
Jakub Zelenka
a59caa3c33
Merge branch 'PHP-8.4'
2025-07-17 13:45:32 +02:00
Jakub Zelenka
554ae518a2
Merge branch 'PHP-8.3' into PHP-8.4
2025-07-17 13:45:14 +02:00
Jakub Zelenka
8516ae86d7
Skip LDAP TLS max version test for now
2025-07-17 13:44:21 +02:00
Tim Düsterhus
2e0c011fb8
zend_objects: Remove unnecessary refcounting when calling __clone() ( #19145 )
...
Found as part of the clone-with review in php/php-src#18747 .
2025-07-16 18:53:04 +02:00
Niels Dossche
62742996f8
Merge branch 'PHP-8.4'
...
* PHP-8.4:
ext/xml: Suppress libxml deprecation for `_xmlParserCtxt.inState` (#19131 )
2025-07-16 18:27:08 +02:00
Niels Dossche
826fa36ba3
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
ext/xml: Suppress libxml deprecation for `_xmlParserCtxt.inState` (#19131 )
2025-07-16 18:27:02 +02:00
Niels Dossche
034c3f2270
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
ext/xml: Suppress libxml deprecation for `_xmlParserCtxt.inState` (#19131 )
2025-07-16 18:26:54 +02:00
Niels Dossche
9eee4dd92b
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
ext/xml: Suppress libxml deprecation for `_xmlParserCtxt.inState` (#19131 )
2025-07-16 18:24:55 +02:00
Tim Düsterhus
a5df26691d
ext/xml: Suppress libxml deprecation for _xmlParserCtxt.inState ( #19131 )
...
The FreeBSD build fails due to the deprecation and -Werror:
2025-07-15T00:37:20.8390774Z /home/runner/work/php-src/php-src/ext/xml/compat.c:358:38: error: 'instate' is deprecated [-Werror,-Wdeprecated-declarations]
2025-07-15T00:37:20.8392577Z 358 | if (ret == NULL || parser->parser->instate == XML_PARSER_CONTENT) {
2025-07-15T00:37:20.8393184Z | ^
2025-07-15T00:37:20.8394006Z /usr/local/include/libxml2/libxml/parser.h:309:33: note: 'instate' has been explicitly marked deprecated here
2025-07-15T00:37:20.8394903Z 309 | xmlParserInputState instate XML_DEPRECATED_MEMBER;
2025-07-15T00:37:20.8395413Z | ^
2025-07-15T00:37:20.8396166Z /usr/local/include/libxml2/libxml/xmlexports.h:74:50: note: expanded from macro 'XML_DEPRECATED_MEMBER'
2025-07-15T00:37:20.8397058Z 74 | #define XML_DEPRECATED_MEMBER __attribute__((deprecated))
2025-07-15T00:37:20.8397581Z | ^
2025-07-15T00:37:20.8425542Z 1 error generated.
2025-07-16 18:23:54 +02:00
Samuel Melrose
6f1501a601
Add opcache_is_script_cached_in_file_cache() function
...
Closes GH-16979
2025-07-16 17:37:12 +02:00
Jakub Zelenka
b9844b545f
Merge branch 'PHP-8.4'
2025-07-16 17:32:20 +02:00
Jakub Zelenka
a57f58253a
Merge branch 'PHP-8.3' into PHP-8.4
2025-07-16 17:31:24 +02:00
Jakub Zelenka
eade5c17ea
Fix GH-18529: additional inheriting of TLS int options
...
This is for LDAP_OPT_X_TLS_PROTOCOL_MIN and LDAP_OPT_X_TLS_PROTOCOL_MAX
It also adds a test that uses LDAPCONF with TLS max version lower than
the minimum TLS server version so it should always fail. However it
does not fial for the second case without this change which confirms
that the change works as expected.
Closes GH-18676
2025-07-16 17:29:42 +02:00
Jakub Zelenka
2afab21ffb
Merge branch 'PHP-8.4'
2025-07-16 14:15:14 +02:00
Jakub Zelenka
4647dfc988
Merge branch 'PHP-8.3' into PHP-8.4
2025-07-16 14:10:35 +02:00
Jakub Zelenka
faf833bffc
PHP 8.3 is now for PHP-8.3.25-dev
2025-07-16 14:09:24 +02:00
Emre Çalışkan
e84320ad75
Add support for CURLINFO_CONN_ID in curl_getinfo() ( #18984 )
...
This patch adds support for the CURLINFO_CONN_ID constant in the curl_getinfo() function when compiled with libcurl >= 8.2.0.
CURLINFO_CONN_ID allows retrieving the unique identifier of the underlying connection used in the most recent transfer. This is useful for advanced features like connection reuse tracking, diagnostics, or connection pooling implementations at the PHP level.
2025-07-16 11:08:19 +02:00
Jakub Zelenka
2ecafd41ba
Remove curl OpenSSL locking for unsupported versions ( #18784 )
2025-07-16 11:06:21 +02:00
Niels Dossche
484d4351c2
Remove redundant operations from zend_llist_clean() ( #19143 )
...
This function calls zend_llist_destroy() which already sets the head and
tail pointers since c732ab40 .
2025-07-16 09:08:30 +02:00
Máté Kocsis
02b94556cf
Add missing news and upgrading notes for ext/uri
...
[skip ci]
2025-07-15 22:45:59 +02:00
Máté Kocsis
967377369b
Fix parsing URIs with empty hosts
...
Both RFC 3986 and WHATWG support empty hosts
2025-07-15 22:28:44 +02:00
Máté Kocsis
889f38135d
Cherry pick some recent lexbor changes
...
The following changes are cherry-picked:
- c60846689d core/str.c: Fix undefined behavior in function lexbor_str_append
- 92260fd670 URL: fixed hostname setter if port is specified.
2025-07-15 22:28:16 +02:00
Niels Dossche
a22dc67a21
hash: Use zend_string_efree() where possible ( #19137 )
...
Mainly motivated to reduce machine code bloat.
2025-07-15 22:03:34 +02:00
Niels Dossche
478a520900
Fix incorrect OpenSSL merge
2025-07-15 21:07:25 +02:00
Niels Dossche
a22eb4d3e5
Merge branch 'PHP-8.4'
...
* PHP-8.4:
Fix error return check of EVP_CIPHER_CTX_ctrl()
Fix memleak on failure in collator_get_sort_key()
2025-07-15 20:39:30 +02:00