PHP 7.0.0 Alpha 1 veröffentlicht

Published by

Die erste Alpha Version von PHP 7.0.0 steht jetzt zum Download bereit Herzstück ist eine neue Engine die Scripte bis zu doppelt so schnell ausführt als PHP 5. Weiters dabei: Konsistente 64-Bit-Unterstützung, Viele schwerwiegende Fehler sind jetzt Ausnahmen, Entfernen von alten und nicht unterstützte SAPIs und Erweiterungen, Der Null-Koaleszenz-Operator (??), Kombinierte Vergleich Operator (), Rückgabetyp Erklärungen, Scalar Art Erklärungen und vieles mehr.

Hier der vollständige Change Log:
11 Jun 2015, PHP 7.0.0 Alpha 1

- Core:
. Fixed bug #69767 (Default parameter value with wrong type segfaults).
(cmb, Laruence)
. Fixed bug #69756 (Fatal error: Nesting level too deep - recursive dependency
? with ===). (Dmitry, Laruence)
. Fixed bug #69758 (Item added to array not being removed by array_pop/shift
). (Laruence)
. Fixed bug #68475 (Add support for $callable() sytnax with 'Class::method').
(Julien, Aaron Piotrowski)
. Fixed bug #69485 (Double free on zend_list_dtor). (Laruence)
. Fixed bug #69427 (Segfault on magic method __call of private method in
superclass). (Laruence)
. Improved __call() and __callStatic() magic method handling. Now they are
called in a stackless way using ZEND_CALL_TRAMPOLINE opcode, without
additional stack frame. (Laruence, Dmitry)
. Optimized strings concatenation. (Dmitry, Laruence)
. Fixed weird operators behavior. Division by zero now emits warning and
returns +/-INF, modulo by zero and intdid() throws an exception, shifts
by negative offset throw exceptions. Compile-time evaluation of division
by zero is disabled. (Dmitry, Andrea, Nikita)
. Fixed bug #69371 (Hash table collision leads to inaccessible array keys).
(Laruence)
. Fixed bug #68933 (Invalid read of size 8 in zend_std_read_property).
(Laruence, arjen at react dot com)
. Fixed bug #68252 (segfault in Zend/zend_hash.c in function
_zend_hash_del_el). (Laruence)
. Fixed bug #65598 (Closure executed via static autoload incorrectly marked as
static). (Nikita)
. Fixed bug #66811 (Cannot access static::class in lambda, writen outside of a
class). (Nikita)
. Fixed bug #69568 (call a private function in closure failed). (Nikita)
. Added PHP_INT_MIN constant. (Andrea)
. Added Closure::call() method. (Andrea)
. Fixed bug #67959 (Segfault when calling phpversion('spl')). (Florian)
. Implemented the RFC `Catchable "Call to a member function bar() on a
non-object"`. (Timm)
. Added options parameter for unserialize allowing to specify acceptable
classes (https://wiki.php.net/rfc/secure_unserialize). (Stas)
. Fixed bug #63734 (Garbage collector can free zvals that are still
referenced). (Dmitry)
. Removed ZEND_ACC_FINAL_CLASS, promoting ZEND_ACC_FINAL as final class
modifier. (Guilherme Blanco)
. is_long() & is_integer() is now an alias of is_int(). (Kalle)
. Implemented FR #55467 (phpinfo: PHP Variables with $ and single quotes). (Kalle)
. Added ?? operator. (Andrea)
. Added operator. (Andrea)
. Added \u{xxxxx} Unicode Codepoint Escape Syntax. (Andrea)
. Fixed oversight where define() did not support arrays yet const syntax did.
(Andrea, Dmitry)
. Use "integer" and "float" instead of "long" and "double" in ZPP, type hint
and conversion error messages. (Andrea)
. Implemented FR #55428 (E_RECOVERABLE_ERROR when output buffering in output
buffering handler). (Kalle)
. Removed scoped calls of non-static methods from an incompatible $this
context. (Nikita)
. Removed support for #-style comments in ini files. (Nikita)
. Removed support for assigning the result of new by reference. (Nikita)
. Invalid octal literals in source code now produce compile errors, fixes
PHPSadness #31. (Andrea)
. Removed dl() function on fpm-fcgi. (Nikita)
. Removed support for hexadecimal numeric strings. (Nikita)
. Removed obsolete extensions and SAPIs. See the full list in UPGRADING. (Anatol)
. Added NULL byte protection to exec, system and passthru. (Yasuo)
. Added error_clear_last() function. (Reeze Xia)
. Fixed bug #68797 (Number 2.2250738585072012e-308 converted incorrectly).
(Anatol)
. Improved zend_qsort(using hybrid sorting algo) for better performance,
and also renamed zend_qsort to zend_sort. (Laruence)
. Added stable sorting algo zend_insert_sort. (Laruence)
. Implemented the RFC `Scalar Type Decalarations v0.5`. (Anthony)
. Implemented the RFC `Group Use Declarations`. (Marcio)
. Implemented the RFC `Continue Output Buffering`. (Mike)
. Implemented the RFC `Constructor behaviour of internal classes`. (Dan, Dmitry)
. Implemented the RFC `Fix "foreach" behavior`. (Dmitry)
. Implemented the RFC `Generator Delegation`. (Bob)
. Implemented the RFC `Anonymous Class Support`. (Joe, Nikita, Dmitry)
. Implemented the RFC `Context Sensitive Lexer`. (Marcio Almada)
. Fixed bug #69511 (Off-by-one buffer overflow in php_sys_readlink).
(Jan Starke, Anatol)

