Diff for /embedaddon/php/UPGRADING between versions 1.1 and 1.1.1.5

version 1.1, 2012/02/21 23:47:51 version 1.1.1.5, 2014/06/15 20:03:41
Line 1 Line 1
 $Id$  $Id$
   
UPGRADE NOTES - PHP 5.3PHP 5.4 UPGRADE NOTES
   
1. Reserved words and classes===========
2. Changes made to existing functions0. Contents
3. Changes made to existing methods===========
4. Changes made to existing classes
5. Deprecated1. Changes to INI directives
6. Undeprecated2. Changes to reserved words and classes
7. Extensions:3. Changes to engine behavior
     a. moved out to PECL and actively maintained there4. Changes to existing functions
     b. no longer maintained5. Changes to existing classes
     c. with changed behaviour6. Changes to existing methods
     d. no longer possible to disable7. Deprecated Functionality
8. Changes in SAPI support8. Removed Functionality
9. Changes in INI directives     a. Removed features
10. Syntax additions     b. Removed functions
      c. Removed syntax
      d. Removed hash algorithms
 9. Extension Changes:
      a. Extensions no longer maintained
      b. Extensions with changed behavior
 10. Changes in SAPI support
 11. Windows support  11. Windows support
12. New in PHP 5.3:12. New in PHP 5.4:
     a. New libraries     a. New features
     b. New extensions     b. Syntax additions
     c. New stream wrappers     c. New functions
     d. New stream filters     d. New global constants
     e. New functions     e. New classes
     f. New global constants     f. New methods
     g. New classes     g. New hash algorithms
     h. New methods 
     i. New class constants 
   
 =============================  =============================
1. Reserved words and classes1. Changes to INI directives
 =============================  =============================
   
- **namespace** and **goto** are now reserved keywords.- PHP 5.4 now checks at compile time if /dev/urandom or /dev/arandom
   are present. If either is available, session.entropy_file now
   defaults to that file and session.entropy_length defaults to 32.
   This provides non-blocking entropy to session id generation. If you
   do not want extra entropy for your session ids, add:
   
- **Closure** is now a reserved class. (Used by lambda and closure.)    session.entropy_file=
     session.entropy_length=0
   
=====================================  to your php.ini to preserve pre-PHP 5.4 behavior.
2. Changes made to existing functions 
===================================== 
   
- Paths containing NULL (like /some/path\0foo.txt) are now considered invalid. - Deprecated php.ini directives will now throw an E_CORE_WARNING's
  See http://news.php.net/php.internals/50191  instead of the previous E_WARNING's.
   
- The HTTP stream wrapper now considers all status codes from 200 to 399 to be- The following php.ini directives are no longer available in PHP 5.4
  successful.  and will now throw an E_CORE_ERROR upon startup:
   - allow_call_time_pass_reference
   - define_syslog_variables
   - highlight.bg
   - magic_quotes_gpc
   - magic_quotes_runtime
   - magic_quotes_sybase
   - register_globals
   - register_long_arrays
   - safe_mode
   - safe_mode_gid
   - safe_mode_include_dir
   - safe_mode_exec_dir
   - safe_mode_allowed_env_vars
   - safe_mode_protected_env_vars
   - session.bug_compat_42
   - session.bug_compat_warn
   - y2k_compliance
   - zend.ze1_compatibility_mode
   
- The array functions natsort(), natcasesort(), usort(), uasort(), uksort(),- the following new php.ini directives were added:
  array_flip(), and array_unique() no longer accept objects passed as arguments.  - max_input_vars - specifies how many GET/POST/COOKIE input
  If you need to use them to access an object's properties, you must cast the    variables may be accepted. The default value is 1000.
  object to an array first. 
   
- var_dump() output now includes private object members.- E_ALL now includes E_STRICT.
   
- session_start() now returns FALSE when the session startup fails.- The recommended production value for error_reporting changed to E_ALL &
   ~E_DEPRECATED & ~E_STRICT.
   
- property_exists() now checks the existence of a property independent of- Added new session support directives:
  accessibility (like method_exists()).    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
   
- The $initial parameter for array_reduce can now be of any type.- Added a zend.multibyte directive as a replacement of the PHP compile time
   configuration option --enable-zend-multibyte. Now the Zend Engine always
   contains code for multibyte support, which can be enabled or disabled at
   runtime. Note: It doesn't make a lot of sense to enable this option if
   ext/mbstring is not enabled, because most functionality is implemented by
   mbstrings callbacks.
   
- clearstatcache() no longer clears the realpath cache by default.- Added zend.script_encoding. This value will be used unless a
   "declare(encoding=...)" directive appears at the top of the script.
   
- realpath() is no longer system-dependent and works identically on all- Added zend.signal_check to check for replaced signal handlers on shutdown
  platforms. 
   
