#
ed24f0f2 |
| 23-Jan-2021 |
Darek Slusarczyk |
Fix #80330: Replace language in APIs and source code/docs Rename MYSQLI_REFRESH_SLAVE to MYSQLI_REFRESH_REPLICA in line with upstream change in MySQL. The old name is retained for ba
Fix #80330: Replace language in APIs and source code/docs Rename MYSQLI_REFRESH_SLAVE to MYSQLI_REFRESH_REPLICA in line with upstream change in MySQL. The old name is retained for backwards-compatibility reasons, and may be deprecated/removed in the future. Closes GH-6632.
show more ...
|
#
71301f5b |
| 24-Jan-2021 |
Tyson Andre |
Add documentation of array_is_list() to UPGRADING |
#
50eca61f |
| 06-Jan-2021 |
Craig Francis |
Use ENT_QUOTES|ENT_SUBSTITUTE default for HTML encoding and decoding functions htmlspecialchars() etc now use ENT_QUOTES | ENT_SUBSTITUTE rather than ENT_COMPAT by default. Clos
Use ENT_QUOTES|ENT_SUBSTITUTE default for HTML encoding and decoding functions htmlspecialchars() etc now use ENT_QUOTES | ENT_SUBSTITUTE rather than ENT_COMPAT by default. Closes GH-6583.
show more ...
|
#
ebca8dea |
| 16-Jan-2021 |
David Carlier |
posix: adding freebsd specific rlimit constants Respectively number of kqueues, pty limits per user. Closes GH-6608. |
#
3dad63b5 |
| 17-Jan-2021 |
Ayesh Karunaratne |
Curl: Add CURLOPT_DOH_URL option From libcurl version 7.62.0 and later, it supports DNS-over-HTTPS with [`CURLOPT_DOH_URL`](https://curl.se/libcurl/c/CURLOPT_DOH_URL.html) option. Th
Curl: Add CURLOPT_DOH_URL option From libcurl version 7.62.0 and later, it supports DNS-over-HTTPS with [`CURLOPT_DOH_URL`](https://curl.se/libcurl/c/CURLOPT_DOH_URL.html) option. This adds integration with the `CURLOPT_DOH_URL` option if libcurl version is >= 7.62.0 (0x073E00). For reference, Ubuntu 20.04+ `libcurl4-openssl-dev`-based PHP builds use Curl 7.68. Closes GH-6612.
show more ...
|
#
7703b854 |
| 09-Jan-2021 |
Anatol Belski |
UPGRADING: Add xxHash notes [ci skip] Signed-off-by: Anatol Belski <ab@php.net> |
#
3c68f38f |
| 02-Dec-2020 |
Nikita Popov |
Restrict allowed usages of $GLOBALS This restricts allowed usage of $GLOBALS, with the effect that plain PHP arrays can no longer contain INDIRECT elements. RFC: https://wiki.ph
Restrict allowed usages of $GLOBALS This restricts allowed usage of $GLOBALS, with the effect that plain PHP arrays can no longer contain INDIRECT elements. RFC: https://wiki.php.net/rfc/restrict_globals_usage Closes GH-6487.
show more ...
|
#
589bdf30 |
| 19-Oct-2020 |
George Peter Banyard |
Implement Explicit octal notation for integers RFC RFC: https://wiki.php.net/rfc/explicit_octal_notation Add an extensive test suits for other variants of integer literals
Implement Explicit octal notation for integers RFC RFC: https://wiki.php.net/rfc/explicit_octal_notation Add an extensive test suits for other variants of integer literals Closes GH-6360
show more ...
|
#
438b025a |
| 23-Dec-2020 |
Nikita Popov |
Support native types in PDO SQLite Return integers and floats as native types if possible. As usual, the old behavior can be restored by enabling ATTR_STRINGIFY_FETCHES. Fixes b
Support native types in PDO SQLite Return integers and floats as native types if possible. As usual, the old behavior can be restored by enabling ATTR_STRINGIFY_FETCHES. Fixes bug #38334.
show more ...
|
#
caa71003 |
| 17-Dec-2020 |
Nikita Popov |
Rewrite PDO result binding Instead of requiring the type to be determined in advance by the describer function and then requiring get_col to return a buffer of appropriate type, allo
Rewrite PDO result binding Instead of requiring the type to be determined in advance by the describer function and then requiring get_col to return a buffer of appropriate type, allow get_col to return an arbitrary zval. See UPGRADING.INTERNALS for a more detailed description of the change. This makes the result fetching simpler, more efficient and more flexible. The general possibility already existed via the special PDO_PARAM_ZVAL type, but the usage was very inconvenient and/or inefficient. Now it's possible to easily implement behavior like "return int if it fits, otherwise string" and to avoid any kind of complex management of temporary buffers. This also fixes bug #40913 (our second highest voted bug of all time, for some reason). PARAM_LOB result bindings will now consistently return a stream resource, independently of the used database driver. I've tried my best to update all PDO drivers for this change, but some of the changes may be broken, as I cannot test or even build some of these drivers (in particular PDO dblib and PDO oci). Fixes are appreciated -- a working CI setup would be even more appreciated ;)
show more ...
|
#
27afc455 |
| 22-Dec-2020 |
George Peter Banyard |
Add IMAP resource to object conversion to UPGRADING |
#
737195c3 |
| 21-Dec-2020 |
Nikita Popov |
PDO: Honor ATTR_STRINGIFY_FETCHES for booleans Of the important PDO drivers, this affects only PDO PgSQL, as both MySQL and SQLite do not return native boolean types. |
#
b85f0d1c |
| 18-Dec-2020 |
Christoph M. Becker |
Convert file_info resources to objects Besides our general desire to get rid of the legacy resource types, this is particularly appealing for fileinfo, because there are already resp
Convert file_info resources to objects Besides our general desire to get rid of the legacy resource types, this is particularly appealing for fileinfo, because there are already respective objects. Closes GH-5987.
show more ...
|
#
037512cf |
| 18-Dec-2020 |
Nikita Popov |
Move fetch_all implementation out of mysqlnd There doesn't seem to be any compelling reason to implement this in mysqlnd rather than mysqli. It's just a loop over fetch_into. Th
Move fetch_all implementation out of mysqlnd There doesn't seem to be any compelling reason to implement this in mysqlnd rather than mysqli. It's just a loop over fetch_into. This makes the function available under libmysqlclient as well, and thus fixes bug #79372.
show more ...
|
#
c18b1aea |
| 15-Dec-2020 |
Nikita Popov |
PDO MySQL: Use native types for results Previously, PDO MySQL only fetched data as native int/float if native prepared statements were used. This patch updates PDO to have the same b
PDO MySQL: Use native types for results Previously, PDO MySQL only fetched data as native int/float if native prepared statements were used. This patch updates PDO to have the same behavior for emulated prepared statements, and thus removes the largest remaining discrepancy between these two modes. Note that PDO already has a ATTR_STRINGIFY_FETCHES option to control whether native types are desired or not. The previous output can be restored by enabling this option. Most of the tests make use of that option, because this allows the tests to work under libmysqlclient as well, which currently always returns string results (independently of whether native or emulated PS are used).
show more ...
|
#
33e90491 |
| 14-Dec-2020 |
Nikita Popov |
MySQLnd: Clean up and optimize mysqlnd result set handling This is a larger overhaul of the mysqlnd result set infrastructure: * Drop support for two different types of buffered re
MySQLnd: Clean up and optimize mysqlnd result set handling This is a larger overhaul of the mysqlnd result set infrastructure: * Drop support for two different types of buffered results sets ("c" and "zval"). Possibly these made sense at some earlier time, but now (with minor adjustments) one option is strictly worse than the other. Buffered result sets already buffer the full row packets, from which zvals can be decoded. The "zval" style additionally also buffered the decoded zvals. As result sets, even buffered ones, are generally only traversed once, this just ends up wasting memory. Now, a potentially useful variation here would be to buffer the decoded zvals instead of the row packets, but that's not what the code was doing. * To make it really strictly better, pre-allocate the zval row buffer and reuse it for all rows. Previously the "c" style always allocated a new buffer for each row. * The fetch_row API now provides a populated zval[]. The task of populating an array is deferred to fetch_row_into, which also avoids duplicating this code in multiple places. The fetch_row_c API is also implemented on top of fetch_row now, rather than duplicating large parts of the code. * The row fetching code for prepared statements and normal result sets has been mostly merged. These already used the same infrastructure, but prepared statements used separate row fetching functions that were nearly the same as the normal ones. This requires passing the stmt into the result set, rather than just a flag. The only part that remains separate is reading of unbuffered results in the presence of PS cursors.
show more ...
|
#
890e4caf |
| 14-Dec-2020 |
Nikita Popov |
Drop support for max_length in mysqli_fetch_fields() Retain the field, but always populate it with zero. This was already the case for PS without length updating. max_length has
Drop support for max_length in mysqli_fetch_fields() Retain the field, but always populate it with zero. This was already the case for PS without length updating. max_length has nothing lost in the field metadata -- it is a property of the specific result set, and requires scanning the whole result set to compute. PHP itself never uses max_length with mysqlnd, it is only exposed in the raw mysqli API. Keeping it for just that purpose is not worthwhile given the costs involved. People who actually need this for some reason can easily calculate it themselves, while making it obvious that the calculation requires a full result set scan.
show more ...
|
#
2b7eb0e2 |
| 13-Dec-2020 |
Christoph M. Becker |
Disallow version_compare() $operator abbreviations `version_compare()` does a sloppy check for the `$operators` argument which allows arbitrary abbreviations of the supported operators t
Disallow version_compare() $operator abbreviations `version_compare()` does a sloppy check for the `$operators` argument which allows arbitrary abbreviations of the supported operators to be accepted. This is both undocumented and unexpected, and could lead to subtle BC breaks, if the order of the comparisions will be changed. Therefore we change to strict comparisons. Closes GH-6510.
show more ...
|
#
c6d3c68f |
| 13-Dec-2020 |
Anatol Belski |
UPGRADING: Document algorithm specific hash options [ci skip] Signed-off-by: Anatol Belski <ab@php.net> |
#
7965bc36 |
| 24-Nov-2020 |
Nikita Popov |
Use pkg-config for libargon2 We already tried this in PHP 7.4, but ran into issues, because alpine did not support pkg-config for libargon2 (or had a broken pc file, not sure). The A
Use pkg-config for libargon2 We already tried this in PHP 7.4, but ran into issues, because alpine did not support pkg-config for libargon2 (or had a broken pc file, not sure). The Alpine issue has been resolved in the meantime, so let's give this another try.
show more ...
|
#
c3a6debc |
| 10-Oct-2020 |
Jakub Zelenka |
Bump minimal OpenSSL version to 1.0.2 |
#
347a3f87 |
| 31-Oct-2020 |
Anatol Belski |
UPGRADING: Add murmurhash note [ci skip] Signed-off-by: Anatol Belski <ab@php.net> |
#
521c36c8 |
| 18-Oct-2020 |
Christoph M. Becker |
Remove IGNORE_URL_WIN macro This macro is defined to zero as of PHP 5.0.0, and as the comment indicates, is no longer relevant. Thus, we remove the definition and all usages from th
Remove IGNORE_URL_WIN macro This macro is defined to zero as of PHP 5.0.0, and as the comment indicates, is no longer relevant. Thus, we remove the definition and all usages from the core and bundled extensions. Closes GH-6351.
show more ...
|
#
14806e08 |
| 09-Oct-2020 |
Gabriel Caruso |
Prepare for PHP 8.1 Closes GH-6305. |
#
10796220 |
| 02-Oct-2020 |
Remi Collet |
add note about is_callable change |