php-src / NEWS

Full commit
PHP                                                                        NEWS
?? ??? 200?, Version 5.0.0

?? ??? 2003, PHP 5 Beta 2
- Improved the DBX extension: (Marc)
  . Added DBX_RESULT_UNBUFFERED flag for dbx_query().
  . Added dbx_fetch_row()
  . Added SQLite support.
- Improved the Interbase extension: (Ard Biesheuvel)
  . Added support for multiple databases into ibase_trans()
    statements into ibase_query()
  . Added ibase_commit_ret() and ibase_rollback_ret()
  . Added ibase_drop_db() 
  . Added ibase_gen_id()
  . Added ibase_name_result()
  . Added ibase_errcode() 
  . Added ibase_affected_rows() and ibase_num_params()
  . Added ibase_param_info()
  . Added ibase_wait_event()
  . Added ibase_set_event_handler() and ibase_free_event_handler()
- Added new COM extension with integrated .Net support. (Wez)
- Added new functions:
  . setrawcookie(). (Brian)
  . pg_version(). (Marcus)
  . dbase_get_header_info(). (Zak)
  . snmp_read_mib(). (Jani)
  . http_build_query(). (Sara)
  . ftp_alloc(). (Sara)
  . array_udiff(). (Andrey)
  . array_udiff_assoc(). (Andrey)
  . array_udiff_uassoc(). (Andrey)
  . array_diff_uassoc(). (Andrey)
- Added "resume_pos" context option to "ftp://" wrapper. (Sara)
- Added optional parameter to OCIWriteTemporaryLob() to specify the type of LOB
  (Patch by Novicky Marek <>). (Thies)
- Added reflection API. (Andrei, George, Timm)
- Changed length parameter in fgetcsv() to be optional. (Moriyoshi)
- Fixed fgetcsv() to correctly handle international (non-ascii) characters.
- Fixed support for <![CDATA[]]> fields within XML documents in ext/xml. 
- Fixed visibility of __construct and __clone. (Marcus)
- Fixed bug #25756 (SimpleXML's validate_schema_file() broken). (Moriyoshi)
- Fixed bug #25494 (array_merge*() allows non-arrays as argument). (Jay)
- Fixed bug #24766 (strange result array from unpack()). (Moriyoshi)
- Fixed bug #24729 ($obj = new $className; causes crash when $className is not 
  set). (Marcus)
- Fixed bug #24565 (cannot read array elements received via $_REQUEST). (Zeev)
- Fixed bug #24445 (get_parent_class() returns different values).
  (Sterling, Stanislav)
- Fixed bug #24403 (preg_replace() problem: Using $this when not in object 
  context). (Zeev)
- Fixed bug #24399 (PEAR DB isError crash [instanceof_function fault?]). 
  (Sterling, Marcus)
- Fixed bug #24396 (foreach ($k=>$v), the key $k is missing). (Zeev)
- Fixed bug #24279 (__get() crash when no value is returned). (Ilia)
- Fixed bug #22367 (undefined variable has a value). (Zeev)
- Fixed bug #19859 (allow fast_call_user_function to support __call). 
- Fixed bug #17997 (Warning when switch() and reference are combined). (Zeev)
- Fixed bug #17988 (strtotime failed to parse postgresql timestamp). (Derick)

29 Jun 2003, PHP 5 Beta 1 
- Removed the bundled MySQL client library. (Sterling)
- Switched to Zend Engine 2, which includes numerous engine level improvements.
  A full list is available at
