History log of /PHP-8.1/UPGRADING (Results 101 – 125 of 1208)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 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

# d7243ce2 02-Oct-2020 Nikita Popov

Add UPGRADING note for substr() behavior

[ci skip]

# 550a4f2f 01-Oct-2020 Côme Chilliet

Remove deprecated functions from php-ldap

Remove ldap_control_paged_result and ldap_control_paged_result_response
which have been deprecated in PHP 7.4, in favor of new $controls
p

Remove deprecated functions from php-ldap

Remove ldap_control_paged_result and ldap_control_paged_result_response
which have been deprecated in PHP 7.4, in favor of new $controls
parameters for ldap request functions.

show more ...

# e39ce172 29-Sep-2020 Remi Collet

bump zip extension version

# 47a166c8 23-Sep-2020 Christoph M. Becker

Fix #78792: zlib.output_compression disabled by Content-Type: image/

Disabling output compression for images has served to fix bug #16109,
where zlib compressed images apparently have ca

Fix #78792: zlib.output_compression disabled by Content-Type: image/

Disabling output compression for images has served to fix bug #16109,
where zlib compressed images apparently have caused issues with
Navigator 4. This shouldn't be an issue with somewhat contemporary
browsers. Other than that, this is an arbitrary restriction – why
don't we disable the compression for some other media types as well
(e.g. video/* and audio/*)? All in all, we should leave that decision
to userland.

Closes GH-6198.

show more ...

# 9f5a7718 27-Sep-2020 Christoph M. Becker

Fix #22986: odbc_connect() may reuse persistent connection

`odbc_connect()` should not reuse persistent connections, since that
prohibits multiple concurrent connections, which are occas

Fix #22986: odbc_connect() may reuse persistent connection

`odbc_connect()` should not reuse persistent connections, since that
prohibits multiple concurrent connections, which are occasionally
desireable. We fix that by no longer looking for already cached
connections when `odbc_connect()` is called, and instead creating a new
connection instead.

Closes GH-6223.

show more ...

12345678910>>...49