- call_user_func() now propagates $this even if the callee is the parent class.- Added enable_post_data_reading, which is enabled by default. When it's
   disabled, the POST data is not read (or processed); the behavior is similar
   to that of other request methods with body, like PUT. This allows reading
   the raw POST data in multipart requests and reading/processing the POST data
   in a stream fashion (through php://input) without having it copied in memory
   multiple times.
   
- The filesystem functions opendir(), scandir(), and dir() now use the default- Added windows_show_crt_warning. This directive shows the CRT warnings when
  context if no context argument is passed.  enabled. These warnings were displayed by default until now. It is disabled
   by default.
   
- The behaviour of functions with by-reference parameters called by value has- Added cli.pager to set a pager for CLI interactive shell output.
  changed. Where previously the function would accept the by-value argument, a 
  warning is now emitted and all by-ref parameters are set to NULL. 
   
- There is now native support for the following math functions: asinh(),- Added cli.prompt to configure the CLI interactive shell prompt.
  acosh(), atanh(), log1p(), and expm1(). 
   
- In the GD extension, there is now pixelation support available through- Added cli_server.color to enable the CLI web server to use ANSI color coding
  the imagefilter() function.  in terminal output.
   
- crypt() now has Blowfish and extended DES support, and crypt() features are========================================
  now 100% portable. PHP has its own internal crypt implementation which drops2. Changes to reserved words and classes
  into place when system support for crypt or crypt_r() is not found.========================================
   
- get_cfg_var() is now able to return "array" INI options.- "callable", "insteadof" and "trait" are now reserved words.
   
- Stream wrappers can now be used by the include_path INI directive.=============================
 3. Changes to engine behavior
 =============================
   
- These functions now take new parameters:- The __construct arguments of an extended abstract constructor must
     clearstatcache(): $clear_realpath_cache and $filename.  now match:
     copy(): $context 
     fgetcsv(): $escape 
     ini_get_all(): $details 
     json_encode(): $options 
     json_decode(): $depth 
     nl2br(): $is_xhtml 
     parse_ini_file(): $scanner_mode 
     round(): $mode 
     stream_context_create(): $params 
     strstr(), stristr(): $before_needle 
     sybase_connect(): $new 
   
- And new mode option for fopen: 'n' (O_NONBLOCK)  abstract class Base
   {
     abstract public function __construct();
   }
   class Foo extends Base
   {
     public function __construct($bar) {}
   }
   
- The new mysqlnd library necessitates using MySQL's newer 41-byte password  This now emits a Fatal error due the incompatible declaration.
  format. Continued use of the old 16 byte passwords will cause mysql_connect() 
  and other related functions to produce the following error message: 
  "mysqlnd cannot connect to MySQL 4.1+ using old authentication" 
   
- The dl() function is now disabled by default, and only available under the- In previous versions, superglobal names could be used for parameter
  cli, cgi, and embed SAPIs.  names, thereby shadowing the corresponding superglobal. In PHP 5.4
   this now causes a fatal error such as "Cannot re-assign auto-global
   variable GLOBALS".
   
- mail() now supports the logging of sent mail.- Turning null, false or an empty string into an object by adding a
   property will now emit a warning instead of an E_STRICT error.
   
- stream_select(), stream_set_blocking(), stream_set_timeout(), and   $test = null;
  stream_set_write_buffer() now work with user-space stream wrappers.  $test->baz = 1;
   
- getopt() accepts "long options" now on all platforms.  To create a generic object you can use StdClass:
  Optional values and using = as a separator for short options are now 
  supported. 
   
     $test = new StdClass;
     $test->baz = 1;
   
===================================- Converting an array to a string now will cause an E_NOTICE warning.
3. Changes made to existing methods 
=================================== 
   
- The magic methods __get(), __set(), __isset(), __unset(), and __call() should- Non-numeric string offsets, e.g. $a['foo'] where $a is a string, now
  always be public and can no longer be static. Method signatures are enforced.  return false on isset() and true on empty(), and produce warning if
   trying to use them. Offsets of types double, bool and null produce
   notice. Numeric strings ($a['2']) still work as before.
   
- The __call() magic method is now invoked on access to private and protected  Note that offsets like '12.3' and '5 and a half' are considered
  methods.  non-numeric and produce warning, but are converted to 12 and 5
   respectively for backwards compatibility reasons.
   
- The __toString() magic method can no longer accept arguments.- Long numeric strings that do not fit in integer or double (such as
   "92233720368547758070") are compared using string comparison if 
   they could otherwise result in precision loss - since 5.4.4.
   
- There is a new magic method, __callStatic().- Closures now support scopes and $this and can be rebound to
   objects using Closure::bind() and Closure::bindTo().
   
- Internal count() vs. count_elements() handler resolution rules have changed.- <?= is now always available regardless of the short_open_tag
  (This could potentially break custom PHP extensions.)  setting.
   
- The trailing / has been removed from SplFileInfo and other related directory- Parse error messages are changed to contain more information about
  classes.  the error.
   
- SplFileInfo::getpathinfo() now returns information about the path name.- __clone and __destruct since 5.4.4 follow the same scoping rules as 
   the rest of the methods (see bug #61782 for details).
   
- There are new parameters in:================================
     Exception::__construct(): $previous4. Changes to existing functions
 ================================
   
===================================- array_combine now returns array() instead of FALSE when two empty arrays are
4. Changes made to existing classes  provided as parameters.
=================================== 
   
- SplObjectStorage now has ArrayAccess support. It is also now possible to- dns_get_record() has an extra parameter which allows requesting DNS records
  store associative information with objects in SplObjectStorage.  by numeric type and makes the result include only the raw data of the
    response.
===================== 
4.1 New in PHP 5.3.9 
===================== 
   
- Write operations within XSLT (for example with the extension sax:output) are- call_user_func_array() no longer allows call-time pass by reference.
  disabled by default. You can define what is forbidden with the INI option 
  xsl.security_prefs. This option will be marked as deprecated in 5.4 again.  
  Use the method XsltProcess::setSecurityPrefs($options) there. 
   
- the following new directives were added- the default character set for htmlspecialchars() and htmlentities() is
   now UTF-8. In previous versions it was ISO-8859-1. Note that changing
   your output charset via the php.ini default_charset directive does not
   affect htmlspecialchars/htmlentities unless you are passing "" (an 
   empty string) as the encoding parameter to your htmlspecialchars/htmlentities
   calls. 
   
  - max_input_vars - specifies how many GET/POST/COOKIE input variables may be- htmlentities() and htmlspecialchars() are stricter in the code units they
    accepted. default value 1000.   accept for the asian encodings. For Big5-HKSCS, the octets 0x80 and 0xFF are
   rejected. For GB2312/EUC-CN, the octets 0x8E, 0x8F, 0xA0 and 0xFF are
   rejected. For SJIS, the octets 0x80, 0xA0, 0xFD, 0xFE and 0xFF are rejected,
   except maybe after a valid starting byte. For EUC-JP, the octets 0xA0 and
   0xFF are rejected.
   
=============- htmlentities() now emits an E_STRICT warning when used with asian characters,
5. Deprecated  as in that case htmlentities has (and already had before this version) the
=============  same functionality as htmlspecialchars.
   
- define_syslog_variables() is deprecated.- htmlentities() no longer numerically encodes high characters for single-byte
   encodings (except when there's actually a corresponding named entity). This
   behavior was not documented and was inconsistent with that for "UTF-8".
   
- set_socket_blocking() is deprecated.- html_entity_decode() and htmlspecialchars_decode() behave more consistently,
   now decoding entities in malformed strings such as "&&amp;" or "&#&amp;".
   
- call_user_method() and call_user_method_array() are now deprecated. Use- htmlentities(), htmlspecialchars(), html_entity_decode(), and
  call_user_func() and call_user_func_array() instead.  htmlspecialchars_decode: Added the flags ENT_HTML401, ENT_XML1, ENT_XHTML,
   and ENT_HTML5. The behavior of these functions including, but not limited to,
   the characters that are encoded and the entities that are decoded depend on
   the document type that is specified by those flags.
   
- dl() is deprecated.- htmlentities() and htmlspecialchars() with !$double_encode do more strict
   checks on the validity of the entities. Numerical entities are checked for a
   valid range (0 to 0x10FFFF); if the flag ENT_DISALLOWED is given, the
   validity of such numerical entity in the target document type is also
   checked. Named entities are checked for necessary existence in the target
   document type instead of only checking whether they were constituted by
   alphanumeric characters.
   
- The set_magic_quotes_runtime() function is now deprecated.- The flag ENT_DISALLOWED was added. In addition to the behavior described in
   the item before, it also makes htmlentities() and htmlspecialchars()
   substitute characters that appear literally in the argument string and which
   are not allowed in the target document type with U+FFFD (UTF-8) or &#xFFFD;.
   
- mysql_listtables(), mysql_dropdb(), mysql_createdb(), mysql_list_tables(),- The flag ENT_SUBSTITUTE was added. This flag makes invalid multibyte
  mysql_drop_db(), and mysql_create_db() are now deprecated.  sequences be replaced by U+FFFD (UTF-8) or &#FFFD; by htmlspecialchars() and
   htmlentities(). It is an alternative to the default behavior, which just
   returns an empty string and to ENT_IGNORE, which is a security risk. The
   behavior follows the recommendations of Unicode Technical Report #36.
   
- All ereg functions are now deprecated and emit E_DEPRECATED errors:- htmlspecialchars_decode() and html_entity_decode() now decode &apos; if the
  sql_regcase(), spliti(), split(), ereg_replace(), eregi(),  document type is ENT_XML1, ENT_XHTML, or ENT_HTML5.
  ereg_replace(), and ereg(). 
  Use the PCRE family of functions (preg_*()) instead. 
   
- mcrypt_generic_end() is deprecated.- Charset detection with $charset == '' no longer turns to mbstring's
   internal encoding defined through mb_internal_encoding(). Only the encoding
   defined through the php.ini setting mbstring.internal_encoding is considered.
   
- mysql_db_query() is deprecated.- number_format() no longer truncates multibyte decimal points and thousand
   separators to the first byte.
   
- mysql_escape_string() is deprecated.- The third parameter ($matches) to preg_match_all() is now optional. If
   omitted, the function will simply return the number of times the pattern was
   matched in the subject and will have no other side effects.
   
- session_register(), session_unregister(), and session_is_registered() are now- The second argument of scandir() now accepts SCANDIR_SORT_NONE (2) as a
  deprecated. Use the $_SESSION superglobal array instead.  possible value. This value results in scandir() performing no sorting: on
   local filesystems, this allows files to be returned in native filesystem
   order.
   
- Comments starting with '#' are now deprecated in .INI files.- stream_select() now preserves the keys of the passed array, be they numeric or
   strings. This breaks code that iterated the resulting stream array using a
   numeric index, but makes easier to identify which of the passed streams are
   present in the result.
   
- The following INI directives will now emit an E_DEPRECATED warning - stream_set_write_buffer() no longer disables the read buffer of a plain
  upon startup if they are activated:  stream when 0 is given as the second argument.
   
        - define_syslog_variables- stream_set_write_buffer() no longer changes the chunk size in socket streams.
        - register_globals 
        - register_long_arrays 
        - safe_mode 
        - magic_quotes_gpc 
        - magic_quotes_runtime 
        - magic_quotes_sybase 
   
- The is_dst parameter to mktime() is deprecated.- fclose() closes streams with resource refcount > 1; it doesn't merely
   decrement the resource refcount.
   
- Assigning the return value of "new" by reference is deprecated- socket_set_options() and socket_get_options() now support multicast options.
   
- Call-time pass-by-reference has been deprecated- The raw data parameter in openssl_encrypt() and openssl_decrypt() is now an
   options integer rather than a boolean. A value of true produces the same
   behavior.
   
- Usage of {} to access string offsets is deprecated- 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).
   
- Passing locale category name as string to setlocale() is deprecated.- Added AES support to OpenSSL.
   
===============- openssl_csr_new() expects the textual data to be in UTF-8.
6. Undeprecated 
=============== 
   
- By popular request, is_a() is no longer deprecated.- Added no-padding option to openssl_encrypt() and openssl_decrypt().
   
==============- Added a "no_ticket" SSL context option to disable the SessionTicket TLS
7. Extensions:  extension.
============== 
   
     a. moved out to PECL and actively maintained there- Added new json_encode() options: JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES,
   JSON_NUMERIC_CHECK, JSON_BIGINT_AS_STRING, JSON_UNESCAPED_UNICODE.
   
        - fdf- Added Tokyo Cabinet and Berkley DB 5 support to DBA extension.
        - ming 
        - ncurses 
   
     b. no longer maintained- Added support for CURLOPT_MAX_SEND_SPEED_LARGE and CURLOPT_MAX_RECV_SPEED_LARGE
   to cURL.
   
        - dbase- Added optional argument to debug_backtrace() and debug_print_backtrace()
        - fbsql  to limit the amount of stack frames returned.
        - msql 
        - sybase (use sybase_ct, which is still in PHP core) 
        - mhash (hash has full BC layer) 
        - mime_magic (use fileinfo, has full BC layer) 
   
     c. with changed behaviour- Fixed crypt_blowfish handling of 8-bit characters. crypt() in Blowfish mode
   now supports hashes marked $2a$, $2x$, $2y$ and $2z$.
   
        - dns: dns_check_record() will now return an extra "entries" index,- mbstring now supports following encodings: Shift_JIS/UTF-8 Emoji,
          containing the TXT elements.  JIS X0213:2004 (Shift_JIS-2004, EUC-JP-2004, ISO-2022-JP-2004),
   MacJapanese (Shift_JIS), gb18030.
   
        - datetime: date/time functions will no longer use the TZ environment- Added encode and decode in hex format to mb_encode_numericentity() and
          variable to guess which timezone should be used.  mb_decode_numericentity().
   
        - cURL now supports SSH- Added support for SORT_NATURAL and SORT_FLAG_CASE in array sort functions:
   sort(), rsort(), ksort(), krsort(), asort(), arsort() and array_multisort().
   
        - hash: The SHA-224 and salsa hash algorithms are now supported.- is_a() and is_subclass_of() now have third boolean parameter, which specifies
   if the first argument can be a string class name. Default if false for is_a
   and true for is_subclass_of() for BC reasons.
   
        - mbstring: Now supports CP850 encoding.- ob_start() will now treat a chunk size of 1 as meaning 1 byte, rather than
   the previous special case behavior of treating it as 4096 bytes.
   
        - oci8: Database Resident Connection Pooling (DRCP) and Fast Application- idn_to_ascii() and idn_to_utf8() now take two extra parameters, one indicating
          Notification (FAN) are now supported.  the variant (IDNA 2003 or UTS #46) and another, passed by reference, to return
   details about the operation in case UTS #46 is chosen.
   
          Oracle External Authentication is now supported (except on Windows).- gzencode() used with FORCE_DEFLATE now generates RFC1950 compliant data.
   
          The oci8 function oci_bind_by_name() now supports SQLT_AFC (aka the- ob_start() no longer starts multiple output buffers when passed
          CHAR datatype).  array("callback1", "callback2", "callback3", ...).
   
          Calling oci_close() on a persistent connection, or when the variable- Since 5.4.4, "php://fd" stream syntax is available only in CLI build.
          that references a persistent connection goes out of scope, will now 
          trigger a roll back of an uncommitted transaction. To avoid unexpected 
          behavior explicitly issue a commit or roll back as needed. The old 
          behavior can be enabled with the INI directive 
          oci8.old_oci_close_semantics. 
   
        - openssl: OpenSSL digest and cipher functions are now supported.- Since 5.4.5, resourcebundle_create() accepts null for the first two arguments.
          It is also now possible to access the internal values of DSA, RSA and 
          DH keys. 
   
        - session: Sessions will no longer store session-files in "/tmp" when- Since 5.4.6, SimpleXMLElement::getDocNamespaces() has and extra parameter which
          open_basedir restrictions apply, unless "/tmp" is explicitly added to  allows for toggling if the list of namespaces starts from the document root
          the list of allowed paths.  or from the node you call the method on
   
        - SOAP: Now supports sending user-supplied HTTP headers.- Since 5.4.7, ctor is always called when new user stream wrapper object is created.
   Before, it was called only when stream_open was called.
   
        - MySQLi: Now supports persistent connections by prepending the hostname - Manipulated serialization strings for objects implementing Serializable by
          with "p:".  replacing "C:" with "O:" at the start will now produce an error.
   
        - imagepstext now rejects invalid antialiasing steps and raises a warning.==============================
 5. Changes to existing classes
 ==============================
   
     d. no longer possible to disable- Classes that implement stream wrappers can define a method called
   stream_truncate that will respond to truncation, e.g. through ftruncate.
   Strictly speaking, this is an addition to the user-space stream wrapper
   template, not a change to an actual class.
   
        - PCRE- Classes that implement stream wrappers can define a method called
        - Reflection  stream_metadata that will be called on touch(), chmod(), chgrp(), chown().
        - SPL 
   
==========================- Arrays cast from SimpleXMLElement now always contain all nodes instead of
8. Changes in SAPI support  just the first matching node.
========================== 
   
- A new "litespeed" SAPI is now available.- All SimpleXMLElement children are now always printed when using var_dump(),
   var_export(), and print_r().
   
- FastCGI is now always enabled and can not be disabled. See sapi/cgi/CHANGES- Added iterator support in MySQLi. mysqli_result implements Traversable.
  for more details. 
   
- A new CGI SAPI option, -T, can be used to measure execution time of a script==============================
  repeated several times.6. Changes to existing methods
 ==============================
- CGI/FastCGI now has support for .htaccess style user-defined php.ini files. 
  See the new user_ini.filename and user_ini.cache_ttl INI directives. 
   
============================- DateTime::parseFromFormat() now has a "+" modifier to allow trailing text in
9. Changes in INI directives  the string to parse without throwing an error.
============================ 
   
- zend_extension_debug and zend_extension_ts have been removed. Always use the- Added the ability to pass options to DOMDocument::loadHTML().
  zend_extension directive to load Zend Extensions. 
   
- zend.ze1_compatibility_mode has been removed. If this INI directive is set to- FilesystemIterator, GlobIterator and (Recursive)DirectoryIterator now use
  on, then an E_ERROR is emitted at startup.  the default stream context.
   
- There is now support for special sections: [PATH=/opt/httpd/www.example.com/]- Since 5.4.5, the constructor of ResourceBundle accepts NULL for the first two
  and [HOST=www.example.com]. Directives set in these sections cannot be  arguments.
  overridden by user-defined INI files or at runtime. 
   
- Added mbstring.http_output_conv_mimetype. This directive specifies the===========================
  regex pattern of content types for which mb_output_handler() is activated.7. Deprecated Functionality
 ===========================
   
- It is now possible to use the full path to load modules using the "extension"- The following functions are deprecated in PHP 5.4:
  directive.  - mcrypt_generic_end():       use mcrypt_generic_deinit() instead
   - mysql_list_dbs()
   
- "INI variables" can now be used almost anywhere in a php.ini file.========================
 8. Removed Functionality
 ========================
   
- It is now possible to use alphanumeric or variable indices in INI optiona. Removed features
  arrays. 
   
- open_basedir is now PHP_INI_ALL   The following features have been removed from PHP 5.4:
   
- Runtime tightening of open_basedir restrictions is now possible.   - Magic quotes
    - Register globals
    - Safe mode
    - Session extension bug compatibility mode
    - Y2K compliance mode
   
- The default value of session.use_only_cookies has changed to "1".b. Removed functions
   
- The default value of oci8.default_prefetch has been changed from 10 to 100.   The following functions are no longer available in PHP 5.4:
   
- A new directive, request_order, controls the behavior of $_REQUEST   - define_syslog_variables()
  independently of variables_order.   - import_request_variables()
- A new directive, called windows.show_crt_warning, has been introduced.   - session_is_registered()
  This directive shows the CRT warnings when enabled. These warnings were   - session_register()
  displayed by default until now. It is disabled by default.   - session_unregister()
    - set_magic_quotes_runtime()
    - mysqli_bind_param() (alias of mysqli_stmt_bind_param())
    - mysqli_bind_result() (alias of mysqli_stmt_bind_result())
    - mysqli_client_encoding() (alias of mysqli_character_set_name())
    - mysqli_fetch() (alias of mysqli_stmt_fetch())
    - mysqli_param_count() (alias of mysqli_stmt_param_count())
    - mysqli_get_metadata() (alias of mysqli_stmt_result_metadata())
    - mysqli_send_long_data() (alias of mysqli_stmt_send_long_data())
    - mysqli::client_encoding() (alias of mysqli::character_set_name)
    - mysqli_stmt::stmt() (never worked/always throws, undocumented)
   
- New INI directives: c. Removed syntax
  - mail.add_x_header 
  - user_ini.filename 
  - user_ini.cache_ttl 
  - exit_on_timeout 
  - mysqli.allow_persistent 
  - mysqli.default_host 
  - mysqli.default_socket 
  - mysqli.allow_local_infile 
  - mysqli.cache_size 
  - oci8.connection_class 
  - oci8.events 
  - pdo_mysql.default_socket 
  - pdo_mysql.cache_size 
  - sqlite3.extension_dir 
  - mysql.default_socket 
  - mysql.allow_local_infile 
  - mysql.cache_size 
  - mysqlnd.collect_statistics 
  - mysqlnd.collect_memory_statistics 
  - mysqlnd.net_cmd_buffer_size 
  - mysqlnd.net_read_buffer_size 
  - mysqlnd.log_mask 
   
      - break $var;
      - continue $var;
   
   d. Removed hash algorithms
   
      - Salsa10 and Salsa20, which are actually stream ciphers
   
 ====================  ====================
10. Syntax additions9. Extension Changes
 ====================  ====================
   
- NOWDOC: Similar to HEREDOC, but with single quotes:a. Extensions no longer maintained
   
      <<<'LABEL' ...   - ext/sqlite is no longer part of the base distribution and has been moved
      to PECL. Use sqlite3 or PDO_SQLITE instead.
   
  Static HEREDOCs can be used to initialize static variables and class membersb. Extensions with changed behavior
  or constants: 
   
      static $foo = <<<LABEL   - The MySQL extensions (ext/mysql, mysqli and PDO_MYSQL) use mysqlnd
      No variables here...     as the default library now. It is still possible to use libmysql by
      LABEL;     specifying a path to the configure options.
   
- HEREDOC now supports wrapping the identifier with double-quotes, to complement   - PDO_MYSQL: Support for linking with MySQL client libraries older
  the NOWDOC syntax:     than 4.1 is removed.
   
      <<<"LABEL" ...   - The session extension now can hook into the file upload feature
      in order to provide upload progress information through session
      variables.
   
- The ?: operator has been introduced:   - SNMP extension
      - Functions in SNMP extension now returns FALSE on every error
        condition including SNMP-related (no such instance, end of MIB,
        etc). Thus, in patricular, breaks previous behavior of get/walk
        functions returning an empty string on SNMP-related errors.
      - Multi OID get/getnext/set queries are now supported.
      - New constants added for use in snmp_set_oid_output_format()
        function.
      - Function snmp_set_valueretrieval() changed it's behavior:
             SNMP_VALUE_OBJECT can be combined with one of
             SNMP_VALUE_PLAIN or SNMP_VALUE_LIBRARY resulting OID value
             changes. When no SNMP_VALUE_PLAIN or SNMP_VALUE_LIBRARY
             is supplied with SNMP_VALUE_OBJECT, SNMP_VALUE_LIBRARY is used.
             Prior to 5.4.0 when no SNMP_VALUE_PLAIN or SNMP_VALUE_LIBRARY
             was supplied with SNMP_VALUE_OBJECT, SNMP_VALUE_PLAIN was used.
      - Added feature-rich OO API (SNMP class)
      - Dropped UCD-SNMP compatibility code. Consider upgrading to
        net-snmp v5.3+. Net-SNMP v5.4+ is required for Windows version.
      - In sake of adding support for IPv6 DNS name resolution of
        remote SNMP agent (peer) is done by extension now, not by Net-SNMP
        library anymore.
   
      var_dump(0 ?: 'Hello!');   - Date extension
      - Setting the timezone with the TZ environment variable is no longer
        supported, instead date.timezone and/or date_default_timezone_set()
        have to be used.
      - The extension will no longer guess the default timezone if none
        is set with date.timezone and/or date_default_timezone_set().
        Instead it will always fall back to "UTC".
   
- Namespaces were added:   - Hash extension
      - the output of the tiger hash family has been corrected, see
        https://bugs.php.net/61307
   
      namespace my\name;===========================
      $obj = new \my\name\MyClass;10. Changes in SAPI support
 ===========================
   
- Dynamic access to static methods is now possible:- A REQUEST_TIME_FLOAT value returns a floating point number indicating the
   time with microsecond precision. All SAPIs providing this value should be
   returning float and not time_t.
   
      $foo::myFunc();- apache_child_terminate(), getallheaders(), apache_request_headers()
   and apache_response_headers() are now supported on FastCGI.
   
- Exceptions can now be nested:- The interactive shell allows a shortcut #inisetting=value to change php.ini
   settings at run-time.
   
      class MyCustomException extends Exception {}- The interactive shell now works with the shared readline extension.
      try { 
          throw new MyCustomException("Something happend", 112); 
      } catch(Exception $e) { 
          throw new InvalidArgumentException("You are doing it wrong!", 911, $e); 
      } 
   
- Exceptions can now be handled in destructors.- The interactive shell no longer terminates on fatal errors.
   
- A garbage collector has been added and is enabled by default.- A new PHP CLI command line option --rz <name> shows information about the
   named Zend extension.
   
 ===================  ===================
 11. Windows support  11. Windows support
 ===================  ===================
   
- The minimum Windows version is now Windows 2000. (Windows 98, ME and NT4 are- is_link now works properly for symbolic links on Windows Vista
  no longer supported).  or later. Earlier systems do not support symbolic links.
   
- PHP Windows binaries target i586 or later. i386 and i486 are not supported.- As of PHP 5.4.5 and above the COM extension isn't compiled statically in PHP
   anymore but shared. It'll still be delivered with the standard PHP release but
   must be activated manually with the "extension = php_com_dotnet.dll" directive
   in php.ini.
   
- Support for the IIS SAPI has been dropped. Use the FastCGI SAPI instead - Apache 2.4 handler is supported as of PHP 5.4.9
  (available for IIS5 and later)). FastCGI is the recommended way to use PHP 
  with IIS (see http://php.iis.net/). 
   
- A new build is available based on the latest Visual C++ Compiler (VC9). ==================
  Its use is recommended with FastCGI or CLI. Apache's Windows binaries are not12. New in PHP 5.4
  compatible with VC9; however, you can use Apache Lounge's build==================
  (http://apachelounge.com). 
   
- The x64 binaries are for experimental usage only. They are not meant to be a. New Features
  used in production. 
   
- A new site is available to download Windows releases as well as Windows-only  - A built-in CLI web server for testing purposes is now available:
  releases: http://windows.php.net. Windows-specific releases will be made to     $ php -S 127.0.0.1:8888
  fix security issues in the bundled libraries (libpng, openssl, etc.). Please 
  note that this site does not replace the main PHP site as a source of PHP 
  news, resources, or documentation. 
   
- Windows support has been added for the following functions: getopt(),  - File Upload Progress support is implemented in the Session extension.
  imagecolorclosesthwb(), mcrypt_create_iv(), inet_ntop(), inet_pton(),  
  getmxrr(), checkdnsrr(), dns_get_record(), linkinfo(), readlink(),  
  symlink(), link(), fnmatch(), stream_socket_pair(), time_nanosleep(),  
  time_sleep_until(), and socket_create_pair(). 
   
- Crypt supports now all available algorithms on Windows (blowfish included).b. Syntax additions
   
- Improved portability of stat(), touch(), filemtime(), filesize() and related  - Traits:
  functions (100% portable for the available data).      trait HelloWorld {
           public function sayHello() {
               echo 'Hello World!';
           }
       }
   
- It is now possible to create hard links on Windows using the link() function,      class CanIGetHello {
  and symbolic links using the symlink() function. Hard links are available          use HelloWorld;
  as of Windows 2000 and symbolic links as of Windows Vista.      }
   
- The PDO_OCI php_pdo_oci8.dll library (for use with Oracle version 8 client      $hello = new CanIGetHello();
  libraries) is no longer being built. Instead, use php_pdo_oci.dll (note no      $hello->sayHello();
  '8') with Oracle 10 or 11 client libraries. Connection to other database 
  versions is still supported. 
   
- For the OCI8 extension, a new library php_oci8_11g.dll is available in  - Function call result array access, e.g.:
  addition to php_oci8.dll. Only one can be enabled at any time. Use      foo()[0]
  php_oci8.dll with Oracle 10.2 client libraries. Use php_oci8_11g.dll with      $foo->bar()[0]
  Oracle 11 client libraries. Connection to other database versions is still 
  supported. 
   
- Firebird and SNMP support are no longer available on Windows. Firebird support  - Callable typehint indicating argument must be callable:
  may be reintroduced in the future.      function foo(callable $do) {
       }
       foo("strcmp");
       foo(function() {});
       $o = new ArrayObject();
       foo(array($o, "count"));
   
=====================  - Short array syntax:
11.1 New in PHP 5.3.4      $a = [1, 2, 3, 4];
=====================      $a = ['one' => 1, 'two' => 2, 'three' => 3, 'four' => 4];
       $a = ['one' => 1, 2, 'three' => 3, 4];
   
- open_basedir supports now symbolic links (checks the target).  - Binary number format:
- is_link and SplFileInfo symbolic links related method are now fully supported      0b00100 0b010101
  (on Windows Vista or later). 
   
===================  - Chained string array offsets now work.
12. New in PHP 5.3:      $a = "abc";
===================      echo $a[0][0];
   
     a. New libraries  - Anonymous functions now support using $this and class scope.
     Anonymous function can be declared as "static" to ignore the scope.
   
       - mysqlnd is a new core library shipped with PHP. It is a PHP-specific  - Class::{expr}() syntax is now supported:
         replacement for libmysql and is recommended for all installations for      class A {
         increased performance.          static function foo() {
               echo "Hello world!\n";
           }
       }
       $x = "f";
       $y = "o";
       A::{$x.$y.$y}();
   
     b. New extensions  - Class member access on instantiation:
       (new foo)->method()
       (new foo)->property
       (new foo)[0]
   
        - enchant  
        - fileinfo (replaces mime_magic)  
        - intl  
        - Phar  
        - SQLite3  
   
     c. New stream wrappersc. New functions
   
       - glob:// stream wrapper  - Core:
       - phar:// stream wrapper for accessing phar archives    - get_declared_traits()
     - getimagesizefromstring()
     - hex2bin()
     - header_register_callback()
     - http_response_code()
     - stream_set_chunk_size()
     - socket_import_stream()
     - trait_exists()
   
     d. New stream filters  - Intl:
     - transliterator_create()
     - transliterator_create_from_rules()
     - transliterator_create_inverse()
     - transliterator_get_error_code()
     - transliterator_get_error_message()
     - transliterator_list_ids()
     - transliterator_transliterate()
   
       - "dechunk" (HTTP/1.1 chunked transfer encoding)  - LDAP:
       - The bz2.decompress filter now supports concatenation    - ldap_control_paged_result()
     - ldap_control_paged_result_response()
     - ldap_modify_batch (5.4.26)
   
     e. New functions  - libxml:
     - libxml_set_external_entity_loader()
   
       - Core:    gc_collect_cycles()  - mysqli:
                  gc_enabled()    - mysqli_error_list()
                  gc_enable()    - mysqli_stmt_error_list()
                  gc_disable() 
                  class_alias() 
                  get_called_class() 
                  forward_static_call() 
                  forward_static_call_array() 
                  str_getcsv() 
                  quoted_printable_encode() 
                  lcfirst() 
       - Array:   array_replace() 
                  array_replace_recursive() 
       - Date:    date_add() 
                  date_sub() 
                  date_diff() 
                  date_parse_from_format() 
                  date_create_from_format() 
                  date_get_last_errors() 
                  timezone_version_get() 
       - INI:     parse_ini_string() 
       - GMP:     gmp_testbit() 
       - Hash:    hash_copy() 
       - IMAP:    imap_gc() 
                  imap_utf8_to_mutf7() 
                  imap_mutf7_to_utf8() 
       - JSON:    json_last_error() 
       - libxml:  libxml_disable_entity_loader 
       - MySQLi:  mysqli_fetch_all() 
                  mysqli_get_connection_stats() 
                  mysqli_poll() 
                  mysqli_reap_async_query() 
       - Network: gethostname() 
                  header_remove() 
       - OpenSSL: openssl_random_pseudo_bytes() 
       - PCNTL:   pcntl_signal_dispatch() 
                  pcntl_sigprocmask() 
                  pcntl_sigwaitinfo() 
                  pcntl_sigtimedwait() 
       - PCRE:    preg_filter() 
       - SHM:     msg_queue_exists() 
                  shm_has_var() 
       - Streams: stream_supports_lock() 
                  stream_context_set_default() 
                  stream_context_get_params() 
       - Userspace stream wrappers: 
                  stream_cast() 
                  stream_set_options() 
   
     f. New global constants  - pgsql
     - pg_escape_identifier() (5.4.4)
     - pg_escape_literal() (5.4.4)
   
       - Core:    E_DEPRECATED  - Session:
                  E_USER_DEPRECATED    - session_register_shutdown()
                  __DIR__    - session_status()
                  __NAMESPACE__ 
                  PHP_MAXPATHLEN 
                  PHP_WINDOWS_VERSION_MAJOR 
                  PHP_WINDOWS_VERSION_MINOR 
                  PHP_WINDOWS_VERSION_BUILD 
                  PHP_WINDOWS_VERSION_PLATFORM 
                  PHP_WINDOWS_VERSION_SP_MAJOR 
                  PHP_WINDOWS_VERSION_SP_MINOR 
                  PHP_WINDOWS_VERSION_SUITEMASK 
                  PHP_WINDOWS_VERSION_PRODUCTTYPE 
                  PHP_WINDOWS_NT_DOMAIN_CONTROLLER 
                  PHP_WINDOWS_NT_SERVER 
                  PHP_WINDOWS_NT_WORKSTATION 
       - INI:     INI_SCANNER_NORMAL 
                  INI_SCANNER_RAW 
       - cURL     CURLOPT_PROGRESSFUNCTION 
       - GD:      IMG_FILTER_PIXELATE 
       - JSON:    JSON_ERROR_NONE 
                  JSON_ERROR_DEPTH 
                  JSON_ERROR_STATE_MISMATCH 
                  JSON_ERROR_CTRL_CHAR 
                  JSON_ERROR_SYNTAX 
                  JSON_FORCE_OBJECT 
                  JSON_HEX_TAG 
                  JSON_HEX_AMP 
                  JSON_HEX_APOS 
                  JSON_HEX_QUOT 
       - LDAP:    LDAP_OPT_NETWORK_TIMEOUT 
       - libxml:  LIBXML_LOADED_VERSION  
       - PCRE:    PREG_BAD_UTF8_OFFSET_ERROR 
       - PCNTL:   SIG_BLOCK 
                  SIG_UNBLOCK 
                  SIG_SETMASK 
                  SI_USER 
                  SI_NOINFO 
                  SI_KERNEL 
                  SI_QUEUE 
                  SI_TIMER 
                  SI_MESGQ 
                  SI_ASYNCIO 
                  SI_SIGIO 
                  SI_TKILL 
                  CLD_EXITED 
                  CLD_KILLED 
                  CLD_DUMPED 
                  CLD_TRAPPED 
                  CLD_STOPPED 
                  CLD_CONTINUED 
                  TRAP_BRKPT 
                  TRAP_TRACE 
                  POLL_IN 
                  POLL_OUT 
                  POLL_MSG 
                  POLL_ERR 
                  POLL_PRI 
                  POLL_HUP 
                  ILL_ILLOPC 
                  ILL_ILLOPN 
                  ILL_ILLADR 
                  ILL_ILLTRP 
                  ILL_PRVOPC 
                  ILL_PRVREG 
                  ILL_COPROC 
                  ILL_BADSTK 
                  FPE_INTDIV 
                  FPE_INTOVF 
                  FPE_FLTDIV 
                  FPE_FLTOVF 
                  FPE_FLTUND 
                  FPE_FLTRES 
                  FPE_FLTINV 
                  FPE_FLTSUB 
                  SEGV_MAPERR 
                  SEGV_ACCERR 
                  BUS_ADRALN 
                  BUS_ADRERR 
                  BUS_OBJERR 
   
     g. New classes  - SPL
     - class_uses()
   
       - Date:    DateInterval  - SplFixedArray
                  DatePeriod    - SplFixedArray::__wakeup() (5.4.18)
       - Phar:    Phar 
                  PharData 
                  PharFileInfo 
                  PharException 
       - SPL      SplDoublyLinkedList 
                  SplStack 
                  SplQueue 
                  SplHeap 
                  SplMinHeap 
                  SplMaxHeap 
                  SplPriorityQueue 
                  SplFixedArray 
                  FilesystemIterator 
                  GlobIterator 
                  RecursiveTreeIterator 
                  MultipleIterator 
   
     h. New methodsd. New global constants
   
       - Date:         DateTime::diff()  - CURLOPT_MAX_RECV_SPEED_LARGE
                       DateTime::add()  - CURLOPT_MAX_SEND_SPEED_LARGE
                       DateTime::sub()  - ENT_DISALLOWED
                       DateTime::createFromFormat()  - ENT_HTML401
                       DateTime::getLastErrors()  - ENT_HTML5
       - DOM:          DOMNode::getLineNo()  - ENT_SUBSTITUTE
       - Exception:    Exception::getPrevious()  - ENT_XHTML
       - PDO_Firebird: PDO::setAttribute()  - ENT_XML1
       - Reflection:   ReflectionProperty::setAccessible()  - IPPROTO_IP
                       ReflectionFunction::inNamespace()  - IPPROTO_IPV6
                       ReflectionFunction::getNamespaceName()  - IPV6_MULTICAST_HOPS
                       ReflectionFunction::getShortName()  - IPV6_MULTICAST_IF
                       ReflectionClass::inNamespace()  - IPV6_MULTICAST_LOOP
                       ReflectionClass::getNamespaceName()  - IP_MULTICAST_IF
                       ReflectionClass::getShortName()  - IP_MULTICAST_LOOP
       - SPL:          DirectoryIterator::getExtension()  - IP_MULTICAST_TTL
                       SplFileInfo::getExtension()  - JSON_BIGINT_AS_STRING
                       SplObjectStorage::addAll()  - JSON_OBJECT_AS_ARRAY
                       SplObjectStorage::removeAll()  - JSON_PRETTY_PRINT
       - XSL:          XSLTProcessor::setProfiling()  - JSON_UNESCAPED_SLASHES
   - 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
   - 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
   - U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR
   - IDNA_CHECK_BIDI
   - IDNA_CHECK_CONTEXTJ
   - IDNA_NONTRANSITIONAL_TO_ASCII
   - IDNA_NONTRANSITIONAL_TO_UNICODE
   - INTL_IDNA_VARIANT_2003
   - INTL_IDNA_VARIANT_UTS46
   - IDNA_ERROR_EMPTY_LABEL
   - IDNA_ERROR_LABEL_TOO_LONG
   - IDNA_ERROR_DOMAIN_NAME_TOO_LONG
   - IDNA_ERROR_LEADING_HYPHEN
   - IDNA_ERROR_TRAILING_HYPHEN
   - IDNA_ERROR_HYPHEN_3_4
   - IDNA_ERROR_LEADING_COMBINING_MARK
   - IDNA_ERROR_DISALLOWED
   - IDNA_ERROR_PUNYCODE
   - IDNA_ERROR_LABEL_HAS_DOT
   - IDNA_ERROR_INVALID_ACE_LABEL
   - IDNA_ERROR_BIDI
   - IDNA_ERROR_CONTEXTJ
   
     i. New class constantse. New classes
   
       - PDO_Firebird: PDO::FB_ATTR_DATE_FORMAT  - Reflection:
                       PDO::FB_ATTR_TIME_FORMAT    - ReflectionZendExtension
                       PDO::FB_ATTR_TIMESTAMP_FORMAT
   - Intl:
     - Transliterator
     - Spoofchecker
 
   - JSON:
     - JsonSerializable
 
   - Session:
     - SessionHandler
 
   - SNMP:
     - SNMP
 
   - SPL:
     - CallbackFilterIterator
     - RecursiveCallbackFilterIterator
 
 f. New methods
 
   - Closure:
     - Closure::bind()
     - Closure::bindTo()
 
   - Reflection:
     - ReflectionClass::getTraitAliases()
     - ReflectionClass::getTraitNames()
     - ReflectionClass::getTraits()
     - ReflectionClass::isCloneable()
     - 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()
 
   - PDO_DBLIB:
     - PDO::newRowset()
 
   - SPL:
     - DirectoryIterator::getExtension()
     - RegexIterator::getRegex()
     - SplDoublyLinkedList::serialize()
     - SplDoublyLinkedList::unserialize()
     - SplFileInfo::getExtension()
     - SplFileObject::fputcsv()
     - SplObjectStorage::getHash()
     - SplQueue::serialize
     - SplQueue::unserialize
     - SplStack::serialize
     - SplStack::unserialize
     - SplTempFileObject::fputcsv
 
   - XSLT:
     - XsltProcessor::setSecurityPrefs()
     - XsltProcessor::getSecurityPrefs()
 
   - Zlib:
     - zlib_decode()
     - zlib_encode()
 
 g. New Hash algorithms
 
   - fnv132
   - fnv164
   - joaat

Removed from v.1.1  
changed lines
  Added in v.1.1.1.5


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>