home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 2004 July / DPPCPRO0704.ISO / Download / PHP 5 / php-5.0.0RC1-Win32.exe / news.txt < prev    next >
Encoding:
Text File  |  2004-03-18  |  22.3 KB  |  420 lines

  1. PHP                                                                        NEWS
  2. |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  3. 18 March 2004, PHP 5 Release Candidate 1
  4. - Fixed numerous bugs with the just-in-time auto-global initialization, that
  5.   could cause $_SERVER, $argv/$argc and other variables not to work properly.
  6.   (Zeev)
  7. - Fixed data corruption with constant assignments to object properties. (Zeev)
  8. - Changed __toString() to be called automatically only with print and echo
  9.   statements. (Andi)
  10. - Replaced the exec_finished hook by the zend_post_deactive hook for
  11.   extensions. The new hook will be run after the symbol table and destructors
  12.   are run. (Derick)
  13. - Fixed possible crash when internal get_method() is not defined. (Andi)
  14. - Fixed calling methods using call_user_func() in conjunction with 
  15.   the array("Class","Method") syntax to use the scope of the PHP user function.
  16.   (Dmitry)
  17. - Fixed php-cgi to not ignore command-line switches when run in a web context.
  18.   This fixes our test cases allowing INI with GET sections to work. (Rasmus)
  19. - Fixed getopt() so it works without $_SERVER. (Rasmus, bfrance)
  20. - Added support for PHP 4 style object comparisons which is enabled in
  21.   ze1_compatiblity_mode. (Andi)
  22. - Added support for PHP 4 style object conversion to long, double, and boolean
  23.   values which is enabled in ze1_compatibility_mode. (Andi, Stas)
  24. - Allow object oriented extensions to overload comparison functions and other
  25.   operations. Solves problems using SimpleXML values. (Andi, Zeev)
  26. - Fixed crash when accessing a class constant with a value which in turn is
  27.   also a constant. (Dmitry)
  28. - Fixed object's truth value conversion. It is always true unless
  29.   ze1_compatibility_mode is on in which it behaves like in PHP 4. (Stas)
  30. - Improved out of memory handling in new memory manager. (Stas)
  31. - Fixed crash when an object references itself during destructor call. (Andi)
  32. - Fixed crash in foreach() when iterating over object properties or a method's
  33.   return values. (Andi)
  34. - Fixed crash when an exception is thrown in a destructor. Such exceptions are
  35.   now ignored as destruction happens out of context at no definite time. (Andi)
  36. - Fixed crashes in exception handling. (Dmitry, Andi)
  37. - Changed prototype checks so that they aren't done on constructors. (Andi)
  38. - Changed prototype checks to output an E_STRICT message instead of
  39.   an E_COMPILE_ERROR. (Andi)
  40. - Changed Iterator::has_more() to Iterator::valid(). (Marcus)
  41. - Upgraded bundled oniguruma library to version 2.2.2. (Rui, Moriyoshi)
  42. - Added mb_list_encoding() to return an array with all mbstring supported
  43.   encodings. (Derick)
  44. - Added support for more ISO8601 datetime formats in strtotime(). (Moriyoshi)
  45.   . Timezone specifier (ex. "20040301T02:00:00+19:00")
  46.   . Week specifier (ex. "1997W021")
  47. - Renamed php.ini option "zend2.implicit_clone" to 
  48.   "zend.ze1_compatibility_mode" as it doesn't only affect implicit cloning.
  49.   (Andi, Zeev)
  50. - Methods that override parent methods are now subject to prototype checking,
  51.   and have to be compatible with the method they're overriding - this check is 
  52.   disabled in compatibility mode. (Andi, Zeev)
  53. - Fixed crash in php_ini_scanned_files() when no additional INI files were
  54.   actually parsed. (Jon)
  55. - Fixed bug in gdImageFilledRectangle in the bundled GD library, that required
  56.   x1 < x2 and y1 < y2 for coordinates. (Derick)
  57. - Fixed crash with foreach() and temporary objects($obj->method()->a ...) where
  58.   method returns a non-referenced object. (Andi, Zeev)
  59. - Fixed problem preventing startup errors from being displayed. (Marcus)
  60. - Fixed start-up problem if both SPL and SimpleXML were enabled. The double
  61.   initialization of apache 1.3 was causing problems here. (Marcus, Derick)
  62. - Fixed bug #27606 (Expression must be a modifiable lvalue compiler error).
  63.   (Derick)
  64. - Fixed bug #27597 (pg_fetch_array not returning false). (Marcus)
  65. - Fixed bug #27586 (ArrayObject::getIterator crashes with [] assignment). 
  66.   (Marcus)
  67. - Fixed bug #27537 (Objects pointing to each other segfaults). (Dmitry)
  68. - Fixed bug #27535 (Problem with object freeing mechanism). (Dmitry)
  69. - Fixed bug #27504 (Visibility bugs in call_user_function()). (Dmitry)
  70. - Fixed bug #27457 (handling of numeric indexes in strtr()). (Dmitry)
  71. - Fixed bug #27338 (memory leak inside tsrm_virtual_cwd.c on win32). (Ilia)
  72. - Fixed bug #27291 (get_browser matches browscap.ini patterns incorrectly). 
  73.   (Jay)
  74. - Fixed bug #27287 (wddx segfaults during deserialization). (Moriyoshi)
  75. - Fixed bug #27263 (session extension crashes when unserializing referenced
  76.   values / objects). (Moriyoshi)
  77. - Fixed bug #27237 (Working with simplexml crashes apache2). (Rob)
  78. - Fixed bug #27227 (Mixed case class names causes Fatal Error in Constructor 
  79.   call). (Marcus)
  80. - Fixed bug #27125 (strval() doesn't work for objects with __toString()).
  81.   (Marcus)
  82. - Fixed bug #27123 (Fix crash caused by bug in get_object_vars()). (Andi)
  83. - Fixed bug #26677 (mbstring compile errors with IRIX compiler).
  84.   (K.Kosako <kosako at sofnec dot co dot jp>, Rui, Moriyoshi)
  85. - Fixed bug #26206 (register_long_arrays breaks superglobals). (Zeev)
  86. - Fixed bug #25724 (argv and argc not defined). (Zeev)
  87.  
  88. 12 Feb 2004, PHP 5 Beta 4
  89. - Changed exceptions so that they must now inherit from the built-in Exception
  90.   class. This allows for a general catch(Exception $e) statement to catch all
  91.   exceptions. (Andi, Zeev)
  92. - Added SPL extension. (Marcus, Derick)
  93. - Added checks for invalid characters in a cookie name and cookie data 
  94.   into set[raw]cookie(). (Brian)
  95. - Added support for ++ and += (and similar) to SimpleXML. (Andi, Zeev)
  96. - Added infrastructure for ++ and += (and similar) to object overloading
  97.   modules. (Andi, Zeev)
  98. - Added error message when trying to re-assign to $this variable. (Zeev, Andi)
  99. - Added support for an interface to extend another interface. (Zeev)
  100. - Added new pspell functions: (Brian)
  101.   . pspell_config_dict_dir()
  102.   . pspell_config_data_dir()
  103. - Added new Interbase functions: (Ard)
  104.   . ibase_service_attach() and ibase_service_detach().
  105.   . ibase_backup() and ibase_restore().
  106.   . ibase_maintain_db(), ibase_db_info() and ibase_server_info().
  107. - Added context option "http"/"request_fulluri" to send entire URI in request
  108.   which is required format for some proxies. (Sara)
  109. - Added optional third parameter 'strict' to array_keys(). (Andrey)
  110. - Added stream_lock() method to userspace streams interface. (Hartmut, Wez)
  111. - Added xsltprocessor->registerPHPFunctions(). (Christian)
  112. - Readded support for using classes before they are declared according to
  113.   the behavior in PHP 4. This won't work with classes who are using PHP 5
  114.   features such as interfaces. (Zeev, Andi)
  115. - Completely overhauled SimpleXML extension. (Marcus, Rob, Sterling)
  116. - Upgraded bundled SQLite library to version 2.8.11. (Ilia, Wez)
  117. - Improved destructor implementation to always call destructors on clean
  118.   shutdown. An order of destruction is not guaranteed. (Zeev, Andi)
  119. - Redesigned exception support. This fixes many bugs in the previous design
  120.   such as nested try's and problems with overloaded extensions. (Zeev, Andi)
  121. - Redesigned clone by adding a clone keyword (clone $obj) and copying all
  122.   properties before __clone() is called. Also allows calling parent __clone
  123.   function by using parent::__clone(). (Zeev, Andi)
  124. - Fixed interfaces to check for function return-by-reference equality when
  125.   inheriting and implementing interfaces. (Andi, Zeev)
  126. - Fixed foreach() to respect property visibility. (Marcus)
  127. - Fixed problem with parse error in include() file not stopping PHP's
  128.   execution. (Ilia)
  129. - Fixed var_export() to show public, protected and private modifiers properly.
  130.   (Derick)
  131. - Fixed problems with longlong values in mysqli. (Georg)
  132. - Fixed class name case preserving of user defined classes. (Marcus)
  133. - Fixed bug #27145 (Unmangle private/protected property names before printing
  134.   them inside error messages). (Ilia)
  135. - Fixed bug #27103 (preg_split('//u') incorrectly splits UTF-8 strings into
  136.   octets). (Moriyoshi)
  137. - Fixed bug #27042 (SPL: SeekableIterator seek() broken). (Marcus)
  138. - Fixed bug #27008 (Every class method can be called as static). (Marcus)
  139. - Fixed bug #26938 (exec() has problems reading long lines).
  140.   (Ilia, runekl[at]opoint[dot]com
  141. - Fixed bug #26947 (ext/dom: Crash when using DomDocument::getElementById()).
  142.   (Christian)
  143. - Fixed bug #26911 (crash in sqlite extension when fetching data from empty
  144.   queries). (Ilia)
  145. - Fixed bug #26844 (ext/mime_magic: magic file validation broken). (Jani)
  146. - Fixed bug #26819 (http_build_query() crashes on NULL output). (Ilia)
  147. - Fixed bug #26817 (http_build_query() does not handle private & protected
  148.   object properties correctly). (Ilia)
  149. - Fixed bug #26815 (foreach of (DOM) childnodes crashes when Xinclude is used).
  150.   (Rob)
  151. - Fixed bug #26796 (SQLite causes crashes with other extensions *connect()
  152.   calls). (Marcus)
  153. - Fixed bug #26762 (unserialize() produces lowercase classnames). (Marcus)
  154. - Fixed bug #26743 (getElementsByTagName doesn't work properly). (Rob)
  155. - Fixed bug #26736 (__autoload not invoked for parent classes). (Marcus)
  156. - Fixed bug #26723 (domNode::appendChild() changes child node namespace). (Rob)
  157. - Fixed bug #26697 (calling class_exists() on a nonexistent class in __autoload
  158.   results in segfault). (Marcus)
  159. - Fixed bug #26696 (string index in a switch() crashes with multiple matches).
  160.   (Andi)
  161. - Fixed bug #26695 (Reflection API does not recognize mixed-case class hints).
  162.   (Marcus)
  163. - Fixed bug #26690 (make xsltProcessor->transformToUri use streams wrappers).
  164.   (Ilia)
  165. - Fixed bug #26680 (Added version check in mysqli_report_index). (Georg)
  166. - Fixed bug #26675 (Segfault on ArrayAccess use). (Marcus)
  167. - Fixed bug #26640 (__autoload() not invoked by Reflection classes). (Jani)
  168. - Fixed bug #26543 (call_user_func() broken for self, parent). (Stanislav)
  169. - Fixed bug #26077 (memory leak when new() result is not assigned and no
  170.   constructor is defined). (Stanislav)
  171. - Fixed bug #26065 (Crash when nesting classes). (Marcus)
  172. - Fixed bug #25816 (disallow arrays in class constants). (Stanislav)
  173. - Fixed bug #25329 (sqlite_create_function with method and reference to $this).
  174.   (Marcus)
  175. - Fixed bug #25038 (call_user_func() issues a warning if function throws an
  176.   exception). (Marcus)
  177. - Fixed bug #24608 (__set not triggered when overloading with array).
  178.   (Stanislav)
  179. - Fixed bug #24243 (enabling browscap causes segfault). (Wez)
  180.  
  181. 21 Dec 2003, PHP 5 Beta 3
  182. - Bundled new tidy extension (John, Wez)
  183. - Upgraded PCRE library to version 4.5. (Andrei)
  184. - Dropped Windows 95 support. (Andi)
  185. - Moved extensions to PECL:
  186.   . ext/crack (Jani, Derick)
  187.   . ext/db (Jani, Derick)
  188.   . ext/mcal (Jani, Derick)
  189.   . ext/qtdom (Jani, Derick)
  190.   . ext/notes (Wez)
  191. - Added 'c' modifier to date() which returns the date in the ISO 8601 format.
  192.   (Derick, Manuzhai)
  193. - Added an optional parameter to microtime() to get the time as float. (Andrey)
  194. - Added MacRoman encoding support to htmlentities(). (Derick, Marcus Bointon)
  195. - Added possibility to call PHP functions as XSLT-functions. (Christian)
  196. - Added possibility to prevent PHP from registering variables when input filter
  197.   support is used. (Derick)
  198. - Added iconv stream filter (convert.iconv.*). (Moriyoshi)
  199. - Added EXSLT support in ext/xsl. (Christian)
  200. - Added qdbm handler for dba extension. (mg at iceni dot pl, Marcus)
  201. - Added new functions:
  202.   . dba_key_split() to split inifile keys in an array. (Marcus)
  203.   . time_nanosleep() signal safe sleep (Magnus, Ilia)
  204.   . headers_list(). (Sara)
  205.   . php_strip_whitespace(). strip whitespace & comments from a script. (Ilia)
  206.   . php_check_syntax(). check php script for parse errors. (Ilia)
  207.   . image_type_to_extension(). return extension based on image type. (Ilia)
  208.   . stream_socket_sendto() and stream_socket_recvfrom(). (Wez)
  209.   . iconv_mime_decode_headers(). (Moriyoshi)
  210.   . get_declared_interfaces(). (Andrey, Marcus)
  211.   . sqlite_fetch_column_types(). (Ilia)
  212. - Added proxy support to http:// wrapper. (Sara)
  213. - Added rename(), rmdir() and mkdir() support to userstreams. (Sara)
  214. - Added rename(), rmdir() and mkdir() support to ftp:// wrapper. (Sara)
  215. - Changed rename(), rmdir() and mkdir() to be routed via streams API. (Sara)
  216. - Changed stat() and family to be routed via streams API. (Sara)
  217. - Fixed include_once() / require_once() on Windows to honor case-insensitivity
  218.   of files. (Andi)
  219. - Fixed get_declared_classes() to return only classes. (Andrey, Marcus)
  220. - Fixed __autoload() to preserve case of the passed class name. (Andi)
  221. - Fixed bug #26615 () (runekl at opoint dot com, Derick)
  222. - Fixed bug #26591 ("__autoload threw an exception" during an uncaught).
  223.   (Marcus)
  224. - Fixed bug #26534 (stream_get_meta_data() -> Access Violation). (Wez)
  225. - Fixed bug #26528 (HTML entities are not being decoded by
  226.   xml_parse()/xml_parse_into_struct()). (Ilia)
  227. - Fixed bug #26182 (Object properties created redundantly). (Andi)
  228. - Fixed bug #26156 (REPLACE_ZVAL_VALUE works on uninit stack-based zvals).
  229.   (Moriyoshi)
  230. - Fixed bug #26083 (Non-working write support in ext/dom). (Ilia)
  231. - Fixed bug #26072 (--disable-libxml does not work). (Jani)
  232. - Fixed bug #26001 (serialize crashes when accessing an overloaded object that
  233.   has no properties (NULL hashtable)). (Wez)
  234. - Fixed bug #25664 (COM crashes when calling a Delphi implementations of
  235.   ITypeInfo). (Wez)
  236. - Fixed bug #24837 (Incorrect behaviour of PPP using foreach). (Marcus)
  237. - Fixed bug #24693 (Allow session.use_trans_sid to be enabled/disabled from
  238.   inside the script). (Ilia)
  239. - Fixed bug #24394 (Serializing cross-referenced objects causes segfault).
  240.   (Moriyoshi)
  241.  
  242. 30 Oct 2003, PHP 5 Beta 2
  243. - Lots and lots of changes in the Zend Engine 2 since beta 1:
  244.   . Added Iterators
  245.   . Improved memory manager
  246.   . Added Reflection API
  247.   . Removed the not so working namespaces support
  248.   . Removed support for expressions within constant declarations.
  249.   . You can read about most changes in ZEND_CHANGES under the Zend directory.
  250. - Improved the DBX extension: (Marc)
  251.   . Added DBX_RESULT_UNBUFFERED flag for dbx_query().
  252.   . Added dbx_fetch_row()
  253.   . Added SQLite support.
  254. - Improved the Interbase extension: (Ard Biesheuvel)
  255.   . Added support for multiple databases into ibase_trans()
  256.   . Added support for CREATE DATABASE, SET TRANSACTION and EXECUTE PROCEDURE
  257.     statements into ibase_query()
  258.   . Added ability to bind PHP arrays to native Interbase arrays
  259.   . Added ibase_commit_ret() and ibase_rollback_ret()
  260.   . Added ibase_drop_db()
  261.   . Added ibase_gen_id()
  262.   . Added ibase_name_result()
  263.   . Added ibase_errcode()
  264.   . Added ibase_affected_rows() and ibase_num_params()
  265.   . Added ibase_param_info()
  266.   . Added ibase_wait_event()
  267.   . Added ibase_set_event_handler() and ibase_free_event_handler()
  268. - Added new COM extension with integrated .Net support. (Wez)
  269. - Added new functions:
  270.   . setrawcookie(). (Brian)
  271.   . pg_version(). (Marcus)
  272.   . dbase_get_header_info(). (Zak)
  273.   . snmp_read_mib(). (Jani)
  274.   . http_build_query(). (Sara)
  275.   . ftp_alloc(). (Sara)
  276.   . array_udiff(). (Andrey)
  277.   . array_udiff_assoc(). (Andrey)
  278.   . array_udiff_uassoc(). (Andrey)
  279.   . array_diff_uassoc(). (Andrey)
  280.   . convert_uuencode(). (Ilia)
  281.   . convert_uudecode(). (Ilia)
  282.   . substr_compare(). (Ilia)
  283.   . pcntl_wait(). (GeorgeS)
  284. - Added "resume_pos" context option to "ftp://" wrapper. (Sara)
  285. - Added optional parameter to OCIWriteTemporaryLob() to specify the type of LOB
  286.   (Patch by Novicky Marek <novicky@aarongroup.cz>). (Thies)
  287. - Added reflection API. (Andrei, George, Timm)
  288. - Changed length parameter in fgetcsv() to be optional. (Moriyoshi)
  289. - Fixed IPv6 support in MacOSX Panther. (Dan, Marko)
  290. - Fixed fgetcsv() to correctly handle international (non-ascii) characters.
  291.   (Moriyoshi)
  292. - Fixed support for <![CDATA[]]> fields within XML documents in ext/xml.
  293.   (Sterling)
  294. - Fixed visibility of __construct and __clone. (Marcus)
  295. - Fixed bug #25756 (SimpleXML's validate_schema_file() broken). (Moriyoshi)
  296. - Fixed bug #25581 (getimagesize() returns incorrect values on bitmap (os2)
  297.   files). (Marcus)
  298. - Fixed bug #25494 (array_merge*() allows non-arrays as argument). (Jay)
  299. - Fixed bug #24766 (strange result array from unpack()). (Moriyoshi)
  300. - Fixed bug #24729 ($obj = new $className; causes crash when $className is not
  301.   set). (Marcus)
  302. - Fixed bug #24565 (cannot read array elements received via $_REQUEST). (Zeev)
  303. - Fixed bug #24445 (get_parent_class() returns different values).
  304.   (Sterling, Stanislav)
  305. - Fixed bug #24403 (preg_replace() problem: Using $this when not in object
  306.   context). (Zeev)
  307. - Fixed bug #24399 (PEAR DB isError crash [instanceof_function fault?]).
  308.   (Sterling, Marcus)
  309. - Fixed bug #24396 (foreach ($k=>$v), the key $k is missing). (Zeev)
  310. - Fixed bug #24279 (__get() crash when no value is returned). (Ilia)
  311. - Fixed bug #22367 (undefined variable has a value). (Zeev)
  312. - Fixed bug #19859 (allow fast_call_user_function to support __call).
  313.   (Stanislav)
  314. - Fixed bug #17997 (Warning when switch() and reference are combined). (Zeev)
  315. - Fixed bug #17988 (strtotime failed to parse postgresql timestamp). (Derick)
  316.  
  317. 29 Jun 2003, PHP 5 Beta 1
  318. - Removed the bundled MySQL client library. (Sterling)
  319. - Switched to Zend Engine 2, which includes numerous engine level improvements.
  320.   A full list is available at http://www.php.net/zend-engine-2.php.
  321. - Added SQLite (http://www.hwaci.com/sw/sqlite/) extension: (Wez, Marcus, Tal)
  322.   . Includes bundled SQLite library
  323.   . Enabled by default
  324. - Completely Overhauled XML support:
  325.   . New simplexml extension. (Sterling)
  326.   . New DOM extension. (Rob, Chregu, Marcus)
  327.   . New XSL extension. (Chregu, Rob)
  328.   . Moved the old DOM-XML and XSLT extensions to PECL. (James, Sterling)
  329.   . ext/xml can now use either libxml2 or expat to parse XML. (Sterling)
  330.   . Removed bundled expat library. (Jani)
  331. - New php.ini options:
  332.   . "session.hash_function" and "session.hash_bits_per_character". (Sascha)
  333.   . "mail.force_extra_paramaters". (Derick)
  334.   . "register_long_arrays". (Zeev)
  335. - Improved the speed of internal functions that use callbacks by 40% due to a
  336.   new internal fast_call_user_function() function. (Sterling)
  337. - Improved the streams support: (Wez)
  338.   . Improved performance of readfile(), fpassthru() and some internal streams
  339.     operations under Win32.
  340.   . stream_socket_client() - similar to fsockopen(), but more powerful.
  341.   . stream_socket_server() - Creates a server socket.
  342.   . stream_socket_accept() - Accept a client connection.
  343.   . stream_socket_get_name() - Get local or remote name of socket.
  344.   . stream_copy_to_stream()
  345.   . stream_get_line() - Reads either the specified number of bytes or until
  346.     the ending string is found. (Ilia)
  347.   . Added context property to userspace streams object. (Sara)
  348.   . Added generic crypto interface for streams.
  349.     (supports dynamic loading of OpenSSL)
  350.   . Added lightweight streaming input abstraction to the Zend Engine scanners
  351.     to provide uniform support for include()'ing data from PHP streams across
  352.     all platforms.
  353.   . Added 'string.base64' stream filter. (Moriyoshi)
  354.   . Renamed stream_register_wrapper() to stream_wrapper_register(). (Derick)
  355. - Improved the GD extension: (Pierre-Alain Joye, Ilia)
  356.    . imagefilter() - Apply different filters to image.
  357.     (Only available with bundled GD library)
  358.    . Antialiased drawing support:
  359.      o imageantialias() - (de)active antialias
  360.      o imageline() and imagepolygon() antialias support
  361. - Changed the length parameter in fgetss() to be optional. (Moriyoshi)
  362. - Changed ini parser to allow for handling of quoted multi-line values. (Ilia)
  363. - Changed get_extension_funcs() to return list of the built-in Zend Engine
  364.   functions if "zend" is specified as the module name. (Ilia)
  365. - Changed array_search() to accept also objects as a needle. (Moriyoshi)
  366. - Changed ext/mcrypt to require libmcrypt version 2.5.6 or greater. (Derick)
  367. - Changed uniqid() parameters to be optional and allow any prefix length.
  368.   (Marcus)
  369. - Added new iconv functions. (Moriyoshi)
  370.   . iconv_strlen()
  371.   . iconv_substr()
  372.   . iconv_strpos()
  373.   . iconv_strrpos()
  374.   . iconv_mime_decode()
  375.   . iconv_mime_encode()
  376. - Added misc. new functions:
  377.   . ldap_sasl_bind(). (peter_c60@hotmail.com, Jani)
  378.   . imap_getacl(). (Dan, Holger Burbach)
  379.   . file_put_contents(). (Sterling)
  380.   . proc_nice() - Changes priority of the current process. (Ilia)
  381.   . pcntl_getpriority() and pcntl_setpriority(). (Ilia)
  382.   . idate(), date_sunrise() and date_sunset(). (Moshe Doron)
  383.   . strpbrk() - Searches a string for a list of characters. (Ilia)
  384.   . get_headers() - Returns headers sent by the server of the specified URL.
  385.     (Ilia)
  386.   . str_split() - Breaks down a string into an array of elements based on
  387.     length. (Ilia)
  388.   . array_walk_recursive(). (Ilia)
  389.   . array_combine(). (Andrey)
  390. - Added optional parameter to get_browser() to make it return an array. (Jay)
  391. - Added optional parameter to openssl_sign() to specify the hashing algorithm.
  392.   (scott@planetscott.ca, Derick)
  393. - Added optional parameter to sha1(), sha1_file(), md5() and md5_file() which
  394.   makes them return the digest as binary data. (Michael Bretterklieber, Derick)
  395. - Added optional parameter to mkdir() to make directory creation recursive.
  396.   (Ilia)
  397. - Added optional parameter to file() which makes the result array not contain
  398.   the line endings and to skip empty lines. (Ilia)
  399. - Added new range() functionality:
  400.   . Support for float modifier. (Ilia)
  401.   . Detection of numeric values inside strings passed as high & low. (Ilia)
  402.   . Proper handle the situations where high == low. (Ilia)
  403.   . Added an optional step parameter. (Jon)
  404. - Added encoding detection feature for expat XML parser.
  405.   (Adam Dickmeiss, Moriyoshi)
  406. - Added missing multibyte (unicode) support and numeric entity support to
  407.   html_entity_decode(). (Moriyoshi)
  408. - Added IPv6 support to ext/sockets. (Sara)
  409. - Added "ftp://" wrapper support to opendir(), stat() and unlink(). (Sara)
  410. - Added context options 'method', 'header' and 'content' for "http://" fopen
  411.   wrapper. (Sara)
  412. - Added input filter support. See README.input_filter for more info. (Rasmus)
  413. - Added a replace count for str_[i]replace(), see bug #8218. (Sara)
  414. - Fixed is_executable() to be available also on Windows. (Shane)
  415. - Fixed dirname() and strip_tags() to be binary-safe. (Moriyoshi)
  416. - Fixed bug #24098 (crash in pathinfo()). (Ilia)
  417. - Fixed bug #21985 and #22064 (various mb_send_mail() issues). (Moriyoshi)
  418. - Fixed bug #21600 (Assign by reference function call changes variable
  419.   contents). (Zeev)
  420.