#
50dfc436 |
| 03-Oct-2024 |
Gina Peter Banyard |
[skip ci] Fix UPGRADING entries (#16176) * [skip ci] Fix UPGRADING entries * [skip ci] Add DBA new class
|
#
e609a219 |
| 29-Sep-2024 |
David Carlier |
ext/pgsql: pgsql_copy_from to support iterable. inspired from the Pdo\Pgsql new feature GH-15893. close GH-16124
|
#
d83a7a9f |
| 30-Sep-2024 |
Chris Brown |
Fix small typo in UPGRADING (#16141)
|
#
daa94cf2 |
| 29-Sep-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Implement request #30622: make $namespace parameter functional This parameter never actually did anything and was forgotten about. We solve this by detecting when we have a $namespace ar
Implement request #30622: make $namespace parameter functional This parameter never actually did anything and was forgotten about. We solve this by detecting when we have a $namespace argument (that won't conflict with the name argument) and creating a Clark notation name out of it. Closes GH-16123.
show more ...
|
#
f5e81fe1 |
| 29-Sep-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Optimize in-memory XMLWriter We're currently using a libxml buffer, which requires copying the buffer to zend_strings every time we want to output the string. Furthermore, its use of
Optimize in-memory XMLWriter We're currently using a libxml buffer, which requires copying the buffer to zend_strings every time we want to output the string. Furthermore, its use of the system allocator instead of ZendMM makes it not count towards the memory_limit and hinders performance. This patch adds a custom writer such that the strings are written to a smart_str instance, using ZendMM for improved performance, and giving the ability to not copy the string in the common case where flush has empty set to true. Closes GH-16120.
show more ...
|
#
bca73f1c |
| 29-Sep-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
[ci skip] Fix typo
|
#
1da352c3 |
| 16-Jun-2024 |
David Carlier |
ext/pgsql: adding pg_close_stmt. up to postgresql 17, when done with a prepared statement, we could release it with DEALLOCATE sql command which is fine ; until we want to implement
ext/pgsql: adding pg_close_stmt. up to postgresql 17, when done with a prepared statement, we could release it with DEALLOCATE sql command which is fine ; until we want to implement a cache solution based on statement ids. Since PostgreSQL 17, PQclosePrepared uses internally the `close` protocol allowing to reuse the statement name while still freeing it. Since the close protocol implementation had been added on libpq within this release, no way to reimplement it. close GH-14584
show more ...
|
#
68537fd9 |
| 03-Sep-2024 |
Guillaume Outters |
Fix / implement GH-15287: add a lazy fetch to Pdo\PgSql Make Pdo\PgSql accept Pdo::setAttribute(PDO::ATTR_PREFETCH, 0) to enter libpq's single row mode. This avoids storing the whole res
Fix / implement GH-15287: add a lazy fetch to Pdo\PgSql Make Pdo\PgSql accept Pdo::setAttribute(PDO::ATTR_PREFETCH, 0) to enter libpq's single row mode. This avoids storing the whole result set in memory before being able to call the first fetch(). close GH-15750
show more ...
|
#
d4c88a29 |
| 28-Sep-2024 |
Gina Peter Banyard |
ext/bz2: Check int params of bzcompress() are correct (#16108) Also add a TODO to check the length of the source strings
|
#
d3e65d54 |
| 27-Sep-2024 |
Gina Peter Banyard |
ext/ldap: Throw a ValueError when passing an unknown option
|
#
7f5e96d0 |
| 15-Sep-2024 |
武田 憲太郎 |
ext/pdo_pgsql: Expanding COPY input from an array to an iterable close GH-15893
|
#
d21bc7f1 |
| 06-Sep-2024 |
Ilija Tovilo |
Disallow enums in ArrayObject Closes GH-15775
|
#
7bd0bcad |
| 24-Sep-2024 |
Saki Takamachi |
Prepare for PHP 8.4
|
#
654b787e |
| 24-Sep-2024 |
Bob Weinand |
Add API to exempt function from being traced in JIT (#15559) Internally accessible via zend_jit_blacklist_function / externally via opcache_jit_blacklist. The functionality currently onl
Add API to exempt function from being traced in JIT (#15559) Internally accessible via zend_jit_blacklist_function / externally via opcache_jit_blacklist. The functionality currently only affects tracing JIT, but may be extended to other JIT modes in future.
show more ...
|
#
99bceda0 |
| 24-Sep-2024 |
Ayesh Karunaratne |
ext/curl: Add `CURLINFO_POSTTRANSFER_TIME_T` support (GH-15849) libcurl ref: [`CURLINFO_POSTTRANSFER_TIME_T`](https://curl.se/libcurl/c/CURLINFO_POSTTRANSFER_TIME_T.html) `CURLINFO_
ext/curl: Add `CURLINFO_POSTTRANSFER_TIME_T` support (GH-15849) libcurl ref: [`CURLINFO_POSTTRANSFER_TIME_T`](https://curl.se/libcurl/c/CURLINFO_POSTTRANSFER_TIME_T.html) `CURLINFO_POSTTRANSFER_TIME_T` is a libcurl info option that returns the time it took to "post" the transfer. Available since libcurl 8.10.0 This value is also exposed as `posttransfer_time_us` in the `curl_getinfo()` return value when the `$option` parameter is not passed.
show more ...
|
#
ba748e7b |
| 24-Sep-2024 |
Ayesh Karunaratne |
ext/curl: Add `CURLOPT_DEBUGFUNCTION` option (GH-15674) This adds support for `CURLOPT_DEBUGFUNCTION`[^1] Curl option to set a custom callback that gets called with debug information dur
ext/curl: Add `CURLOPT_DEBUGFUNCTION` option (GH-15674) This adds support for `CURLOPT_DEBUGFUNCTION`[^1] Curl option to set a custom callback that gets called with debug information during the lifetime of a Curl request. The callback gets called with the `CurlHandle` object, an integer containing the type of the debug message, and a string containing the debug message. The callback may get called multiple times with the same message type during a request. PHP already uses `CURLOPT_DEBUGFUNCTION` functionality to internally to expose a Curl option named `CURLINFO_HEADER_OUT`. However,`CURLINFO_HEADER_OUT` is not a "real" Curl option supported by libcurl. Back in 2006, `CURLINFO_HEADER_OUT` was added[^2] as a Curl option by using the debug-callback feature. Git history does not run that back to show why `CURLINFO_HEADER_OUT` was added as a Curl option, and why the other debug types (such as `CURLINFO_HEADER_IN` were not added as Curl options, but this seems to be a historical artifact when we added features without trying to be close to libcurl options. This approach has a few issues: 1. `CURLINFO_HEADER_OUT` is not an actual Curl option supported by upstream libcurl. 2. All of the Curl options have `CURLOPT_` prefix, and `CURLINFO_HEADER_OUT` is the only Curl "option" that uses the `CURLINFO` prefix. This exception is, however, noted[^3] in docs. 3. When `CURLINFO_HEADER_OUT` is set, the `CURLOPT_VERBOSE` is also implicitly set. This was reported[^4] to bugs.php.net, but the bug is marked as wontfix. This commit adds support for `CURLOPT_DEBUGFUNCTION`. It extends the existing `curl_debug` callback to store the header-in information if it encounters a debug message with `CURLINFO_HEADER_OUT`. In all cases, if a callable is set, it gets called. `CURLOPT_DEBUGFUNCTION` intends to replace `CURLINFO_HEADER_OUT` Curl option as a versatile alternative that can also be used to extract other debug information such as SSL data, text information messages, incoming headers, as well as headers sent out (which `CURLINFO_HEADER_OUT` makes available). The callables are allowed to throw exceptions, but the return values are ignored. `CURLOPT_DEBUGFUNCTION` requires `CURLOPT_VERBOSE` enabled, and setting `CURLOPT_DEBUGFUNCTION` does _not_ implicitly enable `CURLOPT_VERBOSE`. If the `CURLOPT_DEBUGFUNCTION` option is set, setting `CURLINFO_HEADER_OUT` throws a `ValueError` exception. Setting `CURLOPT_DEBUGFUNCTION` _after_ enabling `CURLINFO_HEADER_OUT` is allowed. Technically, it is possible for both functionality (calling user-provided callback _and_ storing header-out data) is possible, setting `CURLINFO_HEADER_OUT` is not allowed to encourage the use of `CURLOPT_DEBUGFUNCTION` function. This commit also adds the rest of the `CURLINFO_` constants used as the `type` integer value in `CURLOPT_DEBUGFUNCTION` callback. --- [^1]: [cur.se - CURLOPT_DEBUGFUNCTION](https://curl.se/libcurl/c/CURLOPT_DEBUGFUNCTION.html) [^2]: [`5f25d80`](https://github.com/php/php-src/commit/5f25d80d106004692dacb9c01cdc49c7c883a13a) [^3]: [curl_setopt doc mentioning `CURLINFO_` prefix is intentional](https://www.php.net/manual/en/function.curl-setopt.php#:~:text=prefix%20is%20intentional) [^4]: [bugs.php.net - `CURLOPT_VERBOSE` does not work with `CURLINFO_HEADER_OUT`](https://bugs.php.net/bug.php?id=65348)
show more ...
|
#
15dde9d3 |
| 24-Sep-2024 |
Tim Düsterhus |
Add some entries to the performance section of UPGRADING (#16019) * [skip ci] Mention `sprintf()` optimization in UPGRADING * [skip ci] Mention ext/random performance improvements i
Add some entries to the performance section of UPGRADING (#16019) * [skip ci] Mention `sprintf()` optimization in UPGRADING * [skip ci] Mention ext/random performance improvements in UPGRADING
show more ...
|
#
f6db576c |
| 22-Sep-2024 |
Saki Takamachi <34942839+SakiTakamachi@users.noreply.github.com> |
[RFC] ext/bcmath: Added `bcdivmod` (#15740) RFC: https://wiki.php.net/rfc/add_bcdivmod_to_bcmath Added bcdivmod() function and added divmod() method to BcMath\Number class.
|
#
090b53bc |
| 19-Sep-2024 |
Remi Collet |
[ci skip] NEWS + UPGRADING
|
#
1b9568d3 |
| 01-Sep-2024 |
Ilija Tovilo |
Implement backed enum coercion in http_build_query() Fixes GH-15650 Closes GH-15704
|
#
d313ad60 |
| 30-Dec-2023 |
Michael Voříšek |
Deprecate E_STRICT constant and remove error level RFC: https://wiki.php.net/rfc/deprecations_php_8_4#remove_e_strict_error_level_and_deprecate_e_strict_constant Closes GH-13053
|
#
3afb9618 |
| 15-Sep-2024 |
Ayesh Karunaratne |
ext/mbstring: Update to Unicode 16 Updates UCD to Unicode 16.0 (released 2024 Sept). Previously: 0fdffc18, #7502, #14680 Unicode 16 adds several new character sets and case
ext/mbstring: Update to Unicode 16 Updates UCD to Unicode 16.0 (released 2024 Sept). Previously: 0fdffc18, #7502, #14680 Unicode 16 adds several new character sets and case folding rules. However, the existing ucgendat script can still parse them. This also adds a couple test cases to make sure the new rules for East Asian Wide characters and case folding work correctly. These tests fail on Unicode 15.1 and older because those verisons do not contain those rules.
show more ...
|
#
f756b96e |
| 13-Sep-2024 |
Gina Peter Banyard |
Make CSV deprecation less annoying to deal with (#15569)
|
#
aa349503 |
| 13-Sep-2024 |
Christoph M. Becker |
[skip ci] Update UPGRADING wrt Deprecate GET/POST sessions RFC (#15865) This RFC[1] has already been implemented via its respective PR[2], so we add this information to UPGRADING.
[skip ci] Update UPGRADING wrt Deprecate GET/POST sessions RFC (#15865) This RFC[1] has already been implemented via its respective PR[2], so we add this information to UPGRADING. [1] <https://wiki.php.net/rfc/deprecate-get-post-sessions> [2] <https://github.com/php/php-src/pull/13578>
show more ...
|
#
2ced1c92 |
| 11-Sep-2024 |
DanielEScherzer |
Add `ReflectionProperty::isDynamic()` as an alternative to `isDefault()` (#15758) Dynamic properties are generally referred to as "dynamic" properties, while non-dynamic properties are n
Add `ReflectionProperty::isDynamic()` as an alternative to `isDefault()` (#15758) Dynamic properties are generally referred to as "dynamic" properties, while non-dynamic properties are not commonly referred to as "default" properties. Thus, the existing method `ReflectionProperty::isDefault()` has a non obvious name; while an alias could be added for `isNotDynamic()`, a new `isDynamic()` method seems cleaner. The new method returns the opposite of `isDefault()`; dynamic properties are not present on the class by default, and properties present by default are not added dynamically. Closes GH-15754
show more ...
|