PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? 2009, PHP 5.3.0 RC 3 - Upgraded bundled sqlite to version 3.6.14. (Scott) - Upgraded bundled libmagic to 5.03 in the fileinfo extension. (Scott) - Added the ability for json_decode() to take a user specified depth. (Scott) - Disabled SQLite3::loadExtension for threaded SAPIs. (Scott) - Fixed bug #48257 (PharData throws exception with non-phar tar). (Greg) - Fixed bug #48227 (NumberFormatter::format leaks memory). (Felipe) - Fixed bug #48200 (compile failure with mbstring.c when --enable-zend-multibyte is used). (Jani) - Fixed bug #48188 (Cannot execute a scrollable cursors twice with PDO_PGSQL). (Matteo) - Fixed bug #38802 (max_redirects and ignore_errors). (patch by datibbaw@php.net) 07 May 2009, PHP 5.3.0 RC 2 - Upgraded bundled sqlite to version 3.6.13. (Ilia) - Upgraded bundled PCRE to version 7.9. (Nuno) - Upgraded bundled libmagic to 5.02 in the fileinfo extension. (Scott) - Undeprecated ticks. (Arnaud) - Improved IMAP support (Pierre): . Added imap_gc() to clear the imap cache . Added imap_utf8_to_mutf7() and imap_mutf7_to_utf8() - Implemented FR #41712 (curl progress callback: CURLOPT_PROGRESSFUNCTION). (sdteffen[at]gmail[dot].com, Pierre) - Implemented FR #47739 (Missing cURL option do disable IPv6). (Pierre) - Implemented FR #39637 (Missing cURL option CURLOPT_FTP_FILEMETHOD). (Pierre) - Added timezone_version_get() to retrieve the version of the used timezone database. (Derick) - Added 'n' flag to fopen to allow passing O_NONBLOCK to the underlying open(2) system call. (Mikko) - Added "dechunk" filter which can decode HTTP responses with chunked transfer-encoding. HTTP streams use this filter automatically in case "Transfer-Encoding: chunked" header is present in response. It's possible to disable this behaviour using "http"=>array("auto_decode"=>0) in stream context. (Dmitry) - Added ability to throw exceptions from SQLite3 instead of warnings. (Scott) - Added startup notices for deprecated ini settings. (Kalle) - Fixed bug #48185 (warning: value computed is not used in pdo_sqlite_stmt_get_col line 271). (Matteo) - Fixed bug #48087 (call_user_method() invalid free of arguments). (Felipe) - Fixed bug #48060 (pdo_pgsql - large objects are returned as empty). (Matteo) - Fixed bug #48034 (PHP crashes when script is 8192 (8KB) bytes long). (Dmitry) - Fixed bug #48023 (spl_autoload_register didn't store closures). (Etienne) - Fixed bug #48004 (Error handler prevents creation of default object). (Dmitry) - Fixed bug #47880 (crashes in call_user_func_array()). (Dmitry) - Fixed bug #47856 (stristr() converts needle to lower-case). (Ilia) - Fixed bug #47851 (is_callable throws fatal error). (Dmitry) - Fixed bug #47819 (Getting pdo_mysql.so: undefined symbol: mysqlnd_debug_init at startup). (Johannes) - Fixed bug #47816 (pcntl tests failing on NetBSD). (Matteo) - Fixed bug #47779 (Wrong value for SIG_UNBLOCK and SIG_SETMASK constants). (Matteo) - Fixed bug #47771 (Exception during object construction from arg call calls object's destructor). (Dmitry) - Fixed bug #47745 (FILTER_VALIDATE_INT doesn't allow minimum integer). (Dmitry) - Fixed bug #47714 (autoloading classes inside exception_handler leads to crashes). (Dmitry) - Fixed bug #47699 (autoload and late static binding). (Dmitry) - Fixed bug #47662 (Support more than 127 subpatterns in preg_match). (Nuno) - Fixed bug #47596 (Bus error on parsing file). (Dmitry) - Fixed bug #47560 (explode()'s limit parameter odd behaviour). (Matt) - Fixed bug #47535 (Compilation failure in ps_fetch_from_1_to_8_bytes()). (Johannes) - Fixed bug #47534 (RecursiveDiteratoryIterator::getChildren ignoring CURRENT_AS_PATHNAME). (Etienne) - Fixed bug #47516 (nowdoc can not be embed in heredoc but can be embed in double quote). (Dmitry) - Fixed bug #47038 (Memory leak in include). (Dmitry) - Fixed bug #47021 (SoapClient stumbles over WSDL delivered with "Transfer-Encoding: chunked"). (Dmitry) - Fixed bug #46817 (tokenizer misses last single-line comment (PHP 5.3+, with re2c lexer)). (Matt, Shire) - Fixed bug #46108 (DateTime - Memory leak when unserializing). (Felipe) - Fixed bug #44861 (scrollable cursor don't work with pgsql). (Matteo) - Fixed bug #44409 (PDO::FETCH_SERIALIZE calls __construct()). (Matteo) - Fixed bug #44173 (PDO->query() parameter parsing/checking needs an update). (Matteo) - Fixed bug #42362 (HTTP status codes 204 and 304 should not be gzipped). (Scott, Edward Z. Yang) - Fixed PECL bug #16338 (phar extension uses php_stream_copy_to_stream). (Greg) - Fixed PECL bug #14646 (phar error message unclear with php stream wrappers). (Greg) - Fixed an issue with ReflectionProperty::setAccessible(). (Sebastian, Roman Borschel) 24 Mar 2009, PHP 5.3.0 RC 1 - Upgraded bundled sqlite to version 3.6.11. (Scott) - Upgraded bundled libmagic to 5.00 in the fileinfo extension. (Scott) - Re-enabled phar for big-endian systems after fixing problems. (Greg) - Added LIBXML_LOADED_VERSION constant (libxml2 version currently used). (Rob) - Added JSON_FORCE_OBJECT flag to json_encode(). (Scott, Richard Quadling) - Added support for CP850 encoding in mbstring extension. (Denis Giffeler, Moriyoshi) - Fixed bug #47757 (rename JPG to JPEG in phpinfo). (Pierre) - Fixed bug #47678 (Allow loadExtension to be disabled in SQLite3). (Scott) - Fixed bug #47671 (Cloning SplObjectStorage instances). (Etienne) - Fixed bug #47664 (get_class returns NULL instead of FALSE). (Dmitry) - Fixed bug #47593 (interface_exists() returns false when using absolute namespace path). (Kalle, Felipe) - Fixed bug #47572 (Undefined constant causes segmentation fault). (Felipe) - Fixed bug #47549 (get_defined_constants() return array with broken array categories). (Ilia) - Fixed bug #47443 (metaphone('scratch') returns wrong result). (Felipe) - Fixed bug #47438 (mysql_fetch_field ignores zero offset). (Johannes) - Fixed bug #47398 (PDO_Firebird doesn't implements quoter correctly). (Felipe) - Fixed bug #47390 (odbc_fetch_into - BC in php 5.3.0). (Felipe) - Fixed bug #47359 (Use the expected unofficial mimetype for bmp files). (Scott) - Fixed bug #47343 (gc_collect_cycles causes a segfault when called within a destructor in one case). (Dmitry) - Fixed bug #47329 (Crash in garbage collector). (Dmitry) - Fixed bug #47320 ($php_errormsg out of scope in functions). (Dmitry) - Fixed bug #47265 (generating phar.phar fails because of safe_mode). (Greg) - Fixed bug #47243 (OCI8: Crash at shutdown on Windows) (Chris Jones/Oracle Corp.) - Fixed bug #47231 (offsetGet error using incorrect offset). (Etienne) - Fixed bug #47229 (preg_quote() should escape the '-' char). (Nuno) - Fixed bug #47085 (rename() returns true even if the file in PHAR does not exist). (Greg) - Fixed bug #47031 (Fix constants in DualIterator example). (Etienne) - Fixed bug #46994 (OCI8: CLOB size does not update when using CLOB IN OUT param in stored procedure) (Chris Jones/Oracle Corp.) - Fixed bug #46897 (ob_flush() should fail to flush unerasable buffers). (David C.) - Fixed bug #46623 (OCI8: phpinfo doesn't show compile time ORACLE_HOME with phpize) (Chris Jones/Oracle Corp.) - Fixed bug #46542 (Extending PDO class with a __call() function doesn't work as expected). (Johannes) - Fixed bug #46347 (parse_ini_file() doesn't support * in keys). (Nuno) - Fixed bug #46048 (SimpleXML top-level @attributes not part of iterator). (David C.) - Fixed bug #45682 (Unable to var_dump(DateInterval)). (Derick) - Fixed bug #45432 (PDO: persistent connection leak). (Felipe) - Fixed bug #43831 ($this gets mangled when extending PDO with persistent connection). (Felipe) - Fixed PECL Bug #16035 (OCI8: oci_connect without ORACLE_HOME defined causes segfault) (Chris Jones/Oracle Corp.) - Fixed PECL Bug #15988 (OCI8: sqlnet.ora isn't read with older Oracle libraries) (Chris Jones/Oracle Corp.) - Fixed PECL Bug #14268 (Allow "pecl install oci8" command to "autodetect" an Instant Client RPM install) (Chris Jones/Oracle Corp.) 29 Jan 2009, PHP 5.3.0 Beta 1 - Upgraded bundled sqlite to version 3.6.10. (Scott, Ilia) - Deprecated session_register(), session_unregister() and session_is_registered(). (Hannes) - Improved DNS API . Added Windows support for dns_check_record(), dns_get_mx(), checkdnsrr() and getmxrr(). (Pierre) . Added support for old style DNS functions (supports OSX and FBSD). (Scott) . Added a new "entries" array in dns_check_record() containing the TXT elements. (Felipe, Pierre) - Changed __call() to be invoked on private/protected method access, similar to properties and __get(). (Andrei) - Changed dl() to be disabled by default. Enabled only when explicitly registered by the SAPI. Currently enabled with cli, cgi and embed SAPIs. (Dmitry) - Changed opendir(), dir() and scandir() to use default context when no context argument is passed. (Sara) - Changed open_basedir to allow tightening in runtime contexts. (Sara) - Changed PHP/Zend extensions to use flexible build IDs. (Stas) - Added new Enchant extension. (Pierre) - Added support for IDN via ICU in intl, idn_to_ascii and idn_to_utf8. (Pierre) - Added support for SSH via libssh2 in cURL. (Pierre) - Added support for fnmatch() on Windows. (Pierre) - Added support for time_nanosleep() and time_sleep_until() on Windows. (Pierre) - Added support for symlink(), readlink(), linkinfo() and link() on Windows. They are available only when the running platform supports them. (Pierre) - Added support for gray levels PNG image with alpha in GD extension. (Pierre) - Added support for salsa hashing functions in HASH extension. (Scott) - Added DOMNode::getLineNo to get line number of parsed node. (Rob) - Added table info to PDO::getColumnMeta() with SQLite. (Martin Jansen, Scott) - Added mail logging functionality that allows logging of mail sent via mail() function. (Ilia) - Added json_last_error() to return any error information from json_decode(). (Scott) - Added gethostname() to return the current system host name. (Ilia) - Added shm_has_var() function. (Mike) - Added depth parameter to json_decode() to lower the nesting depth from the maximum if required. (Scott) - Added ICU support to SQLite3 when using the bundled version. (Scott) - Added SQLite3::openBlob() to read a blob value as a stream. (Scott) - Added pixelation support in imagefilter(). (Takeshi Abe, Kalle) - Added SplObjectStorage::addAll/removeAll. (Etienne) - Added Windows support for stream_socket_pair(). (Kalle) - Re-added socket_create_pair() for Windows in sockets extension. (Kalle) - Disabled Phar for big endian systems due to various crash bugs. (Scott) - Fixed building of pdo_sqlite without sqlite3. (Scott) - Fixed bug #47165 (Possible memory corruption when passing return value by reference). (Dmitry) - Fixed bug #47145 + #47159 (Always free failed SQLite3 statements). (Scott) - Fixed bug #47141 (Unable to fetch error messages from SQLite3 when the database can't be opened). (Scott) - Fixed bug #47087 (Second parameter of mssql_fetch_array()). (Felipe) - Fixed bug #47050 (mysqli_poll() modifies improper variables). (Johannes) - Fixed bug #47045 (SplObjectStorage instances compared with ==). (Etienne) - Fixed bug #46979 (use with non-compound name *has* effect). (Dmitry) - Fixed bug #46957 (The tokenizer returns deprecated values). (Felipe) - Fixed bug #46944 (UTF-8 characters outside the BMP aren't encoded correctly). (Scott) - Fixed bug #46849 (Cloning DOMDocument doesn't clone the properties). (Rob) - Fixed bug #46847 (phpinfo() is missing some settings). (Hannes) - Fixed bug #46844 (php scripts or included files with first line starting with # have the 1st line missed from the output). (Ilia) - Fixed bug #46811 (ini_set() doesn't return false on failure). (Hannes) - Fixed bug #46763 (mb_stristr() wrong output when needle does not exist). (Henrique M. Decaria) - Fixed bug #46755 (warning: use statement with non-compound name). (Dmitry) - Fixed bug #46746 (xmlrpc_decode_request outputs non-suppressable error when given bad data). (Ilia) - Fixed bug #46738 (Segfault when mb_detect_encoding() fails). (Scott) - Fixed bug #46701 (Creating associative array with long values in the key fails on 32bit linux). (Shire) - Fixed bug #46681 (mkdir() fails silently on PHP 5.3). (Hannes) - Fixed bug #46653 (can't extend mysqli). (Johannes) - Fixed bug #46646 (Restrict serialization on some internal classes like Closure and SplFileInfo using exceptions). (Etienne) - Fixed bug #46268 (DateTime::modify() does not reset relative time values). (Derick) - Fixed bug #46044 (Mysqli - wrong error message). (Johannes) - Fixed bug #45991 (Ini files with the UTF-8 BOM are treated as invalid). (Scott) - Fixed bug #45989 (json_decode() doesn't return NULL on certain invalid strings). (magicaltux, Scott) - Fixed bug #45820 (Allow empty keys in ArrayObject). (Etienne) - Fixed bug #45791 (json_decode() doesn't convert 0e0 to a double). (Scott) 04 Dec 2008, PHP 5.3.0 Alpha 3 - Upgraded bundled PCRE to version 7.8. (Nuno) - Upgraded bundled sqlite to version 3.6.6.2. (Scott, Ilia) - Moved ext/msql to PECL. (Derick, Lukas) - Removed ext/mhash, the BC layer is now entirely within ext/hash. (Scott) - Changed error level E_ERROR into E_WARNING in Soap extension methods parameter validation. (Felipe) - Changed openssl info to show the shared library version number. (Scott) - Changed floating point behaviour to consistently use double precision on all platforms and with all compilers. (Christian Seiler) - Changed round() to act more intuitively when rounding to a certain precision and round very large and very small exponents correctly. (Christian Seiler) - Changed fileinfo to no longer send errors to stderr. (Scott) - Added support for namespaces with brackets. (Greg) - Added stream_cast() and stream_set_options() to user-space stream wrappers, allowing stream_select(), stream_set_blocking(), stream_set_timeout() and stream_set_write_buffer() to work with user-space stream wrappers. (Arnaud) - Added header_remove() function. (chsc at peytz dot dk, Arnaud) - Added stream_context_get_params() function. (Arnaud) - Added optional parameter "new" to sybase_connect(). (Timm) - Added parse_ini_string() function. (grange at lemonde dot fr, Arnaud) - Added str_getcsv() function. (Sara) - Added openssl_random_pseudo_bytes() function. (Scott) - Added ability to send user defined HTTP headers with SOAP request. (Brian J.France, Dmitry) - Added concatenation option to bz2.decompress stream filter. (Keisial at gmail dot com, Greg) - Added support for using compressed connections with PDO_mysql. (Johannes) - Deprecated define_syslog_variables(). (Kalle) - Deprecated ereg extension. (Felipe) - Fixed bug causing the algorithm parameter of mhash() to be modified. (Scott) - Fixed invalid calls to free when internal fileinfo magic file is used. (Scott) - Fixed memory leak inside wddx_add_vars() function. (Felipe) - Synced changes from libmagic 4.26 to bundled libmagic. (Scott) - Fixed check in recode extension to allow builing of recode and mysql extensions when using a recent libmysql. (Johannes) - Fixed bug #46731 (Missing validation for the options parameter of the imap_fetch_overview() function). (Ilia) - Fixed bug #46711 (cURL curl_setopt leaks memory in foreach loops). (magicaltux [at] php [dot] net) - Fixed bug #46578 (strip_tags() does not honor end-of-comment when it encounters a single quote). (Felipe) - Fixed bug #46546 (Segmentation fault when using declare statement with non-string value). (Felipe) - Fixed bug #46421 (SplFileInfo not correctly handling /). (Etienne) - Fixed bug #46409 (__invoke method called outside of object context when using array_map). (Dmitry) - Fixed bug #46331 - (Segfault when using internal fileinfo magic file on big endian systems). (Scott) - Fixed bug #46285 (lastInsertId() returns "0" when a deferenced PDOStatement is executed). (Johannes) - Fixed bug #46241 (stacked error handlers, internal error handling in general). (Etienne) - Fixed bug #46238 (Segmentation fault on static call with empty string method). (Felipe) - Fixed bug #46205 (Closure - Memory leaks when ReflectionException is thrown). (Dmitry) - Fixed bug #46194 (SIGSEGV when requested file is not found). (Greg) - Fixed bug #46192 (ArrayObject with objects as storage serialization). (Etienne) - Fixed bug #46185 (importNode changes the namespace of an XML element). (Rob) - Fixed bug #46178 (memory leak in ext/phar). (Greg) - Fixed bug #46160 (SPL - Memory leak when exception is thrown in offsetSet). (Felipe) - Fixed Bug #46147 (after stream seek, appending stream filter reads incorrect data). (Greg) - Fixed bug #46127 (php_openssl_tcp_sockop_accept forgets to set context on accepted stream) (Mark Karpeles, Pierre) - Fixed bug #46115 (Memory leak when calling a method using Reflection). (Dmitry) - Fixed bug #46106 (Memory leaks when using global statement). (Dmitry) - Fixed bug #46099 (Xsltprocessor::setProfiling - memory leak). (Felipe, Rob). - Fixed bug #46087 (DOMXPath - segfault on destruction of a cloned object). (Ilia) - Fixed bug #46086 (Segfault when accessing fileinfo class properties). (Scott) - Fixed bug #46071 (finfo_open() segfaults when using wrong file name on BSD). (Felipe) - Fixed bug #46060 (Phar::addEmptyDir() breaks) (Greg) - Fixed bug #46042 (memory leaks with reflection of mb_convert_encoding()). (Ilia) - Fixed bug #46039 (ArrayObject iteration is slow). (Arnaud) - Fixed bug #46033 (Direct instantiation of SQLite3stmt and SQLite3result cause a segfault.) (Scott) - Fixed bug #45976 (Moved SXE from SPL to SimpleXML). (Etienne) - Fixed bug #45928 (large scripts from stdin are stripped at 16K border). (Christian Schneider, Arnaud) - Fixed bug #45911 (Cannot disable ext/hash). (Arnaud) - Fixed bug #45907 (undefined reference to 'PHP_SHA512Init'). (Greg) - Fixed bug #45392 (ob_start()/ob_end_clean() and memory_limit). (Ilia) - Fixed bug #45382 (timeout bug in stream_socket_enable_crypto). (vnegrier at optilian dot com, Ilia) - Fixed bug #44575 (parse_ini_file comment # line problems). (Arnaud) - Fixed bug #44135 (PDO MySQL does not support CLIENT_FOUND_ROWS). (Johannes, chx1975 at gmail dot com) - Fixed bug #44153 (pdo->errorCode() returns NULL when there are no errors). (David C.) - Fixed bug #44154 (pdo->errorInfo() always have three elements in the returned array). (David C.) - Fixed bug #43069 (SoapClient causes 505 HTTP Version not supported error message). (Dmitry) - Fixed bug #41534 (SoapClient over HTTPS fails to reestablish connection). (Dmitry) 02 Sep 2008, PHP 5.3.0 Alpha 2 - Removed special treatment of "/tmp" in sessions for open_basedir. Note: This undocumented behaviour was introduced in 5.2.2. (Alexey) - Removed shebang line check from CGI sapi (checked by scanner). (Dmitry) - Changed session_start() to return false when session startup fails. (Jani) - Changed property_exists() to check the existence of a property independent of accessibility (like method_exists()). (Felipe) - Changed array_reduce() to allow mixed $initial (Christian Seiler) - Added function preg_filter() that does grep and replace in one go. (Marcus) - Added system independent realpath() implementation which caches intermediate directories in realpath-cache. (Dmitry) - Added optional clear_realpath_cache and filename parameters to clearstatcache(). (Jani, Arnaud) - Added litespeed SAPI module. (George Wang) - Added ext/hash support to ext/session's ID generator. (Sara) - Added quoted_printable_encode() function. (Tony) - Added stream_context_set_default() function. (Davey Shafik) - Added optional "is_xhtml" parameter to nl2br() which makes the function output
when false and
when true (FR #34381). (Kalle) - Added PHP_MAXPATHLEN constant (maximum length of a path). (Pierre) - Improved Windows support and portability for stat(), touch(), filemtime(), filesize() and related functions. (Pierre) - Fixed a bug causing miscalculations with the "last of month" relative time string. (Derick) - Fixed bug #46110 (XMLWriter - openmemory() and openuri() leak memory on multiple calls). (Ilia) - Fixed bug #46032 (PharData::__construct() wrong memory read). (Greg) - Fixed bug #45826 (custom ArrayObject serialization). (Etienne) - Fixed bug #45798 (sqlite3 doesn't notice if variable was bound). (Felipe) - Fixed bug #45786 (FastCGI process exited unexpectedly). (Dmitry) - Fixed bug #45763 (mysqli::multi_query does not work with mysqlnd). (Johannes) - Fixed bug #45757 (FreeBSD4.11 build failure: failed include; stdint.h). (Hannes) - Fixed bug #45743 (property_exists fails to find static protected member in child class). (Felipe) - Fixed bug #45717 (Fileinfo/libmagic build fails, missing err.h and getopt.h). (Derick) - Fixed bug #45706 (Unserialization of classes derived from ArrayIterator fails). (Etienne, Dmitry) - Fixed bug #45696 (Not all DateTime methods allow method chaining). (Derick) - Fixed bug #45636 (fileinfo ext duplicate strndup). (Derick) - Fixed bug #45545 (DateInterval has 4 char limitation for ISO durations). (Derick) - Fixed bug #45447 (Filesystem time functions on Vista and server 2008). (Pierre) - Fixed bug #45384 (parse_ini_file will result in parse error with no trailing newline). (Arnaud) - Fixed bug #45044 (relative paths not resolved correctly). (Dmitry) - Fixed bug #44842 (parse_ini_file keys that start/end with underscore). (Arnaud) - Fixed bug #44100 (Inconsistent handling of static array declarations with duplicate keys). (Dmitry) - Fixed bug #43817 (opendir() fails on Windows directories with parent directory unaccessible). (Dmitry) - Fixed bug #43008 (php://filter uris ignore url encoded filternames and can't handle slashes). (Arnaud) - Fixed bug #35980 (touch() works on files but not on directories). (Pierre) 01 Aug 2008, PHP 5.3.0 Alpha 1 - Upgraded bundled PCRE to version 7.7. (Nuno) - Upgraded bundled PDO sqlite to version 3.5.9. (Scott) - Moved extensions to PECL (Pierre): . ext/dbase . ext/fbsql . ext/fdf . ext/ncurses . ext/ming . ext/sybase (not maintained anymore, sybase_ct has to be used instead) - Removed the experimental RPL (master/slave) functions from mysqli. (Andrey) - Removed zend.ze1_compatibility_mode. (Dmitry) - Deprecated ticks support. (Felipe) - Changed PCRE, Reflection and SPL extensions to be always enabled. (Marcus) - Changed md5() to use improved implementation. (Solar Designer, Dmitry) - Changed HTTP stream wrapper to accept any code between and including 200 to 399 as successful. (Mike, Noah Fontes) - Improved PHP syntax and semantics: . Added lambda functions and closures. (Christian Seiler, Dmitry) . Added "jump label" operator (limited "goto"). (Dmitry, Sara) . Added NOWDOC syntax. (Gwynne Raskind, Stas, Dmitry) . Added HEREDOC syntax with double quotes. (Lars Strojny, Felipe) . Added support for using static HEREDOCs to initialize static variables and class members or constants. (Matt) . Improved syntax highlighting and consistency for variables in double-quoted strings and literal text in HEREDOCs and backticks. (Matt) . Added "?:" operator. (Marcus) . Added support for namespaces. (Dmitry, Stas, Gregory, Marcus) . Added support for Late Static Binding. (Dmitry, Etienne Kneuss) . Added support for __callStatic() magic method. (Sara) . Added forward_static_call(_array) to complete LSB. (Mike Lively) . Added support for dynamic access of static members using $foo::myFunc(). (Etienne Kneuss) . Improved checks for callbacks. (Marcus) . Added __DIR__ constant. (Lars Strojny) . Added new error modes E_USER_DEPRECATED and E_DEPRECATED. E_DEPRECATED is used to inform about stuff being scheduled for removal in future PHP versions. (Lars Strojny, Felipe, Marcus) . Added "request_order" INI variable to control specifically $_REQUEST behavior. (Stas) . Added support for exception linking. (Marcus) . Added ability to handle exceptions in destructors. (Marcus) - Improved PHP runtime speed and memory usage: . Substitute global-scope, persistent constants with their values at compile time. (Matt) . Optimized ZEND_SIGNED_MULTIPLY_LONG(). (Matt) . Removed direct executor recursion. (Dmitry) . Use fastcall calling convention in executor on x86. (Dmitry) . Use IS_CV for direct access to $this variable. (Dmitry) . Use ZEND_FREE() opcode instead of ZEND_SWITCH_FREE(IS_TMP_VAR). (Dmitry) . Lazy EG(active_symbol_table) initialization. (Dmitry) . Optimized ZEND_RETURN opcode to not allocate and copy return value if it is not used. (Dmitry) . Replaced all flex based scanners with re2c based scanners. (Marcus, Nuno, Scott) . Added garbage collector. (David Wang, Dmitry). . Improved PHP binary size and startup speed with GCC4 visibility control. (Nuno) . Improved engine stack implementation for better performance and stability. (Dmitry) . Improved memory usage by moving constants to read only memory. (Dmitry, Pierre) . Changed exception handling. Now each op_array doesn't contain ZEND_HANDLE_EXCEPTION opcode in the end. (Dmitry) . Optimized require_once() and include_once() by eliminating fopen(3) on second usage. (Dmitry) . Optimized ZEND_FETCH_CLASS + ZEND_ADD_INTERFACE into single ZEND_ADD_INTERFACE opcode. (Dmitry) . Optimized string searching for a single character. (Michal Dziemianko, Scott) . Optimized interpolated strings to use one less opcode. (Matt) - Improved php.ini handling: (Jani) . Added ".htaccess" style user-defined php.ini files support for CGI/FastCGI. . Added support for special [PATH=/opt/httpd/www.example.com/] and [HOST=www.example.com] sections. Directives set in these sections can not be overridden by user-defined ini-files or during runtime. . Added better error reporting for php.ini syntax errors. . Allowed using full path to load modules using "extension" directive. . Allowed "ini-variables" to be used almost everywhere ini php.ini files. . Allowed using alphanumeric/variable indexes in "array" ini options. . Added 3rd optional parameter to parse_ini_file() to specify the scanning mode of INI_SCANNER_NORMAL or INI_SCANNER_RAW. In raw mode option values and section values are treated as-is. . Fixed get_cfg_var() to be able to return "array" ini options. . Added optional parameter to ini_get_all() to only retrieve the current value. (Hannes) - Improved and cleaned CGI code: . FastCGI is now always enabled and can not be disabled. See sapi/cgi/CHANGES for more details. (Dmitry) . Added CGI SAPI -T option which can be used to measure execution time of script repeated several times. (Dmitry) - Improved streams: . Fixed confusing error message on failure when no errors are logged. (Greg) . Added stream_supports_lock() function. (Benjamin Schulz) . Added "ignore_errors" option to http fopen wrapper. (David Zulke, Sara) . Added context parameter for copy() function. (Sara) . Added "glob://" stream wrapper. (Marcus) . Added "params" as optional parameter for stream_context_create(). (Sara) . Added ability to use stream wrappers in include_path. (Gregory, Dmitry) - Improved hash extension: . Changed mhash to be a wrapper layer around the hash extension. (Scott) . Added hash_copy() function. (Tony) . Added sha224 hash algorithm to the hash extension. (Scott) - Improved mbstring extension: . Added "mbstring.http_output_conv_mimetypes" INI directive that allows common non-text types such as "application/xhtml+xml" to be converted by mb_output_handler(). (Moriyoshi) - Improved OCI8 extension (Chris Jones/Oracle Corp.): . Added Database Resident Connection Pooling (DRCP) and Fast Application Notification (FAN) support. . Added support for Oracle External Authentication (not supported on Windows). . Improve persistent connection handling of restarted DBs. . Added SQLT_AFC (aka CHAR datatype) support to oci_bind_by_name. . Fixed bug #45458 (Numeric keys for associative arrays are not handled properly) . Fixed bug #41069 (Segmentation fault with query over DB link). . Fixed define of SQLT_BDOUBLE and SQLT_BFLOAT constants with Oracle 10g ORACLE_HOME builds. . Changed default value of oci8.default_prefetch from 10 to 100. . Fixed PECL bug #12431 (OCI8 ping functionality is broken). . Allow building (e.g from PECL) the PHP 5.3-based OCI8 code with PHP 4.3.9 onwards. - Improved OpenSSL extension: . Added support for OpenSSL digest and cipher functions. (Dmitry) . Added access to internal values of DSA, RSA and DH keys. (Dmitry) . Fixed a memory leak on openssl_decrypt(). (Henrique) . Fixed segfault caused by openssl_pkey_new(). (Henrique) . Fixed bug caused by uninitilized variables in openssl_pkcs7_encrypt() and openssl_pkcs7_sign(). (Henrique) . Fixed error message in openssl_seal(). (Henrique) - Improved pcntl extension: (Arnaud) . Added pcntl_signal_dispatch(). . Added pcntl_sigprocmask(). . Added pcntl_sigwaitinfo(). . Added pcntl_sigtimedwait(). - Improved SOAP extension: . Added support for element names in context of XMLSchema's . (Dmitry) . Added ability to use Traversable objects instead of plain arrays. (Joshua Reese, Dmitry) . Fixed possible crash bug caused by an uninitialized value. (Zdash Urf) - Improved SPL extension: . Added SPL to list of standard extensions that cannot be disabled. (Marcus) . Added ability to store associative information with objects in SplObjectStorage. (Marcus) . Added ArrayAccess support to SplObjectStorage. (Marcus) . Added SplDoublyLinkedList, SplStack, SplQueue classes. (Etienne) . Added FilesystemIterator. (Marcus) . Added GlobIterator. (Marcus) . Added SplHeap, SplMinHeap, SplMaxHeap, SplPriorityQueue classes. (Etienne) . Added new parameter $prepend to spl_autoload_register(). (Etienne) . Added SplFixedArray. (Etienne, Tony) . Added delaying exceptions in SPL's autoload mechanism. (Marcus) . Added RecursiveTreeIterator. (Arnaud, Marcus) . Added MultipleIterator. (Arnaud, Marcus, Johannes) - Improved Zend Engine: . Added "compact" handler for Zend MM storage. (Dmitry) . Added "+" and "*" specifiers to zend_parse_parameters(). (Andrei) . Added concept of "delayed early binding" that allows opcode caches to perform class declaration (early and/or run-time binding) in exactly the same order as vanilla PHP. (Dmitry) - Improved crypt() function: (Pierre) . Added Blowfish and extended DES support. (Using Blowfish implementation from Solar Designer). . Made crypt features portable by providing our own implementations for crypt_r and the algorithms which are used when OS does not provide them. PHP implementations are always used for Windows builds. - Added new extensions: . Added fileinfo extension as replacement for mime_magic extension. (Derick) . Added intl extension for Internationalization. (Ed B., Vladimir I., Dmitry L., Stanislav M., Vadim S., Kirti V.) . Added mysqlnd extension as replacement for libmysql for ext/mysql, mysqli and PDO_mysql. (Andrey, Johannes, Ulf) . Added phar extension for handling PHP Archives. (Greg, Marcus, Steph) . Added SQLite3 extension. (Scott) - Added new date/time functionality: (Derick) . date_parse_from_format(): Parse date/time strings according to a format. . date_create_from_format()/DateTime::createFromFormat(): Create a date/time object by parsing a date/time string according to a given format. . date_get_last_errors()/DateTime::getLastErrors(): Return a list of warnings and errors that were found while parsing a date/time string through: . strtotime() / new DateTime . date_create_from_format() / DateTime::createFromFormat() . date_parse_from_format(). . support for abbreviation and offset based timezone specifiers for the 'e' format specifier, DateTime::__construct(), DateTime::getTimeZone() and DateTimeZone::getName(). . support for selectively listing timezone identifiers by continent or country code through timezone_identifiers_list() / DateTimezone::listIdentifiers(). . timezone_location_get() / DateTimezone::getLocation() for retrieving location information from timezones. . date_timestamp_set() / DateTime::setTimestamp() to set a Unix timestamp without invoking the date parser. (Scott, Derick) . date_timestamp_get() / DateTime::getTimestamp() to retrieve the Unix timestamp belonging to a date object. . two optional parameters to timezone_transitions_get() / DateTimeZone::getTranstions() to limit the range of transitions being returned. . support for "first/last day of " style texts. . support for date/time strings returned by MS SQL. . support for serialization and unserialization of DateTime objects. . support for diffing date/times through date_diff() / DateTime::diff(). . support for adding/subtracting weekdays with strtotime() and DateTime::modify(). . DateInterval class to represent the difference between two date/times. . support for parsing ISO intervals for use with DateInterval. . date_add() / DateTime::add(), date_sub() / DateTime::sub() for applying an interval to an existing date/time. . proper support for "this week", "previous week"/"last week" and "next week" phrases so that they actually mean the week and not a seven day period around the current day. . support for " of" and "last of" phrases to be used with months - like in "last saturday of februari 2008". . support for "back of " and "front of " phrases that are used in Scotland. . DatePeriod class which supports iterating over a DateTime object applying DateInterval on each iteration, up to an end date or limited by maximum number of occurences. - Added array_replace() and array_replace_recursive() functions. (Matt) - Added ReflectionProperty::setAccessible() method that allows non-public property's values to be read through ::getValue() and set through ::setValue(). (Derick, Sebastian) - Added msg_queue_exists() function to sysvmsg extension. (Benjamin Schulz) - Added Firebird specific attributes that can be set via PDO::setAttribute() to control formatting of date/timestamp columns: PDO::FB_ATTR_DATE_FORMAT, PDO::FB_ATTR_TIME_FORMAT and PDO::FB_ATTR_TIMESTAMP_FORMAT. (Lars W) - Added gmp_testbit() function. (Stas) - Added icon format support to getimagesize(). (Scott) - Added LDAP_OPT_NETWORK_TIMEOUT option for ldap_set_option() to allow setting network timeout (FR #42837). (Jani) - Added optional escape character parameter to fgetcsv(). (David Soria Parra) - Added an optional parameter to strstr() and stristr() for retrieval of either the part of haystack before or after first occurrence of needle. (Johannes, Felipe) - Added xsl->setProfiling() for profiling stylesheets. (Christian) - Added long-option feature to getopt() and made getopt() available also on win32 systems by adding a common getopt implementation into core. (David Soria Parra, Jani) - Added support for optional values, and = as separator, in getopt(). (Hannes) - Added lcfirst() function. (David C) - Added PREG_BAD_UTF8_OFFSET_ERROR constant. (Nuno) - Added native support for asinh(), acosh(), atanh(), log1p() and expm1(). (Kalle) - Added inet_pton() and inet_ntop() also for Windows platforms. (Kalle) - Added mcrypt_create_iv() also for Windows platforms. (Pierre) - Fixed html_entity_decode() incorrectly converting numeric html entities to different characters with cp1251 and cp866. (Scott) - Fixed an issue in date() where a : was printed for the O modifier after a P modifier was used. (Derick) - Fixed exec() on Windows to not eat the first and last double quotes. (Scott) - Fixed PECL bug #12794 (PDOStatement->nextRowset() doesn't work). (Johannes) - Fixed PECL bug #12401 (Add support for ATTR_FETCH_TABLE_NAMES). (Johannes) - Fixed bug #45571 (ReflectionClass::export() shows superclasses' private static methods). (robin_fernandes at uk dot ibm dot com) - Fixed bug #45430 (windows implementation of crypt is not thread safe). (Pierre) - Fixed bug #45345 (SPLFileInfo::getPathInfo() returning dir info instead of file info). (Etienne) - Fixed bug #45179 (--with-mysql-sock fails to compile & work). (Andrey) - Fixed bug #45038 (Crash when using DateTimeZone object returned by Date::getTimezone). (Joe Orton, Derick) - Fixed bug #45030 (Destination image alpha channel noise when using imagecopyresampled). (Pierre) - Fixed bug #44769 (declaring private magic methods should throw error). (Felipe) - Fixed bug #44913 (Segfault when using return in combination with nested loops and continue 2). (Dmitry) - Fixed bug #44899 (__isset usage changes behavior of empty()). (Etienne) - Fixed bug #44897 (failed to prepare statement). (Andrey) - Fixed bug #44849 (imagecolorclosesthwb() is not available on Windows). (Kalle) - Fixed bug #44805 (rename() function is not portable to Windows). (Pierre) - Fixed bug #44779 (filter returns NULL in CLI when it shouldn't). (Arnaud) - Fixed bug #44742 (timezone_offset_get() causes segmentation faults). (Derick) - Fixed bug #44660 (Indexed and reference assignment to propery of non-object don't trigger warning). (Dmitry) - Fixed bug #44648 (Attribute names not checked for wellformedness). (Rob) - Fixed bug #44414 (Incomplete reporting about abstract methods). (Dmitry) - Fixed bug #44390 (mysqli_bind_param/bind_result and Object member variables). (Andrey) - Fixed bug #44352 (mysqli_connect_error() false negative for host errors). (Andrey) - Fixed bug #44336 (Improve pcre UTF-8 string matching performance). (frode at coretrek dot com, Nuno) - Fixed bug #44301 (Segfault when an exception is thrown on persistent connections). (Martin Jansen) - Fixed bug #44257 (timelib_tz_lookup_table must use float for gmtoffset). (Derick, iuri dot fiedoruk at hp dot com). - Fixed bug #44214 (Crash using preg_replace_callback() and global variable). (Nuno, Scott) - Fixed bug #44034 (FILE_IGNORE_NEW_LINES in file() does not work as expected when lines end in \r\n). (Ilia) - Fixed bug #43960 (strtotime() returns timestamp in the future when given a bogus string). (Derick) - Fixed bug #43832 (mysqli_get_charset() doesn't expose charset comment). (Andrey) - Fixed bug #43808 (date_create never fails (even when it should)). (Derick) - Fixed bug #43527 (DateTime created from a timestamp reports environment timezone). (Derick) - Fixed bug #43452 (strings containing a weekday, or a number plus weekday misbehaved if the current day-of-week was same as the one in the phrase). (Derick) - Fixed bug #43426 (crash on nested call_user_func() calls). (Dmitry) - Fixed bug #43323 (Wrong count abstract methods). (Felipe, Dmitry) - Fixed bug #43261 (Use ^ as the escape with escapeshellcmd() on Windows). (Scott) - Fixed bug #43075 (Support 2007-11-01T24:00:00+00:00). (Derick) - Fixed bug #43003 (Invalid timezone reported for DateTime objects constructed using a timestamp). (Derick) - Fixed bug #43143 (Warning about empty IV with MCRYPT_MODE_ECB). (Derick) - Fixed bug #43136 (possible crash on script execution timeout. The EG(function_state_ptr) is completely removed, EG(current_execute_data)->function_state must be used instead). (Dmitry) - Fixed bug #42952 (soap cache file is created with insecure permissions). (Dmitry) - Fixed bug #42868 (Floats cast to integer produce unpredictable results). (Zoe Slattery) - Fixed bug #42848 (Status: header incorrect under FastCGI). (Dmitry) - Fixed bug #42773 (WSDL error causes HTTP 500 Response). (Dmitry) - Fixed bug #42736 (xmlrpc_server_call_method() crashes). (Tony) - Fixed bug #42657 (ini_get() returns incorrect value when default is NULL). (Jani, Scott) - Fixed bug #42637 (SoapFault : Only http and https are allowed). (Bill Moran) - Fixed bug #42548 (mysqli PROCEDURE calls can't return result sets). (Hartmut) - Fixed bug #42509 (gmp leaks memory when gmp_init() not used). (Stas) - Fixed bug #42499 (PDO_MYSQL: multi-statement execution via PDO::exec() makes connection unusable). (Johannes) - Fixed bug #42443 (PDO SQLite driver binds integers and booleans as strings). (Scott) - Fixed bug #42284 (duplicate of #39700). (Lars W) - Fixed bug #42203 (Clear SQLite result sets before closing database). (Scott) - Fixed bug #42190 (Constructing DateTime with TimeZone Indicator invalidates DateTimeZone). (Derick) - Fixed bug #42069 (parse_ini_file() allows using some non-alpha numeric characters). (Jani) - Fixed bug #41997 (pdo_mysql: stored procedure call returning single rowset blocks future queries). (Johannes) - Fixed bug #41996 (Problem accessing Oracle ROWID). (Martin Jansen) - Fixed bug #41599 (setTime() fails after modify() is used). (Derick) - Fixed bug #41522 (PDO firebird driver returns null if it fails to connect). (Lars W) - Fixed bug #41135 (PDO SQLite driver binds blobs as strings, use sqlite3_bind_blob() to stop errors with null bytes). (Scott) - Fixed bug #39822 (new PDO() doesn't work with firebird). (Lars W) - Fixed bug #39700 (NUMERIC error when result precision are 7,8 or 12-14 ). (Lars W) - Fixed bug #39457 (Multiple invoked OO connections never close). (Andrey) - Fixed bug #39397 (invalid statement handle in Unknown on line 0). (Lars W) - Fixed bug #39346 (Unsetting a static variable inside a destructor causes segfault later on). (Dmitry) - Fixed bug #39127 (Old-style constructor fallbacks produce strange results). (Tony) - Fixed bug #39056 (Interbase NUMERIC data type error). (Lars W) - Fixed bug #39018 (Error control operator '@' fails to suppress "Uninitialized string offset"). (Felipe) - Fixed bug #38468 (Unexpected creation of cycle). (Dmitry) - Fixed bug #37964 (Reflection shows private methods of parent class). (Felipe, Marcus) - Fixed bug #37911 (preg_replace_callback() ignores named groups). (Nuno) - Fixed bug #37076 (SimpleXML ignores .=). (Felipe, Marcus) - Fixed bug #36128 (Interbase PDO - timestamp columns return NULL). (Lars W) - Fixed bug #35386 (firebird: first row is null). (Lars W) - Fixed bug #35163 (Array elements can lose references). (Dmitry) - Fixed bug #32330 (session_destroy, "Failed to initialize storage module", custom session handler). (Gwynne) - Fixed bug #32143 (ibase_query() causing IBserver 7 crash with NULL param as link-id). (Lars W) - Fixed bug #30907 (ibase_query() crashes (same bug as #32143). (Lars W) - Fixed bug #30690 (Resource handle from ibase_execute becomes invalid after return). (Lars W) - Fixed bug #29044 (compact() does not have infinite recursion protection). (Tony) - Fixed bug #27372 (parse error loading browscap.ini at apache startup). (Jani) 30 Aug 2007, PHP 5.2.4 - Removed --enable-versioning configure option. (Jani) - Upgraded PCRE to version 7.2 (Nuno) - Updated timezone database to version 2007.6. (Derick) - Improved openssl_x509_parse() to return extensions in readable form. (Dmitry) - Enabled changing the size of statement cache for non-persistent OCI8 connections. (Chris Jones, Tony) - Changed "display_errors" php.ini option to accept "stderr" as value which makes the error messages to be outputted to STDERR instead of STDOUT with CGI and CLI SAPIs (FR #22839). (Jani) - Changed error handler to send HTTP 500 instead of blank page on PHP errors. (Dmitry, Andrei Nigmatulin) - Changed mail() function to be always available. (Johannes) - Added check for unknown options passed to configure. (Jani) - Added persistent connection status checker to pdo_pgsql. (Elvis Pranskevichus, Ilia) - Added support for ATTR_TIMEOUT inside pdo_pgsql driver. (Ilia) - Added php_ini_loaded_file() function which returns the path to the actual php.ini in use. (Jani) - Added GD version constants GD_MAJOR_VERSION, GD_MINOR_VERSION, GD_RELEASE_VERSION, GD_EXTRA_VERSION and GD_VERSION_STRING. (Pierre) - Added missing open_basedir checks to CGI. (anight at eyelinkmedia dot com, Tony) - Added missing format validator to unpack() function. (Ilia) - Added missing error check inside bcpowmod(). (Ilia) - Added CURLOPT_PRIVATE & CURLINFO_PRIVATE constants. (Andrey A. Belashkov, Tony) - Added missing MSG_EOR and MSG_EOF constants to sockets extension. (Jani) - Added PCRE_VERSION constant. (Tony) - Added ReflectionExtension::info() function to print the phpinfo() block for an extension. (Johannes) - Implemented FR #41884 (ReflectionClass::getDefaultProperties() does not handle static attributes). (Tony) - Fixed "Floating point exception" inside wordwrap(). (Mattias Bengtsson, Ilia) - Fixed several integer overflows in ImageCreate(), ImageCreateTrueColor(), ImageCopyResampled() and ImageFilledPolygon() reported by Mattias Bengtsson. (Tony) - Fixed size calculation in chunk_split(). (Stas) - Fixed integer overflow in str[c]spn(). (Stas) - Fixed money_format() not to accept multiple %i or %n tokens. (Stas, Ilia) - Fixed zend_alter_ini_entry() memory_limit interruption vulnerability. (Ilia) - Fixed INFILE LOCAL option handling with MySQL extensions not to be allowed when open_basedir or safe_mode is active. (Stas) - Fixed session.save_path and error_log values to be checked against open_basedir and safe_mode (CVE-2007-3378) (Stas, Maksymilian Arciemowicz) - Fixed possible invalid read in glob() win32 implementation (CVE-2007-3806). (Tony) - Improved fix for MOPB-03-2007. (Ilia) - Corrected fix for CVE-2007-2872. (Ilia) - Fixed possible crash in imagepsloadfont(), work around a bug in the pslib on Windows. (Pierre) - Fixed oci8 and PDO_OCI extensions to allow configuring with Oracle 11g client libraries. (Chris Jones) - Fixed EOF handling in case of reading from file opened in write only mode. (Dmitry) - Fixed var_export() to use the new H modifier so that it can generate parseable PHP code for floats, independent of the locale. (Derick) - Fixed regression introduced by the fix for the libgd bug #74. (Pierre) - Fixed SimpleXML's behavior when used with empty(). (Sara) - Fixed crash in OpenSSL extension because of non-string passphrase. (Dmitry) - Fixed PECL Bug #11345 (PDO_OCI crash after National language Support "NLS" environment initialization error). (Chris Jones) - Fixed PECL bug #11216 (crash in ZipArchive::addEmptyDir when a directory already exists). (Pierre) - Fixed bug #43926 (isInstance() isn't equivalent to instanceof operator). (Marcus) - Fixed bug #42368 (Incorrect error message displayed by pg_escape_string). (Ilia) - Fixed bug #42365 (glob() crashes and/or accepts way too many flags). (Jani) - Fixed Bug #42364 (Crash when using getRealPath with DirectoryIterator). (Johannes) - Fixed bug #42292 ($PHP_CONFIG not set for phpized builds). (Jani) - Fixed bug #42261 (header wrong for date field). (roberto at spadim dot com dot br, Ilia) - Fixed bug #42259 (SimpleXMLIterator loses ancestry). (Rob) - Fixed bug #42247 (ldap_parse_result() not defined under win32). (Jani) - Fixed bug #42243 (copy() does not output an error when the first arg is a dir). (Ilia) - Fixed bug #42242 (sybase_connect() crashes). (Ilia) - Fixed bug #42237 (stream_copy_to_stream returns invalid values for mmaped streams). (andrew dot minerd at sellingsource dot com, Ilia) - Fixed bug #42233 (Problems with æøå in extract()). (Jani) - Fixed bug #42222 (possible buffer overflow in php_openssl_make_REQ). (Pierre) - Fixed bug #42211 (property_exists() fails to find protected properties from a parent class). (Dmitry) - Fixed bug #42208 (substr_replace() crashes when the same array is passed more than once). (crrodriguez at suse dot de, Ilia) - Fixed bug #42198 (SCRIPT_NAME and PHP_SELF truncated when inside a userdir and using PATH_INFO). (Dmitry) - Fixed bug #42195 (C++ compiler required always). (Jani) - Fixed bug #42183 (classmap causes crash in non-wsdl mode). (Dmitry) - Fixed bug #42173 (oci8 INTERVAL and TIMESTAMP type fixes). (Chris) - Fixed bug #42151 (__destruct functions not called after catching a SoapFault exception). (Dmitry) - Fixed bug #42142 (substr_replace() returns FALSE when length > string length). (Ilia) - Fixed bug #42135 (Second call of session_start() causes creation of SID). (Ilia) - Fixed bug #42134 (oci_error() returns false after oci_new_collection() fails). (Tony) - Fixed bug #42119 (array_push($arr,&$obj) doesn't work with zend.ze1_compatibility_mode On). (Dmitry) - Fixed bug #42117 (bzip2.compress loses data in internal buffer). (Philip, Ilia) - Fixed bug #42112 (deleting a node produces memory corruption). (Rob) - Fixed bug #42107 (sscanf broken when using %2$s format parameters). (Jani) - Fixed bug #42090 (json_decode causes segmentation fault). (Hannes) - Fixed bug #42082 (NodeList length zero should be empty). (Hannes) - Fixed bug #42072 (No warning message for clearstatcache() with arguments). (Ilia) - Fixed bug #42071 (ini scanner allows using NULL as option name). (Jani) - Fixed bug #42027 (is_file() / is_dir() matches file/dirnames with wildcard char or trailing slash in Windows). (Dmitry) - Fixed bug #42019 (configure option --with-adabas=DIR does not work). (Jani) - Fixed bug #42015 (ldap_rename(): server error "DSA is unwilling to perform"). (bob at mroczka dot com, Jani) - Fixed bug #42009 (is_a() and is_subclass_of() should NOT call autoload, in the same way as "instanceof" operator). (Dmitry) - Fixed bug #41989 (move_uploaded_file() & relative path in ZTS mode). (Tony) - Fixed bug #41984 (Hangs on large SoapClient requests). (Dmitry) - Fixed bug #41983 (Error Fetching http headers terminated by '\n'). (Dmitry) - Fixed bug #41973 (--with-ldap=shared fails with LDFLAGS="-Wl,--as-needed"). (Nuno) - Fixed bug #41971 (PDOStatement::fetch and PDOStatement::setFetchMode causes unexpected behavior). (Ilia) - Fixed bug #41964 (strtotime returns a timestamp for non-time string of pattern '(A|a) .+'). (Derick) - Fixed bug #41961 (Ensure search for hidden private methods does not stray from class hierarchy). (robin_fernandes at uk dot ibm dot com) - Fixed bug #41947 (SimpleXML incorrectly registers empty strings asnamespaces). (Rob) - Fixed bug #41929 (Foreach on object does not iterate over all visible properties). (Dmitry) - Fixed bug #41919 (crash in string to array conversion). (judas dot iscariote at gmail dot com, Ilia) - Fixed bug #41909 (var_export() is locale sensitive when exporting float values). (Derick) - Fixed bug #41908 (CFLAGS="-Os" ./configure --enable-debug fails). (christian at hoffie dot info, Tony) - Fixed bug #41904 (proc_open(): empty env array should cause empty environment to be passed to process). (Jani) - Fixed bug #41867 (SimpleXML: getName is broken). (Rob) - Fixed bug #41865 (fputcsv(): 2nd parameter is not optional). (Jani) - Fixed bug #41861 (SimpleXML: getNamespaces() returns the namespaces of a node's siblings). (Rob) - Fixed bug #41845 (pgsql extension does not compile with PostgreSQL <7.4). (Ilia) - Fixed bug #41844 (Format returns incorrect number of digits for negative years -0001 to -0999). (Derick) - Fixed bug #41842 (Cannot create years < 0100 & negative years with date_create or new DateTime). (Derick) - Fixed bug #41833 (addChild() on a non-existent node, no node created, getName() segfaults). (Rob) - Fixed bug #41831 (pdo_sqlite prepared statements convert resources to strings). (Ilia) - Fixed bug #41815 (Concurrent read/write fails when EOF is reached). (Sascha) - Fixed bug #41813 (segmentation fault when using string offset as an object). (judas dot iscariote at gmail dot com, Tony) - Fixed bug #41795 (checkdnsrr does not support DNS_TXT type). (lucas at facebook dot com, Tony) - Fixed bug #41773 (php_strip_whitespace() sends headers with errors suppressed). (Tony) - Fixed bug #41770 (SSL: fatal protocol error due to buffer issues). (Ilia) - Fixed bug #41765 (Recode crashes/does not work on amd64). (nexus at smoula dot net, Stas) - Fixed bug #41724 (libxml_get_last_error() - errors service request scope). (thekid at php dot net, Ilia) - Fixed bug #41717 (imagepolygon does not respect thickness). (Pierre) - Fixed bug #41713 (Persistent memory consumption on win32 since 5.2). (Dmitry) - Fixed bug #41711 (NULL temporary lobs not supported in OCI8). (Chris Jones, Tony) - Fixed bug #41709 (strtotime() does not handle 00.00.0000). (Derick) - Fixed bug #41698 (float parameters truncated to integer in prepared statements). (Ilia) - Fixed bug #41692 (ArrayObject shows weird behavior in respect to inheritance). (Tony) - Fixed bug #41691 (ArrayObject::exchangeArray hangs Apache). (Tony) - Fixed bug #41686 (Omitting length param in array_slice not possible). (Ilia) - Fixed bug #41685 (array_push() fails to warn when next index is already occupied). (Ilia) - Fixed bug #41655 (open_basedir bypass via glob()). (Ilia) - Fixed bug #41640 (get_class_vars produces error on class constants). (Johannes) - Fixed bug #41635 (SoapServer and zlib.output_compression with FastCGI result in major slowdown). (Dmitry) - Fixed bug #41633 (Crash instantiating classes with self-referencing constants). (Dmitry) - Fixed bug #41630 (segfault when an invalid color index is present in the image data). (Reported by Elliot ) (Pierre) - Fixed bug #41628 (PHP settings leak between Virtual Hosts in Apache 1.3). (Scott, manuel at mausz dot at) - Fixed bug #41608 (segfault on a weird code with objects and switch()). (Tony) - Fixed bug #41600 (url rewriter tags doesn't work with namespaced tags). (Ilia) - Fixed bug #41596 (Fixed a crash inside pdo_pgsql on some non-well-formed SQL queries). (Ilia) - Fixed bug #41594 (OCI8 statement cache is flushed too frequently). (Tony) - Fixed bug #41582 (SimpleXML crashes when accessing newly created element). (Tony) - Fixed bug #41576 (configure failure when using --without-apxs or some other SAPIs disabling options). (Jani) - Fixed bug #41567 (json_encode() double conversion is inconsistent with PHP). (Lucas, Ilia) - Fixed bug #41566 (SOAP Server not properly generating href attributes). (Dmitry) - Fixed bug #41555 (configure failure: regression caused by fix for #41265). (Jani) - Fixed bug #41527 (WDDX deserialize numeric string array key). (Matt, Ilia) - Fixed bug #41523 (strtotime('0000-00-00 00:00:00') is parsed as 1999-11-30). (Derick) - Fixed bug #41518 (file_exists() warns of open_basedir restriction on non-existent file). (Tony) - Fixed bug #41445 (parse_ini_file() has a problem with certain types of integer as sections). (Tony) - Fixed bug #41433 (DBA: configure fails to include correct db.h for db4). (Jani) - Fixed bug #41372 (Internal pointer of source array resets during array copying). (Dmitry) - Fixed bug #41350 (my_thread_global_end() error during request shutdown on Windows). (Scott, Andrey) - Fixed bug #41278 (get_loaded_extensions() should list Zend extensions). (Johannes) - Fixed bug #41127 (Memory leak in ldap_{first|next}_attribute functions). (Jani) - Fixed bug #40757 (get_object_vars get nothing in child class). (Dmitry) - Fixed bug #40705 (Iterating within function moves original array pointer). (Dmitry) - Fixed bug #40509 (key() function changed behaviour if global array is used within function). (Dmitry) - Fixed bug #40419 (Trailing slash in CGI request does not work). (Dmitry) - Fixed bug #39330 (apache2handler does not call shutdown actions before apache child die). (isk at ecommerce dot com, Gopal, Tony) - Fixed bug #39291 (ldap_sasl_bind() misses the sasl_authc_id parameter). (diafour at gmail dot com, Jani) - Fixed bug #37715 (array pointers resetting on copy). (Dmitry) - Fixed bug #37273 (Symlinks and mod_files session handler allow open_basedir bypass). (Ilia) - Fixed bug #36492 (Userfilters can leak buckets). (Sara) - Fixed bugs #36796, #36918, #41371 (stream_set_blocking() does not work). (Jani) - Fixed bug #35981 (pdo-pgsql should not use pkg-config when not present). (Jani) - Fixed bug #31892 (PHP_SELF incorrect without cgi.fix_pathinfo, but turning on screws up PATH_INFO). (Dmitry) - Fixed bug #21197 (socket_read() outputs error with PHP_NORMAL_READ). (Nuno, Jani) 31 May 2007, PHP 5.2.3 - Changed CGI install target to php-cgi and 'make install' to install CLI when CGI is selected. (Jani) - Changed JSON maximum nesting depth from 20 to 128. (Rasmus) - Improved compilation of heredocs and interpolated strings. (Matt, Dmitry) - Optimized out a couple of per-request syscalls. (Rasmus) - Optimized digest generation in md5() and sha1() functions. (Ilia) - Upgraded bundled SQLite 3 to version 3.3.17. (Ilia) - Added "max_input_nesting_level" php.ini option to limit nesting level of input variables. Fix for MOPB-03-2007. (Stas) - Added a 4th parameter flag to htmlspecialchars() and htmlentities() that makes the function not encode existing html entities. (Ilia) - Added PDO::FETCH_KEY_PAIR mode that will fetch a 2 column result set into an associated array. (Ilia) - Added CURLOPT_TIMEOUT_MS and CURLOPT_CONNECTTIMEOUT_MS cURL constants. (Sara) - Added --ini switch to CLI that prints out configuration file names. (Marcus) - Added mysql_set_charset() to allow runtime altering of connection encoding. (Scott) - Implemented FR #41416 (getColumnMeta() should also return table name). (Tony) - Fixed an integer overflow inside chunk_split(). Identified by Gerhard Wagner. (Ilia) - Fixed SOAP extension's handler() to work even when "always_populate_raw_post_data" is off. (Ilia) - Fixed possible infinite loop in imagecreatefrompng. (libgd #86) (by Xavier Roche, CVE-2007-2756). (Pierre) - Fixed ext/filter Email Validation Vulnerability (MOPB-45 by Stefan Esser). (Ilia) - Fixed altering $this via argument named "this". (Dmitry) - Fixed PHP CLI usage of php.ini from the binary location. (Hannes) - Fixed segfault in strripos(). (Tony, Joxean Koret) - Fixed bug #41693 (scandir() allows empty directory names). (Ilia) - Fixed bug #41673 (json_encode breaks large numbers in arrays). (Ilia) - Fixed bug #41525 (ReflectionParameter::getPosition() not available). (Marcus) - Fixed bug #41511 (Compile failure under IRIX 6.5.30 building md5.c). (Jani) - Fixed bug #41504 (json_decode() incorrectly decodes JSON arrays with empty string keys). (Ilia) - Fixed bug #41492 (open_basedir/safe_mode bypass inside realpath()). (Ilia) - Fixed bug #41477 (no arginfo about SoapClient::__soapCall()). (Ilia) - Fixed bug #41455 (ext/dba/config.m4 pollutes global $LIBS and $LDFLAGS). (mmarek at suse dot cz, Tony) - Fixed bug #41442 (imagegd2() under output control). (Tony) - Fixed bug #41430 (Fatal error with negative values of maxlen parameter of file_get_contents()). (Tony) - Fixed bug #41423 (PHP assumes wrongly that certain ciphers are enabled in OpenSSL). (Pierre) - Fixed bug #41421 (Uncaught exception from a stream wrapper segfaults). (Tony, Dmitry) - Fixed bug #41403 (json_decode cannot decode floats if localeconv decimal_point is not '.'). (Tony) - Fixed bug #41401 (wrong unary operator precedence). (Stas) - Fixed bug #41394 (dbase_create creates file with corrupted header). (Tony) - Fixed bug #41390 (Clarify error message with invalid protocol scheme). (Scott) - Fixed bug #41378 (fastcgi protocol lacks support for Reason-Phrase in "Status:" header). (anight at eyelinkmedia dot com, Dmitry) - Fixed bug #41374 (whole text concats values of wrong nodes). (Rob) - Fixed bug #41358 (configure cannot determine SSL lib with libcurl >= 7.16.2). (Mike) - Fixed bug #41353 (crash in openssl_pkcs12_read() on invalid input). (Ilia) - Fixed bug #41351 (Invalid opcode with foreach ($a[] as $b)). (Dmitry, Tony) - Fixed bug #41347 (checkdnsrr() segfaults on empty hostname). (Scott) - Fixed bug #41337 (WSDL parsing doesn't ignore non soap bindings). (Dmitry) - Fixed bug #41326 (Writing empty tags with Xmlwriter::WriteElement[ns]) (Pierre) - Fixed bug #41321 (downgrade read errors in getimagesize() to E_NOTICE). (Ilia) - Fixed bug #41304 (compress.zlib temp files left). (Dmitry) - Fixed bug #41293 (Fixed creation of HTTP_RAW_POST_DATA when there is no default post handler). (Ilia) - Fixed bug #41291 (FastCGI does not set SO_REUSEADDR). (fmajid at kefta dot com, Dmitry) - Fixed gd build when used with freetype 1.x (Pierre, Tony) - Fixed bug #41287 (Namespace functions don't allow xmlns definition to be optional). (Rob) - Fixed bug #41285 (Improved fix for CVE-2007-1887 to work with non-bundled sqlite2 lib). (Ilia) - Fixed bug #41283 (Bug with deserializing array key that are doubles or floats in wddx). (Ilia) - Fixed bug #41257 (lookupNamespaceURI does not work as expected). (Rob) - Fixed bug #41236 (Regression in timeout handling of non-blocking SSL connections during reads and writes). (Ilia) - Fixed bug #41134 (zend_ts_hash_clean not thread-safe). (marco dot cova at gmail dot com, Tony) - Fixed bug #41097 (ext/soap returning associative array as indexed without using WSDL). (Dmitry) - Fixed bug #41004 (minOccurs="0" and null class member variable). (Dmitry) - Fixed bug #39542 (Behavior of require/include different to < 5.2.0). (Dmitry) 03 May 2007, PHP 5.2.2 - Improved bundled GD . Sync to 2.0.35 . Added imagegrabwindow and imagegrabscreen, capture a screen or a window using its handle (Pierre) . colors allocated henceforth from the resulting image overwrite the palette colors (Rob Leslie) . Improved thread safety of the gif support (Roman Nemecek, Nuno, Pierre) . Use the dimension of the GIF frame to create the destination image (Pierre) . Load only once the local color map from a GIF data (Pierre) . Improved thread safety of the freetype cache (Scott MacVicar, Nuno, Pierre) . imagearc huge CPU usage with large angles, libgd bug #74 (Pierre) - Improved FastCGI SAPI to support external pipe and socket servers on win32. (Dmitry) - Improved Zend Memory Manager . guarantee of reasonable time for worst cases of best-fit free block searching algorithm. (Dmitry) . better cache usage and less fragmentation on erealloc() (Tony, Dmitry) - Improved SPL (Marcus) . Added SplFileInfo::getBasename(), DirectoryIterator::getBasename(). . Added SplFileInfo::getLinkTarget(), SplFileInfo::getRealPath(). . Made RecursiveFilterIterator::accept() abstract as stated in documentation. - Improved SOAP . Added ability to encode arrays with "SOAP-ENC:Array" type instead of WSDL type. To activate the ability use "feature"=>SOAP_USE_XSI_ARRAY_TYPE option in SoapClient/SoapServer constructors. (Rob, Dmitry) - Added GMP_VERSION constant. (Tony) - Added --ri switch to CLI which allows to check extension information. (Marcus) - Added tidyNode::getParent() method (John, Nuno) - Added openbasedir and safemode checks in zip:// stream wrapper and ZipArchive::open (Pierre) - Added php_pdo_sqlite_external.dll, a version of the PDO SQLite driver that links against an external sqlite3.dll. This provides Windows users to upgrade their sqlite3 version outside of the PHP release cycle. (Wez, Edin) - Added linenumbers to array returned by token_get_all(). (Johannes) - Upgraded SQLite 3 to version 3.3.16 (Ilia) - Upgraded libraries bundled in the Windows distribution. (Edin) . c-client (imap) to version 2006e . libpq (PostgreSQL) to version 8.2.3 . libmysql (MySQL) to version 5.0.37 . openssl to version 0.9.8e - Upgraded PCRE to version 7.0 (Nuno) - Updated timezone database to version 2007.5. (Derick) - Fixed commandline handling for CLI and CGI. (Marcus, Johannes) - Fixed iterator_apply() with a callback using __call(). (Johannes) - Fixed possible multi bytes issues in openssl csr parser (Pierre) - Fixed shmop_open() with IPC_CREAT|IPC_EXCL flags on Windows. (Vladimir Kamaev, Tony). - Fixed possible leak in ZipArchive::extractTo when safemode checks fails (Ilia) - Fixed possible relative path issues in zip_open and TS mode (old API) (Pierre) - Fixed zend_llist_remove_tail (Michael Wallner, Dmitry) - Fixed a thread safety issue in gd gif read code (Nuno, Roman Nemecek) - Fixed CVE-2007-1001, GD wbmp used with invalid image size (Pierre) - Fixed unallocated memory access/double free in in array_user_key_compare() (MOPB-24 by Stefan Esser) (Stas) - Fixed wrong length calculation in unserialize S type (MOPB-29 by Stefan Esser) (Stas) - Fixed bug #41215 (setAttribute return code reversed). (Ilia) - Fixed bug #41192 (Per Directory Values only work for one key). (Dmitry) - Fixed bug #41175 (addAttribute() fails to add an attribute with an empty value). (Ilia) - Fixed bug #41159 (mysql_pconnect() hash does not account for connect flags). (Ilia) - Fixed bug #41121 (range() overflow handling for large numbers on 32bit machines). (Ilia) - Fixed bug #41118 (PHP does not handle overflow of octal integers). (Tony) - Fixed bug #41109 (recursiveiterator.inc says "implements" Iterator instead of "extends"). (Marcus) - Fixed bug #40130 (TTF usage doesn't work properly under Netware). (Scott, gk at gknw dot de) - Fixed bug #41093 (magic_quotes_gpc ignores first arrays keys). (Arpad, Ilia) - Fixed bug #41075 (memleak when creating default object caused exception). (Dmitry) - Fixed bug #41067 (json_encode() problem with UTF-16 input). (jp at df5ea dot net. Ilia) - Fixed bug #41063 (chdir doesn't like root paths). (Dmitry) - Fixed bug #41061 ("visibility error" in ReflectionFunction::export()). (Johannes) - Fixed bug #41043 (pdo_oci crash when freeing error text with persistent connection). (Tony) - Fixed bug #41037 (unregister_tick_function() inside the tick function crash PHP). (Tony) - Fixed bug #41034 (json_encode() ignores null byte started keys in arrays). (Ilia) - Fixed bug #41026 (segfault when calling "self::method()" in shutdown functions). (Tony) - Fixed bug #40999 (mcrypt_create_iv() not using random seed). (Ilia) - Fixed bug #40998 (long session array keys are truncated). (Tony) - Implement feature request #40947, allow a single filter as argument for filter_var_array (Pierre) - Fixed bug #40935 (pdo_mysql does not raise an exception on empty fetchAll()). (Ilia) - Fixed bug #40931 (open_basedir bypass via symlink and move_uploaded_file()). (Tony) - Fixed bug #40921 (php_default_post_reader crashes when post_max_size is exceeded). (trickie at gmail dot com, Ilia) - Fixed bug #40915 (addcslashes unexpected behavior with binary input). (Tony) - Fixed bug #40899 (memory leak when nesting list()). (Dmitry) - Fixed bug #40897 (error_log file not locked). (Ilia) - Fixed bug #40883 (mysql_query() is allocating memory incorrectly). (Tony) - Fixed bug #40872 (inconsistency in offsetSet, offsetExists treatment of string enclosed integers). (Marcus) - Fixed bug #40861 (strtotime() doesn't handle double negative relative time units correctly). (Derick, Ilia) - Fixed bug #40854 (imap_mail_compose() creates an invalid terminator for multipart e-mails). (Ilia) - Fixed bug #40848 (sorting issue on 64-bit Solaris). (Wez) - Fixed bug #40836 (Segfault in ext/dom). (Rob) - Fixed bug #40833 (Crash when using unset() on an ArrayAccess object retrieved via __get()). (Dmitry) - Fixed bug #40822 (pdo_mysql does not return rowCount() on select). (Ilia) - Fixed bug #40815 (using strings like "class::func" and static methods in set_exception_handler() might result in crash). (Tony) - Fixed bug #40809 (Poor performance of ".="). (Dmitry) - Fixed bug #40805 (Failure executing function ibase_execute()). (Tony) - Fixed bug #40800 (cannot disable memory_limit with -1). (Dmitry, Tony) - Fixed bug #40794 (ReflectionObject::getValues() may crash when used with dynamic properties). (Tony) - Fixed bug #40784 (Case sensitivity in constructor's fallback). (Tony) - Fixed bug #40770 (Apache child exits when PHP memory limit reached). (Dmitry) - Fixed bug #40764 (line thickness not respected for horizontal and vertical lines). (Pierre) - Fixed bug #40758 (Test fcgi_is_fastcgi() is wrong on windows). (Dmitry) - Fixed bug #40754 (added substr() & substr_replace() overflow checks). (Ilia) - Fixed bug #40752 (parse_ini_file() segfaults when a scalar setting is redeclared as an array). (Tony) - Fixed bug #40750 (openssl stream wrapper ignores default_stream_timeout). (Tony) - Fixed bug #40727 (segfault in PDO when failed to bind parameters). (Tony) - Fixed bug #40709 (array_reduce() behaves strange with one item stored arrays). (Ilia) - Fixed bug #40703 (Resolved a possible namespace conflict between libxmlrpc and MySQL's NDB table handler). (Ilia) - Fixed bug #40961 (Incorrect results of DateTime equality check). (Mike) - Fixed bug #40678 (Cross compilation fails). (Tony) - Fixed bug #40621 (Crash when constructor called inappropriately). (Tony) - Fixed bug #40609 (Segfaults when using more than one SoapVar in a request). (Rob, Dmitry) - Fixed bug #40606 (umask is not being restored when request is finished). (Tony) - Fixed bug #40598 (libxml segfault). (Rob) - Fixed bug #40591 (list()="string"; gives invalid opcode). (Dmitry) - Fixed bug #40578 (imagettftext() multithreading issue). (Tony, Pierre) - Fixed bug #40576 (double values are truncated to 6 decimal digits when encoding). (Tony) - Fixed bug #40560 (DIR functions do not work on root UNC path). (Dmitry) - Fixed bug #40548 (SplFileInfo::getOwner/getGroup give a warning on broken symlink). (Marcus) - Fixed bug #40546 (SplFileInfo::getPathInfo() throws an exception if directory is in root dir). (Marcus) - Fixed bug #40545 (multithreading issue in zend_strtod()). (Tony) - Fixed bug #40503 (json_encode() value corruption on 32bit systems with overflown values). (Ilia) - Fixed bug #40467 (Partial SOAP request sent when XSD sequence or choice include minOccurs=0). (Dmitry) - Fixed bug #40465 (Ensure that all PHP elements are printed by var_dump). (wharmby at uk dot ibm dot com, Ilia) - Fixed bug #40464 (session.save_path wont use default-value when safe_mode or open_basedir is enabled). (Ilia) - Fixed bug #40455 (proc_open() uses wrong command line when safe_mode_exec_dir is set). (Tony) - Fixed bug #40432 (strip_tags() fails with greater than in attribute). (Ilia) - Fixed bug #40431 (dynamic properties may cause crash in ReflectionProperty methods). (Tony) - Fixed bug #40451 (addAttribute() may crash when used with non-existent child node). (Tony) - Fixed bug #40442 (ArrayObject::offsetExists broke in 5.2.1, works in 5.2.0). (olivier at elma dot fr, Marcus) - Fixed bug #40428 (imagepstext() doesn't accept optional parameter). (Pierre) - Fixed bug #40417 (Allow multiple instances of the same named PDO token in prepared statement emulation code). (Ilia) - Fixed bug #40414 (possible endless fork() loop when running fastcgi). (Dmitry) - Fixed bug #40410 (ext/posix does not compile on MacOS 10.3.9). (Tony) - Fixed bug #40392 (memory leaks in PHP milter SAPI). (tuxracer69 at gmail dot com, Tony) - Fixed bug #40371 (pg_client_encoding() not working on Windows). (Edin) - Fixed bug #40352 (FCGI_WEB_SERVER_ADDRS function get lost). (Dmitry) - Fixed bug #40290 (strtotime() returns unexpected result with particular timezone offset). (Derick) - Fixed bug #40286 (PHP fastcgi with PHP_FCGI_CHILDREN don't kill children when parent is killed). (Dmitry) - Fixed bug #40261 (Extremely slow data handling due to memory fragmentation). (Dmitry) - Fixed bug #40236 (php -a function allocation eats memory). (Dmitry) - Fixed bug #40109 (iptcembed fails on non-jfif jpegs). (Tony) - Fixed bug #39965 (Latitude and longitude are backwards in date_sun_info()). (Derick) - Implement #39867 (openssl PKCS#12 support) (Marc Delling, Pierre) - Fixed bug #39836 (SplObjectStorage empty after unserialize). (Marcus) - Fixed bug #39416 (Milliseconds in date()). (Derick) - Fixed bug #39396 (stream_set_blocking crashes on Win32). (Ilia, maurice at iceblog dot de) - Fixed bug #39351 (relative include fails on Solaris). (Dmitry, Tony) - Fixed bug #39322 (proc_terminate() destroys process resource). (Nuno) - Fixed bug #38406 (crash when assigning objects to SimpleXML attributes). (Tony) - Fixed bug #37799 (ftp_ssl_connect() falls back to non-ssl connection). (Nuno) - Fixed bug #36496 (SSL support in imap_open() not working on Windows). (Edin) - Fixed bug #36226 (Inconsistent handling when passing nillable arrays). (Dmitry) - Fixed bug #35872 (Avoid crash caused by object store being referenced during RSHUTDOWN). (Andy) - Fixed bug #34794 (proc_close() hangs when used with two processes). (jdolecek at netbsd dot org, Nuno) - Fixed PECL bug #10194 (crash in Oracle client when memory limit reached in the callback). (Tony) - Fixed substr_compare and substr_count information leak (MOPB-14) (Stas, Ilia) - Fixed crash on op-assign where argument is string offset (Brian, Stas) - Fixed bug #38710 (data leakage because of nonexisting boundary checking in statements in mysqli) (Stas) - Fixed bug #37386 (autocreating element doesn't assign value to first node). (Rob) - Fixed bug #37013 (server hangs when returning circular object references). (Dmitry) - Fixed bug #33664 Console window appears when using exec() (Richard Quadling, Stas) 08 Feb 2007, PHP 5.2.1 - Added read-timeout context option "timeout" for HTTP streams. (Hannes, Ilia). - Added CURLOPT_TCP_NODELAY constant to Curl extension. (Sara) - Added support for hex numbers of any size. (Matt) - Added function stream_socket_shutdown(). It is a wrapper for system shutdown() function, that shut downs part of a full-duplex connection. (Dmitry) - Added internal heap protection (Dmitry) . memory-limit is always enabled (--enable-memory-limit removed) . default value if memory-limit is set to 128M . safe unlinking . cookies . canary protection (debug build only) . random generation of cookies and canaries - Added forward support for 'b' prefix in front of string literals. (Andrei) - Added three new functions to ext/xmlwriter (Rob, Ilia) . xmlwriter_start_dtd_entity() . xmlwriter_end_dtd_entity() . xmlwriter_write_dtd_entity() - Added a meta tag to phpinfo() output to prevent search engines from indexing the page. (Ilia) - Added new function, sys_get_temp_dir(). (Hartmut) - Added missing object support to file_put_contents(). (Ilia) - Added support for md2, ripemd256 and ripemd320 algos to hash(). (Sara) - Added forward support for (binary) cast. (Derick) - Added optimization for imageline with horizontal and vertical lines (Pierre) - Removed dependency from SHELL32.DLL. (Dmitry) - Removed double "wrong parameter count" warnings in various functions. (Hannes) - Moved extensions to PECL: . ext/informix (Derick, Tony) - Changed double-to-string utilities to use BSD implementation. (Dmitry, Tony) - Updated bundled libcURL to version 7.16.0 in the Windows distro. (Edin) - Updated timezone database to version 2006.16. (Derick) - cgi.* and fastcgi.* directives are moved to INI subsystem. The new directive cgi.check_shebang_line can be used to omitting check for "#! /usr/bin/php" line. (Dmitry). - Improved proc_open(). Now on Windows it can run external commands not through CMD.EXE. (Dmitry) - VCWD_REALPATH() is improved to use realpath cache without VIRTUAL_DIR. (Dmitry) - ext/bcmath initialization code is moved from request startup to module startup. (Dmitry) - Zend Memory Manager Improvements (Dmitry) . use HeapAlloc() instead of VirtualAlloc() . use "win32" storage manager (instead of "malloc") on Windows by default - Zip Extension Improvements (Pierre) . Fixed leak in statName and stateIndex . Fixed return setComment (Hannes) . Added addEmptyDir method - Filter Extension Improvements (Ilia, Pierre) . Fixed a bug when callback function returns a non-modified value. . Added filter support for $_SERVER in cgi/apache2 sapis. . Make sure PHP_SELF is filtered in Apache 1 sapi. . Fixed bug #39358 (INSTALL_HEADERS contains incorrect reference to php_filter.h). . Added "default" option that allows a default value to be set for an invalid or missing value. . Invalid filters fails instead of returning unsafe value . Fixed possible double encoding problem with sanitizing filters . Make use of space-strict strip_tags() function . Fixed whitespace trimming . Added support for FastCGI environment variables. (Dmitry) - PDO_MySQL Extension Improvements (Ilia) . Enabled buffered queries by default. . Enabled prepared statement emulation by default. - Small optimization of the date() function. (Matt,Ilia) - Optimized the internal is_numeric_string() function. (Matt,Ilia) - Optimized array functions utilizing php_splice(). (Ilia) - Windows related optimizations (Dmitry, Stas) . COM initialization/deinitialization are done only if necessary . removed unnecessary checks for ISREG file and corresponding stat() calls . opendir() is reimplementation using GetFistFile/GetNextFile those are faster then _findfirst/_findnext . implemented registry cache that prevent registry lookup on each request. In case of modification of corresponding registry-tree PHP will reload it automatic . start timeout thread only if necessary . stat() is reimplementation using GetFileAttributesEx(). The new implementation is faster then implementation in MS VC CRT, but it doesn't support Windows 95. - Streams optimization (Dmitry) . removed unnecessary ftell() calls (one call for each included PHP file) . disabled calls to read() after EOF - Fixed incorrect function names on FreeBSD where inet_pton() was named __inet_pton() and inet_ntop() was named __inet_ntop(). (Hannes) - Fixed FastCGI impersonation for persistent connections on Windows. (Dmitry) - Fixed wrong signature initialization in imagepng (Takeshi Abe) - Fixed ftruncate() with negative size on FreeBSD. (Hannes) - Fixed segfault in RegexIterator when given invalid regex. (Hannes) - Fixed segfault in SplFileObject->openFile()->getPathname(). (Hannes) - Fixed segfault in ZTS mode when OCI8 statements containing sub-statements are destroyed in wrong order. (Tony) - Fixed the validate email filter so that the letter "v" can also be used in the user part of the email address. (Derick) - Fixed bug #40297 (compile failure in ZTS mode when collections support is missing). (Tony) - Fixed bug #40285 (The PDO prepare parser goes into an infinite loop in some instances). (Ilia) - Fixed bug #40274 (Sessions fail with numeric root keys). (Ilia) - Fixed bug #40259 (ob_start call many times - memory error). (Dmitry) - Fixed bug #40231 (file_exists incorrectly reports false). (Dmitry) - Fixed bug #40228 (ZipArchive::extractTo does create empty directories recursively). (Pierre) - Fixed bug #40200 (The FastCgi version has different realpath results than thread safe version). (Dmitry) - Fixed bug #40191 (use of array_unique() with objects triggers segfault). (Tony) - Fixed bug #40189 (possible endless loop in zlib.inflate stream filter). (Greg, Tony) - Fixed bug #40169 (CURLOPT_TCP_NODELAY only available in curl >= 7.11.2). (Tony) - Fixed bug #40129 (iconv extension doesn't compile with CodeWarrior on Netware). (gk at gknw dot de, Tony) - Fixed bug #40127 (apache2handler doesn't compile on Netware). (gk at gknw dot de) - Fixed bug #40121 (PDO_DBLIB driver wont free statements). (Ilia) - Fixed bug #40098 (php_fopen_primary_script() not thread safe). (Ilia) - Fixed bug #40092 (chroot() doesn't clear realpath cache). (Dmitry) - Fixed bug #40091 (spl_autoload_register with 2 instances of the same class). (Ilia) - Fixed bug #40083 (milter SAPI functions always return false/null). (Tony) - Fixed bug #40079 (php_get_current_user() not thread safe). (Ilia, wharmby at uk dot ibm dot com) - Fixed bug #40078 (ORA-01405 when fetching NULL values using oci_bind_array_by_name()). (Tony) - Fixed bug #40076 (zend_alloc.c: Value of enumeration constant must be in range of signed integer). (Dmitry) - Fixed bug #40073 (exif_read_data dies on certain images). (Tony, Marcus) - Fixed bug #40036 (empty() does not work correctly with ArrayObject when using ARRAY_AS_PROPS). (Ilia) - Fixed bug #40012 (php_date.c doesn't compile on Netware). (gk at gknw dot de, Derick) - Fixed bug #40009 (http_build_query(array()) returns NULL). (Ilia) - Fixed bug #40002 (Try/Catch performs poorly). (Dmitry) - Fixed bug #39993 (tr_TR.UTF-8 locale has problems with PHP). (Ilia) - Fixed bug #39990 (Cannot "foreach" over overloaded properties). (Dmitry) - Fixed bug #39988 (type argument of oci_define_by_name() is ignored). (Chris Jones, Tony) - Fixed bug #39984 (redirect response code in header() could be ignored in CGI sapi). (Ilia) - Fixed bug #39979 (PGSQL_CONNECT_FORCE_NEW will causes next connect to establish a new connection). (Ilia) - Fixed bug #39971 (pg_insert/pg_update do not allow now() to be used for timestamp fields). (Ilia) - Fixed bug #39969 (ini setting short_open_tag has no effect when using --enable-maintainer-zts). (Dmitry) - Fixed bug #39952 (zip ignoring --with-libdir on zlib checks) (judas dot iscariote at gmail dot com) - Fixed bug #39944 (References broken). (Dmitry) - Fixed bug #39935 (Extensions tidy,mcrypt,mhash,pdo_sqlite ignores --with-libdir). (judas dot iscariote at gmail dot com, Derick) - Fixed bug #39903 (Notice message when executing __halt_compiler() more than once). (Tony) - Fixed bug #39898 (FILTER_VALIDATE_URL validates \r\n\t etc). (Ilia) - Fixed bug #39890 (using autoconf 2.6x and --with-layout=GNU breaks PEAR install path). (Tony) - Fixed bug #39884 (ReflectionParameter::getClass() throws exception for type hint self). (thekid at php dot net) - Fixed bug #39878 (CURL doesn't compile on Sun Studio Pro). (Ilia) - Fixed bug #39873 (number_format() breaks with locale & decimal points). (Ilia) - Fixed bug #39869 (safe_read does not initialize errno). (michiel at boland dot org, Dmitry) - Fixed bug #39850 (SplFileObject throws contradictory/wrong error messages when trying to open "php://wrong"). (Tony) - Fixed bug #39846 (Invalid IPv4 treated as valid). (Ilia) - Fixed bug #39845 (Persistent connections generate a warning in pdo_pgsql). (Ilia) - Fixed bug #39832 (SOAP Server: parameter not matching the WSDL specified type are set to 0). (Dmitry) - Fixed bug #39825 (foreach produces memory error). (Dmitry) - Fixed bug #39816 (apxs2filter ignores httpd.conf & .htaccess php config settings). (Ilia) - Fixed bug #39815 (SOAP double encoding is not locale-independent). (Dmitry) - Fixed bug #39797 (virtual() does not reset changed INI settings). (Ilia) - Fixed bug #39795 (build fails on AIX because crypt_r() uses different data struct). (Tony) - Fixed bug #39791 (Crash in strtotime() on overly long relative date multipliers). (Ilia) - Fixed bug #39787 (PHP doesn't work with Apache 2.3). (mv at binarysec dot com). - Fixed bug #39782 (setTime() on a DateTime constructed with a Weekday yields incorrect results). (Ilia) - Fixed bug #39780 (PNG image with CRC/data error raises fatal error) (Pierre) - Fixed bug #39779 (Enable AUTH PLAIN mechanism in underlying libc-client). (michael dot heimpold at s2000 dot tu-chemnitz dot de, Ilia) - Fixed bug #39775 ("Indirect modification ..." message is not shown). (Dmitry) - Fixed bug #39763 (magic quotes are applied twice by ext/filter in parse_str()). (Ilia) - Fixed bug #39760 (cloning fails on nested SimpleXML-Object). (Rob) - Fixed bug #39759 (Can't use stored procedures fetching multiple result sets in pdo_mysql). (Ilia) - Fixed bug #39754 (Some POSIX extension functions not thread safe). (Ilia, wharmby at uk dot ibm dot com) - Fixed bug #39751 (putenv crash on Windows). (KevinJohnHoffman at gmail.com) - Fixed bug #39732 (oci_bind_array_by_name doesn't work on Solaris 64bit). (Tony) - Fixed bug #39724 (Broken build due to spl/filter usage of pcre extension). (Tony, Ilia) - Fixed bug #39718 (possible crash if assert.callback is set in ini). (Ilia) - Fixed bug #39702 (php crashes in the allocator on linux-m68k). (Dmitry) - Fixed bug #39685 (iconv() - undefined function). (Hannes) - Fixed bug #39673 (file_get_contents causes bus error on certain offsets). (Tony) - Fixed bug #39663 (Memory leak in pg_get_notify() and a possible memory corruption on Windows in pgsql and pdo_pgsql extensions). (Ilia, matteo at beccati dot com) - Fixed bug #39662 (Segfault when calling asXML() of a cloned SimpleXMLElement). (Rob, Tony) - Fixed bug #39656 (crash when calling fetch() on a PDO statment object after closeCursor()). (Ilia, Tony) - Fixed bug #39653 (ext/dba doesn't check for db-4.5 and db-4.4 when db4 support is enabled). (Tony) - Fixed bug #39652 (Wrong negative results from memory_get_usage()). (Dmitry) - Fixed bug #39648 (Implementation of PHP functions chown() and chgrp() are not thread safe). (Ilia, wharmby at uk dot ibm dot com) - Fixed bug #39640 (Segfault with "Allowed memory size exhausted"). (Dmitry) - Fixed bug #39625 (Apache crashes on importStylesheet call). (Rob) - Fixed bug #39623 (thread safety fixes on *nix for putenv() & mime_magic). (Ilia, wharmby at uk dot ibm dot com) - Fixed bug #39621 (str_replace() is not binary safe on strings with equal length). (Tony) - Fixed bug #39613 (Possible segfault in imap initialization due to missing module dependency). (wharmby at uk dot ibm dot com, Tony) - Fixed bug #39606 (Use of com.typelib_file in PHP.ini STILL causes A/V). (Rob) - Fixed bug #39602 (Invalid session.save_handler crashes PHP). (Dmitry) - Fixed bug #39596 (Creating Variant of type VT_ARRAY). (Rob) - Fixed bug #39583 (ftp_put() does not change transfer mode to ASCII). (Tony) - Fixed bug #39576 (array_walk() doesn't separate user data zval). (Tony) - Fixed bug #39575 (move_uploaded_file() no longer working (safe mode related)). (Tony) - Fixed bug #39571 (timeout ssl:// connections). (Ilia) - Fixed bug #39564 (PDO::errorInfo() returns inconsistent information when sqlite3_step() fails). (Tony) - Fixed bug #39548 (ZMSG_LOG_SCRIPT_NAME not routed to OutputDebugString() on Windows). (Dmitry) - Fixed bug #39538 (fgetcsv can't handle starting newlines and trailing odd number of backslashes). (David Soria Parra, Pierre) - Fixed bug #39534 (Error in maths to calculate of ZEND_MM_ALIGNED_MIN_HEADER_SIZE). (wharmby at uk dot ibm dot com, Dmitry) - Fixed bug #39527 (Failure to retrieve results when multiple unbuffered, prepared statements are used in pdo_mysql). (Ilia) - Fixed bug #39508 (imagefill crashes with small images 3 pixels or less). (Pierre) - Fixed bug #39506 (Archive corrupt with ZipArchive::addFile method). (Pierre) - Fixed bug #39504 (xmlwriter_write_dtd_entity() creates Attlist tag, not entity). (Hannes) - Fixed bug #39483 (Problem with handling of \ char in prepared statements). (Ilia, suhachov at gmail dot com) - Fixed bug #39458 (ftp_nlist() returns false on empty dirs). (Nuno) - Fixed bug #39454 (Returning a SOAP array segfaults PHP). (Dmitry) - Fixed bug #39450 (getenv() fills other super-globals). (Ilia, Tony) - Fixed bug #39449 (Overloaded array properties do not work correctly). (Dmitry) - Fixed bug #39445 (Calling debug_backtrace() in the __toString() function produces a crash). (Dmitry) - Fixed bug #39438 (Fatal error: Out of memory). (Dmitry) - Fixed bug #39435 ('foo' instanceof bar gives invalid opcode error). (Sara) - Fixed bug #39414 (Syntax error while compiling with Sun Workshop Complier). (Johannes) - Fixed bug #39398 (Booleans are not automatically translated to integers). (Ilia) - Fixed bug #39394 (Missing check for older variants of openssl). (Ilia) - Fixed bug #39367 (clearstatcache() doesn't clear realpath cache). (j at pureftpd dot org, Dmitry) - Fixed bug #39366 (imagerotate does not use alpha with angle > 45 degrees) (Pierre) - Fixed bug #39364 (Removed warning on empty haystack inside mb_strstr()). (Ilia) - Fixed bug #39362 (Added an option to imap_open/imap_reopen to control the number of connection retries). (Ilia) - Fixed bugs #39361 & #39400 (mbstring function overloading problem). (Seiji) - Fixed bug #39354 (Allow building of curl extension against libcurl 7.16.0). (Ilia) - Fixed bug #39350 (crash with implode("\n", array(false))). (Ilia) - Fixed bug #39344 (Unnecessary calls to OnModify callback routine for an extension INI directive). (wharmby at uk dot ibm dot com, Dmitry) - Fixed bug #39320 (ZEND_HASH_APPLY_STOP causes deletion). (Marcus) - Fixed bug #39313 (spl_autoload triggers Fatal error). (Marcus) - Fixed bug #39300 (make install fails if wget is not available). (Tony) - Fixed bug #39297 (Memory corruption because of indirect modification of overloaded array). (Dmitry) - Fixed bug #39286 (misleading error message when invalid dimensions are given) (Pierre) - Fixed bug #39273 (imagecopyresized may ignore alpha channel) (Pierre) - Fixed bug #39265 (Fixed path handling inside mod_files.sh). (michal dot taborsky at gmail dot com, Ilia) - Fixed bug #39217 (serialNumber might be -1 when the value is too large). (Pierre, Tony) - Fixed bug #39215 (Inappropriate close of stdin/stdout/stderr). (Wez, Ilia) - Fixed bug #39201 (Possible crash in Apache 2 with 413 ErrorHandler). (Ilia) - Fixed bug #39151 (Parse error in recursiveiteratoriterator.php). (Marcus) - Fixed bug #39121 (Incorrect return array handling in non-wsdl soap client). (Dmitry) - Fixed bug #39090 (DirectoryFilterDots doxygen docs and example is wrong). (Marcus) - Fixed bug #38852 (XML-RPC Breaks iconv). (Hannes) - Fixed bug #38770 (unpack() broken with longs on 64 bit machines). (Ilia, David Soria Parra). - Fixed bug #38698 (for some keys cdbmake creates corrupted db and cdb can't read valid db). (Marcus) - Fixed bug #38680 (Added missing handling of basic types in json_decode). (Ilia) - Fixed bug #38604 (Fixed request time leak inside foreach() when iterating through virtual properties). (Dmitry) - Fixed bug #38602 (header( "HTTP/1.0 ..." ) does not change proto version). (Ilia) - Fixed bug #38542 (proc_get_status() returns wrong PID on windows). (Nuno) - Fixed bug #38536 (SOAP returns an array of values instead of an object). (Dmitry) - Fixed bug #38456 (Apache2 segfaults when virtual() is called in .php ErrorDocument). (Ilia) - Fixed bug #38325 (spl_autoload_register() gives wrong line for "class not found"). (Ilia) - Fixed bug #38319 (Remove bogus warnings from persistent PDO connections). (Ilia) - Fixed bug #38274 (Memlimit fatal error sent to "wrong" stderr when using fastcgi). (Dmitry) - Fixed bug #38252 (Incorrect PDO error message on invalid default fetch mode). (Ilia) - Fixed bug #37927 (Prevent trap when COM extension processes argument of type VT_DISPATCH|VT_REF) (Andy) - Fixed bug #37773 (iconv_substr() gives "Unknown error" when string length = 1"). (Ilia) - Fixed bug #37627 (session save_path check checks the parent directory). (Ilia) - Fixed bug #37619 (proc_open() closes stdin on fork() failure). (jdolecek at NetBSD dot org, Nuno) - Fixed bug #37588 (COM Property propputref converts to PHP function and can't be accesed). (Rob) - Fixed bug #36975 (natcasesort() causes array_pop() to misbehave). (Hannes) - Fixed bug #36812 (pg_execute() modifies input array). (Ilia) - Fixed bug #36798 (Error parsing named parameters with queries containing high-ascii chars). (Ilia) - Fixed bug #36644 (possible crash in variant_date_from_timestamp()). (Ilia) - Fixed bug #36427 (proc_open() / proc_close() leak handles on windows). (jdolecek at NetBSD dot org, Nuno) - Fixed bug #36392 (wrong number of decimal digits with %e specifier in sprintf). (Matt,Ilia) - Fixed bug #36214 (__get method works properly only when conditional operator is used). (Dmitry) - Fixed bug #35634 (Erroneous "Class declarations may not be nested" error raised). (Carl P. Corliss, Dmitry) - Fixed bug #35106 (nested foreach fails when array variable has a reference). (Dmitry) - Fixed bug #34564 (COM extension not returning modified "out" argument) (Andy) - Fixed bug #33734 (Something strange with COM Object). (Rob) - Fixed bug #33386 (ScriptControl only sees last function of class). (Rob) - Fixed bug #33282 (Re-assignment by reference does not clear the is_ref flag) (Ilia, Dmitry, Matt Wilmas) - Fixed bug #30074 (apparent symbol table error with extract($blah, EXTR_REFS)) (Brian) - Fixed bug #29840 (is_executable() does not honor safe_mode_exec_dir setting). (Ilia) - Fixed PECL bug #7295 (ORA-01405: fetched column value is NULL on LOB fields). (Tony) 02 Nov 2006, PHP 5.2.0 - Updated bundled OpenSSL to version 0.9.8d in the Windows distro. (Edin) - Updated Postgresql client libraries to 8.1.4 in the Windows distro. (Edin) - Updated PCRE to version 6.7. (Ilia) - Updated libsqlite in ext/pdo_sqlite to 3.3.7. (Ilia) - Updated bundled MySQL client library to version 5.0.22 in the Windows distribution. (Edin) - Updated timezonedb to version 2006.7. (Derick) - Added ability to make SOAP call userspace PHP<->XML converters. (Dmitry) - Added support for character sets in pg_escape_string() for PostgreSQL 8.1.4 and higher. (Ilia) - Added support for character sets in PDO quote() method for PostgreSQL 8.1.4 and higher. (Ilia) - Added DSA key generation support to openssl_pkey_new(), FR #38731 (marci at balabit dot hu, Tony) - Added SoapServer::setObject() method (it is a simplified version of SoapServer::setClass() method). (Dmitry) - Added support for hexadecimal entity in imagettftext() for the bundled GD. (Pierre) - Added support for httpOnly flag for session extension and cookie setting functions. (Scott MacVicar, Ilia) - Added version specific registry keys to allow different configurations for different php version. (Richard, Dmitry) - Added "PHPINIDir" Apache directive to apache and apache_hooks SAPIs. (Dmitry) - Added an optional boolean parameter to memory_get_usage() and memory_get_peak_usage() to get memory size allocated by emalloc() or real size of memory allocated from system. (Dmitry) - Added Zip Archive extension. (Pierre) - Added RFC1867 fileupload processing hook. (Stefan E.) - Added JSON and Filter extensions. (Derick, Rasmus) - Added error messages to disk_free_space() and disk_total_space() functions. FR #37971 (Tony) - Added PATHINFO_FILENAME option to pathinfo() to get the filename. (Toby S. and Christian S.) - Added array_fill_keys() function. (Marcus, Matt Wilmas) - Added posix_initgroups() function. (Ilia) - Added an optional parameter to parse_url() to allow retrieval of distinct URL components. (Ilia) - Added optional parameter to http_build_query() to allow specification of string separator. (Ilia) - Added image_type_to_extension() function. (Hannes, Ilia) - Added allow_url_include ini directive to complement allow_url_fopen. (Rasmus) - Added automatic module globals management. (Dmitry) - Added RFC2397 (data: stream) support. (Marcus) - Added new error mode E_RECOVERABLE_ERROR. (Derick, Marcus, Tony) - Added support for getenv() input filtering. (Rasmus) - Added support for constructors in interfaces to force constructor signature checks in implementations. (Marcus) - Added memory_get_peak_usage() function for retrieving peak memory usage of a PHP script. (Ilia) - Added pg_field_table() function. (Edin) - Added SimpleXMLElement::saveXML() as an alias for SimpleXMLElement::asXML(). (Hannes) - Added DOMNode::getNodePath() for getting an XPath for a node. (Christian) - Added gmp_nextprime() function. (ants dot aasma at gmail dot com, Tony) - Added error_get_last() function. (Mike) - Removed current working directory from the php.ini search path for CLI and re-added it for other SAPIs (restore to pre 5.1.x behavior). (Edin) - Moved extensions to PECL: . ext/filepro (Derick, Tony) . ext/hwapi (Derick, Tony) - Disabled CURLOPT_FOLLOWLOCATION in curl when open_basedir or safe_mode are enabled. (Stefan E., Ilia) - Increased default memory limit to 16 megabytes to accommodate for a more accurate memory utilization measurement. - In addition to path to php.ini, PHPRC now may specify full file name. (Dmitry) - Optimized array/HashTable copying. (Matt Wilmas, Dmitry) - Optimized zend_try/zend_catch macros by eliminating memcpy(3). (Dmitry) - Optimized require_once() and include_once() by eliminating fopen(3) on second usage. (Dmitry) - Optimized request shutdown sequence. Restoring ini directives now iterates only over modified directives instead of all. (Dmitry) - Changed priority of PHPRC environment variable on win32 to be higher then value from registry. (Dmitry) - Changed __toString() to be called wherever applicable. (Marcus) - Changed E_ALL error reporting mode to include E_RECOVERABLE_ERROR. (Marcus) - Changed realpath cache to be disabled when "open_basedir" or "safe_mode" are enabled on per-request basis. (Ilia) - Improved SNMP extension: (Jani) . Renamed snmp_set_oid_numeric_print() to snmp_set_oid_output_format(). . Added 2 new constants: SNMP_OID_OUTPUT_FULL and SNMP_OID_OUTPUT_NUMERIC . Fixed bug #37564 (AES privacy encryption not possible due to net-snmp 5.2 compatibility issue). (Patch: scott dot moynes+php at gmail dot com) - Improved OpenSSL extension: (Pierre) . Added support for all supported algorithms in openssl_verify . Added openssl_pkey_get_details, returns the details of a key . Added x509 v3 extensions support . Added openssl_csr_get_subject() and openssl_csr_get_public_key() . Added 3 new constants OPENSSL_VERSION_TEXT and OPENSSL_VERSION_NUMBER and OPENSSL_KEYTYPE_EC - Improved the Zend memory manager: (Dmitry) . Removed unnecessary "--disable-zend-memory-manager" configure option. . Added "--enable-malloc-mm" configure option which is enabled by default in debug builds to allow using internal and external memory debuggers. . Allow tweaking the memory manager with ZEND_MM_MEM_TYPE and ZEND_MM_SEG_SIZE environment variables. . For more information: Zend/README.ZEND_MM - Improved safe_mode check for the error_log() function. (Ilia) - Improved the error reporting in SOAP extension on request failure. (Ilia) - Improved crypt() on win32 to be about 10 times faster and to have friendlier license. (Frank, Dmitry) - Improved performance of the implode() function on associated arrays. (Ilia) - Improved performance of str_replace() when doing 1 char to 1 char or 1 char to many chars replacement. (Ilia) - Improved apache2filter SAPI: . Allowed PHP to be an arbitrary filter in the chain and read the script from the Apache stream. (John) . Added support for apache2filter in the Windows build including binary support for both Apache 2.0.x (php5apache2_filter.dll) and Apache 2.2.x (php5apache2_2_filter.dll). (Edin) - Improved apache2handler SAPI: . Changed ap_set_content_type() to be called only once. (Mike) . Added support for Apache 2.2 handler in the Windows distribution. (Edin) - Improved FastCGI SAPI: (Dmitry) . Removed source compatibility with libfcgi. . Optimized access to FastCGI environment variables by using HashTable instead of linear search. . Allowed PHP_FCGI_MAX_REQUESTS=0 that assumes no limit. . Allowed PHP_FCGI_CHILDREN=0 that assumes no worker children. (FastCGI requests are handled by main process itself) - Improved CURL: . Added control character checks for "open_basedir" and "safe_mode" checks. (Ilia) . Added implementation of curl_multi_info_read(). (Brian) - Improved PCRE: (Andrei) . Added run-time configurable backtracking/recursion limits. . Added preg_last_error(). (Andrei) - Improved PDO: . Added new attribute ATTR_DEFAULT_FETCH_MODE. (Pierre) . Added FETCH_PROPS_LATE. (Marcus) - Improved SPL: (Marcus) . Made most iterator code exception safe. . Added RegExIterator and RecursiveRegExIterator. . Added full caching support and ArrayAccess to CachingIterator. . Added array functions to ArrayObject/ArrayIterator and made them faster. . Added support for reading csv and skipping empty lines in SplFileObject. . Added CachingIterator::TOSTRING_USE_INNER, calls inner iterator __toString. . Added ability to set the CSV separator per SplFileObject. - Improved xmlReader: (Rob) . Added readInnerXml(), xmlReader::setSchema(). . Added readInnerXML(), readOuterXML(), readString(), setSchema(). (2.6.20+) . Changed to passing libxml options when loading reader. - Fixed invalid read in imagecreatefrompng when an empty file is given (Pierre, Tony) - Fixed infinite loop when a wrong color index is given to imagefill (Pierre) - Fixed mess with CGI/CLI -d option (now it works with cgi; constants are working exactly like in php.ini; with FastCGI -d affects all requests). (Dmitry) - Fixed missing open_basedir check inside chdir() function. (Ilia) - Fixed overflow on 64bit systems in str_repeat() and wordwrap(). (Stefan E.) - Fixed XSLTProcessor::importStylesheet() to return TRUE on success (Christian) - Fixed leaks in openssl_csr_sign and openssl_csr_new (Pierre) - Fixed phpinfo() cutoff of variables at \0. (Ilia) - Fixed a bug in the filter extension that prevented magic_quotes_gpc from being applied when RAW filter is used. (Ilia) - Fixed memory leaks in openssl streams context options. (Pierre) - Fixed handling of extremely long paths inside tempnam() function. (Ilia) - Fixed bug #39721 (Runtime inheritance causes data corruption). (Dmitry) - Fixed bug #39304 (Segmentation fault with list unpacking of string offset). (Dmitry) - Fixed bug #39192 (Not including nsapi.h properly with SJSWS 7). This will make PHP 5.2 compatible to new Sun Webserver. (Uwe) - Fixed bug #39140 (Uncaught exception may cause crash). (Dmitry) - Fixed bug #39125 (Memleak when reflecting non-existing class/method). (Tony) - Fixed bug #39067 (getDeclaringClass() and private properties). (Tony) - Fixed bug #39039 (SSL: fatal protocol error when fetching HTTPS from servers running Google web server). (Ilia) - Fixed bug #39035 (Compatibility issue between DOM and zend.ze1_compatibility_mode). (Rob) - Fixed bug #39034 (curl_exec() with return transfer returns TRUE on empty files). (Ilia) - Fixed bug #39032 (strcspn() stops on null character). (Tony) - Fixed bug #39020 (PHP in FastCGI server mode crashes). (Dmitry) - Fixed bug #39017 (foreach(($obj = new myClass) as $v); echo $obj; segfaults). (Dmitry) - Fixed bug #39004 (Fixed generation of config.nice with autoconf 2.60). (Ilia) - Fixed bug #39003 (__autoload() is called for type hinting). (Dmitry, Tony) - Fixed bug #39001 (ReflectionProperty returns incorrect declaring class for protected properties). (Tony) - Fixed bug #38996 (PDO_MYSQL doesn't check connections for liveness). (Tony) - Fixed bug #38993 (Fixed safe_mode/open_basedir checks for session.save_path, allowing them to account for extra parameters). (Ilia) - Fixed bug #38989 (Absolute path with slash at beginning doesn't work on win). (Dmitry) - Fixed bug #38985 (Can't cast COM objects). (Wez) - Fixed bug #38981 (using FTP URLs in get_headers() causes crash). (Tony) - Fixed bug #38963 (Fixed a possible open_basedir bypass in tempnam()). (Ilia) - Fixed bug #38961 (metaphone() results in segmentation fault on NetBSD). (Tony) - Fixed bug #38949 (Cannot get xmlns value attribute). (Rob) - Fixed bug #38942 (Double old-style-ctor inheritance). (Dmitry) - Fixed bug #38941 (imap extension does not compile against new version of the imap library). (Ilia) - Fixed bug #38934 (move_uploaded_file() cannot read uploaded file outside of open_basedir). (Ilia) - Fixed bug #38904 (apache2filter changes cwd to /). (Ilia, Hannes) - Fixed bug #38891 (get_headers() do not work with curl-wrappers). (Ilia) - Fixed bug #38882 (ldap_connect causes segfault with newer versions of OpenLDAP). (Tony) - Fixed bug #38859 (parse_url() fails if passing '@' in passwd). (Tony) - Fixed bug #38850 (lookupNamespaceURI doesn't return default namespace). (Rob) - Fixed bug #38844 (curl_easy_strerror() is defined only since cURL 7.12.0). (Tony) - Fixed bug #38813 (DOMEntityReference->__construct crashes when called explicitly). (Rob) - Fixed bug #38808 ("maybe ref" issue for current() and others). (Dmitry) - Fixed bug #38779 (engine crashes when require()'ing file with syntax error through userspace stream wrapper). (Tony, Dmitry) - Fixed bug #38772 (inconsistent overriding of methods in different visibility contexts). (Dmitry) - Fixed bug #38759 (PDO sqlite2 empty query causes segfault). (Tony) - Fixed bug #38721 (Invalid memory read in date_parse()). (Tony, Derick) - Fixed bug #38700 (SoapClient::__getTypes never returns). (Dmitry) - Fixed bug #38693 (curl_multi_add_handle() set curl handle to null). (Ilia) - Fixed bug #38687 (sockaddr local storage insufficient for all sock families). (Sara) - Fixed bug #38661 (mixed-case URL breaks url-wrappers). (Ilia) - Fixed bug #38653 (memory leak in ReflectionClass::getConstant()). (Tony) - Fixed bug #38649 (uninit'd optional arg in stream_socket_sendto()). (Sara) - Fixed bug #38637 (curl_copy_handle() fails to fully copy the cURL handle). (Tony, Ilia) - Fixed bug #38624 (Strange warning when incrementing an object property and exception is thrown from __get method). (Tony) - Fixed bug #38623 (leaks in a tricky code with switch() and exceptions). (Dmitry) - Fixed bug #38579 (include_once() may include the same file twice). (Dmitry) - Fixed bug #38574 (missing curl constants and improper constant detection). (Ilia) - Fixed bug #38543 (shutdown_executor() may segfault when memory_limit is too low). (Dmitry) - Fixed bug #38535 (memory corruption in pdo_pgsql driver on error retrieval inside a failed query executed via query() method). (Ilia) - Fixed bug #38534 (segfault when calling setlocale() in userspace session handler). (Tony) - Fixed bug #38524 (strptime() does not initialize the internal date storage structure). (Ilia) - Fixed bug #38511, #38473, #38263 (Fixed session extension request shutdown order to ensure it is shutdown before the extensions it may depend on). (Ilia) - Fixed bug #38488 (Access to "php://stdin" and family crashes PHP on win32). (Dmitry) - Fixed bug #38474 (getAttribute select attribute by order, even when prefixed). (Rob) - Fixed bug #38467 (--enable-versioning causes make fail on OS X). (Tony) - Fixed bug #38465 (ReflectionParameter fails if default value is an access to self::). (Johannes) - Fixed bug #38464 (array_count_values() mishandles numeric strings). (Matt Wilmas, Ilia) - Fixed bug #38461 (setting private attribute with __set() produces segfault). (Tony) - Fixed bug #38458, PECL bug #8944, PECL bug #7775 (error retrieving columns after long/text columns with PDO_ODBC). (Wez) - Fixed bug #38454 (warning upon disabling handler via xml_set_element_handler). (dtorop933 at gmail dot com, Rob) - Fixed bug #38451 (PDO_MYSQL doesn't compile on Solaris). (Tony) - Fixed bug #38450 (constructor is not called for classes used in userspace stream wrappers). (Tony) - Fixed bug #38438 (DOMNodeList->item(0) segfault on empty NodeList). (Ilia) - Fixed bug #38431 (xmlrpc_get_type() crashes PHP on objects). (Tony) - Fixed bug #38427 (unicode causes xml_parser to misbehave). (Rob) - Fixed bug #38424 (Different attribute assignment if new or existing). (Rob) - Fixed bug #38400 (Use of com.typelib_file may cause a crash). (Ilia) - Fixed bug #38394 (PDO fails to recover from failed prepared statement execution). (Ilia) - Fixed bug #38377 (session_destroy() gives warning after session_regenerate_id()). (Ilia) - Implemented #38357 (dbase_open can't open DBase 3 dbf file). (rodrigo at fabricadeideias dot com, Mike) - Fixed bug #38354 (Unwanted reformatting of XML when using AsXML). (Christian) - Fixed bug #38347 (Segmentation fault when using foreach with an unknown/empty SimpleXMLElement). (Tony) - Fixed bug #38322 (reading past array in sscanf() leads to arbitrary code execution). (Tony) - Fixed bug #38315 (Constructing in the destructor causes weird behavior). (Dmitry) - Fixed bug #38303 (spl_autoload_register() suppress all errors silently). (Ilia) - Fixed bug #38290 (configure script ignores --without-cdb,inifile,flatfile). (Marcus) - Fixed bug #38289 (segfault in session_decode() when _SESSION is NULL). (Tony) - Fixed bug #38287 (static variables mess up global vars). (Dmitry) - Fixed bug #38278 (session_cache_expire()'s value does not match phpinfo's session.cache_expire). (Tony) - Fixed bug #38276 (file_exists() works incorrectly with long filenames on Windows). (Ilia, Tony) - Fixed bug #38269 (fopen wrapper doesn't fail on invalid hostname with curlwrappers enabled). (Tony) - Fixed bug #38265 (heap corruption). (Dmitry) - Fixed bug #38261 (openssl_x509_parse() leaks with invalid cert) (Pierre) - Fixed bug #38255 (openssl possible leaks while passing keys) (Pierre) - Fixed bug #38253 (PDO produces segfault with default fetch mode). (Tony) - Fixed bug #38251 (socket_select() and invalid arguments). (Tony) - Fixed bug #38236 (Binary data gets corrupted on multipart/formdata POST). (Ilia) - Fixed bug #38234 (Exception in __clone makes memory leak). (Dmitry, Nuno) - Fixed bug #38229 (strtotime() does not parse YYYY-MM format). (Ilia) - Fixed bug #38224 (session extension can't handle broken cookies). (Ilia) - Fixed bug #38220 (Crash on some object operations). (Dmitry) - Fixed bug #38217 (ReflectionClass::newInstanceArgs() tries to allocate too much memory). (Tony) - Fixed bug #38214 (gif interlace output cannot work). (Pierre) - Fixed bug #38213, #37611, #37571 (wddx encoding fails to handle certain characters). (Ilia) - Fixed bug #38212 (Segfault on invalid imagecreatefromgd2part() parameters). (Pierre) - Fixed bug #38211 (variable name and cookie name match breaks script execution). (Dmitry) - Fixed bug #38199 (fclose() unable to close STDOUT and STDERR). (Tony) - Fixed bug #38198 (possible crash when COM reports an exception). (Ilia) - Fixed bug #38194 (ReflectionClass::isSubclassOf() returns TRUE for the class itself). (Ilia) - Fixed bug #38183 (disable_classes=Foobar causes disabled class to be called Foo). (Jani) - Fixed bug #38179 (imagecopy from a palette to a truecolor image loose alpha channel) (Pierre) - Fixed bug #38173 (Freeing nested cursors causes OCI8 to segfault). (Tony) - Fixed bug #38168 (Crash in pdo_pgsql on missing bound parameters). (Ilia) - Fixed bug #38161 (oci_bind_by_name() returns garbage when Oracle didn't set the variable). (Tony) - Fixed bug #38146 (Cannot use array returned from foo::__get('bar') in write context). (Dmitry) - Fixed bug #38132 (ReflectionClass::getStaticProperties() retains \0 in key names). (Ilia) - Fixed bug #38125 (undefined reference to spl_dual_it_free_storage). (Marcus) - Fixed bug #38112 (corrupted gif segfaults) (Pierre) - Fixed bug #38096 (large timeout values ignored on 32bit machines in stream_socket_accept() and stream_socket_client()). (Ilia) - Fixed bug #38086 (stream_copy_to_stream() returns 0 when maxlen is bigger than the actual length). (Tony) - Fixed bug #38072 (boolean arg for mysqli_autocommit() is always true on Solaris). (Tony) - Fixed bug #38067 (Parameters are not decoded from utf-8 when using encoding option). (Dmitry) - Fixed bug #38064 (ignored constructor visibility). (Marcus) - Fixed bug #38055 (Wrong interpretation of boolean parameters). (Dmitry) - Fixed bug #38047 ("file" and "line" sometimes not set in backtrace from inside error handler). (Dmitry) - Fixed bug #38019 (segfault extending mysqli class). (Dmitry) - Fixed bug #38005 (SoapFault faultstring doesn't follow encoding rules). (Dmitry) - Fixed bug #38004 (Parameters in SoapServer are decoded twice). (Dmitry) - Fixed bug #38003 (in classes inherited from MySQLi it's possible to call private constructors from invalid context). (Tony) - Fixed bug #37987 (invalid return of file_exists() in safe mode). (Ilia) - Fixed bug #37947 (zend_ptr_stack reallocation problem). (Dmitry) - Fixed bug #37945 (pathinfo() cannot handle argument with special characters like German "Umlaut"). (Mike) - Fixed bug #37931 (possible crash in OCI8 after database restart when using persistent connections). (Tony) - Fixed bug #37923 (Display constant value in reflection::export). (Johannes) - Fixed bug #37920 (compilation problems on z/OS). (Tony) - Fixed bug #37870 (pgo_pgsql tries to de-allocate unused statements). (Ilia, ce at netage dot bg) - Fixed bug #37864 (file_get_contents() leaks on empty file). (Hannes) - Fixed bug #37862 (Integer pointer comparison to numeric value). (bugs-php at thewrittenword dot com) - Fixed bug #37846 (wordwrap() wraps incorrectly). (ddk at krasn dot ru, Tony) - Fixed bug #37816 (ReflectionProperty does not throw exception when accessing protected attribute). (Marcus) - Fixed bug #37811 (define not using toString on objects). (Marcus) - Fixed bug #37807 (segmentation fault during SOAP schema import). (Tony) - Fixed bug #37806 (weird behavior of object type and comparison). (Marcus) - Fixed bug #37780 (memory leak trying to execute a non existing file (CLI)). (Mike) - Fixed bug #37779 (empty include_path leads to search for files inside /). (jr at terragate dot net, Ilia) - Fixed bug #37747 (strtotime segfaults when given "nextyear"). (Derick) - Fixed bug #37720 (merge_php_config scrambles values). (Mike, pumuckel at metropolis dot de) - Fixed bug #37709 (Possible crash in PDO::errorCode()). (Ilia) - Fixed bug #37707 (clone without assigning leaks memory). (Ilia, Nuno, Dmitri) - Fixed bug #37705 (Semaphore constants not available). (Ilia) - Fixed bug #37671 (MySQLi extension fails to recognize BIT column). (Ilia) - Fixed bug #37667 (Object is not added into array returned by __get). (Marcus) - Fixed bug #37635 (parameter of pcntl signal handler is trashed). (Mike) - Fixed bug #37632 (Protected method access problem). (Marcus) - Fixed bug #37630 (MySQL extensions should link against thread safe client libs if built with ZTS). (Mike) - Fixed bug #37620 (mysqli_ssl_set validation is inappropriate). (Georg) - Fixed bug #37616 (DATE_RFC822 does not product RFC 822 dates). (Hannes Magnusson, Derick) - Fixed bug #37614 (Class name lowercased in error message). (Johannes) - Fixed bug #37587 (var without attribute causes segfault). (Marcus) - Fixed bug #37586 (Bumped minimum PCRE version to 6.6, needed for recursion limit support). (Ilia) - Fixed bug #37581 (oci_bind_array_by_name clobbers input array when using SQLT_AFC, AVC). (Tony) - Fixed bug #37569 (WDDX incorrectly encodes high-ascii characters). (Ilia) - Fixed bug #37565 (Using reflection::export with simplexml causing a crash). (Marcus) - Fixed bug #37564 (AES privacy encryption not possible due to net-snmp 5.2 compatibility issue). (Jani, patch by scott dot moynes+php at gmail dot com) - Fixed bug #37563 (array_key_exists performance is poor for &$array). (Ilia) - Fixed bug #37558 (timeout functionality doesn't work after a second PHP start-up on the same thread). (p dot desarnaud at wanadoo dot fr) - Fixed bug #37531 (oci8 persistent connection corruption). (Tony) - Fixed bug #37523 (namespaces added too late, leads to missing xsi:type attributes. Incompatibility with libxml2-2.6.24). (Dmitry) - Fixed bug #37514 (strtotime doesn't assume year correctly). (Derick) - Fixed bug #37510 (session_regenerate_id changes session_id() even on failure). (Hannes) - Fixed bug #37505 (touch() truncates large files). (Ilia) - Fixed bug #37499 (CLI segmentation faults during cleanup with sybase-ct extension enabled). (Tony) - Fixed bug #37496 (FastCGI output buffer overrun). (Piotr, Dmitry) - Fixed bug #37487 (oci_fetch_array() array-type should always default to OCI_BOTH). (Tony) - Fixed bug #37457 (Crash when an exception is thrown in accept() method of FilterIterator). (Marcus) - Fixed bug #37456 (DOMElement->setAttribute() loops forever). (Rob) - Fixed bug #37445 (Fixed crash in pdo_mysql resulting from premature object destruction). (Ilia) - Fixed bug #37428 (PHP crashes on windows if there are start-up errors and event log is used for logging them). (Edin) - Fixed bug #37418 (tidy module crashes on shutdown). (Tony) - Fixed bug #37416 (iterator_to_array() hides exceptions thrown in rewind() method). (Tony) - Fixed bug #37413 (Rejected versions of flex that don't work). (Ilia) - Fixed bug #37395 (recursive mkdir() fails to create nonexistent directories in root dir). (Tony) - Fixed bug #37394 (substr_compare() returns an error when offset equals string length). (Ilia) - Fixed bug #37392 (Unnecessary call to OCITransRollback() at the end of request). (Tony) - Fixed bug #37376 (fastcgi.c compile fail with gcc 2.95.4). (Ilia) - Fixed bug #37368 (Incorrect timestamp returned for strtotime()). (Derick) - Fixed bug #37363 (PDO_MYSQL does not build if no other mysql extension is enabled). (Mike) - Fixed bug #37348 (make PEAR install ignore open_basedir). (Ilia) - Fixed bug #37341 ($_SERVER in included file is shortened to two entries, if $_ENV gets used). (Dmitry) - Fixed bug #37313 (sigemptyset() used without including ). (jdolecek) - Fixed bug #37306 (max_execution_time = max_input_time). (Dmitry) - Fixed bug #37278 (SOAP not respecting uri in __soapCall). (Dmitry) - Fixed bug #37265 (Added missing safe_mode & open_basedir checks to imap_body()). (Ilia) - Fixed bug #37262 (var_export() does not escape \0 character). (Ilia) - Fixed bug #37256 (php-fastcgi doesn't handle connection abort). (Dmitry) - Fixed bug #37244 (Added strict flag to base64_decode() that enforces RFC3548 compliance). (Ilia) - Fixed bug #37144 (PHP crashes trying to assign into property of dead object). (Dmitry) - Fixed bug #36949 (invalid internal mysqli objects dtor). (Mike) - Implement #36732 (req/x509 extensions support for openssl_csr_new and openssl_csr_sign) (ben at psc dot edu, Pierre) - Fixed bug #36759 (Objects destructors are invoked in wrong order when script is finished). (Dmitry) - Fixed bug #36681 (pdo_pgsql driver incorrectly ignored some errors). (Wez, Ilia) - Fixed bug #36630 (umask not reset at the end of the request). (Ilia) - Fixed bug #36515 (Unlinking buckets from non-existent brigades). (Sara) - Fixed bug #35973 (Error ORA-24806 occurs when trying to fetch a NCLOB field). (Tony) - Fixed bug #35886 (file_get_contents() fails with some combinations of offset & maxlen). (Nuno) - Fixed bug #35512 (Lack of read permission on main script results in E_WARNING rather then E_ERROR). (Ilia) - Fixed bug #34180 (--with-curlwrappers causes PHP to disregard some HTTP stream context options). (Mike) - Fixed bug #34066 (recursive array_walk causes segfault). (Tony) - Fixed bug #34065 (throw in foreach causes memory leaks). (Dmitry) - Fixed bug #34005 (oci_password_change() fails). (pholdaway at technocom-wireless dot com, Tony) - Fixed bug #33895 (Missing math constants). (Hannes) - Fixed bug #33770 (https:// or ftps:// do not work when --with-curlwrappers is used and ssl certificate is not verifiable). (Ilia) - Fixed bug #29538 (number_format and problem with 0). (Matt Wilmas) - Implement #28382 (openssl_x509_parse() extensions support) (Pierre) - Fixed PECL bug #9061 (oci8 might reuse wrong persistent connection). (Tony) - Fixed PECL bug #8816 (issue in php_oci_statement_fetch with more than one piecewise column) (jeff at badtz-maru dot com, Tony) - Fixed PECL bug #8112 (OCI8 persistent connections misbehave when Apache process times out). (Tony) - Fixed PECL bug #7755 (error selecting DOUBLE fields with PDO_ODBC). ("slaws", Wez) 04 May 2006, PHP 5.1.4 - Added "capture_peer_cert" and "capture_peer_cert_chain" context options for SSL streams. (Wez). - Added PDO::PARAM_EVT_* family of constants. (Sara) - Fixed possible crash in highlight_string(). (Dmitry) - Fixed bug #37291 (FastCGI no longer works with isapi_fcgi.dll). (Dmitry) - Fixed bug #37277 (cloning Dom Documents or Nodes does not work). (Rob) - Fixed bug #37276 (problems with $_POST array). (Dmitry) - Fixed bug #36632 (bad error reporting for pdo_odbc exec UPDATE). (Wez). - Fixed bug #35552 (crash when pdo_odbc prepare fails). (Wez). 28 Apr 2006, PHP 5.1.3 - Updated bundled PCRE library to version 6.6. (Andrei) - Moved extensions to PECL: . ext/msession (Derick) - Reimplemented FastCGI interface. (Dmitry) - Improved SPL: (Marcus) - Fixed issues with not/double calling of constructors of SPL iterators. - Fixed issues with info-class/file-class in SPL directory handling classes. - Fixed ArrayIterator::seek(). - Added SimpleXMLIterator::count(). - Dropped erroneous RecursiveDirectoryIterator::getSubPathInfo(). - Improved SimpleXML: (Marcus, Rob) . Added SimpleXMLElement::getName() to retrieve name of element. . Added ability to create elements on the fly. . Added addChild() method for element creation supporting namespaces. . Added addAttribute() method for attribute creation supporting namespaces. . Added ability to delete specific elements and attributes by offset. - Improved Reflection API: (Marcus) . Added ReflectionClass::newInstanceArgs($args). . Added ability to analyze extension dependency. . Added ReflectionFunction::isDeprecated() and constant IS_DEPRECATED. . Added ReflectionParameter::getDeclaringClass(). . Changed reflection constants to be prefixed with IS_. (Johannes) - Improved cURL extension: (Ilia) . Added curl_setopt_array() function that allows setting of multiple options via an associated array. . Added the ability to retrieve the request message sent to the server. - Improved GD extension: (Pierre) . Added a weak/tolerant mode to the JPEG loader. . Added filtering mode option to imagepng() to allow reducing file size. . Fixed imagecolorallocate() and imagecolorallocatelapha() to return FALSE on error. - Changed get_headers() to retrieve headers also from non-200 responses. (Ilia) - Changed get_headers() to use the default context. (Ilia) - Added lchown() and lchgrp() to change user/group ownership of symlinks. (Derick) - Added support for exif date format in strtotime(). (Derick) - Added a check for special characters in the session name. (Ilia) - Added "consumed" stream filter. (Marcus) - Added new mysqli constants for BIT and NEW_DECIMAL field types: MYSQLI_TYPE_NEWDECIMAL and MYSQLI_TYPE_BIT. FR #36007. (Georg) - Added imap_savebody() that allows message body to be written to a file. (Mike) - Added overflow checks to wordwrap() function. (Ilia) - Added support for BINARY_DOUBLE and BINARY_FLOAT to PDO_OCI and OCI8 (also fixes bug #36764). (Tony) - Eliminated run-time constant fetching for TRUE, FALSE and NULL. (Dmitry) - Removed the E_STRICT deprecation notice from "var". (Ilia) - Fixed reading stream filters never notified about EOF. (Mike) - Fixed tempnam() 2nd parameter to be checked against path components. (Ilia) - Fixed a bug that would not fill in the fifth argument to preg_replace() properly, if the variable was not declared previously. (Andrei) - Fixed safe_mode check for source argument of the copy() function. (Ilia) - Fixed mysqli bigint conversion under Windows (Georg) - Fixed XSS inside phpinfo() with long inputs. (Ilia) - Fixed Apache2 SAPIs header handler modifying header strings. (Mike) - Fixed 'auto_globals_jit' to work together with 'register_argc_argv'. (Dmitry) - Fixed offset/length parameter validation in substr_compare() function. (Ilia) - Fixed debug_zval_dump() to support private and protected members. (Dmitry) - Fixed SoapFault::getMessage(). (Dmitry) - Fixed issue with iconv_mime_decode where the "encoding" would only allow upper case specifiers. (Derick) - Fixed tiger hash algorithm generating wrong results on big endian platforms. (Mike) - Fixed crash with DOMImplementation::createDocumentType("name:"). (Mike) - Fixed bug #37205 (Serving binary content/images fails with "comm with server aborted" FastCGI err). (Dmitry) - Fixed bug #37192 (cc may complain about non-constant initializers in hash_adler.c). (Mike) - Fixed bug #37191 (chmod takes off sticky bit when safe_mode is On). (Tony) - Fixed bug #37167 (PDO segfaults when throwing exception from the fetch handler). (Tony) - Fixed bug #37162 (wddx does not build as a shared extension). (jdolecek at NetBSD dot org, Ilia) - Fixed bug #37158 (fread behavior changes after calling stream_wrapper_register). (Wez) - Fixed bug #37138 (__autoload tries to load callback'ed self and parent). (Dmitry) - Fixed bug #37103 (libmbfl headers not installed). (Jani) - Fixed bug #37062 (compile failure on ARM architecture). (Tony) - Fixed bug #37061 (curl_exec() doesn't zero-terminate binary strings). (Tony) - Fixed bug #37060 (Type of retval of Countable::count() is not checked). (Johannes) - Fixed bug #37059 (oci_bind_by_name() doesn't support RAW and LONG RAW fields). (Tony) - Fixed bug #37057 (xmlrpc_decode() may produce arrays with numeric strings, which are unaccessible). (Tony) - Fixed bug #37055 (incorrect reference counting for persistent OCI8 connections). (Tony) - Fixed bug #37054 (SoapClient Error Fetching http headers). (Dmitry) - Fixed bug #37053 (html_errors with internal classes produces wrong links). (Tony) - Fixed bug #37046 (foreach breaks static scope). (Dmitry) - Fixed bug #37045 (Fixed check for special chars for http redirects). (Ilia) - Fixed bug #37017 (strtotime fails before 13:00:00 with some time zones identifiers). (Derick) - Fixed bug #37002 (Have to quote literals in INI when concatenating with vars). (Dmitry)z - Fixed bug #36988 (mktime freezes on long numbers). (Derick) - Fixed bug #36981 (SplFileObject->fgets() ignores max_length). (Tony) - Fixed bug #36957 (serialize() does not handle recursion). (Ilia) - Fixed bug #36944 (strncmp & strncasecmp do not return false on negative string length). (Tony) - Fixed bug #36941 (ArrayIterator does not clone itself). (Marcus) - Fixed bug #36934 (OCILob->read() doesn't move internal pointer when reading 0's). (Tony) - Fixed bug #36908 (wsdl default value overrides value in soap request). (Dmitry) - Fixed bug #36898 (__set() leaks in classes extending internal ones). (Tony, Dmitry) - Fixed bug #36886 (User filters can leak buckets in some situations). (Ilia) - Fixed bug #36878 (error messages are printed even though an exception has been thrown). (Tony) - Fixed bug #36875 (is_*() functions do not account for open_basedir). (Ilia) - Fixed bug #36872 (session_destroy() fails after call to session_regenerate_id(true)). (Ilia) - Fixed bug #36869 (memory leak in output buffering when using chunked output). (Tony) - Fixed bug #36859 (DOMElement crashes when calling __construct when cloning). (Tony) - Fixed bug #36857 (Added support for partial content fetching to the HTTP streams wrapper). (Ilia) - Fixed bug #36851 (Documentation and code discrepancies for NULL data in oci_fetch_*() functions). (Tony) - Fixed bug #36825 (Exceptions thrown in ArrayObject::offsetGet cause segfault). (Tony) - Fixed bug #36820 (Privileged connection with an Oracle password file fails). (Tony) - Fixed bug #36809 (__FILE__ behavior changed). (Dmitry) - Fixed bug #36808 (syslog ident becomes garbage between requests). (Tony) - Fixed bug #36802 (mysqli_set_charset() crash with a non-open connection). (Ilia) - Fixed bug #36756 (DOMDocument::removeChild corrupts node). (Rob) - Fixed bug #36749 (SOAP: 'Error Fetching http body' when using HTTP Proxy). (Dmitry) - Fixed bug #36745 (No error message when load data local file isn't found). (Georg) - Fixed bug #36743 (In a class extending XMLReader array properties are not writable). (Tony) - Fixed bug #36727 (segfault in pdo_pgsql bindValue() when no parameters are defined). (Tony) - Fixed bug #36721 (The SoapServer is not able to send a header that it didn't receive). (Dmitry) - Fixed bug #36697 (Transparency is lost when using imagecreatetruecolor). (Pierre) - Fixed bug #36689 (Removed arbitrary limit on the length of syslog messages). (Ilia) - Fixed bug #36656 (http_build_query generates invalid URIs due to use of square brackets). (Mike) - Fixed bug #36638 (strtotime() returns false when 2nd argument < 1). (Derick) - Fixed bug #36629 (SoapServer::handle() exits on SOAP faults). (Dmitry) - Fixed bug #36625 (pg_trace() does not work). (iakio at mono-space dot net) - Fixed bug #36614 (Segfault when using Soap). (Dmitry) - Fixed bug #36611 (assignment to SimpleXML object attribute changes argument type to string). (Tony) - Fixed bug #36606 (pg_query_params() changes arguments type to string). (Tony) - Fixed bug #36599 (DATE_W3C format constant incorrect). (Derick) - Fixed bug #36575 (SOAP: Incorrect complex type instantiation with hierarchies). (Dmitry) - Fixed bug #36572 (Added PDO::MYSQL_ATTR_DIRECT_QUERY constant that should be set when executing internal queries like "show master status" via MySQL). (Ilia) - Fixed bug #36568 (memory_limit setting on win32 has no effect). (Dmitry) - Fixed bug #36513 (comment will be outputted in last line). (Dmitry) - Fixed bug #36510 (strtotime() fails to parse date strings with tabs). (Ilia, Derick) - Fixed bug #36459 (Incorrect adding PHPSESSID to links, which contains \r\n). (Ilia) - Fixed bug #36458 (sleep() accepts negative values). (Ilia) - Fixed bug #36436 (DBA problem with Berkeley DB4). (Marcus) - Fixed bug #36434 (Improper resolution of declaring class name of an inherited property). (Ilia) - Fixed bug #36420 (segfault when access result->num_rows after calling result->close()). (Ilia,Tony) - Fixed bug #36403 (oci_execute() no longer supports OCI_DESCRIBE_ONLY). (Tony) - Fixed bug #36400 (Custom 5xx error does not return correct HTTP response error code). (Tony) - Fixed bug #36396 (strtotime() fails to parse dates in dd-mm-yyyy format). (Derick) - Fixed bug #36388 (ext/soap crashes when throwing exception and session persistence). (David) - Fixed bug #36382 (PDO/PgSQL's getColumnMeta() crashes). (Derick) - Fixed bug #36359 (splFileObject::fwrite() doesn't write when no data length specified). (Tony) - Fixed bug #36351 (parse_url() does not parse numeric paths properly). (Ilia) - Fixed bug #36345 (PDO/MySQL problem loading BLOB over 1MB). (Ilia) - Fixed bug #36337 (ReflectionProperty fails to return correct visibility). (Ilia) - Fixed bug #36334 (Added missing documentation about realpath cache INI settings). (Ilia) - Fixed bug #36308 (ReflectionProperty::getDocComment() does not reflect extended class commentary). (Ilia) - Fixed bug #36306 (crc32() differ on 32-bit and 64-bit platforms) (anight@eyelinkmedia dot com, Pierre) - Fixed bug #36303 (foreach on error_zval produces segfault). (Dmitry) - Fixed bug #36295 (typo in SplFileObject::flock() parameter name). (Tony) - Fixed bug #36287 (Segfault with SplFileInfo conversion). (Marcus) - Fixed bug #36283 (SOAPClient Compression Broken). (Dmitry) - Fixed bug #36268 (Object destructors called even after fatal errors). (Dmitry) - Fixed bug #36258 (SplFileObject::getPath() may lead to segfault). (Tony) - Fixed bug #36250 (PHP causes ORA-07445 core dump in Oracle server 9.2.x). (Tony) - Fixed bug #36242 (Possible memory corruption in stream_select()). (Tony) - Fixed bug #36235 (ocicolumnname returns false before a successful fetch). (Tony) - Fixed bug #36226 (Inconsistent handling when passing potential arrays). (Dmitry) - Fixed bug #36224 (date(DATE_ATOM) gives wrong results). (Derick, Hannes Magnusson) - Fixed bug #36222 (errorInfo in PDOException is always NULL). (Ilia) - Fixed bug #36208 (symbol namespace conflicts using bundled gd). (Jakub Moc) - Fixed bug #36205 (Memory leaks on duplicate cookies). (Dmitry) - Fixed bug #36185 (str_rot13() crash on non-string parameter). (Pierre) - Fixed bug #36176 (PDO_PGSQL - PDO::exec() does not return number of rows affected by the operation). (Ilia) - Fixed bug #36158 (SIGTERM is not handled correctly when running as a FastCGI server). (Dmitry) - Fixed bug #36152 (problems with curl+ssl and pgsql+ssl in same PHP). (Mike) - Fixed bug #36148 (unpack("H*hex", $data) is adding an extra character to the end of the string). (Ilia) - Fixed bug #36134 (DirectoryIterator constructor failed to detect empty directory names). (Ilia) - Fixed bug #36113 (Reading records of unsupported type causes segfault). (Tony) - Fixed bug #36096 (oci_result() returns garbage after oci_fetch() failed). (Tony) - Fixed bug #36083 (SoapClient waits for responses on one-way operations). (Dmitry) - Fixed bug #36071 (Engine Crash related with 'clone'). (Dmitry) - Fixed bug #36055 (possible OCI8 crash in multi-threaded environment). (Tony) - Fixed bug #36046 (parse_ini_file() miscounts lines in multi-line values). (Ilia) - Fixed bug #36038 (ext/hash compile failure on Mac OSX). (Tony) - Fixed bug #36037 (heredoc adds extra line number). (Dmitry) - Fixed bug #36016 (realpath cache memleaks). (Dmitry, Nuno) - Fixed bug #36011 (Strict errormsg wrong for call_user_func() and the likes). (Marcus) - Fixed bug #36010 (Segfault when re-creating and re-executing statements with bound parameters). (Tony) - Fixed bug #36006 (Problem with $this in __destruct()). (Dmitry) - Fixed bug #35999 (recursive mkdir() does not work with relative path like "foo/bar"). (Tony) - Fixed bug #35998 (SplFileInfo::getPathname() returns unix style filenames in win32). (Marcus) - Fixed bug #35988 (Unknown persistent list entry type in module shutdown). (Dmitry) - Fixed bug #35954 (Fatal com_exception casting object). (Rob) - Fixed bug #35900 (stream_select() should warning when tv_sec is negative). (Ilia) - Fixed bug #35785 (SimpleXML causes memory read error zend engine). (Marcus) - Fixed bug #34272 (empty array onto COM object blows up). (Rob) - Fixed bug #33292 (apache_get_modules() crashes on Windows). (Edin) - Fixed bug #29476 (sqlite_fetch_column_types() locks the database forever). (Ilia) 12 Jan 2006, PHP 5.1.2 - Updated libsqlite in ext/sqlite to 2.8.17. (Ilia) - Updated libsqlite in ext/pdo_sqlite to 3.2.8. (Ilia) - Updated to libxml2-2.6.22 and libxslt-1.1.15 in the win32 bundle. (Rob) - Added new extensions: (Ilia, Wez) . XMLWriter . Hash - Added PNG compression support to GD extension. (Pierre) - Added reflection constants as class constants. (Johannes) - Added --enable-gcov configure option to enable C-level code coverage. (John, Jani, Ilia, Marcus) - Added missing support for 'B' format identifier to date() function. (Ilia) - Changed reflection to be an extension. (Marcus) - Improved SPL extension: (Marcus) . Added class SplFileInfo as root class for DirectoryIterator and SplFileObject . Added SplTempFileObject - Improved SimpleXML extension: (Marcus) . Fixed memleaks . Fixed var_dump() . Fixed isset/empty/(bool) behavior . Fixed iterator edge cases . Added methods getNamespaces(), getDocNamespaces() - Upgraded pear to version 1.4.6. (Greg) - Added constants for libxslt and libexslt versions: LIBXSLT_VERSION, LIBXSLT_DOTTED_VERSION, LIBEXSLT_VERSION and LIBEXSLT_DOTTED_VERSION. (Pierre) - Fixed possible crash in apache_getenv()/apache_setenv() on invalid parameters. (Ilia) - Changed errors to warnings in imagecolormatch(). (Pierre) - Fixed segfault/leak in imagecolormatch(). (Pierre) - Fixed small leak in mysqli_stmt_fetch() when bound variable was empty string. (Andrey) - Fixed prepared statement name conflict handling in PDO_PGSQL. (Thies, Ilia) - Fixed memory corruption when PDO::FETCH_LAZY mode is being used. (Ilia) - Fixed possible leaks in imagecreatefromstring() with invalid data. (Pierre) - Fixed possible memory corruption inside mb_strcut(). (Ilia) - Fixed possible header injection by limiting each header to a single line. (Ilia) - Fixed possible XSS inside error reporting functionality. (Ilia) - Fixed many bugs in OCI8. (Tony) - Fixed crash and leak in mysqli when using 4.1.x client libraries and connecting to 5.x server. (Andrey) - Fixed bug #35916 (Duplicate calls to stream_bucket_append() lead to a crash). (Ilia) - Fixed bug #35908 (curl extension uses undefined GCRY_THREAD_OPTIONS_USER). (Ilia) - Fixed bug #35907 (PDO_OCI uses hardcoded lib path $ORACLE_HOME/lib). (Tony) - Fixed bug #35887 (wddx_deserialize not parsing dateTime fields properly). (Derick) - Fixed bug #35885 (strtotime("NOW") no longer works). (Derick) - Fixed bug #35821 (array_map() segfaults when exception is throwed from the callback). (Tony) - Fixed bug #35817 (unpack() does not decode odd number of hexadecimal values). (Ilia) - Fixed bug #35797 (segfault on PDOStatement::execute() with zend.ze1_compatibility_mode = On). (Tony, Ilia) - Fixed bug #35781 (stream_filter_append() can cause segfault). (Tony) - Fixed bug #35760 (sybase_ct doesn't compile on Solaris using old gcc). (Tony) - Fixed bug #35759 (mysqli_stmt_bind_result() makes huge allocation when column empty). (Andrey) - Fixed bug #35751 (using date with a timestamp makes httpd segfault). (Derick) - Fixed bug #35740 (memory leak when including a directory). (Tony) - Fixed bug #35730 (ext/mssql + freetds: Use correct character encoding and allow setting it). (Frank) - Fixed bug #35723 (xmlrpc_introspection.c fails compile per C99 std). (Jani) - Fixed bug #35720 (A final constructor can be overwritten). (Marcus) - Fixed bug #35713 (getopt() returns array with numeric strings when passed options like '-1'). (Tony) - Fixed bug #35705 (strtotime() fails to parse soap date format without TZ). (Ilia) - Fixed bug #35699 (date() can't handle leap years before 1970). (Derick) - Fixed bug #35694 (Improved error message for invalid fetch mode). (Ilia) - Fixed bug #35692 (iconv_mime_decode() segmentation fault; with libiconv only). (Tony) - Fixed bug #35690 (pack() tries to allocate huge memory block when packing float values to strings). (Tony) - Fixed bug #35669 (imap_mail_compose() crashes with multipart-multiboundary-email). (Ilia) - Fixed bug #35660 (AIX TZ variable format not understood, yields UTC timezone). (Derick) - Fixed bug #35655 (whitespace following end of heredoc is lost). (Ilia) - Fixed bug #35630 (strtotime() crashes on certain relative identifiers). (Ilia) - Fixed bug #35629 (crash in http:// wrapper on multiple redirects). (Ilia) - Fixed bug #35624 (strtotime() does not handle 3 character weekdays). (Ilia) - Fixed bug #35612 (iis6 Access Violation crash). (Dmitry, alacn.uhahaa) - Fixed bug #35594 (Multiple calls to getopt() may result in a crash). (rabbitt at gmail dot com, Ilia) - Fixed bug #35571 (Fixed crash in Apache 2 SAPI when more then one php script is loaded via SSI include). (Ilia) - Fixed bug #35570 (segfault when re-using soap client object). (Dmitry) - Fixed bug #35558 (mktime() interpreting 3 digit years incorrectly). (Ilia) - Fixed bug #35543 (php crash when calling non existing method of a class that extends PDO). (Tony) - Fixed bug #35539 (typo in error message for ErrorException). (Tony) - FIxed bug #35536 (mysql_field_type() doesn't handle NEWDECIMAL). (Tony) - Fixed bug #35517 (mysql_stmt_fetch returns NULL on data truncation). (Georg) - Fixed bug #35509 (string constant as array key has different behavior inside object). (Dmitry) - Fixed bug #35508 (PDO fails when unknown fetch mode specified). (Tony) - Fixed bug #35499 (strtotime() does not handle whitespace around the date string). (Ilia) - Fixed bug #35496 (Crash in mcrypt_generic()/mdecrypt_generic() without proper init). (Ilia) - Fixed bug #35490 (socket_sendto() unable to handle IPv6 addresses). (Tony) - Fixed bug #35461 (Ming extension fails to compile with ming 0.3beta1). (Jani) - Fixed bug #35437 (Segfault or Invalid Opcode 137/1/4). (Dmitry) - Fixed bug #35470 (Assigning global using variable name from array doesn't function). (Dmitry) - Fixed bug #35456 (+ 1 [time unit] format did not work). (Ilia) - Fixed bug #35447 (xml_parse_into_struct() chokes on the UTF-8 BOM). (Rob) - Fixed bug #35431 (PDO crashes when using LAZY fetch with fetchAll). (Wez) - Fixed bug #35430 (PDO crashes on incorrect FETCH_FUNC use). (Tony) - Fixed bug #35427 (str_word_count() handles '-' incorrectly). (Ilia) - Fixed bug #35425 (idate() function ignores timezone settings). (Ilia) - Fixed bug #35422 (strtotime() does not parse times with UTC as timezone). (Ilia) - Fixed bug #35414 (strtotime() no longer works with ordinal suffix). (Ilia) - Fixed bug #35410 (wddx_deserialize() doesn't handle large ints as keys properly). (Ilia) - Fixed bug #35409 (undefined reference to 'rl_completion_matches'). (Jani) - Fixed bug #35399 (Since fix of bug #35273 SOAP decoding of soapenc:base64binary fails). (Dmitry) - Fixed bug #35393 (changing static protected members from outside the class, one more reference issue). (Dmitry) - Fixed bug #35381 (ssl library is not initialized properly). (Alan) - Fixed bug #35377 (PDO_SQLITE: undefined reference to "fdatasync"). (Nuno, Jani) - Fixed bug #35373 (HP-UX "alias not allowed in this configuration"). (Dmitry) - Fixed bug #35288 (iconv() function defined as libiconv()). (Nuno) - Fixed bug #35103 (mysqli handles bad unsigned (big)int incorrectly).(Andrey) - Fixed bug #35062 (socket_read() produces warnings on non blocking sockets). (Nuno, Ilia) - Fixed bug #35028 (SimpleXML object fails FALSE test). (Marcus) - Fixed bug #34729 (Crash in ZTS mode under Apache). (Dmitry, Zeev) - Fixed bug #34429 (Output buffering cannot be turned off with FastCGI). (Dmitry, Ilya) - Fixed bug #34359 (Possible crash inside fopen http wrapper). (Ilia,Sara,Nuno) - Fixed bug #33789 (Many Problems with SunFuncs). (Derick) - Fixed bug #33671 (sun_rise and sun_set don't return a GMT timestamp if one passes an offset). (Derick) - Fixed bug #32820 (date_sunrise and date_sunset don't handle GMT offset well). (Derick) - Fixed bug #31347 (is_dir and is_file (incorrectly) return true for any string greater then 255 characters). (Nuno,Ilia) - Fixed bug #30937 (date_sunrise() & date_sunset() don't handle endless day/night at high latitudes). (Derick) - Fixed bug #30760 (Remove MessageBox on win32 for E_CORE errors if display_startup_error is off). (Ilia) - Fixed bug #29955 (mb_strtoupper() / lower() broken with Turkish encoding). (Rui) - Fixed bug #28899 (mb_substr() and substr() behave differently when "mbstring.func_overload" is enabled). (Rui) - Fixed bug #27678 (number_format() crashes with large numbers). (Marcus) 28 Nov 2005, PHP 5.1.1 - Disabled native date class to prevent pear::date conflict. (Ilia) - Changed reflection constants be both PHP and class constants. (Johannes) - Added an additional field $frame['object'] to the result array of debug_backtrace() that contains a reference to the respective object when the frame was called from an object. (Sebastian) - Fixed bug #35423 (RecursiveDirectoryIterator doesnt appear to recurse with RecursiveFilterIterator). (Marcus) - Fixed bug #35413 (Removed -dev flag from Zend Engine version). (Ilia) - Fixed bug #35411 (Regression with \{$ handling). (Ilia) - Fixed bug #35406 (eval hangs when evall'ed code ends with comment w/o newline). (Marcus) - Fixed bug #35391 (pdo_mysql::exec does not return number of affected rows). (Tony) - Fixed bug #35382 (Comment in end of file produces fatal error). (Ilia) - Fixed bug #35360 (exceptions in interactive mode (php -a) may cause crash). (Dmitry) - Fixed bug #35358 (Incorrect error messages for PDO class constants). (Ilia) - Fixed bug #35338 (pdo_pgsql does not handle binary bound params). (Wez) - Fixed bug #35316 (Application exception trying to create COM object). (Rob) - Fixed bug #35170 (PHP_AUTH_DIGEST differs under Apache 1.x and 2.x). (Ilia) 24 Nov 2005, PHP 5.1 - Added support for class constants and static members for internal classes. (Dmitry, Michael Wallner) - Added "new_link" parameter to mssql_connect() (Bug #34369). (Frank) - Added missing safe_mode checks for image* functions and cURL. (Ilia) - Added missing safe_mode/open_basedir checks for file uploads. (Ilia) - Added PDO_MYSQL_ATTR_USE_BUFFERED_QUERY parameter for pdo_mysql. (Ilia) - Added date_timezone_set() function to set the timezone that the date function will use. (Derick) - Added pg_fetch_all_columns() function to fetch all values of a column from a result cursor. (Ilia) - Added support for LOCK_EX flag for file_put_contents(). (Ilia) - Added bindto socket context option. (Ilia) - Added offset parameter to the stream_copy_to_stream() function. (Ilia) - Added offset & length parameters to substr_count() function. (Ilia) - 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) - Added user opcode API that allow overloading of opcode handlers. (Dmitry) - Added an optional remove old session parameter to session_regenerate_id(). (Ilia) - Added array type hinting. (Dmitry) - Added the tidy_get_opt_doc() function to return documentation for configuration options in tidy. (Patch by: nlopess@php.net) - Added support for .cc files in extensions. (Brian) - Added imageconvolution() function which can be used to apply a custom 3x3 matrix convolution to an image. (Pierre) - Added optional first parameter to XsltProcessor::registerPHPFunctions to only allow certain functions to be called from XSLT. (Christian) - Added the ability to override the autotools executables used by the buildconf script via the PHP_AUTOCONF and PHP_AUTOHEADER environmental variables. (Jon) - Added several new functions to support the PostgreSQL v3 protocol introduced in PostgreSQL 7.4. (Christopher) . pg_transaction_status() - in-transaction status of a database connection. . pg_query_params() - execution of parameterized queries. . pg_prepare() - prepare named queries. . pg_execute() - execution of named prepared queries. . pg_send_query_params() - async equivalent of pg_query_params(). . pg_send_prepare() - async equivalent of pg_prepare(). . pg_send_execute() - async equivalent of pg_execute(). . pg_result_error_field() - highly detailed error information, most importantly the SQLSTATE error code. . pg_set_error_verbosity() - set verbosity of errors. - Added optional fifth parameter "count" to preg_replace_callback() and preg_replace() to count the number of replacements made. FR #32275. (Andrey) - Added optional third parameter "charlist" to str_word_count() which contains characters to be considered as word part. FR #31560. (Andrey, Ilia) - Added interface Serializable. (Stanislav, Marcus) - Added pg_field_type_oid() PostgreSQL function. (mauroi at digbang dot com) - Added zend_declare_property_...() and zend_update_property_...() API functions for bool, double and binary safe strings. (Hartmut) - Added possibility to access INI variables from within .ini file. (Andrei) - Added variable $_SERVER['REQUEST_TIME'] containing request start time. (Ilia) - Added optional float parameter to gettimeofday(). (Ilia) - Added apache_reset_timeout() Apache1 function. (Rasmus) - Added sqlite_fetch_column_types() 3rd argument for arrays. (Ilia) - Added optional offset parameter to stream_get_contents() and file_get_contents(). (Ilia) - Added optional maxlen parameter to file_get_contents(). (Ilia) - Added SAPI hook to get the current request time. (Rasmus) - Added new functions: . array_diff_key() (Andrey) . array_diff_ukey() (Andrey) . array_intersect_key() (Christiano Duarte) . array_intersect_ukey() (Christiano Duarte) . array_product() (Andrey) . DomDocumentFragment::appendXML() (Christian) . fputcsv() (David Sklar) . htmlspecialchars_decode() (Ilia) . inet_pton() (Sara) . inet_ntop() (Sara) . mysqli::client_info property (Georg) . posix_access() (Magnus) . posix_mknod() (Magnus) . SimpleXMLElement::registerXPathNamespace() (Christian) . stream_context_get_default() (Wez) . stream_socket_enable_crypto() (Wez) . stream_wrapper_unregister() (Sara) . stream_wrapper_restore() (Sara) . stream_filter_remove() (Sara) . time_sleep_until() (Ilia) - Added DomDocument::$recover property for parsing not well-formed XML Documents. (Christian) - Added Cursor support for MySQL 5.0.x in mysqli (Georg) - Added proxy support to ftp wrapper via http. (Sara) - Added MDTM support to ftp_url_stat. (Sara) - Added zlib stream filter support. (Sara) - Added bz2 stream filter support. (Sara) - Added max_redirects context option that specifies how many HTTP redirects to follow. (Ilia) - Added support of parameter=>value arrays to xsl_xsltprocessor_set_parameter(). (Tony) - PHP extension loading mechanism with support for module dependencies and conflicts. (Jani, Dmitry) - Improved interactive mode of PHP CLI (php -a). (Johannes, Marcus) - Improved performance of: . general execution/compilation. (Andi, Thies, Sterling, Dmitry, Marcus) . switch() statement. (Dmitry) . several array functions. (Marcus) . virtual path handling by adding a realpath() cache. (Andi) . variable fetches. (Andi) . magic method invocations. (Marcus) - Improved support for embedded server in mysqli. (Georg) - Improved mysqli extension. (Georg) . added constructor for mysqli_stmt and mysqli_result classes . added new function mysqli_get_charset() . added new function mysqli_set_charset() . added new class mysqli_driver . added new class mysqli_warning . added new class mysqli_exception . added new class mysqli_sql_exception - Improved SPL extension. (Marcus) . Moved RecursiveArrayIterator from examples into extension . Moved RecursiveFilterIterator from examples into extension . Added SplObjectStorage . Made all SPL constants class constants . Renamed CachingRecursiveIterator to RecursiveCachingIterator to follow Recursive<*>Iterator naming scheme. . added standard hierarchy of Exception classes . added interface Countable . added interfaces Subject and SplObserver . added spl_autoload*() functions . converted several 5.0 examples into c code . added class SplFileObject . added possibility to use a string with class_parents() and class_implements(). (Andrey) - Changed type hints to allow "null" as default value for class and array. (Marcus, Derick, Dmitry) - Changed SQLite extension to be a shared module in Windows distribution. (Edin) - Changed "instanceof" and "catch" operators, is_a() and is_subclass_of() functions to not call __autoload(). (Dmitry) - Changed sha1_file() and md5_file() functions to use streams instead of low level IO. (Uwe) - Changed abstract private methods to be not allowed anymore. (Stas) - Changed stream_filter_(ap|pre)pend() to return resource. (Sara) - Changed mysqli_exception and sqlite_exception to use RuntimeException as base if SPL extension is present. (Georg, Marcus) - Upgraded bundled libraries: . PCRE library to version 6.2. (Andrei) . SQLite 3 library in ext/pdo_sqlite to 3.2.7. (Ilia) . SQLite 2 library in ext/sqlite to 2.8.16. (Ilia) - Upgraded bundled libraries in Windows distribution. (Edin) . zlib 1.2.3 . curl 7.14.0 . openssl 0.9.8 . ming 0.3b . libpq (PostgreSQL) 8.0.1 - Implemented feature request #33452 (Year belonging to ISO week). (Derick) - Allowed return by reference from internal functions. (Marcus, Andi, Dmitry) - Rewrote strtotime() with support for timezones and many new formats. Implements feature requests #21399, #26694, #28088, #29150, #29585 and #29595. (Derick) - Moved extensions to PECL: . ext/cpdf (Tony, Derick) . ext/dio (Jani, Derick) . ext/fam (Jani, Derick) . ext/ingres_ii (Jani, Derick) . ext/mnogosearch (Jani, Derick) . ext/w32api (Jani, Derick) . ext/yp (Jani, Derick) . ext/mcve (Jani, Derick, Pierre) . ext/oracle (Jani, Derick) . ext/ovrimos (Jani, Derick, Pierre) . ext/pfpro (Jani, Derick, Pierre) . ext/dbx (Jani, Derick) . ext/ircg (Jani, Derick) - Removed php_check_syntax() function which never worked properly. (Ilia) - Removed garbage manager in Zend Engine which results in more aggressive freeing of data. (Dmitry, Andi) - Fixed "make test" to work for phpized extensions. (Hartmut, Jani) - Fixed Apache 2 regression with sub-request handling on non-linux systems. (Ilia, Tony) - Fixed PDO shutdown problem (possible infinite loop running rollback on shutdown). (Wez) - Fixed PECL bug #3714 (PDO: beginTransaction doesn't work if you're in auto-commit mode). (Wez) - Fixed ZTS destruction. (Marcus) - Fixed __get/__set to allow recursive calls for different properties. (Dmitry) - Fixed a bug where stream_get_meta_data() did not return the "uri" element for files opened with tmpname(). (Derick) - Fixed a problem with SPL iterators aggregating the inner iterator. (Marcus) - Fixed an error in mysqli_fetch_fields (returned NULL instead of an array when row number > field_count). (Georg) - Fixed bug in mysql::client_version(). (Georg) - Fixed bug in mysqli extension with unsigned int(11) being represented as signed integer in PHP instead of string in 32bit systems. (Andrey) - Fixed bug with $HTTP_RAW_POST_DATA not getting set. (Brian) - Fixed crash inside stream_get_line() when length parameter equals 0. (Ilia) - Fixed ext/mysqli to allocate less memory when fetching bound params of type (MEDIUM|LONG)BLOB/(MEDIUM|LONG)TEXT. (Andrey) - Fixed extension initialization to respect dependencies between extensions. (Wez) - Fixed failing queries (FALSE returned) with mysqli_query() on 64 bit systems. (Andrey) - Fixed fgetcsv() and fputcsv() inconsistency. (Dmitry) - Fixed inheritance check to control return by reference and pass by reference correctly (ArrayAccess can no longer support references correctly). (Marcus, Andi, Dmitry) - Fixed initializing and argument checking for posix_mknod(). (Derick) - Fixed memory corruption in ImageTTFText() with 64bit systems. (Andrey) - Fixed memory corruption in pg_copy_from() in case the as_null parameter was passed. (Derick) - Fixed memory corruption in stristr(). (Derick) - Fixed possible GLOBALS variable override when register_globals are ON. (Ilia, Stefan) - Fixed possible INI setting leak via virtual() in Apache 2 sapi. (Ilia) - Fixed possible register_globals toggle via parse_str(). (Ilia, Stefan) - Fixed potential GLOBALS overwrite via import_request_variables() and possible crash and/or memory corruption. (Ilia) - Fixed segfaults when CURL callback functions throw exception. (Tony) - Fixed support for shared extensions on AIX. (Dmitry) - Fixed bug #35342 (isset(DOMNodeList->length) returns false). (Rob) - Fixed bug #35341 (Fix for bug #33760 breaks build with older curl). (Tony) - Fixed bug #35336 (crash on PDO::FETCH_CLASS + __set()). (Tony) - Fixed bug #35303 (PDO prepare() crashes with invalid parameters). (Ilia) - Fixed bug #35293 (PDO segfaults when using persistent connections). (Tony) - Fixed bug #35278 (Multiple virtual() calls crash Apache 2 php module). (Ilia) - Fixed bug #35273 (Error in mapping soap - java types). (Dmitry) - Fixed bug #35249 (compile failure when ext/readline is compiled as shared). (Jani) - Fixed bug #35248 (sqlite_query() doesn't set error_msg when return value is being used). (Ilia) - Fixed bug #35243 (php_mblen() crashes when compiled with thread-safety on Linux). (Patch: shulmanb at il dot ibm dot com, Jani) - Fixed bug #35239 (Objects can lose references). (Dmitry) - Fixed bug #35229 (call_user_func() crashes when argument_stack is nearly full). (Dmitry) - Fixed bug #35197 (Destructor is not called). (Tony) - Fixed bug #35179 (tokenizer extension needs T_HALT_COMPILER). (Greg) - Fixed bug #35176 (include()/require()/*_once() produce wrong error messages about main()). (Dmitry) - Fixed bug #35147 (__HALT_COMPILER() breaks with --enable-zend-multibyte). (Dmitry, Moriyoshi) - Fixed bug #35143 (gettimeofday() ignores current time zone). (Derick) - Fixed bug #35142 (SOAP Client/Server Complex Object Support). (Dmitry) - Fixed bug #35135 (PDOStatment without related PDO object may crash). (Ilia) - Fixed bug #35091 (SoapClient leaks memory). (Dmitry) - Fixed bug #35079 (stream_set_blocking(true) toggles, not enables blocking). (askalski at gmail dot com, Tony) - Fixed bug #35078 (configure does not find ldap_start_tls_s). (Jani) - Fixed bug #35046 (phpinfo() uses improper css enclosure). (Ilia) - Fixed bugs #35022, #35019 (Regression in the behavior of key() and current() functions). (Ilia) - Fixed bug #35017 (Exception thrown in error handler may cause unexpected behavior). (Dmitry) - Fixed bug #35014 (array_product() always returns 0). (Ilia) - Fixed bug #35009 (ZTS: Persistent resource destruct crashes when extension is compiled as shared). (Dmitry) - Fixed bug #34996 (ImageTrueColorToPalette() crashes when ncolors is zero). (Tony) - Fixed bug #34982 (array_walk_recursive() modifies elements outside function scope). (Dmitry) - Fixed bug #34977 (Compile failure on MacOSX due to use of varargs.h). (Tony) - Fixed bug #34968 (bz2 extension fails on to build on some win32 setups). (Ilia) - Fixed bug #34965 (tidy is not binary safe). (Mike) - Fixed bug #34957 (PHP doesn't respect ACLs for access checks). (Wez) - Fixed bug #34950 (Unable to get WSDL through proxy). (Dmitry) - Fixed bug #34938 (dns_get_record() doesn't resolve long hostnames and leaks). (Tony) - Fixed bug #34905 (Digest authentication does not work with Apache 1). (Ilia) - Fixed bug #34902 (mysqli::character_set_name() - undefined method). (Tony) - Fixed bug #34899 (Fixed sqlite extension compile failure). (Ilia) - Fixed bug #34893 (PHP5.1 overloading, Cannot access private property). (Dmitry) - Fixed bug #34884 (Possible crash in ext/sqlite when sqlite.assoc_case is being used). (Tony, Ilia) - Fixed bug #34879 (str_replace, array_map corrupt negative array indexes on 64-bit platforms). (Dmitry) - Fixed bug #34873 (Segmentation Fault on foreach in object). (Dmitry) - Fixed bug #34856 (configure fails to detect libiconv's type). (Tony) - Fixed bug #34855 (ibase_service_attach() segfault on AMD64). (irie at gmx dot de, Tony) - Fixed bug #34851 (SO_RECVTIMEO and SO_SNDTIMEO socket options expect integer parameter on Windows). (Mike) - Fixed bug #34850 (--program-suffix and --program-prefix not included in man page names). (Jani) - Fixed bug #34821 (zlib encoders fail on widely varying binary data on windows). (Mike, Ilia) - Fixed bug #34818 (several functions crash when invalid mysqli_link object is passed). (Tony) - Fixed bug #34810 (mysqli::init() and others use wrong $this pointer without checks). (Tony) - Fixed bug #34809 (FETCH_INTO in PDO crashes without a destination object). (Ilia) - Fixed bug #34802 (Fixed crash on object instantiation failure). (Ilia) - Fixed bug #34796 (missing SSL linking in ext/ftp when configured as shared). (Jani) - Fixed bug #34790 (preg_match_all(), named capturing groups, variable assignment/return => crash). (Dmitry) - Fixed bug #34788 (SOAP Client not applying correct namespace to generated values). (Dmitry) - Fixed bug #34787 (SOAP Client not handling boolean types correctly). (Dmitry) - Fixed bug #34786 (2 @ results in change to error_reporting() to random value) (Dmitry, Tony) - Fixed bug #34785 (subclassing of mysqli_stmt does not work). (Georg) - Fixed bug #34782 (token_get_all() gives wrong result). (Dmitry) - Fixed bug #34777 (Crash in dblib when fetching non-existent error info). (Ilia) - Fixed bug #34771 (strtotime() fails with 1-12am/pm). (Derick) - Fixed bug #34767 (Zend Engine 1 Compatibility not copying objects correctly). (Dmitry) - Fixed bug #34758 (PDO_DBLIB did not implement rowCount()). (Ilia) - Fixed bug #34757 (iconv_substr() gives "Unknown error" when offset > string length). (Tony) - Fixed bug #34742 (ftp wrapper failures caused from segmented command transfer). (Ilia) - Fixed bug #34725 (CLI segmentation faults during cleanup). (Dmitry) - Fixed bug #34723 (array_count_values() strips leading zeroes). (Tony) - Fixed bug #34712 (zend.ze1_compatibility_mode = on segfault). (Dmitry) - Fixed bug #34704 (Infinite recursion due to corrupt JPEG). (Marcus) - Fixed bug #34678 (__call(), is_callable() and static methods). (Dmitry) - Fixed bug #34676 (missing support for strtotime("midnight") and strtotime("noon")). (Derick) - Fixed bug #34645 (ctype corrupts memory when validating large numbers). (Ilia) - Fixed bug #34643 (wsdl default value has no effect). (Dmitry) - Fixed bug #34623 (Crash in pdo_mysql on longtext fields). (Ilia) - Fixed bug #34617 (zend_deactivate: objects_store used after zend_objects_store_destroy is called). (Dmitry) - Fixed bug #34590 (User defined PDOStatement class can't implement methods). (Marcus) - Fixed bug #34584 (Segfault with SPL autoload handler). (Marcus) - Fixed bug #34581 (crash with mod_rewrite). (Tony, Ilia) - Fixed bug #34565 (mb_send_mail does not fetch mail.force_extra_parameters). (Marco, Ilia) - Fixed bug #34557 (php -m exits with "error" 1). (Johannes) - Fixed bug #34518 (Unset doesn't separate container in CV). (Dmitry) - Fixed bug #34505 (Possible memory corruption when unmangling properties with empty names). (Tony) - Fixed bug #34478 (Incorrect parsing of url's fragment (#...)). (Dmitry) - Fixed bug #34467 (foreach + __get + __set inconsistency). (Dmitry) - Fixed bug #34456 (Possible crash inside pspell extension). (Ilia) - Fixed bug #34453 (parsing http://www.w3.org/2001/xml.xsd exception). (Dmitry) - Fixed bug #34450 (Segfault when calling mysqli_close() in destructor). (Tony) - Fixed bug #34449 (ext/soap: XSD_ANYXML functionality not exposed). (Dmitry) - Fixed bug #34420 (Possible crash inside curl_multi_remove_handle()). (Ilia) - Fixed bug #34358 (Fatal error: Cannot re-assign $this). (Dmitry) - Fixed bug #34331 (php crashes when variables_order is empty). (Ilia) - Fixed bug #34321 (Possible crash in filter code). (Ilia) - Fixed bug #34311 (unserialize() crashes with chars above 191 dec). (Nuno) - Fixed bug #34310 (foreach($arr as $c->d => $x) crashes). (Dmitry) - Fixed bug #34307 (on_modify handler not called to set the default value if setting from php.ini was invalid). (Andrei) - Fixed bug #34306 (wddx_serialize_value() crashes with long array keys). (Jani) - Fixed bug #34304 (date() doesn't have a modifier for ISO Week Day). (Derick) - 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 #34284 (CLI phpinfo showing html on _SERVER["argv"]). (Jani) - Fixed bug #34277 (array_filter() crashes with references and objects). (Dmitry) - Fixed bug #34276 (setAttributeNS doesn't work with default namespace). (Rob) - Fixed bug #34260 (Segfault with callbacks (array_map) + overloading). (Dmitry) - Fixed bug #34257 (lib64 not handled correctly in ming extension). (Marcus) - Fixed bug #34221 (Compiling xmlrpc as shared fails other parts). (Jani) - Fixed bug #34216 (Segfault with autoload). (Marcus) - Fixed bug #34199 (if($obj)/if(!$obj) inconsistency because of cast handler). (Dmitry, Alex) - Fixed bug #34191 (ob_gzhandler does not enforce trailing \0). (Ilia) - Fixed bug #34156 (memory usage remains elevated after memory limit is reached). (Ilia) - Fixed bug #34148 (+,- and . not supported as parts of scheme). (Ilia) - Fixed bug #34137 (assigning array element by reference causes binary mess). (Dmitry) - Fixed bug #34103 (line numbering not maintained in dom document). (Rob) - Fixed bug #34078 (Reflection API problems in methods with boolean or null default values). (Tony) - Fixed bug #34068 (Numeric string as array key not cast to integer in wddx_deserialize()). (Ilia) - Fixed bug #34064 (arr[] as param to function in class gives invalid opcode). (Dmitry) - Fixed bug #34062 (Crash in catch block when many arguments are used). (Dmitry) - Fixed bug #34052 (date('U') returns %ld not unix timestamp). (Nuno) - Fixed bug #34045 (Buffer overflow with serialized object). (Dmitry) - Fixed bug #34001 (pdo_mysql truncates numeric fields at 4 chars). (Ilia) - Fixed bug #33999 (object remains object when cast to int). (Dmitry) - Fixed bug #33996 (No information given for fatal error on passing invalid value to typed argument). (Dmitry) - Fixed bug #33989 (extract($GLOBALS,EXTR_REFS) crashes PHP). (Dmitry) - Fixed bug #33987 (php script as ErrorDocument causes crash in Apache 2). (Ilia) - Fixed bug #33967 (misuse of Exception constructor doesn't display errorfile). (Jani) - Fixed bug #33966 (Wrong use of reflectionproperty causes a segfault). (Tony) - Fixed bug #33963 (mssql_bind() fails on input parameters). (Frank) - Fixed bug #33958 (duplicate cookies and magic_quotes=off may cause a crash). (Ilia) - Fixed bug #33957 (gmdate('W')/date('W') sometimes returns wrong week number). (Derick) - Fixed bug #33940 (array_map() fails to pass by reference when called recursively). (Dmitry) - Fixed bug #33917 (number_format() output with > 1 char separators). (Jani) - Fixed bug #33904 (input array keys being escaped when magic quotes is off). (Ilia) - Fixed bug #33903 (spl_autoload_register class method). (Marcus) - Fixed bug #33899 (CLI: setting extension_dir=some/path extension=foobar.so does not work). (Jani) - Fixed bug #33882 (CLI was looking for php.ini in wrong path). (Hartmut) - Fixed bug #33869 (strtotime() problem with "+1days" format). (Ilia) - Fixed bug #33841 (pdo sqlite driver forgets to update affected column count on execution of prepared statments). (Ilia) - Fixed bug #33837 (Informix ESQL version numbering schema changed). (Jani) - Fixed bug #33829 (mime_content_type() returns text/plain for gzip and bzip files). (Derick) - Fixed bug #33802 (throw Exception in error handler causes crash). (Dmitry) - Fixed bug #33771 (error_reporting falls to 0 when @ was used inside try/catch block). (Tony) - Fixed bug #33760 (cURL needs to implement CRYPTO_callback functions to prevent locking). (Mike, Ilia) - Fixed bug #33732 (Wrong behavior of constants in class and interface extending). (Dmitry) - Fixed bug #33723 (php_value overrides php_admin_value). (Dmitry) - Fixed bug #33720 (mb_encode_mimeheader does not work for multibyte chars). (Rui) - Fixed bug #33710 (ArrayAccess objects does not initialize $this). (Dmitry) - Fixed bug #33690 (Crash setting some ini directives in httpd.conf). (Rasmus) - Fixed bug #33673 (Added detection for partially uploaded files). (Ilia) - Fixed bug #33605 (substr_compare() crashes with negative offset and length). (Tony) - Fixed bug #33597 (setcookie() "expires" date format doesn't comply with RFC). (Tony) - Fixed bug #33588 (LDAP: RootDSE query not possible). (Jani) - Fixed bug #33578 (strtotime() problem with "Oct17" format). (Derick) - Fixed bug #33578 (strtotime() doesn't understand "11 Oct" format). (Derick) - Fixed bug #33562 (date("") crashes). (Derick) - Fixed bug #33558 (warning with nested calls to functions returning by reference). (Dmitry) - Fixed bug #33536 (strtotime() defaults to now even on non time string). (Derick) - Fixed bug #33532 (Different output for strftime() and date()). (Derick) - Fixed bug #33523 (Memory leak in xmlrpc_encode_request()). (Ilia) - Fixed bug #33520 (crash if safe_mode is on and session.save_path is changed). (Dmitry) - Fixed bug #33512 (Add missing support for isset()/unset() overloading to complement the property get/set methods). (Dmitry) - Fixed bug #33491 (crash after extending MySQLi internal class). (Tony) - Fixed bug #33475 (cURL handle is not closed on curl_close(). (Ilia) - Fixed bug #33469 (Compile error undefined reference to ifx_checkAPI). (Jani) - Fixed bug #33433 (strtoll not available on Tru64). (Jani, Derick) - Fixed bug #33427 (ext/odbc: check if unixODBC header file exists). (Jani) - Fixed bug #33415 (strtotime() related bugs). (Derick) - Fixed bug #33414 (Comprehensive list of incorrect days returned after strtotime() / date() tests). (Derick) - Fixed bug #33389 (double free() when exporting a ReflectionClass). (Marcus) - Fixed bug #33383 (crash when retrieving empty LOBs). (Tony) - Fixed bug #33382 (array_reverse() fails after *sort()), introduced by zend_hash_sort() optimizations in HEAD. (Tony) - Fixed bug #33340 (CLI Crash when calling php:function from XSLT). (Rob) - Fixed bug #33326 (Cannot build extensions with phpize on Macosx). (Jani) - Fixed bug #33318 (throw 1; results in Invalid opcode 108/1/8). (Dmitry) - Fixed bug #33312 (ReflectionParameter methods do not work correctly). (Dmitry) - Fixed bug #33299 (php:function no longer handles returned dom objects). (Rob, Joe Orton) - Fixed bug #33286 (nested array_walk() calls and user array compare functions broken; FCI cache). (Andrei, patch from m.bretz@metropolis-ag.de) - 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 #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 #33212 ([GCC 4]: 'zend_error_noreturn' aliased to external symbol 'zend_error'). (Dmitry) - Fixed bug #33210 (relax jpeg recursive loop protection). (Ilia) - Fixed bug #33201 (Crash when fetching some data types). (Frank) - 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 #33167 (Possible crash inside pg_fetch_array()). (Ilia) - 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 #33153 (crash in mssql_next result). (Frank) - Fixed bug #33150 (shtool: insecure temporary file creation). (Jani) - Fixed bug #33136 (method offsetSet in class extended from ArrayObject crash PHP). (Marcus) - Fixed bug #33125 (imagecopymergegray() produces mosaic rainbow effect). (Pierre) - 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 #32993 (implemented Iterator function current() don't throw exception). (Dmitry) - 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 #32937 (open_basedir looses trailing / in the limiter). (Adam Conrad) - 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 #32924 (file included with "auto_prepend_file" can be included with require_once() or include_once()). (Stas) - 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 #32833 (Invalid opcode). (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() function). (Ilia) - 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 #32455 (wrong setting property to unset value). (Dmitry) - Fixed bug #32429 (method_exists() always return TRUE if __call method exists). (Dmitry) - Fixed bug #32428 (The @ warning error suppression operator is broken). (Dmitry) - Fixed bug #32427 (Interfaces are not allowed 'static' access modifier). (Dmitry) - Fixed bug #32405 (mysqli::fetch() returns bad data - 64bit problem). (Andrey) - Fixed bug #32296 (get_class_methods() output has changed between 5.0.2 and 5.0.3). (Dmitry) - Fixed bug #32282 (Segfault in mysqli_fetch_array on 64-bit). (Georg) - Fixed bug #32245 (xml_parser_free() in a function assigned to the xml parser gives a segfault). (Rob) - Fixed bug #32179 (xmlrpc_encode() segfaults with recursive references). (Tony) - Fixed bug #32171 (Userspace stream wrapper crashes PHP). (Tony, Dmitry) - Fixed bug #32160 (copying a file into itself leads to data loss). (Ilia) - Fixed bug #32139 (SOAP client does not auto-handle base64 encoding). (Ilia) - Fixed bug #32109 ($_POST is not populated in multi-threaded environment). (Moriyoshi) - Fixed bug #32080 (segfault when assigning object to itself with zend.ze1_compatibility_mode=On). (Dmitry) - Fixed bug #32021 (Crash caused by range('', 'z')). (Derick) - Fixed bug #32013 (ext/mysqli bind_result causes fatal error: memory limit). (Andrey) - Fixed bug #32010 (Memory leak in mssql_fetch_batch). (fmk) - Fixed bug #32009 (crash when mssql_bind() is called more than once). (Frank) - Fixed bug #31971 (ftp_login fails on some SSL servers). (frantisek at augusztin dot com) - 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 #31478 (segfault with empty() / isset()). (Moriyoshi) - 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 #31358 (Older GCC versions do not provide portable va_copy()). (Jani) - Fixed bug #31341 (escape on curly inconsistent). (Dmitry) - Fixed bug #31256 (PHP_EVAL_LIBLINE configure macro does not handle -pthread). (Jani) - Fixed bug #31213 (Side effects caused by fix of bug #29493). (Dmitry) - Fixed bug #31177 (memory leaks and corruption because of incorrect refcounting). (Dmitry) - Fixed bug #31158 (array_splice on $GLOBALS crashes). (Dmitry) - Fixed bug #31054 (safe_mode & open_basedir checks only check first include_path value). (Ilia) - Fixed bug #31033 (php:function(string, nodeset) with xsl:key crashes PHP). (Rob) - Fixed bug #30961 (Wrong line number 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 #30578 (Output buffers flushed before calling __destruct() functions). (Jani) - Fixed bug #30519 (Interface not existing says Class not found). (Dmitry) - Fixed bug #30407 (Strange behavior of default arguments). (Dmitry) - Fixed bug #30394 (Assignment operators yield wrong result with __get/__set). (Dmitry) - Fixed bug #30332 (zend.ze1_compatibility_mode isn't fully compatible 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 #30096 (gmmktime does not return the current time). (Derick) - Fixed bug #30080 (Passing array or non array of objects). (Dmitry) - Fixed bug #30052 (Crash on shutdown after odbc_pconnect()). (Edin) - Fixed bug #29983 (PHP does not explicitly set mime type & charset). (Ilia) - Fixed bug #29975 (memory leaks when set_error_handler() is used inside error handler). (Tony) - Fixed bug #29971 (variables_order behavior). (Dmitry) - Fixed bug #29944 (Function defined in switch, crashes). (Dmitry) - Fixed bug #29896 (Backtrace argument list out of sync). (Dmitry) - Fixed bug #29728 (Reflection API Feature: Default parameter value). (Marcus) - Fixed bug #29689 (default value of protected member overrides default value of private and other private variable problems in inherited classes). (Stas) - Fixed bug #29683 (headers_list() returns empty array). (Tony) - Fixed bug #29583 (crash when echoing a COM object). (M.Sisolak, Wez) - Fixed bug #29522 (accessing properties without connection). (Georg) - Fixed bug #29361 (var_export() producing invalid code). (Derick) - Fixed bug #29338 (unencoded spaces get ignored after certain tags). (Ilia) - Fixed bug #29335 (fetch functions now use MYSQLI_BOTH as default). (Georg) - Fixed bug #29334 (win32 mail() provides incorrect Date: header). (Jani) - Fixed bug #29311 (calling parent constructor in mysqli). (Georg) - Fixed bug #29268 (__autoload() not called with Reflection->getClass()). (Dmitry) - Fixed bug #29256 (SOAP HTTP Error when envelop size is more than 24345 bytes). (Dmitry, Wez) - Fixed bug #29253 (array_diff with $GLOBALS argument fails). (Dmitry) - Fixed bug #29236 (memory error when wsdl-cache is enabled). (Dmitry) - Fixed bug #29210 (Function: is_callable - no support for private and protected classes). (Dmitry) - Fixed bug #29109 (SoapFault exception: [WSDL] Out of memory). (Dmitry) - Fixed bug #29104 (Function declaration in method doesn't work). (Dmitry) - Fixed bug #29061 (soap extension segfaults). (Dmitry) - Fixed bug #29015 (Incorrect behavior of member vars(non string ones)-numeric mem vars and others). (Dmitry) - Fixed bug #28985 (__getTypes() returning nothing on complex WSDL). (Dmitry) - Fixed bug #28969 (Wrong data encoding of special characters). (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 #28568 (SAPI::known_post_content_types is not thread safe). (Moriyoshi) - Fixed bug #28377 (debug_backtrace is intermittently passing args). (Dmitry) - Fixed bug #28355 (glob wont error if dir is not readable). (Hartmut) - Fixed bug #28072 (static array with some constant keys will be incorrectly ordered). (Dmitry) - Fixed bug #27908 (xml default_handlers not being called). (Rob) - Fixed bug #27598 (list() array key assignment causes HUGE memory leak). (Dmitry) - Fixed bug #27268 (Bad references accentuated by clone). (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 #25359 (array_multisort() doesn't work in a function if array is global or reference). (Dmitry) - Fixed bug #22836 (returning reference to uninitialized variable). (Dmitry) - Fixed bug #21306 (ext/sesssion: catch bailouts of write handler during RSHUTDOWN). (Jani, Xuefer at 21cn dot com) - Fixed bug #15854 (boolean ini options may be incorrectly displayed as Off when they are On). (Tony) - Fixed bugs #14561, #20382, #26090, #26320, #28024, #30532, #32086, #32270, #32555, #32588, #33056 (strtotime() related bugs). (Derick) 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)