- Added SQLite ( extension: (Wez, Marcus, Tal)
  . Includes bundled SQLite library
  . Enabled by default
- Completely Overhauled XML support:
  . New simplexml extension. (Sterling)
  . New DOM extension. (Rob, Chregu, Marcus)
  . New XSL extension. (Chregu, Rob)
  . Moved the old DOM-XML and XSLT extensions to PECL. (James, Sterling)
  . ext/xml can now use either libxml2 or expat to parse XML. (Sterling)
  . Removed bundled expat library. (Jani)
- New php.ini options:
  . "session.hash_function" and "session.hash_bits_per_character". (Sascha)
  . "mail.force_extra_paramaters". (Derick)
  . "register_long_arrays". (Zeev)
- Improved the speed of internal functions that use callbacks by 40% due to a 
  new internal fast_call_user_function() function. (Sterling)
- Improved the streams support: (Wez)
  . Improved performance of readfile(), fpassthru() and some internal streams
    operations under Win32.
  . stream_socket_client() - similar to fsockopen(), but more powerful. 
  . stream_socket_server() - Creates a server socket. 
  . stream_socket_accept() - Accept a client connection.
  . stream_socket_get_name() - Get local or remote name of socket.
  . stream_copy_to_stream()
  . stream_get_line() - Reads either the specified number of bytes or until 
    the ending string is found. (Ilia)
  . Added context property to userspace streams object. (Sara)
  . Added generic crypto interface for streams.
    (supports dynamic loading of OpenSSL)
  . Added lightweight streaming input abstraction to the Zend Engine scanners
    to provide uniform support for include()'ing data from PHP streams across
    all platforms.
  . Added 'string.base64' stream filter. (Moriyoshi)
  . Renamed stream_register_wrapper() to stream_wrapper_register(). (Derick)
- Improved the GD extension: (Pierre-Alain Joye, Ilia)
   . imagefilter() - Apply different filters to image.
    (Only available with bundled GD library)
   . Antialiased drawing support:
     o imageantialias() - (de)active antialias
     o imageline() and imagepolygon() antialias support
- Changed the length parameter in fgetss() to be optional. (Moriyoshi)
- Changed ini parser to allow for handling of quoted multi-line values. (Ilia)
- Changed get_extension_funcs() to return list of the built-in Zend Engine 
  functions if "zend" is specified as the module name. (Ilia)
- Changed array_search() to accept also objects as a needle. (Moriyoshi)
- Changed ext/mcrypt to require libmcrypt version 2.5.6 or greater. (Derick)
- Changed uniqid() parameters to be optional and allow any prefix length.
- Added new iconv functions. (Moriyoshi)
  . iconv_strlen()
  . iconv_substr()
  . iconv_strpos()
  . iconv_strrpos()
  . iconv_mime_decode()
  . iconv_mime_encode()
- Added misc. new functions:
  . ldap_sasl_bind(). (, Jani)
  . imap_getacl(). (Dan, Holger Burbach)
  . file_put_contents(). (Sterling)
  . proc_nice() - Changes priority of the current process. (Ilia)
  . pcntl_getpriority() and pcntl_setpriority(). (Ilia)
  . idate(), date_sunrise() and date_sunset(). (Moshe Doron)
  . strpbrk() - Searches a string for a list of characters. (Ilia)
  . get_headers() - Returns headers sent by the server of the specified URL.
  . str_split() - Breaks down a string into an array of elements based on 
    length. (Ilia)
  . array_walk_recursive(). (Ilia)
  . array_combine(). (Andrey)
- Added optional parameter to get_browser() to make it return an array. (Jay)
- Added optional parameter to openssl_sign() to specify the hashing algorithm.
  (, Derick)
- Added optional parameter to sha1(), sha1_file(), md5() and md5_file() which
  makes them return the digest as binary data. (Michael Bretterklieber, Derick)
- Added optional parameter to mkdir() to make directory creation recursive.
- Added optional parameter to file() which makes the result array not contain
  the line endings and to skip empty lines. (Ilia)
- Added new range() functionality:
  . Support for float modifier. (Ilia)
  . Detection of numeric values inside strings passed as high & low. (Ilia)
  . Proper handle the situations where high == low. (Ilia)
  . Added an optional step parameter. (Jon)
- Added encoding detection feature for expat XML parser.
  (Adam Dickmeiss, Moriyoshi)
- Added missing multibyte (unicode) support and numeric entity support to
  html_entity_decode(). (Moriyoshi)
- Added IPv6 support to ext/sockets. (Sara)
- Added "ftp://" wrapper support to opendir(), stat() and unlink(). (Sara)
- Added context options 'method', 'header' and 'content' for "http://" fopen 
  wrapper. (Sara)
- Added input filter support. See README.input_filter for more info. (Rasmus)
- Added a replace count for str_[i]replace(), see bug #8218. (Sara)
- Fixed is_executable() to be available also on Windows. (Shane)
- Fixed dirname() and strip_tags() to be binary-safe. (Moriyoshi)
- Fixed bug #24098 (crash in pathinfo()). (Ilia)
- Fixed bug #21985 and #22064 (various mb_send_mail() issues). (Moriyoshi)
- Fixed bug #21600 (Assign by reference function call changes variable 
  contents). (Zeev)