stas                                     Sun, 23 Oct 2011 06:38:42 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=318336

Log:
update UPGRADING

Changed paths:
    U   php/php-src/branches/PHP_5_4/UPGRADING

Modified: php/php-src/branches/PHP_5_4/UPGRADING
===================================================================
--- php/php-src/branches/PHP_5_4/UPGRADING	2011-10-23 05:54:26 UTC (rev 318335)
+++ php/php-src/branches/PHP_5_4/UPGRADING	2011-10-23 06:38:42 UTC (rev 318336)
@@ -11,26 +11,19 @@
 7. Deprecated
 8. Removed
 9. Extensions:
-     a. moved out to PECL and actively maintained there
-     b. no longer maintained
-     c. with changed behaviour
-     d. no longer possible to disable
+     a. with changed behaviour
+     b. no longer possible to disable
 10. Changes in SAPI support
 11. Changes in INI directives
 12. Syntax additions
 13. Windows support
 14. New in PHP 5.4:
-     a. New libraries
-     b. New extensions
-     c. New stream wrappers
-     d. New stream filters
-     e. New functions
-     f. New global constants
-     g. New classes
-     h. New methods
-     i. New class constants
-     j. New hash algorithms
-     k. New Syntax
+     a. New functions
+     b. New global constants
+     c. New classes
+     d. New methods
+     e. New class constants
+     f. New hash algorithms

 ========================================
 1. Changes made to default configuration
@@ -87,12 +80,17 @@
 2. Reserved words and classes
 =============================

-- "trait" is a reserved word now
+- "trait" and "insteadof" are reserved words now.

 ===================================
 3. Changes made to engine behaviour
 ===================================

+- Changed E_ALL to include E_STRICT.
+
+- Closures now support scopes and $this and can be rebound to
+  objects using Closure::bind() and Closure::bindTo().
+
 - Turning null, false or empty string into an object by adding a property
   will now emit a warning instead of an E_STRICT error.

@@ -121,6 +119,15 @@
   names, thereby shadowing the corresponding superglobal. This now causes a
   fatal error such as "Cannot re-assign auto-global variable GLOBALS".

+- Converting array to string now will cause E_NOTICE warning.
+
+- Added multibyte support by default. Now it can be enabled or disabled through
+  zend.multibyte directive in php.ini.
+
+- <?= is now always available regardless of the short_open_tag setting.
+
+- Parse error messages are changed to contain more information about the error.
+
 =====================================
 4. Changes made to existing functions
 =====================================
@@ -190,22 +197,41 @@
 - fclose() closes streams with resource refcount > 1; it doesn't merely
   decrement the resource refcount.
 - socket_set_options() and socket_get_options() now support multicast options.
-- Arrays cast from SimpleXMLElement now always contain all nodes instead of
-  just the first matching node.
-- All SimpleXMLElement children are now always printed when using var_dump(),
-  var_export(), and print_r().
 - The raw data parameter in openssl_encrypt()/openssl_decrypt() is now an options
   integer rather than a boolean. A value of true produces the same behaviour.
 - Write operations within XSLT (for example with the extension sax:output) are
   disabled by default. You can define what is forbidden with the method
-  XsltProcess::setSecurityPrefs($options)
+  XsltProcess::setSecurityPrefs($options).
+- Added AES support to OpenSSL.
 - openssl_csr_new() expects the textual data to be in UTF-8.
+- Added no padding option to openssl_encrypt()/openssl_decrypt().
+- Added a "no_ticket" SSL context option to disable the SessionTicket TLS
+  extension.
+- Added new json_encode() options: JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES,
+  JSON_NUMERIC_CHECK, JSON_BIGINT_AS_STRING, JSON_UNESCAPED_UNICODE.
+- Added Tokyo Cabinet and Berkley DB 5 support to DBA extension.
+- Added support for CURLOPT_MAX_SEND_SPEED_LARGE and CURLOPT_MAX_RECV_SPEED_LARGE
+  to cURL.
+- Added optional argument to debug_backtrace() and debug_print_backtrace()
+  to limit the amount of stack frames returned.
+- Fixed crypt_blowfish handling of 8-bit characters. crypt() in Blowfish mode now
+  supports hashes marked $2a$, $2x$, $2y$ and $2z$.
+- mbstring now supports following encodings: Shift_JIS/UTF-8 Emoji,
+  JIS X0213:2004 (Shift_JIS-2004, EUC-JP-2004, ISO-2022-JP-2004),
+  MacJapanese (Shift_JIS), gb18030.
+- Added encode/decode in hex format to mb_[en|de]code_numericentity().
+- Added support for SORT_NATURAL and SORT_FLAG_CASE in array sort functions
+  (sort, rsort, ksort, krsort, asort, arsort and array_multisort).

 ===================================
 5. Changes made to existing methods
 ===================================

