Software 42838 Published by

The first alpha version of PHP 8.1.0 has been released for testing. The next alpha version is planned for 24 Jun 2021.





PHP 8.1.0alpha1

- Core:
. Fixed inclusion order for phpize builds on Windows. (cmb)
. Added missing hashtable insertion APIs for arr/obj/ref. (Sara)
. Fixed bug #75474 (function scope static variables are not bound to a unique
function). (Nikita)
. Fixed bug #53826 (__callStatic fired in base class through a parent call if
the method is private). (Nikita)
. Implemented FR #77372 (Relative file path is removed from uploaded file).
(Björn Tantau)
. Fixed bug #81076 (incorrect debug info on Closures with implicit binds).
(krakjoe)

- Standard:
. Fixed bug #77627 (method_exists on Closure::__invoke inconsistency).
(krakjoe)

- Date:
. Fixed bug #52480 (Incorrect difference using DateInterval) (Derick)
. Fixed bug #62326 (date_diff() function returns false result) (Derick)
. Fixed bug #64992 (dst not handled past 2038) (Derick)
. Fixed bug #65003 (Wrong date diff) (Derick)
. Fixed bug #66545 (DateTime. diff returns negative values) (Derick)
. Fixed bug #68503 (date_diff on two dates with timezone set localised
returns wrong results) (Derick)
. Fixed bug #69806 (Incorrect date from timestamp) (Derick)
. Fixed bug #71700 (Extra day on diff between begin and end of march 2016)
(Derick)
. Fixed bug #71826 (DateTime::diff confuse on timezone 'Asia/Tokyo') (Derick)
. Fixed bug #73460 (Datetime add not realising it already applied DST
change) (Derick)
. Fixed bug #74173 (DateTimeImmutable::getTimestamp() triggers DST switch in
incorrect time) (Derick)
. Fixed bug #74274 (Handling DST transitions correctly) (Derick)
. Fixed bug #74524 (Date diff is bad calculated, in same time zone) (Derick)
. Fixed bug #75167 (DateTime::add does only care about backward DST
transition, not forward) (Derick)
. Fixed bug #76032 (DateTime->diff having issues with leap days for
timezones ahead of UTC) (Derick)
. Fixed bug #76374 (Date difference varies according day time) (Derick)
. Fixed bug #77571 (DateTime's diff DateInterval incorrect in timezones from
UTC+01:00 to UTC+12:00 (Derick)
. Fixed bug #78452 (diff makes wrong in hour for Asia/Tehran) (Derick)
. Fixed bug #79452 (DateTime::diff() generates months differently between
time zones) (Derick)
. Fixed bug #79698 (timelib mishandles future timestamps (triggered by 'zic
-b slim')) (Derick)
. Fixed bug #79716 (Invalid date time created (with day "00")) (Derick)
. Fixed bug #80610 (DateTime calculate wrong with DateInterval) (Derick)
. Fixed bug #80664 (DateTime objects behave incorrectly around DST
transition) (Derick)
. Fixed bug #80913 (DateTime(Immutable)::sub around DST yield incorrect
time) (Derick)

- FPM:
. Added openmetrics status format. (Cees-Jan Kiewiet)
. Enable process renaming on macOS. (devnexen)
. Added pm.max_spawn_rate option to configure max spawn child processes rate.
(Paulius Sapragonas)
. Fixed bug #65800 (Events port mechanism). (psumbera)

- FTP:
. Convert resource to object \FTP\Connection. (Sara)

- GD:
. Convert resource to object \GdFont. (Sara)

- hash:
. Implemented FR #68109 (Add MurmurHash V3). (Anatol, Michael)
. Implemented FR #73385 (Add xxHash support). (Anatol)

- LDAP:
. Convert resource to object \LDAP\Connection. (Máté)
. Convert resource to object \LDAP\Result. (Máté)
. Convert resource to object \LDAP\ResultEntry. (Máté)

- MySQLi:
. Fixed bug #70372 (Emulate mysqli_fetch_all() for libmysqlclient). (Nikita)
. Fixed bug #80330 (Replace language in APIs and source code/docs).
(Darek Ślusarczyk)
. Fixed bug #80329 (Add option to specify LOAD DATA LOCAL white list folder
(including libmysql)). (Darek Ślusarczyk)

- MySQLnd:
. Fixed bug #80761 (PDO uses too much memory). (Nikita)

- OPcache:
. Added inheritance cache. (Dmitry)

- OpenSSL:
. Bump minimal OpenSSL version to 1.0.2. (Jakub Zelenka)

- PCRE:
. Bundled PCRE2 is 10.37.

- PDO:
. Fixed bug #40913 (PDO_MYSQL: PDO::PARAM_LOB does not bind to a stream for
fetching a BLOB). (Nikita)

. PDO MySQL:
. Fixed bug #80908 (PDO::lastInsertId() return wrong). (matt)
. Fixed bug #81037 (PDO discards error message text from prepared
statement). (Kamil Tekiela)

. PDO ODBC:
. Implement PDO_ATTR_SERVER_VERSION and PDO_ATTR_SERVER_INFO for
PDO::getAttribute(). (Calvin Buckley)

. PDO SQLite:
. Fixed bug #38334 (Proper data-type support for PDO_SQLITE). (Nikita)

- PgSQL:
. Convert resource to object \PgSql\Connection. (Máté)
. Convert resource to object \PgSql\Result. (Máté)
. Convert resource to object \PgSql\Lob. (Máté)

- PSpell:
. Convert resource to object \PSpell\Dictionary. (Sara)
. Convert resource to object \PSpell\Config. (Sara)

- readline:
. Fixed bug #72998 (invalid read in readline completion). (krakjoe)

- Reflection:
. Implement ReflectionFunctionAbstract::getClosureUsedVariables (krakjoe)

- Sodium:
. Added the XChaCha20 stream cipher functions. (P.I.E. Security Team)
. Added the Ristretto255 functions, which are available in libsodium 1.0.18.
(P.I.E. Security Team)

- SPL:
. Fixed bug #80724 (FilesystemIterator::FOLLOW_SYMLINKS remove KEY_AS_FILE
from bitmask). (Cameron Porter)
Gnome_shell_screenshot_09fnu0

PHP 8.1.0 Alpha 1 available for testing