Software 42778 Published by

PHP 7.0.0 Beta 3 has been released



The PHP development team announces the immediate availability of PHP 7.0.0 Beta 3. This is the fifth pre-release of the new PHP 7 major series. All users of PHP are encouraged to test this version carefully, and report any bugs and incompatibilities in the bug tracking system.
THIS IS A DEVELOPMENT PREVIEW - DO NOT USE IT IN PRODUCTION!

PHP 7.0.0 Beta 3 contains fixes for 33 reported bugs, 11 of which are security related, and altogether over 200 commits with various improvements.

PHP 7.0.0 comes with new version of the Zend Engine with features such as (incomplete list):

Improved performance: PHP 7 is up to twice as fast as PHP 5.6
Consistent 64-bit support
Many fatal errors are now Exceptions
Removal of old and unsupported SAPIs and extensions
The null coalescing operator (??)
Combined comparison Operator ()
Return Type Declarations
Scalar Type Declarations
Anonymous Classes

Change log:

- Core:
. Fixed "finally" issues. (Nikita, Dmitry)
. Fixed bug #70098 (Real memory usage doesn't decrease). (Dmitry)
. Fixed bug #70159 (__CLASS__ is lost in closures). (Julien)
. Fixed bug #70156 (Segfault in zend_find_alias_name). (Laruence)
. Fixed bug #70124 (null ptr deref / seg fault in ZEND_HANDLE_EXCEPTION).
(Laruence)
. Fixed bug #70117 (Unexpected return type error). (Laruence)
. Fixed bug #70106 (Inheritance by anonymous class). (Bob)
. Fixed bug #69674 (SIGSEGV array.c:953). (cmb)
. Fixed bug #70164 (__COMPILER_HALT_OFFSET__ under namespace is not defined).
(Bob)
. Fixed bug #70108 (sometimes empty $_SERVER['QUERY_STRING']). (Anatol)
. Fixed bug #70179 ($this refcount issue). (Bob)
. Fixed bug #69896 ('asm' operand has impossible constraints). (Anatol)
. Fixed bug #70183 (null pointer deref (segfault) in zend_eval_const_expr).
(Hugh Davenport)
. Fixed bug #70182 (Segfault in ZEND_ASSIGN_DIV_SPEC_CV_UNUSED_HANDLER).
(Hugh Davenport)
. Fixed bug #69793 (Remotely triggerable stack exhaustion via recursive
method calls). (Stas)
. Fixed bug #69892 (Different arrays compare indentical due to integer key
truncation). (Nikita)
. Fixed bug #70121 (unserialize() could lead to unexpected methods execution
/ NULL pointer deref). (Stas)

- Curl:
. Fixed bug #70163 (curl_setopt_array() type confusion). (Laruence)

- IMAP:
. Fixed bug #70158 (Building with static imap fails). (cmb)
. Fixed bug #69998 (curl multi leaking memory). (Pierrick)

- Opcache:
. Fixed bug #70111 (Segfault when a function uses both an explicit return
type and an explicit cast). (Laruence)

- OpenSSL:
. Fixed bug #70014 (openssl_random_pseudo_bytes() is not cryptographically
secure). (Stas)

- Phar:
. Improved fix for bug #69441. (Anatol Belski)
. Fixed bug #70019 (Files extracted from archive may be placed outside of
destination directory). (Anatol Belski)

- Phpdbg:
. Fixed bug #70138 (Segfault when displaying memory leaks). (Bob)

- SOAP:
. Fixed bug #70081 (SoapClient info leak / null pointer dereference via
multiple type confusions). (Stas)

- SPL:
. Fixed bug #70068 (Dangling pointer in the unserialization of ArrayObject
items). (sean.heelan)
. Fixed bug #70166 (Use After Free Vulnerability in unserialize() with
SPLArrayObject). (taoguangchen at icloud dot com)
. Fixed bug #70168 (Use After Free Vulnerability in unserialize() with
SplObjectStorage). (taoguangchen at icloud dot com)
. Fixed bug #70169 (Use After Free Vulnerability in unserialize() with
SplDoublyLinkedList). (taoguangchen at icloud dot com)

- Standard:
. Fixed bug #70140 (str_ireplace/php_string_tolower - Arbitrary Code
. Implemented #70112 (Allow "dirname" to go up various times). (Remi)
Execution). (Laruence)
. Fixed bug #36365 (scandir duplicates file name at every 65535th file). (cmb)
  PHP 7.0.0 Beta 3 released