PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 05 Sep 2005, PHP 5.0.5 - Upgraded PCRE library to version 5.0. (Andrei) - Removed php_check_syntax() function which never worked properly. (Ilia) - Added new function mysqli_set_charset(). (Georg) - Added man pages for "phpize" and "php-config" scripts. (Jakub Vrana) - Added support for .cc files in extensions. (Brian) - Added PHP_INT_MAX and PHP_INT_SIZE as predefined constants. (Andrey) - Changed sha1_file() and md5_file() functions to use streams instead of low level IO. (Uwe) - Changed ming to support official 0.2a and 0.3 library versions. (Marcus) - Fixed failing queries problem (FALSE returned) with mysqli_query() on 64 bit. (Andrey) - Fixed memory corruption in pg_copy_from() in case the as_null parameter was passed. (Derick) - Fixed ext/mysqli to allocate less memory when fetching bound params of type (MEDIUM|LONG)BLOB/(MEDIUM|LONG)TEXT. (Andrey) - Fixed memory corruption in ImageTTFText() with 64bit systems. (Andrey) - Fixed memory corruption in stristr(). (Derick) - Fixed segfaults when CURL callback functions throw exception. (Tony) - Fixed various reentrancy bugs in user-sort functions, solves bugs #33286 and #33295. (Mike Bretz) - Fixed bug #34307 (on_modify handler not called to set the default value if setting from php.ini was invalid). (Andrei) - Fixed bug #34302 (date('W') do not return leading zeros for week 1 to 9). (Derick) - Fixed bug #34299 (ReflectionClass::isInstantiable() returns true for abstract classes). (Marcus) - Fixed bug #34277 (array_filter() crashes with references and objects). (Dmitry) - Fixed bug #34260 (Segfault with callbacks (array_map) + overloading). (Dmitry) - Fixed bug #34137 (assigning array element by reference causes binary mess). (Dmitry) - Fixed bug #34078 (Reflection API problems in methods with boolean or null default values). (Tony) - Fixed bug #34064 (arr[] as param to function is allowed only if function receives argument by reference). (Dmitry) - Fixed bug #34062 (Crash in catch block when many arguments are used). (Dmitry) - Fixed bug #33989 (extract($GLOBALS,EXTR_REFS) crashes PHP). (Dmitry) - Fixed bug #33940 (array_map() fails to pass by reference when called recursively). (Dmitry) - Fixed bug #33853 (php:function call __autoload with lowercase param). (Marcus) - Fixed bug #33802 (throw Exception in error handler causes crash). (Dmitry) - Fixed bug #33723 (php_value overrides php_admin_value). (Dmitry) - Fixed bug #33710 (ArrayAccess objects doen't initialize $this). (Dmitry) - Fixed bug #33588 (LDAP: RootDSE query not possible). (Jani) - Fixed bug #33558 (warning with nested calls to functions returning by reference). (Dmitry) - Fixed bug #33520 (crash if safe_mode is on and session.save_path is changed). (Dmitry) - Fixed bug #33491 (crash after extending MySQLi internal class). (Tony) - Fixed bug #33340 (CLI Crash when calling php:function from XSLT). (Rob) - Fixed bug #33277 (private method accessed by child class). (Dmitry) - Fixed bug #33268 (iconv_strlen() works only with a parameter of < 3 in length). (Ilia) - Fixed bug #33263 (mysqli_real_escape doesn't work in __construct) (Georg) - Fixed bug #33257 (array_splice() inconsistent when passed function instead of variable). (Dmitry) - Fixed bug #33243 (ze1_compatibility_mode does not work as expected). (Dmitry) - Fixed bug #33242 (Mangled error message when stream fails). (Derick) - Fixed bug #33222 (segfault when CURL handle is closed in a callback). (Tony) - Fixed bug #33214 (odbc_next_result does not signal SQL errors with 2-statement SQL batches). (rich at kastle dot com, Tony) - Fixed bug #33210 (relax jpeg recursive loop protection). (Ilia) - Fixed bug #33200 (preg_replace(): magic_quotes_sybase=On makes 'e' modifier misbehave). (Jani) - Fixed bug #33185 (--enable-session=shared does not build). (Jani) - Fixed bug #33171 (foreach enumerates private fields declared in base classes). (Dmitry) - Fixed bug #33164 (Soap extension incorrectly detects HTTP/1.1). (Ilia) - Fixed bug #33156 (cygwin version of setitimer doesn't accept ITIMER_PROF). (Nuno) - Fixed bug #33116 (crash when assigning class name to global variable in __autoload). (Dmitry) - Fixed bug #33090 (mysqli_prepare() doesn't return an error). (Georg) - Fixed bug #33076 (str_ireplace() incorrectly counts result string length and may cause segfault). (Tony) - Fixed bug #33072 (Add a safemode/open_basedir check for runtime "session.save_path" change using session_save_path() function). (Rasmus) - Fixed bug #33070 (Improved performance of bzdecompress() by several orders of magnitude). (Ilia) - Fixed bug #33059 (crash when moving xml attribute set in dtd). (Ilia) - Fixed bug #33057 (Don't send extraneous entity-headers on a 304 as per RFC 2616 section 10.3.5) (Rasmus, Choitel) - Fixed bug #33019 (socket errors cause memory leaks in php_strerror()). (jwozniak23 at poczta dot onet dot pl, Tony). - Fixed bug #33017 ("make distclean" gives an error with VPATH build). (Jani) - Fixed bug #33013 ("next month" was handled wrong while parsing dates). (Derick) - Fixed bug #32981 (ReflectionMethod::getStaticVariables() causes apache2.0.54 seg fault). (Dmitry) - Fixed bug #32956 (mysql_bind_result() doesn't support MYSQL_TYPE_NULL). (Georg) - Fixed bug #32947 (Incorrect option for mysqli default password). (Georg) - Fixed bug #32944 (Disabling session.use_cookies doesn't prevent reading session cookies). (Jani, Tony) - Fixed bug #32941 (Sending structured SOAP fault kills a php). (Dmitry) - Fixed bug #32936 (http redirects URLs are not checked for control chars). (Ilia) - Fixed bug #32933 (Cannot extend class "SQLiteDatabase"). (Marcus) - Fixed bug #32932 (Oracle LDAP: ldap_get_entries(), invalid pointer). (Jani) - Fixed bug #32930 (class extending DOMDocument doesn't clone properly). (Rob) - Fixed bug #32904 (pg_get_notify() ignores result_type parameter). (Tony) - Fixed bug #32852 (Crash with singleton and __destruct when zend.ze1_compatibility_mode = On). (Dmitry) - Fixed bug #32813 (parse_url() does not handle scheme-only urls properly). (Ilia) - Fixed bug #32810 (temporary files not using plain file wrapper). (Ilia) - Fixed bug #32809 (Missing T1LIB support on Windows). (Edin) - Fixed bug #32802 (General cookie overrides more specific cookie). (Ilia) - Fixed bugs #32800, #32830 (ext/odbc: Problems with 64bit systems). (Jani) - Fixed bug #32799 (crash: calling the corresponding global var during the destruct). (Dmitry) - Fixed bug #32776 (SOAP doesn't support one-way operations). (Dmitry) - Fixed bug #32773 (GMP functions break when second parameter is 0). (Stas) - Fixed bug #32759 (incorrect determination of default value (COM)). (Wez) - Fixed bug #32758 (Cannot access safearray properties in VB6 objects). (Wez) - Fixed bug #32755 (Segfault in replaceChild() when DocumentFragment has no children). (Rob) - Fixed bug #32753 (Undefined constant SQLITE_NOTADB). (Ilia) - Fixed bug #32742 (segmentation fault when the stream with a wrapper is not closed). (Tony, Dmitry) - Fixed bug #32699 (pg_affected_rows() was defined when it was not available). (Derick) - Fixed bug #32686 (Require/include file in destructor causes segfault). (Marcus) - Fixed bug #32682 (ext/mssql: Error on module shutdown when called from activescript). (Frank) - Fixed bug #32674 (exception in iterator causes crash). (Dmitry) - Fixed bug #32660 (Assignment by reference causes crash when field access is overloaded (__get)). (Dmitry) - Fixed bug #32647 (Using register_shutdown_function() with invalid callback can crash PHP). (Jani) - Fixed bug #32615 (Segfault in replaceChild() using fragment when previousSibling is NULL). (Rob) - Fixed bug #32613 (ext/snmp: use of snmp_shutdown() causes snmpapp.conf access errors). (Jani, ric at arizona dot edu) - Fixed bug #32608 (html_entity_decode() converts single quotes even if ENT_NOQUOTES is given). (Ilia) - Fixed bug #32596 (Segfault/Memory Leak by getClass (etc) in __destruct). (Dmitry) - Fixed bug #32591 (ext/mysql: Unsatisfied symbol: ntohs with HP-UX). (Jani) - Fixed bug #32589 (Possible crash inside imap_mail_compose, with charsets). (Ilia) - Fixed bug #32587 (Apache2: errors sent to error_log do not include timestamps). (Jani) - Fixed bug #32560 (configure looks for incorrect db2 library). (Tony) - Fixed bug #32553 (mmap loads only the 1st 2000000 bytes on Win32). (Ilia) - Fixed bug #32533 (proc_get_status() returns the incorrect process status). (Ilia) - Fixed bug #32530 (chunk_split() does not append endstr if chunklen is longer then the original string). (Ilia) - Fixed bug #32491 (File upload error - unable to create a temporary file). (Uwe Schindler) - Fixed bug #32405 (mysqli::fetch() returns bad data - 64bit problem). (Andrey) - Fixed bug #32282 (Segfault in mysqli_fetch_array on 64-bit). (Georg) - Fixed bug #32296 (get_class_methods() output has changed between 5.0.2 and 5.0.3). (Dmitry) - Fixed bug #32245 (xml_parser_free() in a function assigned to the xml parser gives a segfault). (Rob) - Fixed bug #32171 (Userspace stream wrapper crashes PHP). (Tony, Dmitry) - Fixed bug #32080 (segfault when assigning object to itself with zend.ze1_compatibility_mode=On). (Dmitry) - Fixed bug #32013 (ext/mysqli bind_result causes fatal error: memory limit). (Andrey) - Fixed bug #31887 (ISAPI: Custom 5xx error does not return correct HTTP response message). (Jani) - Fixed bug #31828 (Crash with zend.ze1_compatibility_mode=On). (Dmitry) - Fixed bug #31668 (multi_query works exactly every other time - multi query d/e flag global and not per connection). (Andrey) - Fixed bug #31636 (another crash when echoing a COM object). (Wez) - Fixed bug #31583 (php_std_date() uses short day names in non-y2k_compliance mode). (mike at php dot net) - Fixed bug #31525 (object reference being dropped. $this getting lost). (Stas, Dmitry) - Fixed bug #31502 (Wrong deserialization from session when using WDDX serializer). (Dmitry) - Fixed bug #31465 (False warning in unpack() when working with *). (Ilia) - Fixed bug #31363 (broken non-blocking flock()). ian at snork dot net - Fixed bug #31213 (Sideeffects caused by fix of bug #29493). (Dmitry) - Fixed bug #31158 (array_splice on $GLOBALS crashes). (Dmitry) - Fixed bug #30961 (Wrong linenumber in ReflectionClass getStartLine()). (Dmitry) - Fixed bug #30889 (Conflict between __get/__set and ++ operator). (Dmitry) - Fixed bug #30833 (array_count_values() modifying input array). (Tony) - Fixed bug #30828 (debug_backtrace() reports incorrect class in overridden methods). (Dmitry) - Fixed bug #30820 (static member conflict with $this->member silently ignored). (Dmitry) - Fixed bug #30819 (Better support for LDAP SASL bind). (Jani) - Fixed bug #30791 (magic methods (__sleep/__wakeup/__toString) call __call if object is overloaded). (Dmitry) - Fixed bug #30707 (Segmentation fault on exception in method). (Stas, Dmitry) - Fixed bug #30702 (cannot initialize class variable from class constant). (Dmitry) - Fixed bug #30519 (Interface not existing says Class not found). (Dmitry) - Fixed bug #30394 (Assignment operators yield wrong result with __get/__set). (Dmitry) - Fixed bug #30332 (zend.ze1_compatibility_mode isnt fully compatable with array_push()). (Dmitry) - Fixed bug #30162 (Catching exception in constructor causes lose of $this). (Dmitry) - Fixed bug #30140 (Problem with array in static properties). (Dmitry) - Fixed bug #30126 (Enhancement for error message for abstract classes). (Marcus) - Fixed bug #30080 (Passing array or non array of objects). (Dmitry) - Fixed bug #29975 (memory leaks when set_error_handler() is used inside error handler). (Tony) - Fixed bug #29971 (variables_order behaviour). (Dmitry) - Fixed bug #29944 (Function defined in switch, crashes). (Dmitry) - Fixed bug #29896 (Backtrace argument list out of sync). (Dmitry) - Fixed bug #29683 (headers_list() returns empty array). (Tony) - Fixed bug #29583 (crash when echoing a COM object). (M.Sisolak, Wez) - Fixed bug #29338 (unencoded spaces get ignored after certain tags). (Ilia) - Fixed bug #29210 (Function: is_callable - no support for private and protected classes). (Dmitry) - Fixed bug #29104 (Function declaration in method doesn't work). (Dmitry) - Fixed bug #29015 (Incorrect behavior of member vars(non string ones)-numeric mem vars und others). (Dmitry) - Fixed bug #28839 (SIGSEGV in interactive mode (php -a)). (kameshj at fastmail dot fm) - Fixed bug #28605 (Need to use -[m]ieee option for Alpha CPUs). (Jani) - Fixed bug #28377 (debug_backtrace is intermittently passing args). (Dmitry) - Fixed bug #27598 (list() array key assignment causes HUGE memory leak). (Dmitry) - Fixed bug #26456 (Wrong results from Reflection-API getDocComment() when called via STDIN). (Dmitry) - Fixed bug #25922 (In error handler, modifying 5th arg (errcontext) may result in seg fault). (Dmitry) - Fixed bug #22836 (returning reference to uninitialized variable). (Dmitry) - Fixed bug #29689 (default value of protected member overrides default value of private) and other private variable problems in inherited classes (Stas) - Fixed bug #29253 (array_diff with $GLOBALS argument fails). (Dmitry) - Abstract private methods are no longer allowed (Stas) 31 Mar 2005, PHP 5.0.4 - Added SNMPv2 support. (harrie) - Added Oracle Instant Client support. (cjbj at hotmail dot com, Tony) - Added length and charsetnr for field array and object in mysqli. (Georg) - Added checks for negative values to gmp_sqrt(), gmp_powm(), gmp_sqrtrem() and gmp_fact() to prevent SIGFPE. (Tony) - Changed foreach() to throw an exception if IteratorAggregate::getIterator() does not return an Iterator. (Marcus) - Changed phpize not to require libtool. (Jani) - Updated bundled oniguruma library (used for multibyte regular expression) to 3.7.0. (Moriyoshi) - Updated bundled libmbfl library (used for multibyte functions). (Moriyoshi) Fixed bugs: . Bug #32311 (mb_encode_mimeheader() does not properly escape characters) . Bug #32063 (mb_convert_encoding ignores named entity 'alpha') . Bug #31911 (mb_decode_mimeheader() is case-sensitive to hex escapes) . bug #30573 (compiler warnings in libmbfl due to invalid type cast) . Bug #30549 (incorrect character translations for some ISO8859 charsets). - Fixed bug preventing from building oci8 as shared. (stanislav dot voroniy at portavita dot nl, Tony) - Fixed a bug in mysql_affected_rows and mysql_stmt_affected_rows when the api function returns -1 (Georg) - Fixed several leaks in ext/browscap and sapi/embed. (Andrei) - Fixed several leaks in ext/filepro. (Tony) - Fixed build system to always use bundled libtool files. (Jani) - Fixed a bug in mysqli_stmt_execute() (type conversion with NULL values). (Georg) - Fixed segfault in mysqli_fetch_field_direct() when invalid field offset is passed. (Tony) - Fixed posix_getsid() & posix_getpgid() to return sid & pgid instead of true. (Tony) - Fixed bug #32394 (offsetUnset() segfaults in a foreach). (Marcus) - Fixed bug #32373 (segfault in bzopen() if supplied path to non-existent file). (Tony) - Fixed bug #32326 (Check values of Connection/Transfer-Encoding case-incentively in SOAP extension). (Ilia) - Fixed bug #32290 (call_user_func_array() calls wrong class method within child class). (Marcus) - Fixed bug #32238 (spl_array.c: void function cannot return value). (Johannes) - Fixed bug #32210 (proc_get_status() sets "running" always to true). (Ilia) - Fixed bug #32200 (Prevent using both --with-apxs2 and --with-apxs2filter). (Jani) - Fixed bug #32134 (Overloading offsetGet/offsetSet). (Marcus) - Fixed bug #32130 (ArrayIterator::seek() does not throw an Exception on invalid index). (Marcus) - Fixed bug #32115 (dateTime SOAP encoding of timezone incorrect). (Dmitry) - Fixed bug #32081 (in mysqli default socket value is not being used). (Ilia) - Fixed bug #32021 (Crash caused by range('', 'z')). (Derick) - Fixed bug #32011 (Fragments which replaced Nodes are not globaly useable). (Rob) - Fixed bug #32001 (xml_parse_into_struct() function exceeds maximum execution time). (Rob, Moriyoshi) - Fixed bug #31980 (Unicode exif data not available on Windows). (Edin) - Fixed bug #31960 (msql_fetch_row() and msql_fetch_array() dropping columns with NULL values). (Daniel Convissor) - Fixed bug #31878 (Segmentation fault using clone keyword on nodes). (Rob) - Fixed bug #31858 (--disable-cli does not force --without-pear). (Jani) - Fixed bug #31842 (*date('r') does not return RFC2822 conforming date string). (Jani) - Fixed bug #31832 (SOAP encoding problem with complex types in WSDL mode with multiple parts). (Dmitry) - Fixed bug #31797 (exif_read_data() uses too low nesting limit). (Ilia) - Fixed bug #31796 (readline completion handler does not handle empty return values). (Ilia) - Fixed bug #31792 (getrusage() does not provide ru_nswap value). (Ilia) - Fixed bug #31755 (Cannot create SOAP header in no namespace). (Dmitry) - Fixed bug #31754 (dbase_open() fails for mode = 1). (Mehdi, Derick) - Fixed bug #31751 (pg_parameter_status() missing on Windows). (Edin) - Fixed bug #31747 (SOAP Digest Authentication doesn't work with "HTTP/1.1 100 Continue" response). (Dmitry) - Fixed bug #31732 (mb_get_info() causes segfault when no parameters specified). (Tony) - Fixed bug #31710 (Wrong return values for mysqli_autocommit/commit/rollback). (Georg) - Fixed bug #31705 (parse_url() does not recognize http://foo.com#bar). (Ilia) - Fixed bug #31695 (Cannot redefine endpoint when using WSDL). (Dmitry) - Fixed bug #31684 (dio_tcsetattr(): misconfigured termios settings). (elod at itfais dot com) - Fixed bug #31683 (changes to $name in __get($name) override future parameters). (Dmitry) - Fixed bug #31699 (unserialize() float problem on non-English locales). (Ilia) - Fixed bug #31562 (__autoload() problem with static variables). (Marcus) - Fixed bug #31651 (ReflectionClass::getDefaultProperties segfaults with arrays). (Marcus) - Fixed bug #31623 (OCILogin does not support password grace period). (daniel dot beet at accuratesoftware dot com, Tony) - Fixed bug #31527 (crash in msg_send() when non-string is stored without being serialized). (Ilia) - Fixed bug #31515 (Improve performance of scandir() by factor of 10 or so). (Ilia) - Fixed bug #31514 (open_basedir uses path_translated rather then cwd for . translation). (Ilia) - Fixed bug #31480 (Possible infinite loop in imap_mail_compose()). (Ilia) - Fixed bug #31479 (Fixed crash in chunk_split(), when chunklen > strlen). (Ilia) - Fixed bug #31454 (session_set_save_handler crashes PHP when supplied non-existent object ref). (Tony) - Fixed bug #31444 (Memory leak in zend_language_scanner.c). (hexer at studentcenter dot org) - Fixed bug #31442 (unserialize broken on 64-bit systems). (Marcus) - Fixed bug #31440 ($GLOBALS can be overwritten via GPC when register_globals is enabled). (Ilia) - Fixed bug #31422 (No Error-Logging on SoapServer-Side). (Dmitry) - Fixed bug #31413 (curl POSTFIELDS crashes on 64-bit platforms). (Joe) - Fixed bug #31396 (compile fails with gd 2.0.33 without freetype). (Jani) - Fixed bug #31371 (highlight_file() trims new line after heredoc). (Ilia) - Fixed bug #31361 (simplexml/domxml segfault when adding node twice). (Rob) - Fixed bug #31348 (CachingIterator::rewind() leaks). (Marcus) - Fixed bug #31346 (ArrayIterator::next segfaults). (Marcus) - Fixed bug #31190 (Unexpected warning then exception is thrown from call_user_func_array()). (phpbugs at domain51 dot net, Dmitry) - Fixed bug #31142 (imap_mail_compose() fails to generate correct output). (Ilia) - Fixed bug #31139 (XML Parser Functions seem to drop & when parsing). (Rob) - Fixed bug #31398 (When magic_guotes_gpc are enabled filenames with ' get cutoff). (Ilia) - Fixed bug #31288 (Possible crash in mysql_fetch_field(), if mysql_list_fields() was not called previously). (Ilia) - Fixed bug #31107, #31110, #31111, #31249 (Compile failure of zend_strtod.c). (Jani) - Fixed bug #31110 (PHP 4.3.10 does not compile on Tru64 UNIX 5.1B). (Derick) - Fixed bug #31107 (Compile failure on Solaris 9 (Intel) and gcc 3.4.3). (Derick) - Fixed bug #31103 (Better error message when c-client cannot be found). (Ilia) - Fixed bug #31101 (missing kerberos header file path with --with-openssl). (Jani) - Fixed bug #31098 (isset() / empty() incorrectly return true in dereference of a string type). (Moriyoshi) - Fixed bug #31087 (broken php_url_encode_hash macro). (Ilia) - Fixed bug #31072 (var_export() does not output an array element with an empty string key). (Derick) - Fixed bug #31060 (imageftbbox() does not use linespacing parameter). (Jani) - Fixed bug #31056 (php_std_date() returns invalid formatted date if y2k_compliance is On). (Ilia) - Fixed bug #31055 (apache2filter: per request leak proportional to the full path of the request URI). (kameshj at fastmail dot fm) - Fixed bug #30901 (can't send cookies with soap envelop). (Dmitry) - Fixed bug #30871 (Misleading warning message for array_combine()). (Andrey) - Fixed bug #30868 (evaluated pointer comparison in mbregex causes compile failure). (Moriyoshi) - Fixed bug #30862 (Static array with boolean indexes). (Marcus) - Fixed bug #30726 (-.1 like numbers are not being handled correctly). (Ilia) - Fixed bug #30725 (PHP segfaults when an exception is thrown in getIterator() within foreach). (Marcus) - Fixed bug #30609 (cURL functions bypass open_basedir). (Jani) - Fixed bug #30446 (apache2handler: virtual() includes files out of sequence) - Fixed bug #30430 (odbc_next_result() doesn't bind values and that results in segfault). (pdan-php at esync dot org, Tony) - Fixed bug #30266 (Invalid opcode 137/1/8). (Marcus) - Fixed bug #30120 (imagettftext() and imagettfbbox() accept too many parameters). (Jani) - Fixed bug #30106 (SOAP cannot not parse 'ref' element. Causes Uncaught SoapFault exception). (Dmitry) - Fixed bug #29989 (type re_registers redefined in oniguruma.h). (Moriyoshi) - Fixed bug #28803 (enabled debug causes bailout errors with CLI on AIX because of fflush() called on already closed filedescriptor). (Tony) - Fixed bug #29767 (Weird behaviour of __set($name, $value)). (Dmitry) - Fixed bug #29733 (printf() handles repeated placeholders wrong). (bugs dot php dot net at bluetwanger dot de, Ilia) - Fixed bug #29424 (width and height inverted for JPEG2000 files). (Ilia) - Fixed bug #29329 (configure for mysqli with shared doesn't work). (Georg) - Fixed bug #29136 (make test - libtool failure on MacOSX). (Jani) - Fixed bug #28976 (mail(): use "From:" from headers if sendmail_from is empty). (Jani) - Fixed bug #28930 (PHP sources pick wrong header files generated by bison). (eggert at gnu dot org, Jani) - Fixed bug #28840 (__destruct of a class that extends mysqli not called). (Marcus) - Fixed bug #28804 (ini-file section parsing pattern is buggy). (wendland at scan-plus dot de) - Fixed bug #28451 (corrupt EXIF headers have unlimited recursive IFD directory entries). (Andrei) - Fixed bug #28444 (Cannot access undefined property for object with overloaded property access). (Dmitry) - Fixed bug #28442 (Changing a static variables in a class changes it across sub/super classes.) (Marcus) - Fixed bug #28324 (HTTP_SESSION_VARS appear when register_long_arrays is Off). (Tony) - Fixed bug #28074 (FastCGI: stderr should be written in a FCGI stderr stream). (chris at ex-parrot dot com) - Fixed bug #28067 (partially incorrect utf8 to htmlentities mapping). (Derick, Benjamin Greiner) - Fixed bug #28041 (SOAP HTTP Digest Access Authentication). (Dmitry) - Fixed bug #27633 (Double \r problem on ftp_get in ASCII mode on Win32). (Ilia) - Fixed bug #18613 (Multiple OUs in x509 certificate not handled properly). (Jani) 15 Dec 2004, PHP 5.0.3 - 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 #32076 (ReflectionMethod::isDestructor() always return true). (Derick, Tony) - 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) 23 Sep 2004, PHP 5.0.2 - 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) - Fixed bug #30209 (ReflectionClass::getMethod() lowercases attribute). (Marcus) - Fixed bug #30182 (SOAP module processing WSDL file dumps core). (Dmitry) - Fixed bug #30045 (Cannot pass big integers (> 2147483647) in SOAP requests). (Dmitry) - Fixed bug #29985 (unserialize()/ __PHP_Incomplete_class does not report correctly class name). (Marcus, Tony) - Fixed bug #29945 (simplexml_load_file URL limitation 255 char). (Rob) - Fixed bug #29873 (No defines around pcntl_*priority definitions). (Derick) - Fixed bug #29844 (SOAP doesn't return the result of a valid SOAP request). (Dmitry) - Fixed bug #29842 (soapclient return null value). (Dmitry) - Fixed bug #29839 (incorrect convert (xml:lang to lang)). (Dmitry) - Fixed bug #29830 (SoapServer::setClass() should not export non-public methods). (Dmitry) - Fixed bug #29828 (Interfaces no longer work). (Marcus) - Fixed bug #29821 (Fixed possible crashes in convert_uudecode() on invalid data). (Ilia) - Fixed bug #29808 (array_count_values() breaks with numeric strings). (Ilia) - Fixed bug #29805 (HTTP Authentication Issues). (Uwe Schindler) - Fixed bug #29795 (SegFault with Soap and Amazon's Web Services). (Dmitry) - Fixed bug #29737 (ip2long should return -1 if IP is 255.255.255.255 and FALSE on error). (Tony) - Fixed bug #29711 (Changed ext/xml to default to UTF-8 output). (Rob) - Fixed bug #29678 (opendir() with ftp:// wrapper segfaults if path does not have trailing slash). (Ilia) - Fixed bug #29657 (xml_* functions throw non descriptive error). (Christian, Rob) - Fixed bug #29656 (segfault on result and statement properties). (Georg) - Fixed bug #29566 (foreach/string handling strangeness (crash)). (Dmitry) - Fixed bug #29447 (Reflection API issues). (Marcus) - Fixed bug #29296 (Added sslv2 and sslv3 transports). (Wez) - Fixed bug #29283 (Invalid statement handle in mysqli on execute). (Georg) - Fixed bug #29913 (parse_url() is now binary safe). (Ilia) - Fixed bug #27994 (segfault with Soapserver when WSDL-Cache is enabled). (Dmitry) - Fixed bug #27791 (Apache 2.0 SAPI build against Apache 2 HEAD). (Joe Orton, Derick) - Fixed bug #26737 (private/protected properties not serialized when user declared method __sleep() exists). E_NOTICE thrown when __sleep() returns name of non-existing member. (Andrey, Curt) 12 Aug 2004, PHP 5.0.1 - 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 bug #29606 (php_strip_whitespace() prints to stdout rather then returning the value). (Ilia) - Fixed bug #29577 (MYSQLI_CLIENT_FOUND_ROWS undefined) (Georg) - Fixed bug #29573 (Segmentation fault, when exception thrown within PHP function called from XSLT). (Christian) - Fixed bug #29522 (accessing properties without connection) (Georg) - Fixed bug #29505 (get_class_vars() severely broken when used with arrays). (Marcus) - Fixed bug #29490 (.Net object instantiation failed). (Michael Sisolak). - Fixed bug #29474 (win32: usleep() doesn't work). (Wez) - Fixed bug #29449 (win32: feof() hangs on empty tcp stream). (Wez) - Fixed bug #29437 (Possible crash inside array_walk_recursive()). (Ilia) - Fixed bug #29431 (crash when parsing invalid address; invalid address returned by stream_socket_recvfrom(), stream_socket_getname()). (Wez) - Fixed bug #29409 (Segfault in PHP functions called from XSLT). (Rob) - Fixed unloading of dynamically loaded extensions. (Marcus, kameshj at fastmail dot fm) - Fixed bug #29395 (sqlite_escape_string() returns bogus data on empty strings). (Ilia, Tony) - Fixed bug #29392 (com_dotnet crashes when echo'ing an object). (Wez) - Fixed bug #29368 (The destructor is called when an exception is thrown from the constructor). (Marcus) - Fixed bug #29354 (Exception constructor marked as both public and protected). (Marcus) - Fixed bug #29342 (strtotime() does not handle empty date string properly). (Ilia) - Fixed bug #29340 (win32 build produces invalid php_ifx.dll). (Edin) - Fixed bug #29335 (fetch functions now use MYSQLI_BOTH as default) (Georg) - Fixed bug #29291 (get_class_vars() return names with NULLs). (Marcus) - Fixed bug #29264 (gettext extension not working). (Edin) - Fixed bug #29258 (variant_date_from_timestamp() does not honour timezone). (Wez) - Fixed bug #29256 (error when sending large packets on a socket). (Dmitry) - Fixed bug #29236 (memory error when wsdl-cache is enabled). (Dmitry) - Fixed bug #29147 (Compile Error in mnoGoSearch functions). (Sergey, Antony) - Fixed bug #29132 ($_SERVER["PHP_AUTH_USER"] isn't defined). (Stefan) - Fixed bug #29119 (html_entity_decode() misbehaves with UTF-8). (Moriyoshi) - Fixed bug #29109 (SoapFault exception: [WSDL] Out of memory). (Dmitry) - Fixed bug #29061 (soap extension segfaults). (Dmitry) - Fixed bug #28985 (__getTypes() returning nothing on complex WSDL). (Dmitry) - Fixed bug #28969 (Wrong data encoding of special characters). (Dmitry) - Fixed bug #28895 (ReflectionClass::isAbstract always returns false). (Marcus) - Fixed bug #28829 (Thread-unsafety in bcmath elementary values). (Sara) - Fixed bug #28464 (catch() does not catch exceptions by interfaces). (Marcus) - Fixed bug #27669 (PHP 5 didn't support all possibilities for calling static methods dynamically). (Dmitry) - 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) 13 Jul 2004, PHP 5.0.0 - Updated PCRE to provide better error handling in certain cases. (Andrei) - Changed doc comments to require a single white space after '/**'. (Marcus) - Fixed bug #29019 (Database not closing). (Marcus) - Fixed bug #29008 (array_combine() does not handle non-numeric/string keys). (Ilia) - Fixed bug #28999 (fixed behaviour of exec() to work as it did in 4.X). (Ilia) - Fixed bug #28868 (Internal filter registry not thread safe). (Sara) - Fixed bug #28851 (call_user_func_array has typo in error message). (Marcus) - Fixed bug #28831 (ArrayObject::offsetGet() does the work of offsetUnset()). (Marcus) - Fixed bug #28822 (ArrayObject::offsetExists() works inverted). (Marcus) - Fixed bug #28789 (ReflectionProperty getValue() fails on public static members). (Marcus) - Fixed bug #28771 (Segfault when using xslt and clone). (Rob) - Fixed bug #28751 (SoapServer does not call _autoload()). (Dmitry) - Fixed bug #28739 (array_*diff() and array_*intersect() not clearing the fci cache before work). (Andrey) - Fixed bug #28721 (appendChild() and insertBefore() unset DOMText).(Rob) - Fixed bug #28702 (SOAP does not parse WSDL service address correctly). (Dmitry) - Fixed bug #28699 (Reflection api bugs). (Marcus) - Fixed bug #28694 (ReflectionExtension::getFunctions() crashes PHP). (Marcus) - Fixed bug #28512 (Allocate enough space to store MSSQL data). (Frank) - Fixed strip_tags() to correctly handle '\0' characters. (Stefan) 7 Jun 2004, PHP 5 Release Candidate 3 - 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) - Removed Firebird/Interbase function ibase_timefmt() (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) - Fixed bug #28641 (Instance of Interface). (Marcus) - Fixed bug #28430 (Extending mysqli class). (Georg) - Fixed bug #28311 (Transparency detection code is off by 1). (Ilia, pikeman at pikeman dot sytes dot net) - Fixed bug #28304 (Missing bounds check inside imagefilter()). (Ilia) - Fixed bug #28300 (Userspace stream/filter names forced to lowercase). (Sara) - Fixed bug #28287 (stream_*_register() not calling __autoload()). (Sara) - Fixed bug #28267 (php_image_filter_contrast calls gdImageBrightness). (Ilia) - Fixed bug #28239 (No results returned on SOAP call, no error given). (Dmitry) - Fixed bug #28205 (num_rows property for statement object). (Georg) - Fixed bug #28161 (COM: Array style properties could not be accessed). (Wez) - Fixed bug #28125 (ArrayObject leaks when accessing elements). (Marcus) - Fixed bug #28100 (NULL parameter support for mysqli_ssl_set). (Georg) - Fixed bug #28099 (ArrayObject doesn't implement ArrayAccess). (Marcus) - Fixed bug #27929 (SPL: change visibility of ArrayIterator::__construct). (Marcus) - Fixed bug #27640 (memory leak of registered_zend_ini_directives). (Dmitry) - Fixed bug #27063 (SPL: ArrayObject does not handle PPP correctly). (Marcus) 25 Apr 2004, PHP 5 Release Candidate 2 - 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) - Fixed bug #28096 (stream_socket_accept() doesn't work with ssl). (Wez) - Fixed bug #28007 (compile mssql extension with old versions of FreeTDS fails). (Frank) - Fixed bug #27997 (SPL: Crash with getInnerIterator()). (Marcus) - Fixed bug #27974 (COM doesn't pass array parameters). (Wez) - Fixed bug #27928 (sqlite incorrectly handles invalid filenames). (Ilia) - Fixed bug $27923 (in some cases using foreach() to iterate over values led to a false error message about the key being a reference). (Adam) - Fixed bug #27865 (STDIN, STDOUT, STDERR are dup()d under CLI). (Wez) - Fixed bug #27821 (xml_parse() segfaults when xml_set_object() is called from class method). (Andi, Rob) - Fixed bug #27742 (WDSL SOAP Parsing Schema bug). (Dmitry) - Fixed bug #27722 (Segfault on schema without targetNamespace). (Dmitry) - Fixed bug #27719 (mktime issues on and around DST changeover). (Rasmus) - Fixed bug #27681 (soap extension fails without HAVE_TM_GMTOFF). (Dmitry) - Fixed bug #27641 (Object cloning in ze1_compatibility_mode was reimplemented) (Dmitry, Andi) - Fixed bug #27628 (Simplify the process of making a POST request via stream context). (Ilia) - Fixed bug #27619 (filters not applied to pre-buffered stream data). (Sara) - Fixed bug #27519 (Reflection_Function constructor crashes with non-existant function's name). (Marcus) - Fixed bug #27457 (handling of numeric indexes in strtr()). (Dmitry) - Fixed bug #27397 (debug_backtrace() not showing function arguments). (Zeev) - Fixed bug #27283 (The last catch statement was sometimes skipped). (Andi) - Fixed bug #26441 (When __set() returned a value it corrupted it). (Andi) - Fixed bug #19749 (shouldn't mmap() files larger than memory_limit). (Wez) 18 March 2004, PHP 5 Release Candidate 1 - 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) - Fixed bug #27606 (Expression must be a modifiable lvalue compiler error). (Derick) - Fixed bug #27597 (pg_fetch_array not returning false). (Marcus) - Fixed bug #27586 (ArrayObject::getIterator crashes with [] assignment). (Marcus) - Fixed bug #27537 (Objects pointing to each other segfaults). (Dmitry) - Fixed bug #27535 (Problem with object freeing mechanism). (Dmitry) - Fixed bug #27504 (Visibility bugs in call_user_function()). (Dmitry) - Fixed bug #27338 (memory leak inside tsrm_virtual_cwd.c on win32). (Ilia) - Fixed bug #27291 (get_browser matches browscap.ini patterns incorrectly). (Jay) - Fixed bug #27287 (wddx segfaults during deserialization). (Moriyoshi) - Fixed bug #27263 (session extension crashes when unserializing referenced values / objects). (Moriyoshi) - Fixed bug #27237 (Working with simplexml crashes apache2). (Rob) - Fixed bug #27227 (Mixed case class names causes Fatal Error in Constructor call). (Marcus) - Fixed bug #27125 (strval() doesn't work for objects with __toString()). (Marcus) - Fixed bug #27123 (Fix crash caused by bug in get_object_vars()). (Andi) - Fixed bug #26677 (mbstring compile errors with IRIX compiler). (K.Kosako , Rui, Moriyoshi) - Fixed bug #26206 (register_long_arrays breaks superglobals). (Zeev) - Fixed bug #25724 (argv and argc not defined). (Zeev) 12 Feb 2004, PHP 5 Beta 4 - 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) - Fixed bug #27145 (Unmangle private/protected property names before printing them inside error messages). (Ilia) - Fixed bug #27103 (preg_split('//u') incorrectly splits UTF-8 strings into octets). (Moriyoshi) - Fixed bug #27042 (SPL: SeekableIterator seek() broken). (Marcus) - Fixed bug #27008 (Every class method can be called as static). (Marcus) - Fixed bug #26938 (exec() has problems reading long lines). (Ilia, runekl[at]opoint[dot]com - Fixed bug #26947 (ext/dom: Crash when using DomDocument::getElementById()). (Christian) - Fixed bug #26911 (crash in sqlite extension when fetching data from empty queries). (Ilia) - Fixed bug #26844 (ext/mime_magic: magic file validation broken). (Jani) - Fixed bug #26819 (http_build_query() crashes on NULL output). (Ilia) - Fixed bug #26817 (http_build_query() does not handle private & protected object properties correctly). (Ilia) - Fixed bug #26815 (foreach of (DOM) childnodes crashes when Xinclude is used). (Rob) - Fixed bug #26796 (SQLite causes crashes with other extensions *connect() calls). (Marcus) - Fixed bug #26762 (unserialize() produces lowercase classnames). (Marcus) - Fixed bug #26743 (getElementsByTagName doesn't work properly). (Rob) - Fixed bug #26736 (__autoload not invoked for parent classes). (Marcus) - Fixed bug #26723 (domNode::appendChild() changes child node namespace). (Rob) - Fixed bug #26697 (calling class_exists() on a nonexistent class in __autoload results in segfault). (Marcus) - Fixed bug #26696 (string index in a switch() crashes with multiple matches). (Andi) - Fixed bug #26695 (Reflection API does not recognize mixed-case class hints). (Marcus) - Fixed bug #26690 (make xsltProcessor->transformToUri use streams wrappers). (Ilia) - Fixed bug #26680 (Added version check in mysqli_report_index). (Georg) - Fixed bug #26675 (Segfault on ArrayAccess use). (Marcus) - Fixed bug #26640 (__autoload() not invoked by Reflection classes). (Jani) - Fixed bug #26543 (call_user_func() broken for self, parent). (Stanislav) - Fixed bug #26077 (memory leak when new() result is not assigned and no constructor is defined). (Stanislav) - Fixed bug #26065 (Crash when nesting classes). (Marcus) - Fixed bug #25816 (disallow arrays in class constants). (Stanislav) - Fixed bug #25329 (sqlite_create_function with method and reference to $this). (Marcus) - Fixed bug #25038 (call_user_func() issues a warning if function throws an exception). (Marcus) - Fixed bug #24608 (__set not triggered when overloading with array). (Stanislav) - Fixed bug #24243 (enabling browscap causes segfault). (Wez) 21 Dec 2003, PHP 5 Beta 3 - 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) - Fixed bug #26615 () (runekl at opoint dot com, Derick) - Fixed bug #26591 ("__autoload threw an exception" during an uncaught). (Marcus) - Fixed bug #26534 (stream_get_meta_data() -> Access Violation). (Wez) - Fixed bug #26528 (HTML entities are not being decoded by xml_parse()/xml_parse_into_struct()). (Ilia) - Fixed bug #26182 (Object properties created redundantly). (Andi) - Fixed bug #26156 (REPLACE_ZVAL_VALUE works on uninit stack-based zvals). (Moriyoshi) - Fixed bug #26083 (Non-working write support in ext/dom). (Ilia) - Fixed bug #26072 (--disable-libxml does not work). (Jani) - Fixed bug #26001 (serialize crashes when accessing an overloaded object that has no properties (NULL hashtable)). (Wez) - Fixed bug #25664 (COM crashes when calling a Delphi implementations of ITypeInfo). (Wez) - Fixed bug #24837 (Incorrect behaviour of PPP using foreach). (Marcus) - Fixed bug #24693 (Allow session.use_trans_sid to be enabled/disabled from inside the script). (Ilia) - Fixed bug #24394 (Serializing cross-referenced objects causes segfault). (Moriyoshi) 30 Oct 2003, PHP 5 Beta 2 - 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 declarations. . 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 ability to bind PHP arrays to native Interbase arrays . 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 ). (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 fields within XML documents in ext/xml. (Sterling) - Fixed visibility of __construct and __clone. (Marcus) - Fixed bug #25756 (SimpleXML's validate_schema_file() broken). (Moriyoshi) - Fixed bug #25581 (getimagesize() returns incorrect values on bitmap (os2) files). (Marcus) - 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). (Stanislav) - 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 http://www.php.net/zend-engine-2.php. - Added SQLite (http://www.hwaci.com/sw/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. (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 "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)