- CLI server:
. Refactor MIME type handling to use a hash table instead of linear search.
(Adam)
. Update the MIME type list from the one shipped by Apache HTTPD. (Adam)
. Added support for SEARCH WebDav method. (Mats Lindh)

- Curl:
. Fixed bug #68937 (Segfault in curl_multi_exec). (Laruence)
. Removed support for unsafe file uploads. (Nikita)

- Date:
. Fixed day_of_week function as it could sometimes return negative values
internally. (Derick)
. Removed $is_dst parameter from mktime() and gmmktime(). (Nikita)
. Removed date.timezone warning
(https://wiki.php.net/rfc/date.timezone_warning_removal). (Bob)
. Added "v" DateTime format modifier to get the 3-digit version of fraction
of seconds. (Mariano Iglesias)
. Implemented FR #69089: Added DateTime::RFC3339_EXTENDED to output in
RFC3339 Extended format which includes fraction of seconds (Mariano
Iglesias)

- DBA:
. Fixed bug #62490 (dba_delete returns true on missing item (inifile)). (Mike)
. Fixed bug #68711 (useless comparisons). (bugreports at internot dot info)

- DOM:
. Made DOMNode::textContent writeable. (Tjerk)

- GD:
. Made fontFetch's path parser thread-safe. (Sara)
. Removed T1Lib support. (Kalle)

- Fileinfo:
. Fixed bug #66242 (libmagic: don't assume char is signed). (ArdB)

- Filter:
. New FILTER_VALIDATE_DOMAIN and better RFC conformance for FILTER_VALIDATE_URL. (Kevin Dunglas)

- FPM:
. Fixed bug #68945 (Unknown admin values segfault pools). (Laruence)
. Fixed bug #65933 (Cannot specify config lines longer than 1024 bytes). (Chris Wright)
. Implement request #67106 (Split main fpm config). (Elan Ruusamäe, Remi)

- FTP:
. Fixed bug #69082 (FTPS support on Windows). (Anatol)

- Intl:
. Removed deprecated aliases datefmt_set_timezone_id() and
IntlDateFormatter::setTimeZoneID(). (Nikita)

- JSON
. Replace non-free JSON parser with a parser from Jsond extension, fixes #63520
(JSON extension includes a problematic license statement). (Jakub Zelenka)
. Fixed bug #68938 (json_decode() decodes empty string without error).
(jeremy at bat-country dot us)

- LDAP
. Fixed bug #47222 (Implement LDAP_OPT_DIAGNOSTIC_MESSAGE). (Andreas Heigl)

- LiteSpeed:
. Updated LiteSpeed SAPI code from V5.5 to V6.6. (George Wang)

- libxml:
. Fixed handling of big lines in error messages with libxml >= 2.9.0.
(Christoph M. Becker)

- Mcrypt:
. Fixed possible read after end of buffer and use after free. (Dmitry)
. Removed mcrypt_generic_end() alias. (Nikita)
. Removed mcrypt_ecb(), mcrypt_cbc(), mcrypt_cfb(), mcrypt_ofb(). (Nikita)

- Opcache:
. Fixed bug #69688 (segfault with eval and opcache fast shutdown).
(Laruence)
. Added experimental (disabled by default) file based opcode cache.
(Dmitry, Laruence, Anatol)
. Fixed bug with try blocks being removed when extended_info opcode
generation is turned on. (Laruence)
. Fixed bug #68644 (strlen incorrect : mbstring + func_overload=2 +UTF-8
+ Opcache). (Laruence)

- OpenSSL:
. Added "alpn_protocols" SSL context option allowing encrypted client/server
streams to negotiate alternative protocols using the ALPN TLS extension when
built against OpenSSL 1.0.2 or newer. Negotiated protocol information is
accessible through stream_get_meta_data() output.
. Removed "CN_match" and "SNI_server_name" SSL context options. Use automatic
detection or the "peer_name" option instead. (Nikita)

