#$number"; }
?>
PHP 5 ChangeLog
Version 5.0.3
15-Dec-2004
- Added the %F modifier to *printf to render a non-locale-aware representation of a float with the . as decimal seperator. (Derick)
- Fixed error handling in mysqli_multi_query. (Georg)
- Extended the functionality of is_subclass_of() to accept either a class name or an object as first parameter. (Andrey)
- Fixed potential problems with unserializing invalid serialize data. (Marcus)
- Fixed bug #31034 (Problem with non-existing iconv header file). (Derick)
- Fixed bug #30995 (snmp extension does not build with net-snmp 5.2). (Ilia)
- Fixed bug #30994 (SOAP server unable to handle request with references). (Dmitry)
- Fixed bug #30990 (allow popen() on *NIX to accept 'b' flag). (Ilia)
- Fixed bug #30967 (properties in extended mysqli classes don't work). (Georg)
- Fixed bug #30928 (When Using WSDL, SoapServer doesn't handle private or protected properties). (Dmitry)
- Fixed bug #30922 (reflective functions crash PHP when interfaces extend themselves). (Tony, Dmitry)
- Fixed bug #30904 (segfault when recording soapclient into session). (Tony, Dmitry)
- Fixed bug #30890 (MySQLi testsuite)
- Fixed bug #30856 (ReflectionClass::getStaticProperties segfaults). (Marcus)
- Fixed bug #30832 ("!" stripped off comments in xml parser). (Rob)
- Fixed bug #30799 (SoapServer doesn't handle private or protected properties). (Dmitry)
- Fixed bug #30783 (Apache crash when using ReflectionFunction:: getStaticVariables()). (Marcus)
- Fixed bug #30750 (Meaningful error message when upload directory is not accessible). (Ilia)
- Fixed bug #30685 (Malformed SOAPClient http header reequest). (Dmitry)
- Fixed bug #30672 (Problem handling exif data in jpeg images at unusual places). (Marcus)
- Fixed bug #30658 (Ensure that temporary files created by GD are removed). (Ilia)
- Fixed bug #30645 (def. multi result set support for mysql_connect). (Georg)
- Fixed bug #30637 (compile with pear error). (Antony)
- Fixed bug #30587 (array_multisort doesn't separate zvals before changing them). (Tony)
- Fixed bug #30572 (crash when comparing SimpleXML attribute to a boolean). (Andi)
- Fixed bug #30566 (attribute namespace URIs are inconsistent when parsing). (Rob)
- Fixed bug #30490 (PEAR installation fails). (Antony)
- Fixed bug #30475 (curl_getinfo() may crash in some situations). (Ilia)
- Fixed bug #30442 (segfault when parsing ?getvariable[][ ). (Tony)
- Fixed bug #30388 (rename across filesystems loses ownership and permission info). (Tony)
- Fixed bug #30387 (stream_socket_client async connect was broken). (vnegrier at esds dot com, Wez).
- Fixed bug #30381 (Strange results with get_class_vars()). (Marcus)
- Fixed bug #30375 (cal_info() does not work without a parameter). (Ilia)
- Fixed bug #30362 (stream_get_line() not handling end string correctly). (Ilia)
- Fixed bug #30359 (SOAP client requests have no port in "Host" field). (Dmitry)
- Fixed bug #30356 (str_ireplace() does not work on all strings). (Ilia)
- Fixed bug #30344 (Reflection::getModifierNames() returns too long strings). (Marcus)
- Fixed bug #30329 (Error Fetching http body, No Content-Length, connection closed or chunked data). (Dmitry)
- Fixed bug #30282 (segfault when using unknown/unsupported session.save_handler and/or session.serialize_handler). (Tony)
- Fixed bug #30281 (Prevent non-wbmp images from being detected as such). (Ilia)
- Fixed bug #30276 (Possible crash in ctype_digit on large numbers). (Ilia)
- Fixed bug #30230 (exception handler not working with objects). (Marcus)
- Fixed bug #30224 (Sybase date strings are sometimes not null terminated). (Ilia)
- Fixed bug #30175 (SOAP results aren't parsed correctly). (Dmitry)
- Fixed bug #30147 (OO sqlite_fetch_object did not reset error handler). (Wez)
- Fixed bug #30133 (get_current_user() crashes on Windows). (Edin)
- Fixed bug #30061 (xml_set_start_namespace_decl_handler not called). (Rob)
- Fixed bug #30057 (did not detect IPV6 on FreeBSD 4.1). (Wez)
- Fixed bug #30042 (strtotime does not use second param). (Derick)
- Fixed bug #30027 (Possible crash inside ftp_get()). (cfield at affinitysolutions dot com)
- Fixed bug #29954 (array_reduce segfaults when initial value is array). (Tony)
- Fixed bug #29883 (isset gives invalid values on strings). (Tony, Dmitry)
- Fixed bug #29801 (Set limit on the size of mmapable data). (Ilia)
- Fixed bug #29557 (strtotime error). (Derick)
- Fixed bug #29418 (double free when openssl_csr_new fails). (Kamesh Jayachandran).
- Fixed bug #29385 (Soapserver always uses std class). (David, Dmitry)
- Fixed bug #29211 (SoapClient doesn't request wsdl through proxy). (Rob)
- Fixed bug #28817 (Var problem when extending domDocument). (Georg)
- Fixed bug #28599 (strtotime fails with zero base time). (Derick)
- Fixed bug #28598 (Lost support for MS Symbol fonts). (Pierre)
- Fixed bug #28220 (mb_strwidth() returns wrong width values for some hangul characters). (Moriyoshi)
- Fixed bug #28228 (NULL decimal separator is not being handled correctly). (Ilia)
- Fixed bug #28209 (strtotime("now")). (Derick)
- Fixed bug #27798 (private / protected variables not exposed by get_object_vars() inside class). (Marcus)
- Fixed bug #27728 (Can't return within a zend_try {} block or the previous bailout state isn't restored. (Andi)
- Fixed bug #27183 (Userland stream wrapper segfaults on stream_write). (Christian)
Version 5.0.2
23-Sep-2004
- Added new boolean (fourth) parameter to array_slice() that turns on the preservation of keys in the returned array. (Derick)
- Added the sorting flag SORT_LOCALE_STRING to the sort() functions which makes them sort based on the current locale. (Derick)
- Added interface_exists() and make class_exists() only return true for real classes. (Andrey)
- Added PHP_EOL constant that contains the OS way of representing newlines. (Paul Hudson, Derick)
- Implemented periodic PCRE compiled regexp cache cleanup, to avoid memory exhaustion. (Andrei)
- Renamed SoapClient->__call() to SoapClinet->__soapCall(). (Dmitry)
- Fixed bug with raw_post_data not getting set (Brian)
- Fixed a file-descriptor leak with phpinfo() and other 'special' URLs (Zeev)
- (ReflectionClass::getMethod() lowercases attribute). (Marcus)
- (SOAP module processing WSDL file dumps core). (Dmitry)
- (Cannot pass big integers (> 2147483647) in SOAP requests). (Dmitry)
- (unserialize()/ __PHP_Incomplete_class does not report correctly class name). (Marcus, Tony)
- (simplexml_load_file URL limitation 255 char). (Rob)
- (No defines around pcntl_*priority definitions). (Derick)
- (SOAP doesn't return the result of a valid SOAP request). (Dmitry)
- (soapclient return null value). (Dmitry)
- (incorrect convert (xml:lang to lang)). (Dmitry)
- (SoapServer::setClass() should not export non-public methods). (Dmitry)
- (Interfaces no longer work). (Marcus)
- (Fixed possible crashes in convert_uudecode() on invalid data). (Ilia)
- (array_count_values() breaks with numeric strings). (Ilia)
- (HTTP Authentication Issues). (Uwe Schindler)
- (SegFault with Soap and Amazon's Web Services). (Dmitry)
- (ip2long should return -1 if IP is 255.255.255.255 and FALSE on error). (Tony)
- (Changed ext/xml to default to UTF-8 output). (Rob)
- (opendir() with ftp:// wrapper segfaults if path does not have trailing slash). (Ilia)
- (xml_* functions throw non descriptive error). (Christian, Rob)
- (segfault on result and statement properties). (Georg)
- (foreach/string handling strangeness (crash)). (Dmitry)
- (Reflection API issues). (Marcus)
- (Added sslv2 and sslv3 transports). (Wez)
- (Invalid statement handle in mysqli on execute). (Georg)
- (parse_url() is now binary safe). (Ilia)
- (segfault with Soapserver when WSDL-Cache is enabled). (Dmitry)
- (Apache 2.0 SAPI build against Apache 2 HEAD). (Joe Orton, Derick)
- (private/protected properties not serialized when user declared method __sleep() exists). E_NOTICE thrown when __sleep() returns name of non-existing member. (Andrey, Curt)
Version 5.0.1
12-Aug-2004
- Changed destructor mechanism so that destructors are called prior to request shutdown. (Marcus)
- Rewritten UNIX and Windows install help files. (Documentation Team)
- Updated several libraries bundled with the windows release which now includes libxml2-2.6.11, libxslt-1.1.7 and iconv-1.9.1. (Rob, Edin)
- Improved and moved ActiveScript SAPI to PECL. (Wez)
- Fixed unloading of dynamically loaded extensions. (Marcus, kameshj at fastmail dot fm)
- Fixed ReflectionClass::getMethod() and ReflectionClass::getProperty() to raise an ReflectionException instead of returning NULL on failure. (Sebastian)
- Fixed convert.* filters to consume remaining buckets_in on flush. (Sara)
- Fixed bug in mysqli->client_version. (Georg)
- (php_strip_whitespace() prints to stdout rather then returning the value). (Ilia)
- (MYSQLI_CLIENT_FOUND_ROWS undefined) (Georg)
- (Segmentation fault, when exception thrown within PHP function called from XSLT). (Christian)
- (accessing properties without connection) (Georg)
- (get_class_vars() severely broken when used with arrays). (Marcus)
- (.Net object instantiation failed). (Michael Sisolak).
- (win32: usleep() doesn't work). (Wez)
- (win32: feof() hangs on empty tcp stream). (Wez)
- (Possible crash inside array_walk_recursive()). (Ilia)
- (crash when parsing invalid address; invalid address returned by stream_socket_recvfrom(), stream_socket_getname()). (Wez)
- (Segfault in PHP functions called from XSLT). (Rob)
- (sqlite_escape_string() returns bogus data on empty strings). (Ilia, Tony)
- (com_dotnet crashes when echo'ing an object). (Wez)
- (The destructor is called when an exception is thrown from the constructor). (Marcus)
- (Exception constructor marked as both public and protected). (Marcus)
- (strtotime() does not handle empty date string properly). (Ilia)
- (win32 build produces invalid php_ifx.dll). (Edin)
- (fetch functions now use MYSQLI_BOTH as default) (Georg)
- (get_class_vars() return names with NULLs). (Marcus)
- (gettext extension not working). (Edin)
- (variant_date_from_timestamp() does not honour timezone). (Wez)
- (error when sending large packets on a socket). (Dmitry)
- (memory error when wsdl-cache is enabled). (Dmitry)
- (Compile Error in mnoGoSearch functions). (Sergey, Antony)
- ($_SERVER["PHP_AUTH_USER"] isn't defined). (Stefan)
- (html_entity_decode() misbehaves with UTF-8). (Moriyoshi)
- (SoapFault exception: [WSDL] Out of memory). (Dmitry)
- (soap extension segfaults). (Dmitry)
- (__getTypes() returning nothing on complex WSDL). (Dmitry)
- (Wrong data encoding of special characters). (Dmitry)
- (ReflectionClass::isAbstract always returns false). (Marcus)
- (Thread-unsafety in bcmath elementary values). (Sara)
- (catch() does not catch exceptions by interfaces). (Marcus)
Version 5.0.0
13-Jul-2004
- Updated PCRE to provide better error handling in certain cases. (Andrei)
- Changed doc comments to require a single white space after '/**'. (Marcus)
- Fixed strip_tags() to correctly handle '\0' characters. (Stefan)
- (Database not closing). (Marcus)
- (array_combine() does not handle non-numeric/string keys). (Ilia)
- (fixed behaviour of exec() to work as it did in 4.X). (Ilia)
- (ReflectionClass::isAbstract always returns false). (Marcus)
- (Internal filter registry not thread safe). (Sara)
- (call_user_func_array has typo in error message). (Marcus)
- (ArrayObject::offsetGet() does the work of offsetUnset()). (Marcus)
- (ArrayObject::offsetExists() works inverted). (Marcus)
- (ReflectionProperty getValue() fails on public static members). (Marcus)
- (Segfault when using xslt and clone). (Rob)
- (SoapServer does not call _autoload()). (Dmitry)
- (array_*diff() and array_*intersect() not clearing the fci cache before work). (Andrey)
- (appendChild() and insertBefore() unset DOMText).(Rob)
- (SOAP does not parse WSDL service address correctly). (Dmitry)
- (Reflection api bugs). (Marcus)
- (ReflectionExtension::getFunctions() crashes PHP). (Marcus)
- (Allocate enough space to store MSSQL data). (Frank)
- (Circular references not properly serialised). (Moriyoshi)
Version 5.0.0 Release Candidate 3
8-Jun-2004
- Moved the PDFLib extension to PECL. (Wez)
- Added MySQL 4.1.2-alpha and 4.1.3-beta support to MySQLI extension. (Georg)
- Added support for dumping private/protected properties to var_dump(). (Andrey)
- Added count() support for COM arrays. (Wez)
- Added Firebird/InterBase UDF source that allows PHP functions to be called from SQL (Ard)
- Changed user error handler mechanism to relay to built-in error handler if it returns false. (Andrei)
- Changed class type hints for function parameters to not allow the passing of NULL values. (Andi)
- Changed tidy_node to tidyNode and removed tidy_exception. (John)
- Fixed ip2long() to return FALSE if an IP address passed to this function is not valid. (Derick)
- Fixed memory leak in memory manager. (Andi)
- Fixed problem with exceptions returning from include(). (Dmitry)
- (Instance of Interface). (Marcus)
- (Extending mysqli class). (Georg)
- (Transparency detection code is off by 1). (Ilia, pikeman at pikeman dot sytes dot net)
- (Missing bounds check inside imagefilter()). (Ilia)
- (Userspace stream/filter names forced to lowercase). (Sara)
- (stream_*_register() not calling __autoload()). (Sara)
- (php_image_filter_contrast calls gdImageBrightness). (Ilia)
- (No results returned on SOAP call, no error given). (Dmitry)
- (num_rows property for statement object). (Georg)
- (COM: Array style properties could not be accessed). (Wez)
- (ArrayObject leaks when accessing elements). (Marcus)
- (NULL parameter support for mysqli_ssl_set). (Georg)
- (ArrayObject doesn't implement ArrayAccess). (Marcus)
- (SPL: change visibility of ArrayIterator::__construct). (Marcus)
- (memory leak of registered_zend_ini_directives). (Dmitry)
- (SPL: ArrayObject does not handle PPP correctly). (Marcus)
Version 5.0.0 Release Candidate 2
25-Apr-2004
- Implementing an interface/abstract method with the wrong prototype is now
a fatal error. (Zeev)
- Reimplemented zend.ze1_compatibility_mode to have better PHP 4 compliance.
(Dmitry, Andi)
- Under CLI, fclose() on php://stdin, php://stdout and php://stderr will now
close the real stream. Please update your CLI scripts to use STDIN, STDOUT
and STDERR constants instead of fopen()/fclose(). (Wez)
- Moved yaz extension to PECL. (Wez)
- Added pty support to proc_open(). (Wez)
- Added possibility to check in which extension an internal class was defined
in using reflection API. (Marcus)
- Changed tidy error handling to no longer use exceptions and
renamed the "error_buf" property to errorBuffer. (John)
- Changed class and method names to use studlyCaps convention. (Marcus)
- Changed language parser to throw errors when a non-empty signature is used in
a destructor definition. (Marcus)
- Changed HTTP file uploads not to throw E_WARNINGs and E_NOTICEs. The error
value in the $_FILES global should be used for error handling. (Derick)
- Changed __construct() to always take precedence over old style constructor.
(Dmitry)
- Fixed handling of return values from storred procedures in mssql_execute()
with multiple result sets returned. (Frank)
- (stream_socket_accept() doesn't work with ssl). (Wez)
- (compile mssql extension with old versions of FreeTDS
fails). (Frank)
- (SPL: Crash with getInnerIterator()). (Marcus)
- (COM doesn't pass array parameters). (Wez)
- (sqlite incorrectly handles invalid filenames). (Ilia)
- (in some cases using foreach() to iterate over values
led to a false error message about the key being a reference). (Adam)
- (STDIN, STDOUT, STDERR are dup()d under CLI). (Wez)
- (xml_parse() segfaults when xml_set_object() is called from
class method). (Andi, Rob)
- (WDSL SOAP Parsing Schema bug). (Dmitry)
- (Segfault on schema without targetNamespace). (Dmitry)
- (mktime issues on and around DST changeover). (Rasmus)
- (soap extension fails without HAVE_TM_GMTOFF). (Dmitry)
- (Object cloning in ze1_compatibility_mode was reimplemented)
(Dmitry, Andi)
- (Simplify the process of making a POST request via stream
context). (Ilia)
- (filters not applied to pre-buffered stream data). (Sara)
- (Reflection_Function constructor crashes with non-existant
function's name). (Marcus)
- (serialize() objects of incomplete class). (Dmitry)
- (handling of numeric indexes in strtr()). (Dmitry)
- (debug_backtrace() not showing function arguments). (Zeev)
- (The last catch statement was sometimes skipped). (Andi)
- (When __set() returned a value it corrupted it). (Andi)
- (shouldn't mmap() files larger than memory_limit). (Wez)
Version 5.0.0 Release Candidate 1
18-Mar-2004
- Fixed numerous bugs with the just-in-time auto-global initialization, that
could cause $_SERVER, $argv/$argc and other variables not to work properly.
(Zeev)
- Fixed data corruption with constant assignments to object properties. (Zeev)
- Changed __toString() to be called automatically only with print and echo
statements. (Andi)
- Replaced the exec_finished hook by the zend_post_deactive hook for
extensions. The new hook will be run after the symbol table and destructors
are run. (Derick)
- Fixed possible crash when internal get_method() is not defined. (Andi)
- Fixed calling methods using call_user_func() in conjunction with
the array("Class","Method") syntax to use the scope of the PHP user function.
(Dmitry)
- Fixed php-cgi to not ignore command-line switches when run in a web context.
This fixes our test cases allowing INI with GET sections to work. (Rasmus)
- Fixed getopt() so it works without $_SERVER. (Rasmus, bfrance)
- Added support for PHP 4 style object comparisons which is enabled in
ze1_compatiblity_mode. (Andi)
- Added support for PHP 4 style object conversion to long, double, and boolean
values which is enabled in ze1_compatibility_mode. (Andi, Stas)
- Allow object oriented extensions to overload comparison functions and other
operations. Solves problems using SimpleXML values. (Andi, Zeev)
- Fixed crash when accessing a class constant with a value which in turn is
also a constant. (Dmitry)
- Fixed object's truth value conversion. It is always true unless
ze1_compatibility_mode is on in which it behaves like in PHP 4. (Stas)
- Improved out of memory handling in new memory manager. (Stas)
- Fixed crash when an object references itself during destructor call. (Andi)
- Fixed crash in foreach() when iterating over object properties or a method's
return values. (Andi)
- Fixed crash when an exception is thrown in a destructor. Such exceptions are
now ignored as destruction happens out of context at no definite time. (Andi)
- Fixed crashes in exception handling. (Dmitry, Andi)
- Changed prototype checks so that they aren't done on constructors. (Andi)
- Changed prototype checks to output an E_STRICT message instead of
an E_COMPILE_ERROR. (Andi)
- Changed Iterator::has_more() to Iterator::valid(). (Marcus)
- Upgraded bundled oniguruma library to version 2.2.2. (Rui, Moriyoshi)
- Added mb_list_encoding() to return an array with all mbstring supported
encodings. (Derick)
- Added support for more ISO8601 datetime formats in strtotime(). (Moriyoshi)
. Timezone specifier (ex. "20040301T02:00:00+19:00")
. Week specifier (ex. "1997W021")
- Renamed php.ini option "zend2.implicit_clone" to
"zend.ze1_compatibility_mode" as it doesn't only affect implicit cloning.
(Andi, Zeev)
- Methods that override parent methods are now subject to prototype checking,
and have to be compatible with the method they're overriding - this check is
disabled in compatibility mode. (Andi, Zeev)
- Fixed crash in php_ini_scanned_files() when no additional INI files were
actually parsed. (Jon)
- Fixed bug in gdImageFilledRectangle in the bundled GD library, that required
x1 < x2 and y1 < y2 for coordinates. (Derick)
- Fixed crash with foreach() and temporary objects($obj->method()->a ...) where
method returns a non-referenced object. (Andi, Zeev)
- Fixed problem preventing startup errors from being displayed. (Marcus)
- Fixed start-up problem if both SPL and SimpleXML were enabled. The double
initialization of apache 1.3 was causing problems here. (Marcus, Derick)
- (Expression must be a modifiable lvalue compiler error).
(Derick)
- (pg_fetch_array not returning false). (Marcus)
- (ArrayObject::getIterator crashes with [] assignment).
(Marcus)
- (Objects pointing to each other segfaults). (Dmitry)
- (Problem with object freeing mechanism). (Dmitry)
- (Visibility bugs in call_user_function()). (Dmitry)
- (handling of numeric indexes in strtr()). (Dmitry)
- (memory leak inside tsrm_virtual_cwd.c on win32). (Ilia)
- (get_browser matches browscap.ini patterns incorrectly).
(Jay)
- (wddx segfaults during deserialization). (Moriyoshi)
- (session extension crashes when unserializing referenced
values / objects). (Moriyoshi)
- (Working with simplexml crashes apache2). (Rob)
- (Mixed case class names causes Fatal Error in Constructor
call). (Marcus)
- (strval() doesn't work for objects with __toString()).
(Marcus)
- (Fix crash caused by bug in get_object_vars()). (Andi)
- (mbstring compile errors with IRIX compiler).
(K.Kosako , Rui, Moriyoshi)
- (register_long_arrays breaks superglobals). (Zeev)
- (argv and argc not defined). (Zeev)
Version 5.0.0 Beta 4
12-Feb-2004
- Changed exceptions so that they must now inherit from the built-in Exception
class. This allows for a general catch(Exception $e) statement to catch all
exceptions. (Andi, Zeev)
- Added SPL extension. (Marcus, Derick)
- Added checks for invalid characters in a cookie name and cookie data
into set[raw]cookie(). (Brian)
- Added support for ++ and += (and similar) to SimpleXML. (Andi, Zeev)
- Added infrastructure for ++ and += (and similar) to object overloading
modules. (Andi, Zeev)
- Added error message when trying to re-assign to $this variable. (Zeev, Andi)
- Added support for an interface to extend another interface. (Zeev)
- Added new pspell functions: (Brian)
- pspell_config_dict_dir()
- pspell_config_data_dir()
- Added new Interbase functions: (Ard)
- ibase_service_attach() and ibase_service_detach().
- ibase_backup() and ibase_restore().
- ibase_maintain_db(), ibase_db_info() and ibase_server_info().
- Added context option "http"/"request_fulluri" to send entire URI in request
which is required format for some proxies. (Sara)
- Added optional third parameter 'strict' to array_keys(). (Andrey)
- Added stream_lock() method to userspace streams interface. (Hartmut, Wez)
- Added xsltprocessor->registerPHPFunctions(). (Christian)
- Readded support for using classes before they are declared according to
the behavior in PHP 4. This won't work with classes who are using PHP 5
features such as interfaces. (Zeev, Andi)
- Completely overhauled SimpleXML extension. (Marcus, Rob, Sterling)
- Upgraded bundled SQLite library to version 2.8.11. (Ilia, Wez)
- Improved destructor implementation to always call destructors on clean
shutdown. An order of destruction is not guaranteed. (Zeev, Andi)
- Redesigned exception support. This fixes many bugs in the previous design
such as nested try's and problems with overloaded extensions. (Zeev, Andi)
- Redesigned clone by adding a clone keyword (clone $obj) and copying all
properties before __clone() is called. Also allows calling parent __clone
function by using parent::__clone(). (Zeev, Andi)
- Fixed interfaces to check for function return-by-reference equality when
inheriting and implementing interfaces. (Andi, Zeev)
- Fixed foreach() to respect property visibility. (Marcus)
- Fixed problem with parse error in include() file not stopping PHP's
execution. (Ilia)
- Fixed var_export() to show public, protected and private modifiers properly.
(Derick)
- Fixed problems with longlong values in mysqli. (Georg)
- Fixed class name case preserving of user defined classes. (Marcus)
- (Unmangle private/protected property names before printing
them inside error messages). (Ilia)
- (preg_split('//u') incorrectly splits UTF-8 strings into
octets). (Moriyoshi)
- (SPL: SeekableIterator seek() broken). (Marcus)
- (Every class method can be called as static). (Marcus)
- (exec() has problems reading long lines).
(Ilia, runekl[at]opoint[dot]com
- (ext/dom: Crash when using DomDocument::getElementById()).
(Christian)
- (crash in sqlite extension when fetching data from empty
queries). (Ilia)
- (ext/mime_magic: magic file validation broken). (Jani)
- (http_build_query() crashes on NULL output). (Ilia)
- (http_build_query() does not handle private & protected
object properties correctly). (Ilia)
- (foreach of (DOM) childnodes crashes when Xinclude is used).
(Rob)
- (SQLite causes crashes with other extensions *connect()
calls). (Marcus)
- (unserialize() produces lowercase classnames). (Marcus)
- (getElementsByTagName doesn't work properly). (Rob)
- (__autoload not invoked for parent classes). (Marcus)
- (domNode::appendChild() changes child node namespace). (Rob)
- (calling class_exists() on a nonexistent class in __autoload
results in segfault). (Marcus)
- (string index in a switch() crashes with multiple matches).
(Andi)
- (Reflection API does not recognize mixed-case class hints).
(Marcus)
- (make xsltProcessor->transformToUri use streams wrappers).
(Ilia)
- (Added version check in mysqli_report_index). (Georg)
- (Segfault on ArrayAccess use). (Marcus)
- (__autoload() not invoked by Reflection classes). (Jani)
- (call_user_func() broken for self, parent). (Stanislav)
- (memory leak when new() result is not assigned and no
constructor is defined). (Stanislav)
- (Crash when nesting classes). (Marcus)
- (disallow arrays in class constants). (Stanislav)
- (sqlite_create_function with method and reference to $this).
(Marcus)
- (call_user_func() issues a warning if function throws an
exception). (Marcus)
- (__set not triggered when overloading with array).
(Stanislav)
- (enabling browscap causes segfault). (Wez)
Version 5.0.0 Beta 3
21-Dec-2003
- Bundled new tidy extension (John, Wez)
- Upgraded PCRE library to version 4.5. (Andrei)
- Dropped Windows 95 support. (Andi)
- Moved extensions to PECL:
- ext/crack (Jani, Derick)
- ext/db (Jani, Derick)
- ext/mcal (Jani, Derick)
- ext/qtdom (Jani, Derick)
- ext/notes (Wez)
- Added 'c' modifier to date() which returns the date in the ISO
8601 format. (Derick, Manuzhai)
- Added an optional parameter to microtime() to get the time as
float. (Andrey)
- Added MacRoman encoding support to htmlentities(). (Derick,
Marcus Bointon)
- Added possibility to call PHP functions as XSLT-functions.
(Christian)
- Added possibility to prevent PHP from registering variables when
input filter. support is used. (Derick)
- Added iconv stream filter (convert.iconv.*). (Moriyoshi)
- Added EXSLT support in ext/xsl. (Christian)
- Added qdbm handler for dba extension. (mg at iceni dot pl, Marcus)
- Added new functions:
- dba_key_split() to split inifile keys in an array. (Marcus)
- time_nanosleep() signal safe sleep (Magnus, Ilia)
- headers_list(). (Sara)
- php_strip_whitespace(). strip whitespace & comments from a
script. (Ilia)
- php_check_syntax(). check php script for parse errors. (Ilia)
- image_type_to_extension(). return extension based on image type.
(Ilia)
- stream_socket_sendto() and stream_socket_recvfrom(). (Wez)
- iconv_mime_decode_headers(). (Moriyoshi)
- get_declared_interfaces(). (Andrey, Marcus)
- sqlite_fetch_column_types(). (Ilia)
- Added proxy support to http:// wrapper. (Sara)
- Added rename(), rmdir() and mkdir() support to userstreams.
(Sara)
- Added rename(), rmdir() and mkdir() support to ftp:// wrapper.
(Sara)
- Changed rename(), rmdir() and mkdir() to be routed via streams
API. (Sara)
- Changed stat() and family to be routed via streams API. (Sara)
- Fixed include_once() / require_once() on Windows to honor
case-insensitivity; of files. (Andi)
- Fixed get_declared_classes() to return only classes. (Andrey,
Marcus)
- Fixed __autoload() to preserve case of the passed class name.
(Andi)
- () (runekl at opoint dot com, Derick)
- ("__autoload threw an exception" during an
uncaught). (Marcus)
- (stream_get_meta_data() -> Access Violation).
(Wez)
- (HTML entities are not being decoded by
xml_parse()/xml_parse_into_struct()). (Ilia)
- (Object properties created redundantly). (Andi)
- (REPLACE_ZVAL_VALUE works on uninit stack-based
zvals). (Moriyoshi)
- (Non-working write support in ext/dom). (Ilia)
- (--disable-libxml does not work). (Jani)
- (serialize crashes when accessing an overloaded
object that has no properties (NULL hashtable)). (Wez)
- (COM crashes when calling a Delphi implementations
of ITypeInfo). (Wez)
- (Incorrect behaviour of PPP using foreach).
(Marcus)
- (Allow session.use_trans_sid to be
enabled/disabled from inside the script). (Ilia)
- (Serializing cross-referenced objects causes
segfault). (Moriyoshi)
Version 5.0.0 Beta 2
30-Oct-2003
- Lots and lots of changes in the Zend Engine 2 since beta 1:
- Added Iterators
- Improved memory manager
- Added Reflection API
- Removed the not so working namespaces support
- Removed support for expressions within constant declerations.
- You can read about most changes in ZEND_CHANGES under the Zend
directory.
- 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()
- Added support for CREATE DATABASE, SET TRANSACTION and EXECUTE
PROCEDURE 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)
- convert_uuencode(). (Ilia)
- convert_uudecode(). (Ilia)
- substr_compare(). (Ilia)
- pcntl_wait(). (GeorgeS)
- Added "resume_pos" context option to "ftp://" wrapper. (Sara)
- Added optional parameter to OCIWriteTemporaryLob() to specify
the type of LOB (Patch by Novicky Marek <novicky@aarongroup.cz>).
(Thies)
- Added reflection API. (Andrei, George, Timm)
- Changed length parameter in fgetcsv() to be optional. (Moriyoshi)
- Fixed IPv6 support in MacOSX Panther. (Dan, Marko)
- Fixed fgetcsv() to correctly handle international (non-ascii)
characters. (Moriyoshi)
- Fixed support for <![CDATA[]]> fields within XML documents
in ext/xml. (Sterling)
- Fixed visibility of __construct and __clone. (Marcus)
- (fgetcsv() not binary-safe on null bytes).
(Moriyoshi)
- (SimpleXML's validate_schema_file() broken).
(Moriyoshi)
- (getimagesize() returns incorrect values on
bitmap (os2) files). (Marcus)
- (array_merge*() allows non-arrays as argument).
(Jay)
- (strange result array from unpack()). (Moriyoshi)
- ($obj = new $className; causes crash when
$className is not set). (Marcus)
- (cannot read array elements received via
$_REQUEST). (Zeev)
- (get_parent_class() returns different values).
(Sterling, Stanislav)
- (preg_replace() problem: Using $this when not
in object context). (Zeev)
- (PEAR DB isError crash [instanceof_function
fault?]). (Sterling, Marcus)
- (foreach ($k=>$v), the key $k is missing). (Zeev)
- (__get() crash when no value is returned). (Ilia)
- (undefined variable has a value). (Zeev)
- (allow fast_call_user_function to support __call).
(Stanislav)
- (Warning when switch() and reference are combined).
(Zeev)
- (strtotime failed to parse postgresql timestamp).
(Derick)
Version 5.0.0 Beta 1
29-Jun-2003
- Switch to using Zend Engine 2, which includes numerous engine level improvements.
A full list is available at http://www.php.net/zend-engine-2.php.
- The SQLite (http://www.hwaci.com/sw/sqlite/) extension is now bundled and
enabled by default. (Wez, Marcus, Tal)
- Improved the speed of internal functions that use callbacks by 40% due to a
new internal fast_call_user_function() function. (Sterling)
- Completely Overhauled XML support (Rob, Sterling, Chregu, Marcus)
- Brand new Simplexml extension
- New DOM extension
- New XSL extension
- Moved the old DOM-XML and XSLT extensions to PECL
- ext/xml can now use both libxml2 and expat to parse XML
- Removed bundled expat
- Removed the bundled MySQL client library. (Sterling)
- 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 streams support: (Wez, Sara, Ilia)
- 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.
- Added context property to userspace streams object.
- 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.
- Renamed stream_register_wrapper() to stream_wrapper_register().
- Added "ftp://" wrapper support to opendir(), stat() and unlink().
- Added context options 'method', 'header' and 'content' for "http://" fopen
wrapper.
- Improved the GD extension: (Pierre-Alain Joye, Ilia)
- imagefilter() - Apply different filters to image. (Only available
with bundled GD library)
- Antialiased drawing support:
- imageantialias() - (de)active antialias
- 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. (Marcus)
- 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(). (peter_c60@hotmail.com, 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. (Ilia)
- 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.(scott@planetscott.ca, 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. (Ilia)
- 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 input filter support. See README.input_filter for more info. (Rasmus)
- Added a replace count for str_[i]replace(), see . (Sara)
- Fixed is_executable() to be available also on Windows. (Shane)
- Fixed dirname() and strip_tags() to be binary-safe. (Moriyoshi)
- (crash in pathinfo()). (Ilia)
- and (various mb_send_mail() issues). (Moriyoshi)
- (Assign by reference function call changes variable
contents). (Zeev)