--
+- DateTime::parseFromFormat() now has + modifier to allow trailing text in
+  the string to parse without throwing an error.
+- Added the ability to pass options to DOMDocument::loadHTML().
+- FilesystemIterator, GlobIterator and (Recursive)DirectoryIterator now use
+  the default stream context.

 ===================================
 6. Changes made to existing classes
@@ -228,13 +254,21 @@
   object is constructed.
 - Classes that implement stream wrappers can define a method called stream_metadata that
   will be called on touch(), chmod(), chgrp(), chown().
+- Arrays cast from SimpleXMLElement now always contain all nodes instead of
+  just the first matching node.
+- All SimpleXMLElement children are now always printed when using var_dump(),
+  var_export(), and print_r().
+- Added iterator support in MySQLi. mysqli_result implements Traversable.

-
-
 =============
 7. Deprecated
 =============

+- get_magic_quotes_gpc()
+- get_magic_quotes_runtime()
+- mcrypt_generic_end()
+- mysql_list_dbs()
+
 ==========
 8. Removed
 ==========
@@ -296,19 +330,17 @@
 9. Extensions
 =============

-     a. moved out to PECL and actively maintained there
+     a. no longer maintained

-        -
-
-     b. no longer maintained
-
         - ext/sqlite

-     c. with changed behaviour
+     b. with changed behaviour

         - The MySQL extensions (ext/mysql, mysqli and PDO_mysql) use mysqlnd
           as the default library now. It is still possible to use libmysql by
           specifying a path to the configure options.
+        - PDO_mysql: Support for linking with MySQL client libraries older
+		  than 4.1 is removed.
         - The session extension now can hook into the file upload feature
           in order to provide upload progress information through session
           variables.
@@ -342,22 +374,29 @@
             is set with date.timezone and/or date_default_timezone_set().
             Instead it will always fall back to "UTC".

-     d. no longer possible to disable
-
-        -
-
 ==========================
 10. Changes in SAPI support
 ==========================

+- Added built-in CLI web server that is intended for testing purposes.
 - The REQUEST_TIME value inside server now returns a floating point number
   indicating the time with microsecond precision. All SAPIs providing this
   value should be returning float and not time_t.
+- apache_child_terminate(), getallheaders(), apache_request_headers()
+  and apache_response_headers() now supported on FastCGI.
+- Added shortcut #inisetting=value to change ini settings at run-time.
+- Changed shell not to terminate on fatal errors.
+- Interactive shell works with shared readline extension.
+- Added command line option --rz <name> which shows information of the
+  named Zend extension.
+- PHP-FPM now supports syslog value for error_log.

 =============================
 11. Changes in INI directives
 =============================

+- Recommended production value for error_reporting changed to
+  E_ALL & ~E_DEPRECATED & ~E_STRICT.
 - Added session.upload_progress.enabled, session.upload_progress.cleanup,
   session.upload_progress.prefix, session.upload_progress.name,
   session.upload_progress.freq, session.upload_progress.min_freq.
