com web/php: 5.6.0 release: ChangeLog-5.php archive/archive.xml archive/entries/2014-08-28-1.xml include/version.inc releases/5_6_0.php

From: Date: Thu, 28 Aug 2014 10:31:07 +0000
Subject: com web/php: 5.6.0 release: ChangeLog-5.php archive/archive.xml archive/entries/2014-08-28-1.xml include/version.inc releases/5_6_0.php
Groups: php.webmaster 
Request: Send a blank email to php-webmaster+get-19812@lists.php.net to get a copy of this message
Commit: aba0fcd6ed0d5af96decba1f34acaccb73738907 Author: kovacs.ferenc <kovacs.ferenc@ustream.tv> Thu, 28 Aug 2014 12:31:07 +0200 Parents: 848fb85f0f2a7515617a9c664d9946e2a72d07f4 Branches: master Link: http://git.php.net/?p=web/php.git;a=commitdiff;h=aba0fcd6ed0d5af96decba1f34acaccb73738907 Log: 5.6.0 release Changed paths: M ChangeLog-5.php M archive/archive.xml A archive/entries/2014-08-28-1.xml M include/version.inc A releases/5_6_0.php

diff --git a/ChangeLog-5.php b/ChangeLog-5.php index 94b5fc9..ac43727 100644 --- a/ChangeLog-5.php +++ b/ChangeLog-5.php @@ -8,6 +8,462 @@ site_header("PHP 5 ChangeLog", array("current" => "docs", "css" => array("change <h1>PHP 5 ChangeLog</h1> +<section class="version" id="5.6.0"><!-- {{{ 5.6.0 --> +<h3>Version 5.6.0</h3> +<b>28-Aug-2014</b> +<ul> +<li>General improvement: +<ul> + <li>Added constant scalar expressions syntax.</li> + <li>Added dedicated syntax for variadic functions.</li> + <li>Added support for argument unpacking to complement the variadic syntax.</li> + <li>Added an exponentiation operator (**).</li> + <li>Added phpdbg SAPI.</li> + <li>Added unified default encoding.</li> + <li>The php://input stream is now re-usable and can be used concurrently with enable_post_data_reading=0.</li> + <li>Added use function and use const..</li> + <li>Added a function for timing attack safe string comparison.</li> + <li>Added the __debugInfo() magic method to allow userland classes to implement the get_debug_info API previously available only to extensions.</li> + <li>Added gost-crypto (CryptoPro S-box) hash algorithm.</li> + <li>Stream wrappers verify peer certificates and host names by default in encrypted client streams.</li> + <li>Uploads equal or greater than 2GB in size are now accepted.</li> +</ul> +<ul> +<li>Core: +<ul> + <li><?php bugfix(67693); ?> (incorrect push to the empty array).</li> + <li>Removed inconsistency regarding behaviour of array in constants at run-time.</li> + <li><?php bugfix(67497); ?> (eval with parse error causes segmentation fault in generator).</li> + <li><?php bugfix(67151); ?> (strtr with empty array crashes).</li> + <li><?php bugfix(67407); ?> (Windows 8.1/Server 2012 R2 reported as Windows 8/Server 2012).</li> + <li><?php bugfix(66608); ?> (Incorrect behavior with nested "finally" blocks).</li> + <li>Implemented FR <?php bugl(34407); ?> (ucwords and Title Case).</li> + <li><?php bugfix(67091); ?> (make install fails to install libphp5.so on FreeBSD 10.0).</li> + <li><?php bugfix(67368); ?> (Memory leak with immediately dereferenced array in class constant).</li> + <li><?php bugfix(67468); ?> (Segfault in highlight_file()/highlight_string()).</li> + <li><?php bugfix(67498); ?> (phpinfo() Type Confusion Information Leak Vulnerability).</li> + <li><?php bugfix(67551); ?> (php://input temp file will be located in sys_temp_dir instead of upload_tmp_dir).</li> + <li><?php bugfix(67169); ?> (array_splice all elements, then []= gives wrong index).</li> + <li><?php bugfix(67198); ?> (php://input regression).</li> + <li><?php bugfix(67247); ?> (spl_fixedarray_resize integer overflow).</li> + <li><?php bugfix(67250); ?> (iptcparse out-of-bounds read).</li> + <li><?php bugfix(67252); ?> (convert_uudecode out-of-bounds read).</li> + <li><?php bugfix(67249); ?> (printf out-of-bounds read).</li> + <li>Implemented FR <?php bugl(64744); ?> (Differentiate between member function call on a null and non-null, non-objects).</li> + <li><?php bugfix(67436); ?> (Autoloader isn't called if two method definitions don't match).</li> + <li><?php bugfix(66622); ?> (Closures do not correctly capture the late bound class (static::) in some cases).</li> + <li><?php bugfix(67390); ?> (insecure temporary file use in the configure script).</li> + <li><?php bugfix(67392); ?> (dtrace breaks argument unpack).</li> + <li><?php bugfix(67428); ?> (header('Location: foo') will override a 308-399 response code).</li> + <li><?php bugfix(67433); ?> (SIGSEGV when using count() on an object implementing Countable).</li> + <li><?php bugfix(67399); ?> (putenv with empty variable may lead to crash).</li> + <li>Expose get_debug_info class hook as __debugInfo() magic method.</li> + <li>Implemented unified default encoding (RFC: https://wiki.php.net/rfc/default_encoding).</li> + <li>Added T_POW (**) operator (RFC: https://wiki.php.net/rfc/pow-operator).</li> + <li>Improved IS_VAR operands fetching.</li> + <li>Improved empty string handling. Now ZE uses an interned string instead of allocation new empty string each time.</li> + <li>Implemented internal operator overloading (RFC: https://wiki.php.net/rfc/operator_overloading_gmp).</li> + <li>Made calls from incompatible context issue an E_DEPRECATED warning instead of E_STRICT (phase 1 of RFC: https://wiki.php.net/rfc/incompat_ctx).</li> + <li>Uploads equal or greater than 2GB in size are now accepted.</li> + <li>Reduced POST data memory usage by 200-300%. Changed INI setting always_populate_raw_post_data to throw a deprecation warning when enabling and to accept -1 for never populating the $HTTP_RAW_POST_DATA global variable, which will be the default in future PHP versions.</li> + <li>Implemented dedicated syntax for variadic functions (RFC: https://wiki.php.net/rfc/variadics).</li> + <li><?php bugfix(50333); ?> Improving multi-threaded scalability by using emalloc/efree/estrdup (Anatol, Dmitry)</li> + <li>Implemented constant scalar expressions (with support for constants) (RFC: https://wiki.php.net/rfc/const_scalar_exprs).</li> + <li><?php bugfix(65784); ?> (Segfault with finally).</li> + <li><?php bugfix(66509); ?> (copy() arginfo has changed starting from 5.4).</li> + <li>Allow zero length comparison in substr_compare() (Tjerk)</li> + <li><?php bugfix(60602); ?> (proc_open() changes environment array) (Tjerk)</li> + <li><?php bugfix(61019); ?> (Out of memory on command stream_get_contents).</li> + <li><?php bugfix(64330); ?> (stream_socket_server() creates wrong Abstract Namespace UNIX sockets).</li> + <li><?php bugfix(66182); ?> (exit in stream filter produces segfault).</li> + <li><?php bugfix(66736); ?> (fpassthru broken).</li> + <li><?php bugfix(66822); ?> (Cannot use T_POW in const expression) (Tjerk)</li> + <li><?php bugfix(67043); ?> (substr_compare broke by previous change) (Tjerk)</li> + <li><?php bugfix(65701); ?> (copy() doesn't work when destination filename is created by tempnam()).</li> + <li><?php bugfix(66015); ?> (Unexpected array indexing in class's static property).</li> + <li>Added (constant) string/array dereferencing to static scalar expressions to complete the set; now possible thanks to bug #66015 being fixed.</li> + <li><?php bugfix(66568); ?> (Update reflection information for unserialize() function).</li> + <li><?php bugfix(66660); ?> (Composer.phar install/update fails).</li> + <li><?php bugfix(67024); ?> (getimagesize should recognize BMP files with negative height).</li> + <li><?php bugfix(67064); ?> (Countable interface prevents using 2nd parameter ($mode) of count() function).</li> + <li><?php bugfix(67072); ?> (Echoing unserialized "SplFileObject" crash).</li> + <li><?php bugfix(67033); ?> (Remove reference to Windows 95).</li> +</ul></li> +<li>Apache2 Handler SAPI: +<ul> + <li>Fixed Apache log issue caused by APR's lack of support for %zu (APR issue https://issues.apache.org/bugzilla/show_bug.cgi?id=56120).</li> +</ul></li> +<li>CLI server: +<ul> + <li>Added some MIME types to the CLI web server.</li> + <li><?php bugfix(67079); ?> (Missing MIME types for XML/XSL files).</li> + <li><?php bugfix(66830); ?> (Empty header causes PHP built-in web server to hang).</li> + <li><?php bugfix(67594); ?> (Unable to access to apache_request_headers() elements).</li> + <li>Implemented FR <?php bugl(67429); ?> (CLI server is missing some new HTTP response codes).</li> + <li>Fixed Bug #67406 (built-in web-server segfaults on startup).</li> +</ul></li> +<li>COM: +<ul> + <li><?php bugfix(41577); ?> (DOTNET is successful once per server run) (Aidas Kasparas)</li> + <li>Fixed missing type checks in com_event_sink (Yussuf Khalil, Stas).</li> + <li><?php bugfix(66431); ?> (Special Character via COM Interface (CP_UTF8)).</li> +</ul></li> +<li>Curl: +<ul> + <li>Implemented FR <?php bugl(65646); ?> (re-enable CURLOPT_FOLLOWLOCATION with open_basedir or safe_mode).</li> + <li>Check for openssl.cafile ini directive when loading CA certs.</li> + <li>Remove cURL close policy related constants as these have no effect and are no longer used in libcurl.</li> + <li><?php bugfix(66109); ?> (Can't reset CURLOPT_CUSTOMREQUEST to default behaviour) (Tjerk)</li> + <li>Fix compilation on libcurl versions between 7.10.5 and 7.12.2, inclusive.</li> + <li><?php bugfix(64247); ?> (CURLOPT_INFILE doesn't allow reset).</li> + <li><?php bugfix(66562); ?> (curl_exec returns differently than curl_multi_getcontent).</li> +</ul></li> +<li>Date: +<ul> + <li><?php bugfix(66091); ?> (memory leaks in DateTime constructor) (Tjerk).</li> + <li><?php bugfix(67308); ?> (Serialize of DateTime truncates fractions of second).</li> + <li>Fixed regression in fix for bug #67118 (constructor can't be called twice).</li> + <li><?php bugfix(67251); ?> (date_parse_from_format out-of-bounds read).</li> + <li><?php bugfix(67253); ?> (timelib_meridian_with_check out-of-bounds read).</li> + <li>Added DateTimeImmutable::createFromMutable to create a DateTimeImmutable object from an existing DateTime (mutable) object (Derick)</li> + <li><?php bugfix(66721); ?> (__wakeup of DateTime segfaults when invalid object data is supplied).</li> + <li><?php bugfix(67118); ?> (DateTime constructor crash with invalid data).</li> +</ul></li> +<li>DOM: +<ul> + <li><?php bugfix(67081); ?> (DOMDocumentType-&gt;internalSubset returns entire DOCTYPE tag, not only the subset).</li> +</ul></li> +<li>Embed: +<ul> + <li><?php bugfix(65715); ?> (php5embed.lib isn't provided anymore). (Anatol).</li> +</ul></li> +<li>Fileinfo: +<ul> + <li><?php bugfix(67716); ?> (Segfault in cdf.c).</li> + <li><?php bugfix(67705); ?> (extensive backtracking in rule regular expression).</li> + <li><?php bugfix(67327); ?> (fileinfo: CDF infinite loop in nelements DoS).</li> + <li><?php bugfix(67328); ?> (fileinfo: fileinfo: numerous file_printf calls resulting in performance degradation).</li> + <li><?php bugfix(67326); ?> (fileinfo: cdf_read_short_sector insufficient boundary check).</li> + <li><?php bugfix(67329); ?> (fileinfo: NULL pointer deference flaw by processing certain CDF files).</li> + <li><?php bugfix(67410); ?> (fileinfo: mconvert incorrect handling of truncated pascal string size).</li> + <li><?php bugfix(67411); ?> (fileinfo: cdf_check_stream_offset insufficient boundary check).</li> + <li><?php bugfix(67412); ?> (fileinfo: cdf_count_chain insufficient boundary check).</li> + <li><?php bugfix(67413); ?> (fileinfo: cdf_read_property_info insufficient boundary check).</li> + <li>Upgraded to libmagic-5.17 (Anatol)</li> + <li><?php bugfix(66731); ?> (file: infinite recursion).</li> + <li><?php bugfix(66820); ?> (out-of-bounds memory access in fileinfo) (CVE-2014-2270).</li> + <li><?php bugfix(66946); ?>i (fileinfo: extensive backtracking in awk rule regular expression).</li> + <li><?php bugfix(66987); ?> (Memory corruption in fileinfo ext / bigendian).</li> + <li><?php bugfix(66907); ?> (Solaris 10 is missing strcasestr and needs substitute).</li> + <li><?php bugfix(66307); ?> (Fileinfo crashes with powerpoint files).</li> +</ul></li> +<li>FPM: +<ul> + <li>Fix bug #67606 (revised fix 67541, broke mod_fastcgi BC).</li> + <li><?php bugfix(67530); ?> (error_log=syslog ignored).</li> + <li><?php bugfix(67635); ?> (php links to systemd libraries without using pkg-config).</li> + <li>Fix bug #67531 (syslog cannot be set in pool configuration).</li> + <li>Fix bug #67541 (Fix Apache 2.4.10+ SetHandler proxy:fcgi:// incompatibilities).</li> + <li>Included apparmor support in fpm (RFC: https://wiki.php.net/rfc/fpm_change_hat).</li> + <li>Added clear_env configuration directive to disable clearenv() call.</li> + <li><?php bugfix(66482); ?> (unknown entry 'priority' in php-fpm.conf).</li> + <li><?php bugfix(66908); ?> (php-fpm reload leaks epoll_create() file descriptor).</li> + <li><?php bugfix(67060); ?> (sapi/fpm: possible privilege escalation due to insecure default configuration) (CVE-2014-0185).</li> +</ul></li> +<li>GD: +<ul> + <li><?php bugfix(67730); ?> (Null byte injection possible with imagexxx functions).</li> + <li><?php bugfix(66901); ?> (php-gd 'c_color' NULL pointer dereference).</li> + <li><?php bugfix(67248); ?> (imageaffinematrixget missing check of parameters).</li> + <li>Fixed imagettftext to load the correct character map rather than the last one.</li> + <li><?php bugfix(66714); ?> ( imageconvolution breakage).</li> + <li><?php bugfix(66815); ?> (imagecrop(): insufficient fix for NULL defer CVE-2013-7327). (Tomas Hoger, Remi).</li> + <li>Fixed #66869 (Invalid 2nd argument crashes imageaffinematrixget) (Pierre)</li> + <li><?php bugfix(66887); ?> (imagescale - poor quality of scaled image).</li> + <li><?php bugfix(66890); ?> (imagescale segfault).</li> + <li><?php bugfix(66893); ?> (imagescale ignore method argument).</li> +</ul></li> +<li>GMP: +<ul> + <li><?php bugfix(66872); ?> (invalid argument crashes gmp_testbit) (Pierre)</li> + <li>Fixed crashes in serialize/unserialize.</li> + <li>Moved GMP to use object as the underlying structure and implemented various improvements based on this.</li> + <li>Added gmp_root() and gmp_rootrem() functions for calculating nth roots.</li> +</ul></li> +<li>Hash: +<ul> + <li>Added gost-crypto (CryptoPro S-box) GOST hash algo.</li> + <li><?php bugfix(66698); ?> (Missing FNV1a32 and FNV1a64 hash functions). (Michael M Slusarz).</li> + <li>Implemented timing attack safe string comparison function (RFC: https://wiki.php.net/rfc/timing_attack).</li> + <li>hash_pbkdf2() now works correctly if the $length argument is not specified.</li> +</ul></li> +<li>Intl: +<ul> + <li><?php bugfix(66873); ?> (A reproductible crash in UConverter when given invalid encoding) (Stas)</li> + <li><?php bugfix(66921); ?> (Wrong argument type hint for function intltz_from_date_time_zone).</li> + <li><?php bugfix(67052); ?> (NumberFormatter::parse() resets LC_NUMERIC setting).</li> + <li><?php bugfix(67349); ?> (Locale::parseLocale Double Free).</li> + <li><?php bugfix(67397); ?> (Buffer overflow in locale_get_display_name and uloc_getDisplayName (libicu 4.8.1)).</li> +</ul></li> +<li>JSON: +<ul> + <li>Fixed case part of bug #64874 ("json_decode handles whitespace and case-sensitivity incorrectly")</li> + <li><?php bugfix(65753); ?> (JsonSerializeable couldn't implement on module extension) (chobieeee@php.net)</li> + <li><?php bugfix(66021); ?> (Blank line inside empty array/object when JSON_PRETTY_PRINT is set).</li> +</ul></li> +<li>ldap: +<ul> + <li>Added new function ldap_modify_batch().</li> + <li>Fixed issue with null bytes in LDAP bindings.</li> +</ul></li> +<li>litespeed: +<ul> + <li><?php bugfix(63228); ?> (-Werror=format-security error in lsapi code).</li> +</ul></li> +<li>Mail: +<ul> + <li><?php bugfix(66535); ?> (Don't add newline after X-PHP-Originating-Script) (Tjerk)</li> +</ul></li> +<li>Mcrypt: +<ul> + <li>No longer allow invalid key sizes, invalid IV sizes or missing required IV in mcrypt_encrypt, mcrypt_decrypt and the deprecated mode functions.</li> + <li>Use /dev/urandom as the default source for mcrypt_create_iv().</li> +</ul></li> +<li>Mbstring: +<ul> + <li>Upgraded to oniguruma 5.9.5 (Anatol)</li> + <li><?php bugfix(67199); ?> (mb_regex_encoding mismatch).</li> +</ul></li> +<li>Milter: +<ul> + <li><?php bugfix(67715); ?> (php-milter does not build and crashes randomly).</li> +</ul></li> +<li>mysqli: +<ul> + <li>Added new function mysqli_get_links_stats() as well as new INI variable mysqli.rollback_on_cached_plink of type bool (Andrey)</li> + <li><?php bugfix(66762); ?> (Segfault in mysqli_stmt::bind_result() when link closed) (Remi)</li> + <li>Fixed building against an external libmysqlclient.</li> +</ul></li> +<li>mysqlnd: +<ul> + <li>Disabled flag for SP OUT variables for 5.5+ servers as they are not natively supported by the overlying APIs.</li> + <li>Added a new fetching mode to mysqlnd.</li> + <li>Added support for gb18030 from MySQL 5.7.</li> +</ul></li> +<li>Network: +<ul> + <li><?php bugfix(67717); ?> (segfault in dns_get_record).</li> + <li><?php bugfix(67432); ?> (Fix potential segfault in dns_get_record()).</li> +</ul></li> +<li>OCI8: +<ul> + <li>Fixed Bug #66875 (Improve performance of multi-row OCI_RETURN_LOB queries) (Perrier, Chris Jones)</li> +</ul></li> +<li>ODBC: +<ul> + <li><?php bugfix(60616); ?> (odbc_fetch_into returns junk at end of multi-byte char fields).</li> +</ul></li> +<li>OpenSSL: +<ul> + <li>Fixed missing type checks in OpenSSL options (Yussuf Khalil, Stas).</li> + <li><?php bugfix(67609); ?> (TLS connections fail behind HTTP proxy).</li> + <li>Fixed broken build against OpenSSL older than 0.9.8 where ECDH unavailable.</li> + <li><?php bugfix(67666); ?> (Subject altNames doesn't support wildcard matching).</li> + <li><?php bugfix(67224); ?> (Fall back to crypto_type from context if not specified explicitly in stream_socket_enable_crypto).</li> + <li><?php bugfix(65698); ?> (certificates validity parsing does not work past 2050).</li> + <li><?php bugfix(66636); ?> (openssl_x509_parse warning with V_ASN1_GENERALIZEDTIME).</li> + <li>Peer certificates now verified by default in client socket operations (RFC: https://wiki.php.net/rfc/tls-peer-verification).</li> + <li>New openssl.cafile and openssl.capath ini directives.</li> + <li>Added crypto_method option for the ssl stream context.</li> + <li>Added certificate fingerprint support.</li> + <li>Added explicit TLSv1.1 and TLSv1.2 stream transports.</li> + <li><?php bugfix(65729); ?> (CN_match gives false positive).</li> + <li>Peer name verification matches SAN DNS names for certs using the Subject Alternative Name x509 extension.</li> + <li>Fixed segfault when built against OpenSSL&gt;=1.0.1 (Daniel Lowrey)</li> + <li>Added SPKAC support.</li> + <li>Fallback to Windows CA cert store for peer verification if no openssl.cafile ini directive or "cafile" SSL context option specified in Windows.</li> + <li>The openssl.cafile and openssl.capath ini directives introduced in alpha2 now have PHP_INI_PERDIR accessibility (was PHP_INI_ALL).</li> + <li>New "peer_name" SSL context option replaces "CN_match" (which still works as before but triggers E_DEPRECATED).</li> + <li>Fixed segfault when accessing non-existent context for client SNI use (Daniel Lowrey)</li> + <li><?php bugfix(66501); ?> (Add EC key support to php_openssl_is_private_key).</li> + <li>Fixed Bug #47030 (add new boolean "verify_peer_name" SSL context option allowing clients to verify cert names separately from the cert itself). "verify_peer_name" is enabled by default for client streams.</li> + <li>Fixed Bug #65538 ("cafile" SSL context option now supports stream wrappers).</li> + <li>New openssl_get_cert_locations() function to aid CA file and peer verification debugging.</li> + <li>Encrypted stream wrappers now disable TLS compression by default.</li> + <li>New "capture_session_meta" SSL context option allows encrypted client and server streams access to negotiated protocol/cipher information.</li> + <li>New "honor_cipher_order" SSL context option allows servers to prioritize cipher suites of their choosing when negotiating SSL/TLS handshakes.</li> + <li>New "single_ecdh_use" and "single_dh_use" SSL context options allow for improved forward secrecy in encrypted stream servers.</li> + <li>New "dh_param" SSL context option allows stream servers control over the parameters when negotiating DHE cipher suites.</li> + <li>New "ecdh_curve" SSL context option allowing stream servers to specify the curve to use when negotiating ephemeral ECDHE ciphers (defaults to NIST P-256).</li> + <li>New "rsa_key_size" SSL context option gives stream servers control over the key size (in bits) used for RSA key agreements.</li> + <li>Crypto methods for encrypted client and server streams now use bitwise flags for fine-grained protocol support.</li> + <li>Added new tlsv1.0 stream wrapper to specify TLSv1 client/server method. tls wrapper now negotiates TLSv1, TLSv1.1 or TLSv1.2.</li> + <li>Encrypted client streams now enable SNI by default.</li> + <li>Encrypted streams now prioritize ephemeral key agreement and high strength ciphers by default.</li> + <li>New OPENSSL_DEFAULT_STREAM_CIPHERS constant exposes default cipher list.</li> + <li>New STREAM_CRYPTO_METHOD_* constants for enhanced control over the crypto methods negotiated encrypted server/client sessions.</li> + <li>Encrypted stream servers now automatically mitigate potential DoS vector arising from client-initiated TLS renegotiation. New "reneg_limit", "reneg_window" and "reneg_limit_callback" SSL context options for custom renegotiation limiting control.</li> + <li>Fixed memory leak in windows cert verification on verify failure.</li> + <li>Peer certificate capturing via SSL context options now functions even if peer verification fails.</li> + <li>Encrypted TLS servers now support the server name indication TLS extension via the new "SNI_server_certs" SSL context option.</li> + <li><?php bugfix(66833); ?> (Default disgest algo is still MD5, switch to SHA1).</li> + <li>Fix bug #66942 (memory leak in openssl_seal()).</li> + <li>Fix bug #66952 (memory leak in openssl_open()).</li> + <li>Fix bug #66840 (Fix broken build when extension built separately).</li> +</ul></li> +<li>OPcache: +<ul> + <li>Added an optimization of class constants and constant calls to some internal functions (Laruence, Dmitry)</li> + <li>Added an optimization pass to convert FCALL_BY_NAME into DO_FCALL.</li> + <li>Added an optimization pass to merged identical constants (and related cache_slots) in op_array-&gt;literals table.</li> + <li>Added script level constant replacement optimization pass.</li> + <li>Added function opcache_is_script_cached().</li> + <li>Added information about interned strings usage.</li> + <li><?php bugfix(67215); ?> (php-cgi work with opcache, may be segmentation fault happen) (Dmitry, Laruence)</li> +</ul></li> +<li>PCRE: +<ul> + <li><?php bugfix(67238); ?> (Ungreedy and min/max quantifier bug, applied patch from the upstream).</li> + <li>Upgraded to PCRE 8.34.</li> + <li>Added support for (*MARK) backtracking verbs.</li> +</ul></li> +<li>pgsql: +<ul> + <li>Fix bug #67550 (Error in code "form" instead of "from", pgsql.c, line 756), which affected builds against libpq &lt; 7.3.</li> + <li>pg_insert()/pg_select()/pg_update()/pg_delete() are no longer EXPERIMENTAL.</li> + <li>Impremented FR <?php bugl(25854); ?> Return value for pg_insert should be resource instead of bool.</li> + <li>Implemented FR <?php bugl(41146); ?> - Add "description" with exteneded flag pg_meta_data(). pg_meta_data(resource $conn, string $table [, bool extended]) It also made pg_meta_data() return "is enum" always.</li> + <li>Read-only access to the socket stream underlying database connections is exposed via a new pg_socket() function to allow read/write polling when establishing asynchronous connections and executing queries in non-blocking applications.</li> + <li>Asynchronous connections are now possible using the PGSQL_CONNECT_ASYNC flag in conjunction with a new pg_connect_poll() function and connection polling status constants.</li> + <li>New pg_flush() and pg_consume_input() functions added to manually complete non-blocking reads/writes to underlying connection sockets.</li> + <li>pg_version() returns full report which obtained by PQparameterStatus().</li> + <li>Added pg_lo_truncate().</li> + <li>Added 64bit large object support for PostgreSQL 9.3 and later.</li> + <li><?php bugfix(67555); ?> (Cannot build against libpq 7.3).</li> +</ul></li> +<li>phpdbg: +<ul> + <li><?php bugfix(67575); ?> (Compilation fails for phpdbg when the build directory != src directory).</li> + <li>Fix Bug #67499 (readline feature not enabled when build with libedit).</li> + <li>Fix issue krakjoe/phpdbg#94 (List behavior is inconsistent).</li> + <li>Fix issue krakjoe/phpdbg#97 (The prompt should always ensure it is on a newline).</li> + <li>Fix issue krakjoe/phpdbg#98 (break if does not seem to work).</li> + <li>Fix issue krakjoe/phpdbg#99 (register function has the same behavior as run).</li> + <li>Fix issue krakjoe/phpdbg#100 (No way to list the current stack/frames) (Help entry was missing).</li> + <li>Fixed bug which caused phpdbg to fail immediately on startup in non-debug builds.</li> + <li><?php bugfix(67212); ?> (phpdbg uses non-standard TIOCGWINSZ).</li> + <li>Included phpdbg sapi (RFC: https://wiki.php.net/rfc/phpdbg).</li> + <li>Added watchpoints (watch command).</li> + <li>Renamed some commands (next =&gt; continue and how to step).</li> + <li>Fixed issue #85 (https://github.com/krakjoe/phpdbg/issues/85) (Added stdin/stdout/stderr constants and their php:// wrappers).</li> +</ul></li> +<li>PDO: +<ul> + <li><?php bugfix(66604); ?> ('pdo/php_pdo_error.h' not copied to the include dir).</li> +</ul></li> +<li>PDO-ODBC: +<ul> + <li><?php bugfix(50444); ?> (PDO-ODBC changes for 64-bit).</li> +</ul></li> +<li>PDO_pgsql: +<ul> + <li>Fixed Bug #42614 (PDO_pgsql: add pg_get_notify support).</li> + <li>Fixed Bug #63657 (pgsqlCopyFromFile, pgsqlCopyToArray use Postgres &lt; 7.3 syntax).</li> + <li>Cleaned up code by increasing the requirements to libpq versions providing PQexecParams, PQprepare, PQescapeStringConn, PQescapeByteaConn. According to the release notes that means 8.0.8+ or 8.1.4+.</li> + <li>Deprecated PDO::PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT, an undocument constant effectively equivalent to PDO::ATTR_EMULATE_PREPARES.</li> + <li>Added PDO::PGSQL_ATTR_DISABLE_PREPARES constant to execute the queries without preparing them, while still passing parameters separately from the command text using PQexecParams.</li> +</ul></li> +<li>PDO_firebird: +<ul> + <li>Fixed Bug #66071 (memory corruption in error handling) (Popa)</li> +</ul></li> +<li>Phar: +<ul> + <li>Fix bug #64498 ($phar-&gt;buildFromDirectory can't compress file with an accent in its name).</li> + <li><?php bugfix(67587); ?> (Redirection loop on nginx with FPM).</li> +</ul></li> +<li>readline: +<ul> + <li><?php bugfix(55496); ?> (Interactive mode doesn't force a newline before the prompt).</li> + <li><?php bugfix(67496); ?> (Save command history when exiting interactive shell with control-c).</li> +</ul></li> +<li>Reflection: +<ul> + <li>Implemented FR <?php bugl(67713); ?> (loosen the restrictions on ReflectionClass::newInstanceWithoutConstructor()).</li> +</ul></li> +<li>Session: +<ul> + <li><?php bugfix(67694); ?> (Regression in session_regenerate_id()).</li> + <li>Fixed missing type checks in php_session_create_id (Yussuf Khalil, Stas).</li> + <li><?php bugfix(66827); ?> (Session raises E_NOTICE when session name variable is array).</li> + <li>Fixed Bug #65315 (session.hash_function silently fallback to default md5) (Yasuo)</li> + <li>Implemented Request #17860 (Session write short circuit).</li> + <li>Implemented Request #20421 (session_abort() and session_reset() function).</li> + <li>Remove session_gc() and session_serializer_name() wich were introduced in the first 5.6.0 alpha.</li> +</ul></li> +<li>SimpleXML: +<ul> + <li><?php bugfix(66084); ?> (simplexml_load_string() mangles empty node name) (Anatol)</li> +</ul></li> +<li>SQLite: +<ul> + <li>Updated the bundled libsqlite to the version 3.8.3.1 (Anatol)</li> + <li><?php bugfix(66967); ?> (Updated bundled libsqlite to 3.8.4.3).</li> +</ul></li> +<li>SOAP: +<ul> + <li>Implemented FR <?php bugl(49898); ?> (Add SoapClient::__getCookies()).</li> +</ul></li> +<li>SPL: +<ul> + <li>Revert fix for bug #67064 (BC issues).</li> + <li><?php bugfix(67539); ?> (ArrayIterator use-after-free due to object change during sorting).</li> + <li><?php bugfix(67538); ?> (SPL Iterators use-after-free).</li> + <li><?php bugfix(67492); ?> (unserialize() SPL ArrayObject / SPLObjectStorage Type Confusion) (CVE-2014-3515).</li> + <li><?php bugfix(67359); ?> (Segfault in recursiveDirectoryIterator).</li> + <li><?php bugfix(66127); ?> (Segmentation fault with ArrayObject unset).</li> + <li>Fixed request #67453 (Allow to unserialize empty data).</li> + <li>Added feature #65545 (SplFileObject::fread()) (Tjerk)</li> + <li><?php bugfix(66834); ?> (empty() does not work on classes that extend ArrayObject) (Tjerk)</li> + <li><?php bugfix(66702); ?> (RegexIterator::INVERT_MATCH does not invert).</li> +</ul></li> +<li>Standard: +<ul> + <li>Implemented FR <?php bugl(65634); ?> (HTTP wrapper is very slow with protocol_version 1.1).</li> + <li>Implemented Change crypt() behavior w/o salt RFC. (Yasuo) https://wiki.php.net/rfc/crypt_function_salt</li> + <li>Implemented request #49824 (Change array_fill() to allow creating empty array).</li> +</ul></li> +<li>Streams: +<ul> + <li><?php bugfix(67430); ?> (http:// wrapper doesn't follow 308 redirects).</li> +</ul></li> +<li>Tokenizer: +<ul> + <li><?php bugfix(67395); ?> (token_name() does not return name for T_POW and T_POW_EQUAL token).</li> +</ul></li> +<li>XMLReader: +<ul> + <li><?php bugfix(55285); ?> (XMLReader::getAttribute/No/Ns methods inconsistency).</li> +</ul></li> +<li>XSL: +<ul> + <li><?php bugfix(53965); ?> (&lt;xsl:include&gt; cannot find files with relative paths when loaded with "file://").</li> +</ul></li> +<li>Zip: +<ul> + <li>update libzip to version 1.11.2. PHP don't use any ilibzip private symbol anymore.</li> + <li>new method ZipArchive::setPassword($password).</li> + <li>add --with-libzip option to build with system libzip.</li> + <li>new methods: ZipArchive::setExternalAttributesName($name, $opsys, $attr [, $flags]) ZipArchive::setExternalAttributesIndex($idx, $opsys, $attr [, $flags]) ZipArchive::getExternalAttributesName($name, &amp;$opsys, &amp;$attr [, $flags]) ZipArchive::getExternalAttributesIndex($idx, &amp;$opsys, &amp;$attr [, $flags])</li> +</ul></li> +<li>Zlib: +<ul> + <li><?php bugfix(67865); ?> (internal corruption phar error). Mike</li> + <li><?php bugfix(67724); ?> (chained zlib filters silently fail with large amounts of data).</li> +</ul></li> +</ul> +<!-- }}} --></section> + <section class="version" id="5.5.16"><!-- {{{ 5.5.16 --> <h3>Version 5.5.16</h3> <?php release_date('21-Aug-2014'); ?> diff --git a/archive/archive.xml b/archive/archive.xml index 3b943d5..a198f80 100644 --- a/archive/archive.xml +++ b/archive/archive.xml @@ -9,6 +9,7 @@ <uri>http://php.net/contact</uri> <email>php-webmaster@lists.php.net</email> </author> + <xi:include href="entries/2014-08-28-1.xml"/> <xi:include href="entries/2014-08-27-1.xml"/> <xi:include href="entries/2014-08-22-1.xml"/> <xi:include href="entries/2014-08-21-1.xml"/> diff --git a/archive/entries/2014-08-28-1.xml b/archive/entries/2014-08-28-1.xml new file mode 100644 index 0000000..2473a9e --- /dev/null +++ b/archive/entries/2014-08-28-1.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="utf-8"?> +<entry xmlns="http://www.w3.org/2005/Atom"> + <title>PHP 5.6.0 released</title> + <id>http://php.net/archive/2014.php#id2014-08-28-1</id> + <published>2014-08-28T08:14:28+00:00</published> + <updated>2014-08-28T08:14:28+00:00</updated> + <category term="frontpage" label="PHP.net frontpage news"/> + <category term="releases" label="New PHP release"/> + <link href="http://php.net/index.php#id2014-08-28-1" rel="alternate" type="text/html"/> + <link href="http://php.net/archive/2014.php#id2014-08-28-1" rel="via" type="text/html"/> + <content type="xhtml"> + <div xmlns="http://www.w3.org/1999/xhtml"> + <p>The PHP Development Team announces the immediate availability of PHP 5.6.0. +This new version release comes with new features, some backward incompatible changes and many improvements. +</p> + + <p><b>The main features of PHP 5.6.0 include:</b></p> + <ul> + <li><a href="http://php.net/migration56.new-features.const-scalar-exprs">Constant scalar expressionss</a>.</li> + <li><a href="http://php.net/functions.arguments.php#functions.variable-arg-list">Variadic functions</a>, and argument unpacking syntax</li> + <li><a href="http://php.net/language.operators.arithmetic">Exponentiation operator</a>.</li> + <li><a href="http://php.net/migration56.new-features.use">Function and constants imports</a> with the <a href="http://php.net/language.namespaces.importing.php">use keyword</a>.</li> + <li><a href="http://phpdbg.com/docs">phpdbg</a> as an interactive integrated debugger SAPI.</li> + <li><a href="http://php.net/wrappers.php.php#wrappers.php.input">php://input</a> attribute changes as well as POST data parsing mechanism.</li> + <li><a href="http://php.net/book.gmp">GMP</a> objects now support operator overloading.</li> + <li>Files larger than 2 gigabytes in size are now accepted.</li> + </ul> + + <p>For a full list of new features, you may read <a href="http://php.net/migration56.new-features"> our migration guide new features</a> chapter.</p> + + <p> + <b>PHP 5.6.0 also introduces changes that affect compatibility:</b> + </p> + + <ul> + <li>Array keys won't be overwritten when defining an array as a property of a class via an array literal.</li> + <li><a href="http://php.net/function.json-decode">json_decode()</a> is more strict in JSON syntax parsing.</li> + <li>Stream wrappers now verify peer certificates and host names by default when using SSL/TLS.</li> + <li><a href="http://php.net/book.gmp">GMP</a> resources are now objects.</li> + <li><a href="http://php.net/book.mcrypt">Mcrypt</a> functions now require valid keys and IVs.</li> + </ul> + + <p> + For users upgrading from PHP 5.5, <a href="http://php.net/migration56">a full migration guide</a> is available, detailing the changes between 5.5 and 5.6.0. + </p> + + <p>For source downloads of PHP 5.6.0, please visit our <a href="http://www.php.net/downloads.php">downloads page</a>. + Windows binaries can be found on <a href="http://windows.php.net/download/">windows.php.net/download/</a>. + The full list of changes is available in the <a href="http://www.php.net/ChangeLog-5.php#5.6.0">ChangeLog</a>. + </p> + </div> + </content> +</entry> diff --git a/include/version.inc b/include/version.inc index ff7a975..bee0aeb 100644 --- a/include/version.inc +++ b/include/version.inc @@ -14,6 +14,17 @@ * ), * ), * ); +/* PHP 5.6 Release */ +$PHP_5_6_RC = false; // Current RC version (e.g., '5.6.7RC1') or false +$PHP_5_6_RC_DATE = '11 Sep 2014'; + +$PHP_5_6_VERSION = "5.6.0"; +$PHP_5_6_DATE = "28 Aug 2014"; +$PHP_5_6_MD5 = array( + "tar.bz2" => "1f889357528809a6675e2f23995832d7", + "tar.gz" => "7e39f839eee4ffbf011cdcd21b5f1c4f", + "tar.xz" => "642825d75ce2634d9513d5b21dbee521", +); /* PHP 5.5 Release */ $PHP_5_5_RC = false; // Current RC version (e.g., '5.6.7RC1') or false $PHP_5_5_RC_DATE = '7 Aug 2014'; @@ -51,6 +62,29 @@ $PHP_5_3_MD5 = array( $RELEASES = array( 5 => array( + $PHP_5_6_VERSION => array( + "announcement" => true, + "source" => array( + array( + "filename" => "php-$PHP_5_6_VERSION.tar.bz2", + "name" => "PHP $PHP_5_6_VERSION (tar.bz2)", + "md5" => $PHP_5_6_MD5["tar.bz2"], + "date" => $PHP_5_6_DATE, + ), + array( + "filename" => "php-$PHP_5_6_VERSION.tar.gz", + "name" => "PHP $PHP_5_6_VERSION (tar.gz)", + "md5" => $PHP_5_6_MD5["tar.gz"], + "date" => $PHP_5_6_DATE, + ), + array( + "filename" => "php-$PHP_5_6_VERSION.tar.xz", + "name" => "PHP $PHP_5_6_VERSION (tar.xz)", + "md5" => $PHP_5_6_MD5["tar.xz"], + "date" => $PHP_5_6_DATE, + ), + ), + ), $PHP_5_5_VERSION => array( "announcement" => true, "source" => array( @@ -111,7 +145,7 @@ $RELEASES = array( ), ); -$PHP_5_VERSION = $PHP_5_5_VERSION; // Some scripts require this set -$PHP_5_DATE = $PHP_5_5_DATE; // Used by buumpRelease script -$PHP_5_RC_DATE = $PHP_5_5_RC_DATE; // Used by master +$PHP_5_VERSION = $PHP_5_6_VERSION; // Some scripts require this set +$PHP_5_DATE = $PHP_5_6_DATE; // Used by buumpRelease script +$PHP_5_RC_DATE = $PHP_5_6_RC_DATE; // Used by master diff --git a/releases/5_6_0.php b/releases/5_6_0.php new file mode 100644 index 0000000..1679f4d --- /dev/null +++ b/releases/5_6_0.php @@ -0,0 +1,49 @@ +<?php +// $Id$ +$_SERVER['BASE_PAGE'] = 'releases/5_6_0.php'; +include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc'; +site_header("PHP 5.6.0 Release Announcement"); +?> + +<h1>PHP 5.6.0 Release Announcement</h1> + +<p>The PHP Development Team announces the immediate availability of PHP 5.6.0. +This new version release comes with new features, some backward incompatible changes and many improvements. +</p> + +<p><b>The main features of PHP 5.6.0 include:</b></p> +<ul> + <li><a href="http://php.net/migration56.new-features.const-scalar-exprs">Constant scalar expressionss</a>.</li> + <li><a href="http://php.net/functions.arguments.php#functions.variable-arg-list">Variadic functions</a>, and argument unpacking syntax</li> + <li><a href="http://php.net/language.operators.arithmetic">Exponentiation operator</a>.</li> + <li><a href="http://php.net/migration56.new-features.use">Function and constants imports</a> with the <a href="http://php.net/language.namespaces.importing.php">use keyword</a>.</li> + <li><a href="http://phpdbg.com/docs">phpdbg</a> as an interactive integrated debugger SAPI.</li> + <li><a href="http://php.net/wrappers.php.php#wrappers.php.input">php://input</a> attribute changes as well as POST data parsing mechanism.</li> + <li><a href="http://php.net/book.gmp">GMP</a> objects now support operator overloading.</li> + <li>Files larger than 2 gigabytes in size are now accepted.</li> +</ul> + +<p>For a full list of new features, you may read <a href="http://php.net/migration56.new-features"> our migration guide new features</a> chapter.</p> + +<p> +<b>PHP 5.6.0 also introduces changes that affect compatibility:</b> +</p> + +<ul> + <li>Array keys won't be overwritten when defining an array as a property of a class via an array literal.</li> + <li><a href="http://php.net/function.json-decode">json_decode()</a> is more strict in JSON syntax parsing.</li> + <li>Stream wrappers now verify peer certificates and host names by default when using SSL/TLS.</li> + <li><a href="http://php.net/book.gmp">GMP</a> resources are now objects.</li> + <li><a href="http://php.net/book.mcrypt">Mcrypt</a> functions now require valid keys and IVs.</li> +</ul> + +<p> + For users upgrading from PHP 5.5, <a href="http://php.net/migration56">a full migration guide</a> is available, detailing the changes between 5.5 and 5.6.0. +</p> + +<p>For source downloads of PHP 5.6.0, please visit our <a href="http://www.php.net/downloads.php">downloads page</a>. +Windows binaries can be found on <a href="http://windows.php.net/download/">windows.php.net/download/</a>. +The full list of changes is available in the <a href="http://www.php.net/ChangeLog-5.php#5.6.0">ChangeLog</a>. +</p> + +<?php site_footer(); ?>
« previous php.webmaster (#19812) next »