- pcntl:
. Fixed bug #60509 (pcntl_signal doesn't decrease ref-count of old handler
when setting SIG_DFL). (Julien)
. Added wifcontinued and wcontinued. (xilon-jul)
. Added rusage support to pcntl_wait() and pcntl_waitpid(). (Anton Stepanenko,
Tony)

- PCRE:
. Removed support for the /e (PREG_REPLACE_EVAL) modifier. (Nikita)

- PDO:
. Fixed bug #59450 (./configure fails with "Cannot find php_pdo_driver.h").
(maxime dot besson at smile dot fr)

- PDO_mysql:
. Fixed bug #68424 (Add new PDO mysql connection attr to control multi
statements option). (peter dot wolanin at acquia dot com)

- PDO_pgsql:
. Removed PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT attribute in favor of
ATTR_EMULATE_PREPARES). (Nikita)

- Reflection
. Fixed inheritance chain of Reflector interface. (Tjerk)
. Added ReflectionGenerator class. (Bob)
. Added reflection support for return types and type declarations. (Sara,
Matteo)

- Session:
. Fixed bug #67694 (Regression in session_regenerate_id()). (Tjerk)
. Fixed bug #68941 (mod_files.sh is a bash-script). (bugzilla at ii.nl, Yasuo)

- SOAP:
. Fixed bug #68361 (Segmentation fault on SoapClient::__getTypes). (Laruence)

- SPL:
. Changed ArrayIterator implementation using zend_hash_iterator_... API.
Allowed modification of iterated ArrayObject using the same behavior
as proposed in `Fix "foreach" behavior`. Removed "Array was modified
outside object and internal position is no longer valid" hack. (Dmitry)
. Implemented #67886 (SplPriorityQueue/SplHeap doesn't expose extractFlags
nor curruption state). (Julien)
. Fixed bug #66405 (RecursiveDirectoryIterator::CURRENT_AS_PATHNAME
breaks the RecursiveIterator). (Paul Garvin)

- Sqlite3:
. Fixed bug #68260 (SQLite3Result::fetchArray declares wrong
required_num_args). (Julien)

- Standard:
. Fixed bug #69723 (Passing parameters by reference and array_column).
(Laruence)
. Fixed bug #69523 (Cookie name cannot be empty). (Christoph M. Becker)
. Fixed bug #69325 (php_copy_file_ex does not pass the argument).
(imbolk at gmail dot com)
. Fixed bug #69299 (Regression in array_filter's $flag argument in PHP 7).
(Laruence)
. Removed call_user_method() and call_user_method_array() functions. (Kalle)
. Fixed user session handlers (See rfc:session.user.return-value). (Sara)
. Added intdiv() function. (Andrea)
. Improved precision of log() function for base 2 and 10. (Marc Bennewitz)
. Remove string category support in setlocale(). (Nikita)
. Remove set_magic_quotes_runtime() and its alias magic_quotes_runtime().
(Nikita)
. Fixed bug #65272 (flock() out parameter not set correctly in windows).
(Daniel Lowrey)
. Added preg_replace_callback_array function. (Wei Dai)
. Deprecated salt option to password_hash. (Anthony)
. Fixed bug #69686 (password_verify reports back error on PHP7 will null
string). (Anthony)
. Added Windows support for getrusage(). (Kalle)
. Removed hardcoded limit on number of pipes in proc_open(). (Tony)

- Streams:
. Fixed bug #68532 (convert.base64-encode omits padding bytes).
(blaesius at krumedia dot de)
. Removed set_socket_blocking() in favor of its alias stream_set_blocking().
(Nikita)

- XSL:
. Fixed bug #64776 (The XSLT extension is not thread safe). (Mike)
. Removed xsl.security_prefs ini option. (Nikita)

- Zlib:
. Added deflate_init(), deflate_add(), inflate_init(), inflate_add()
functions allowing incremental/streaming compression/decompression.
(Daniel Lowrey & Bob Weinand)

- Zip:
. Added ZipArchive::setCompressionName and ZipArchive::setCompressionIndex
methods (Remi, Cedric Delmas)
. Update bundled libzip to 1.0.1 (Remi, Anatol)
. Fixed bug #67161. (ZipArchive::getStream() returns NULL for certain file)
(Christoph M. Becker)

PHP 7.0.0 Alpha 1 kann hier herunterladen werden:
https://downloads.php.net/~ab/

Die zweite Alpha Version soll am 25. Juni 2015 erscheinen