@@ -372,17 +411,31 @@
   raw POST data in multipart requests and read/process the POST data in a
   stream fashion (through php://input), without having it copied in memory two/
   three times.
-- Changed E_ALL to include E_STRICT. Recommended production value changed to
-  E_ALL & ~E_DEPRECATED & ~E_STRICT.
-- a new directive, called windows_show_crt_warning, has been introduced.
+- A new directive, called windows_show_crt_warning, has been introduced.
   This directive shows the CRT warnings when enabled. These warnings were
   displayed by default until now. It is disabled by default.
+- Added cli.pager php.ini setting to set a pager for CLI output.
+- Added cli.prompt php.ini setting to configure the CLI shell prompt.
+- Added process.max to control the number of process FPM can fork.

 ====================
 12. Syntax additions
 ====================
+- Traits:
+	trait HelloWorld {
+    	public function sayHello() {
+        	echo 'Hello World!';
+    	}
+	}

-- Array dereferencing.
+	class CanIGetHello {
+    	use HelloWorld;
+	}
+
+	$hello = new CanIGetHello();
+	$hello->sayHello();
+
+- Function call result array access:
   e.g.
     foo()[0]
     $foo->bar()[0]
@@ -396,6 +449,30 @@
   $o = new ArrayObject();
   foo(array($o, "count"));

+- Short array syntax:
+    $a = [1, 2, 3, 4];
+    $a = ['one' => 1, 'two' => 2, 'three' => 3, 'four' => 4];
+    $a = ['one' => 1, 2, 'three' => 3, 4];
+
+- Binary number format:
+    0b00100 0b010101
+
+- $str[1][0] where $str is a string is now a legal construct.
+
+- Anonymous functions now support using $this and class scope.
+  Anonymous function can be declared as "static" to ignore the scope.
+
+- Class::{expr}() syntax is now supported:
+	class A {
+		static function foo() {
+			echo "Hello world!\n";
+		}
+	}
+	$x = "f";
+	$y = "o";
+	A::{$x.$y.$y}();
+
+
 ===================
 13. Windows support
 ===================
@@ -407,77 +484,131 @@
 14. New in PHP 5.4:
 ===================

-     a. New libraries
+     a. New functions

-       -
-
-     b. New extensions
-
-       -
-
-     c. New stream wrappers
-
-       -
-
-     d. New stream filters
-
-       -
-
-     e. New functions
-
        - Core:
          - get_declared_traits()
+         - getimagesizefromstring()
          - hex2bin()
+ 		 - header_register_callback()
          - http_response_code()
          - stream_set_chunk_size()
          - socket_import_stream()
          - trait_exists()

+	   - Intl:
+         - transliterator_create()
+         - transliterator_create_from_rules()
+         - transliterator_create_inverse()
+         - transliterator_get_error_code()
+         - transliterator_get_error_message()
+         - transliterator_list_ids()
+         - transliterator_transliterate()
+
        - LDAP:
          - ldap_control_paged_results()
          - ldap_control_paged_results_response()

-       - libxml
+       - libxml:
          - libxml_set_external_entity_loader()
+
+	   - mysqli:
+	     - mysqli_error_list()
+		 - mysqli_stmt_error_list()
+
+	   - Session:
+	     - session_register_shutdown()
+		 - session_status()
+
+	   - SPL
+		 - class_uses()

-     f. New global constants
+     b. New global constants

+       - CURLOPT_MAX_RECV_SPEED_LARGE
+       - CURLOPT_MAX_SEND_SPEED_LARGE
+	   - ENT_DISALLOWED
+	   - ENT_HTML401
+	   - ENT_HTML5
+	   - ENT_SUBSTITUTE
+	   - ENT_XHTML
+	   - ENT_XML1
+       - IPPROTO_IP
+       - IPPROTO_IPV6
+       - IPV6_MULTICAST_HOPS
+       - IPV6_MULTICAST_IF
+       - IPV6_MULTICAST_LOOP
+       - IP_MULTICAST_IF
+       - IP_MULTICAST_LOOP
+       - IP_MULTICAST_TTL
+       - JSON_BIGINT_AS_STRING
+       - JSON_OBJECT_AS_ARRAY
        - JSON_PRETTY_PRINT
        - JSON_UNESCAPED_SLASHES
-       - ENT_SUBSTITUTE
-       - ENT_ALLOWED
-       - ENT_HTML401
-       - ENT_XML1
-       - ENT_XHTML
-       - ENT_HTML5
-       - SCANDIR_SORT_ASCENDING
-       - SCANDIR_SORT_DESCENDING
-       - SCANDIR_SORT_NONE
+       - JSON_UNESCAPED_UNICODE
+       - LIBXML_HTML_NODEFDTD
+       - LIBXML_HTML_NOIMPLIED
+       - LIBXML_PEDANTIC
        - MCAST_JOIN_GROUP
        - MCAST_LEAVE_GROUP
        - MCAST_BLOCK_SOURCE
        - MCAST_UNBLOCK_SOURCE
        - MCAST_JOIN_SOURCE_GROUP
        - MCAST_LEAVE_SOURCE_GROUP
-       - IP_MULTICAST_IF
-       - IP_MULTICAST_TTL
-       - IP_MULTICAST_LOOP
-       - IPV6_MULTICAST_IF
-       - IPV6_MULTICAST_HOPS
-       - IPV6_MULTICAST_LOOP
-       - IPPROTO_IP
-       - IPPROTO_IPV6
+       - OPENSSL_CIPHER_AES_128_CBC
+       - OPENSSL_CIPHER_AES_192_CBC
+       - OPENSSL_CIPHER_AES_256_CBC
        - OPENSSL_RAW_DATA
        - OPENSSL_ZERO_PADDING
+       - PHP_OUTPUT_HANDLER_CLEAN
+       - PHP_OUTPUT_HANDLER_CLEANABLE
+       - PHP_OUTPUT_HANDLER_DISABLED
+       - PHP_OUTPUT_HANDLER_FINAL
+       - PHP_OUTPUT_HANDLER_FLUSH
+       - PHP_OUTPUT_HANDLER_FLUSHABLE
+       - PHP_OUTPUT_HANDLER_REMOVABLE
+       - PHP_OUTPUT_HANDLER_STARTED
+       - PHP_OUTPUT_HANDLER_STDFLAGS
+       - PHP_OUTPUT_HANDLER_WRITE
+       - PHP_QUERY_RFC1738
+       - PHP_QUERY_RFC3986
+       - PHP_SESSION_ACTIVE
+       - PHP_SESSION_DISABLED
+       - PHP_SESSION_NONE
+       - SCANDIR_SORT_ASCENDING
+       - SCANDIR_SORT_DESCENDING
+       - SCANDIR_SORT_NONE
+       - SORT_FLAG_CASE
+       - SORT_NATURAL
+       - STREAM_META_ACCESS
+       - STREAM_META_GROUP
+       - STREAM_META_GROUP_NAME
+       - STREAM_META_OWNER
+       - STREAM_META_OWNER_NAME
+       - STREAM_META_TOUCH
+       - T_CALLABLE
+       - T_INSTEADOF
+       - T_TRAIT
+       - T_TRAIT_C
+       - ZLIB_ENCODING_DEFLATE
+       - ZLIB_ENCODING_GZIP
+       - ZLIB_ENCODING_RAW

-     g. New classes
+     c. New classes

        - Reflection:
          - ReflectionZendExtension

        - Intl:
          - Transliterator
+		 - Spoofchecker

+       - JSON:
+         - JsonSerializable
+
+	   - Session:
+	     - SessionHandler
+
        - SNMP:
          - SNMP

@@ -485,46 +616,74 @@
          - CallbackFilterIterator
          - RecursiveCallbackFilterIterator

-     h. New methods
+     d. New methods

-       - DirectoryIterator
-         - DirectoryIterator::getExtension()
+	   - Closure:
+	      - Closure::bind()
+	      - Closure::bindTo()

        - Reflection:
+         - ReflectionClass::getTraitAliases()
+         - ReflectionClass::getTraitNames()
+         - ReflectionClass::getTraits()
          - ReflectionClass::isCloneable()
-         - ReflectionClass::getTraits()
-         - ReflectionClass::getTraitNames()
-         - ReflectionClass::getTraitAliases()
+         - ReflectionClass::isTrait()
+         - ReflectionClass::newInstanceWithoutConstructor()
+         - ReflectionExtension::isPersistent()
+         - ReflectionExtension::isTemporary()
+         - ReflectionFunction::getClosure()
+         - ReflectionFunction::getClosureScopeClass()
+         - ReflectionFunction::getClosureThis()
+         - ReflectionFunctionAbstract::getClosureScopeClass()
+         - ReflectionFunctionAbstract::getClosureThis()
+         - ReflectionMethod::getClosure()
+         - ReflectionMethod::getClosureScopeClass()
+         - ReflectionMethod::getClosureThis()
+         - ReflectionObject::getTraitAliases()
+         - ReflectionObject::getTraitNames()
+         - ReflectionObject::getTraits()
+         - ReflectionObject::isCloneable()
+         - ReflectionObject::isTrait()
+         - ReflectionObject::newInstanceWithoutConstructor()
          - ReflectionParameter::canBePassedByValue()
          - ReflectionParameter::isCallable()
-
-       - RegexIterator
-         - RegexIterator::getRegex()

-       - PDO_dblib
+       - PDO_dblib:
          - PDO::newRowset()

-       - SplFileInfo
+       - SPL:
+       	 - DirectoryIterator::getExtension()
+         - RegexIterator::getRegex()
+         - SplDoublyLinkedList::serialize()
+         - SplDoublyLinkedList::unserialize()
          - SplFileInfo::getExtension()
-
-       - SplFileObject
          - SplFileObject::fputcsv()
+	     - SplObjectStorage::getHash()
+         - SplQueue::serialize
+         - SplQueue::unserialize
+         - SplStack::serialize
+         - SplStack::unserialize
+         - SplTempFileObject::fputcsv

-     i. New class constants
+	   - XSLT:
+	     - XsltProcessor::setSecurityPrefs()
+		 - XsltProcessor::getSecurityPrefs()

-       -
+     e. New class constants

-     j. New Hash algorithms
+       - PDO:
+		 - PDO::MYSQL_ATTR_SSL_CA
+	     - PDO::MYSQL_ATTR_SSL_CAPATH
+	     - PDO::MYSQL_ATTR_SSL_CERT
+	     - PDO::MYSQL_ATTR_SSL_CIPHER
+	     - PDO::MYSQL_ATTR_SSL_KEY

+     f. New Hash algorithms
+
        - fnv132
        - fnv164
        - joaat
+
+
+

-     k. New Syntax
-       - Short array syntax in 5.4.0
-         $a = [1, 2, 3, 4];
-         $a = ['one' => 1, 'two' => 2, 'three' => 3, 'four' => 4];
-         $a = ['one' => 1, 2, 'three' => 3, 4];
-
-       - Binary number format
-         0b00100 0b010101
-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to