File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / NEWS
Revision 1.1.1.5 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Sun Jun 15 20:03:41 2014 UTC (9 years, 11 months ago) by misho
Branches: php, MAIN
CVS tags: v5_4_29, HEAD
php 5.4.29

    1: PHP                                                                        NEWS
    2: |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
    3: 29 May 2014, PHP 5.4.29 
    4: 
    5: - COM:
    6:   . Fixed bug #66431 (Special Character via COM Interface (CP_UTF8)). (Anatol)
    7: 
    8: - Core:
    9:   . Fixed bug #65701 (copy() doesn't work when destination filename is created 
   10:     by tempnam()). (Boro Sitnikovski)
   11:   . Fixed bug #67072 (Echoing unserialized "SplFileObject" crash). (Anatol)
   12:   . Fixed bug #67245 (usage of memcpy() with overlapping src and dst in
   13:     zend_exceptions.c). (Bob)
   14:   . Fixed bug #67247 (spl_fixedarray_resize integer overflow). (Stas)
   15:   . Fixed bug #67249 (printf out-of-bounds read). (Stas)
   16:   . Fixed bug #67250 (iptcparse out-of-bounds read). (Stas)
   17:   . Fixed bug #67252 (convert_uudecode out-of-bounds read). (Stas)
   18: 
   19: - Date:
   20:   . Fixed bug #67118 (DateTime constructor crash with invalid data). (Anatol)
   21:   . Fixed bug #67251 (date_parse_from_format out-of-bounds read). (Stas)
   22:   . Fixed bug #67253 (timelib_meridian_with_check out-of-bounds read). (Stas)
   23: 
   24: - DOM:
   25:   . Fixed bug #67081 (DOMDocumentType->internalSubset returns entire DOCTYPE tag,
   26:     not only the subset). (Anatol)
   27: 
   28:  - Fileinfo:
   29:    . Fixed bug #66307 (Fileinfo crashes with powerpoint files). (Anatol)
   30:    . Fixed bug #67327 (fileinfo: CDF infinite loop in nelements DoS).
   31:      (CVE-2014-0238)
   32:    . Fixed bug #67328 (fileinfo: fileinfo: numerous file_printf calls resulting in
   33:      performance degradation). (CVE-2014-0237)
   34: 
   35: - FPM:
   36:   . Fixed bug #66908 (php-fpm reload leaks epoll_create() file descriptor). 
   37:     (Julio Pintos)
   38: 
   39: - Phar:
   40:   . Fix bug #64498 ($phar->buildFromDirectory can't compress file with an accent 
   41:     in its name). (PR #588) 
   42: 
   43: 01 May 2014, PHP 5.4.28
   44: 
   45: - Core:
   46:   . Fixed bug #61019 (Out of memory on command stream_get_contents). (Mike)
   47:   . Fixed bug #64330 (stream_socket_server() creates wrong Abstract Namespace 
   48:     UNIX sockets). (Mike)
   49:   . Fixed bug #66171 (Symlinks and session handler allow open_basedir bypass).
   50:     (Jann Horn, Stas)
   51:   . Fixed bug #66182 (exit in stream filter produces segfault). (Mike)
   52:   . Fixed bug #66736 (fpassthru broken). (Mike)
   53:   . Fixed bug #67024 (getimagesize should recognize BMP files with negative 
   54:     height). (Gabor Buella)
   55:   . Fixed bug #67033 (Remove reference to Windows 95). (Anatol)
   56: 
   57: - cURL:
   58:   . Fixed bug #66562 (curl_exec returns differently than curl_multi_getcontent).
   59:     (Freek Lijten)
   60: 
   61: - Date:
   62:   . Fixed bug #66721 (__wakeup of DateTime segfaults when invalid object data is
   63:     supplied). (Boro Sitnikovski)
   64: 
   65: - Embed:
   66:   . Fixed bug #65715 (php5embed.lib isn't provided anymore). (Anatol)
   67: 
   68: - Fileinfo:
   69:   . Fixed bug #66987 (Memory corruption in fileinfo ext / bigendian).
   70:     (Remi)
   71: 
   72: - FPM:
   73:   . Fixed bug #66482 (unknown entry 'priority' in php-fpm.conf). 
   74:   . Fixed bug #67060 (sapi/fpm: possible privilege escalation due to insecure 
   75:     default configuration) (CVE-2014-0185). (Stas)
   76: 
   77: - JSON:
   78:   . Fixed bug #66021 (Blank line inside empty array/object when
   79:     JSON_PRETTY_PRINT is set). (Kevin Israel)
   80: 
   81: - LDAP:
   82:   . Fixed issue with null bytes in LDAP bindings. (Matthew Daley)
   83: 
   84: - OpenSSL:
   85:   . Fix bug #66942 (memory leak in openssl_seal()). (Chuan Ma)
   86:   . Fix bug #66952 (memory leak in openssl_open()). (Chuan Ma)
   87: 
   88: - SimpleXML:
   89:   . Fixed bug #66084 (simplexml_load_string() mangles empty node name)
   90:     (Anatol)
   91: 
   92: - XSL:
   93:   . Fixed bug #53965 (<xsl:include> cannot find files with relative paths
   94:     when loaded with "file://"). (Anatol)
   95: 
   96: - Apache2 Handler SAPI:
   97:   . Fixed Apache log issue caused by APR's lack of support for %zu 
   98:     (APR issue https://issues.apache.org/bugzilla/show_bug.cgi?id=56120).
   99:     (Jeff Trawick)
  100: 
  101: 03 Apr 2014, PHP 5.4.27
  102: 
  103: - Core:
  104:   . Fixed bug #60602 (proc_open() changes environment array) (Tjerk)
  105: 
  106: - Fileinfo:
  107:   . Fixed bug #66946 (fileinfo: extensive backtracking in awk rule regular
  108:     expression). (CVE-2013-7345) (Remi)
  109: 
  110: - FPM:
  111:   . Added clear_env configuration directive to disable clearenv() call.
  112:     (Github PR# 598, Paul Annesley)
  113: 
  114: - GMP
  115:   . Fixed bug #66872 (invalid argument crashes gmp_testbit) (Pierre)
  116: 
  117: - Mail:
  118:   . Fixed bug #66535 (Don't add newline after X-PHP-Originating-Script) (Tjerk)
  119: 
  120: - MySQLi:
  121:   . Fixed bug #66762 (Segfault in mysqli_stmt::bind_result() when link closed)
  122:     (Remi)
  123: 
  124: - Openssl:
  125:   . Fixed bug #66833 (Default disgest algo is still MD5, switch to SHA1). (Remi)
  126:   
  127: 06 Mar 2014, PHP 5.4.26
  128: 
  129: - JSON:
  130:   . Fixed bug #65753 (JsonSerializeable couldn't implement on module extension)
  131:   (chobieeee@php.net)
  132: 
  133: - Fileinfo:
  134:   . Fixed bug #66731 (file: infinite recursion). (CVE-2014-1943) (Remi)
  135:   . Fixed bug #66820 (out-of-bounds memory access in fileinfo). (Remi)
  136: 
  137: - LDAP:
  138:   . Implemented ldap_modify_batch (https://wiki.php.net/rfc/ldap_modify_batch).
  139:   (Ondřej Hošek)
  140: 
  141: - Openssl:
  142:   . Fixed bug #66501 (Add EC key support to php_openssl_is_private_key).
  143:   (Mark Zedwood)
  144: 
  145: - Pgsql:
  146:   . Added warning for dangerous client encoding and remove possible injections
  147:     for pg_insert()/pg_update()/pg_delete()/pg_select(). (Yasuo)
  148: 
  149: 06 Feb 2014, PHP 5.4.25
  150: 
  151: - Core:
  152:   . Fixed bug #66286 (Incorrect object comparison with inheritance). (Nikita)
  153:   . Fixed bug #66509 (copy() arginfo has changed starting from 5.4). 
  154:     (Will Fitch)
  155: 
  156: - mysqlnd:
  157:   . Fixed bug #66283 (Segmentation fault after memory_limit). (Johannes)
  158: 
  159: - PDO_pgsql:
  160:   . Fixed bug #62479 (PDO-psql cannot connect if password contains spaces).
  161:     (Will Fitch, Ilia)
  162: 
  163: - Session:
  164:   . Fixed bug #66481 (Calls to session_name() segfault when session.name is
  165:     null). (Laruence)
  166: 
  167: 10 Jan 2014, PHP 5.4.24
  168: 
  169: - Core:
  170:   . Added validation of class names in the autoload process. (Dmitry)
  171:   . Fixed invalid C code in zend_strtod.c. (Lior Kaplan)
  172:   . Fixed bug #61645 (fopen and O_NONBLOCK). (Mike)
  173: 
  174: - Date:
  175:   . Fixed bug #66060 (Heap buffer over-read in DateInterval). (CVE-2013-6712) 
  176:     (Remi)
  177:   . Fixed bug #63391 (Incorrect/inconsistent day of week prior to the year
  178:     1600). (Derick, T. Carter)
  179:   . Fixed bug #61599 (Wrong Day of Week). (Derick, T. Carter)
  180: 
  181: - DOM:
  182:   . Fixed bug #65196 (Passing DOMDocumentFragment to DOMDocument::saveHTML() 
  183:     Produces invalid Markup). (Mike)
  184: 
  185: - Exif:
  186:   . Fixed bug #65873 (Integer overflow in exif_read_data()). (Stas)
  187: 
  188: - Filter:
  189:   . Fixed bug #66229 (128.0.0.0/16 isn't reserved any longer). (Adam)
  190: 
  191: - GD:
  192:   . Fixed bug #64405 (Use freetype-config for determining freetype2 dir(s)).
  193:     (Adam)
  194:     
  195: - PDO_odbc:
  196:   . Fixed bug #66311 (Stack smashing protection kills PDO/ODBC queries). 
  197:     (michael at orlitzky dot com)
  198: 
  199: - SNMP:
  200:   . Fixed SNMP_ERR_TOOBIG handling for bulk walk operations. (Boris Lytochkin)
  201: 
  202: - XSL
  203:   . Fixed bug #49634 (Segfault throwing an exception in a XSL registered
  204:     function). (Mike)
  205: 
  206: - ZIP:
  207:   . Fixed Bug #66321 (ZipArchive::open() ze_obj->filename_len not real). (Remi)
  208: 
  209: 12 Dec 2013, PHP 5.4.23
  210: 
  211: - Core:
  212:   . Fixed bug #66094 (unregister_tick_function tries to cast a Closure to a 
  213:     string). (Laruence)
  214:   . Fixed bug #65969 (Chain assignment with T_LIST failure). (Dmitry)
  215:   . Fixed bug #65947 (basename is no more working after fgetcsv in certain 
  216:     situation). (Laruence)
  217: 
  218: - JSON
  219:   . Fixed whitespace part of bug #64874 ("json_decode handles whitespace and
  220:     case-sensitivity incorrectly"). (Andrea Faulds)
  221: 
  222: - MySQLi:
  223:   . Fixed bug #66043 (Segfault calling bind_param() on mysqli). (Laruence)
  224: 
  225: - mysqlnd:
  226:   . Fixed bug #66124 (mysqli under mysqlnd loses precision when bind_param
  227:     with 'i'). (Andrey)
  228:   . Fixed bug #66141 (mysqlnd quote function is wrong with NO_BACKSLASH_ESCAPES
  229:     after failed query). (Andrey)
  230: 
  231: - Openssl:
  232:   . Fixed memory corruption in openssl_x509_parse() (CVE-2013-6420).
  233:     (Stefan Esser).
  234: 
  235: - PDO
  236:   . Fixed bug 65946 (sql_parser permanently converts values bound to strings)
  237: 
  238: 14 Nov 2013, PHP 5.4.22
  239: 
  240: - Core:
  241:   . Fixed bug #65911 (scope resolution operator - strange behavior with $this).
  242:     (Bob Weinand)
  243: 
  244: - CLI server:
  245:   . Fixed bug #65818 (Segfault with built-in webserver and chunked transfer 
  246:     encoding). (Felipe)
  247: 
  248: - Exif:
  249:   . Fixed crash on unknown encoding. (Draal)
  250: 
  251: - FTP:
  252:   . Fixed bug #65667 (ftp_nb_continue produces segfault). (Philip Hofstetter)
  253: 
  254: - ODBC:
  255:   . Fixed bug #65950 (Field name truncation if the field name is bigger than 
  256:     32 characters). (patch submitted by: michael dot y at zend dot com, Yasuo)
  257: 
  258: - PDO:
  259:   . Fixed bug #66033 (Segmentation Fault when constructor of PDO statement 
  260:     throws an exception). (Laruence)
  261: 
  262: - Sockets:
  263:   . Fixed bug #65808 (the socket_connect() won't work with IPv6 address).
  264:     (Mike)
  265: 
  266: - Standard:
  267:   . Fixed bug #64760 (var_export() does not use full precision for floating-point
  268:     numbers) (Yasuo)
  269:   . Fixed bug #66395 (basename function doesn't remove drive letter). (Anatol)
  270: 
  271: - XMLReader:
  272:   . Fixed bug #51936 (Crash with clone XMLReader). (Mike)
  273:   . Fixed bug #64230 (XMLReader does not suppress errors). (Mike)
  274: 
  275: 
  276: 17 Oct 2013, PHP 5.4.21
  277: 
  278: - Core:
  279:   . Fixed bug #65322 (compile time errors won't trigger auto loading). (Nikita)
  280: 
  281: - CLI server:
  282:   . Fixed bug #65633 (built-in server treat some http headers as
  283:     case-sensitive). (Adam)
  284: 
  285: - Datetime:
  286:   . Fixed bug #64157 (DateTime::createFromFormat() reports confusing error
  287:     message). (Boro Sitnikovski)
  288: 
  289: - DBA extension:
  290:   . Fixed bug #65708 (dba functions cast $key param to string in-place,
  291:     bypassing copy on write). (Adam)
  292: 
  293: - Filter:
  294:   . Add RFC 6598 IPs to reserved addresses. (Sebastian Nohn)
  295:   . Fixed bug #64441 (FILTER_VALIDATE_URL rejects fully qualified domain names).
  296:     (Syra)
  297: 
  298: - IMAP:
  299:   . Fixed bug #65721 (configure script broken in 5.5.4 and 5.4.20 when enabling
  300:     imap). (ryotakatsuki at gmail dot com)
  301: 
  302: - Standard:
  303:   . Fixed bug #61548 (content-type must appear at the end of headers for 201 
  304:     Location to work in http). (Mike)
  305: 
  306: - Build system:
  307:   . Fixed bug #62396 ('make test' crashes starting with 5.3.14 (missing 
  308:     gzencode())). (Mike)
  309: 
  310: 
  311: 19 Sep 2013, PHP 5.4.20
  312: 
  313: - Core:
  314:   . Fixed bug #60598 (cli/apache sapi segfault on objects manipulation).
  315:     (Laruence)
  316:   . Fixed bug #65579 (Using traits with get_class_methods causes segfault).
  317:     (Adam)
  318:   . Fixed bug #65490 (Duplicate calls to get lineno & filename for 
  319:     DTRACE_FUNCTION_*). (Chris Jones)
  320:   . Fixed bug #65483 (quoted-printable encode stream filter incorrectly encoding
  321:     spaces). (Michael M Slusarz)
  322:   . Fixed bug #65481 (shutdown segfault due to serialize) (Mike)
  323:   . Fixed bug #65470 (Segmentation fault in zend_error() with 
  324:     --enable-dtrace). (Chris Jones, Kris Van Hees)
  325:   . Fixed bug #65372 (Segfault in gc_zval_possible_root when return reference
  326:     fails). (Laruence)
  327:   . Fixed bug #65304 (Use of max int in array_sum). (Laruence)
  328:   . Fixed bug #65291 (get_defined_constants() causes PHP to crash in a very
  329:     limited case). (Arpad)
  330:   . Fixed bug #65225 (PHP_BINARY incorrectly set). (Patrick Allaert)
  331:   . Improved fix for bug #63186 (compile failure on netbsd). (Matteo)
  332:   . Fixed bug #62692 (PHP fails to build with DTrace). (Chris Jones, Kris Van Hees)
  333:   . Fixed bug #61759 (class_alias() should accept classes with leading
  334:     backslashes). (Julien)
  335:   . Fixed bug #61345 (CGI mode - make install don't work). (Michael Heimpold)
  336:   . Cherry-picked some DTrace build commits (allowing builds on Linux,
  337:     bug #62691, and bug #63706) from PHP 5.5 branch
  338:   . Fixed bug #61268 (--enable-dtrace leads make to clobber
  339:     Zend/zend_dtrace.d) (Chris Jones)
  340: 
  341: - cURL:
  342:   . Fixed bug #65458 (curl memory leak). (Adam)
  343: 
  344: - Datetime:
  345:   . Fixed bug #65554 (createFromFormat broken when weekday name is followed 
  346:     by some delimiters). (Valentin Logvinskiy, Stas).
  347:   . Fixed bug #65564 (stack-buffer-overflow in DateTimeZone stuff caught
  348:     by AddressSanitizer). (Remi).
  349: 
  350: - Openssl:
  351:   . Fixed bug #64802 (openssl_x509_parse fails to parse subject properly in 
  352:     some cases). (Mark Jones)
  353: 
  354: - Session:
  355:   . Fixed bug #62129 (rfc1867 crashes php even though turned off). (gxd305 at
  356:     gmail dot com)
  357:   . Fixed bug #50308 (session id not appended properly for empty anchor tags).
  358:     (Arpad)
  359:   . Fixed possible buffer overflow under Windows. Note: Not a security fix.
  360:     (Yasuo)
  361:   . Changed session.auto_start to PHP_INI_PERDIR. (Yasuo)
  362: 
  363: - SOAP:
  364:   . Fixed bug #65018 (SoapHeader problems with SoapServer). (Dmitry)
  365: 
  366: - SPL:
  367:   . Fixed bug #65328 (Segfault when getting SplStack object Value). (Laruence)
  368: 
  369: - PDO:
  370:   . Fixed bug #64953 (Postgres prepared statement positional parameter 
  371:     casting). (Mike)
  372: 
  373: - Phar:
  374:   . Fixed bug #65028 (Phar::buildFromDirectory creates corrupt archives for 
  375:     some specific contents). (Stas)
  376: 
  377: - Pgsql:
  378:   . Fixed bug #65336 (pg_escape_literal/identifier() silently returns false).
  379:     (Yasuo)
  380:   . Fixed bug #62978 (Disallow possible SQL injections with pg_select()/pg_update()
  381:     /pg_delete()/pg_insert()). (Yasuo)
  382: 
  383: - Zlib:
  384:   . Fixed bug #65391 (Unable to send vary header user-agent when 
  385:     ob_start('ob_gzhandler') is called) (Mike)
  386: 
  387: 22 Aug 2013, PHP 5.4.19
  388: 
  389: - Core:
  390:   . Fixed bug #64503 (Compilation fails with error: conflicting types for
  391:     'zendparse'). (Laruence)
  392: 
  393: - Openssl:
  394:   . Fixed UMR in fix for CVE-2013-4248.
  395: 
  396: 15 Aug 2013, PHP 5.4.18
  397: 
  398: - Core:
  399:   . Fixed value of FILTER_SANITIZE_FULL_SPECIAL_CHARS constant (previously was
  400:     erroneously set to FILTER_SANITIZE_SPECIAL_CHARS value). (Andrey 
  401:     avp200681 gmail com).
  402:   . Fixed bug #65254 (Exception not catchable when exception thrown in autoload
  403:     with a namespace). (Laruence)
  404:   . Fixed bug #65108 (is_callable() triggers Fatal Error). 
  405:     (David Soria Parra, Laruence)
  406:   . Fixed bug #65088 (Generated configure script is malformed on OpenBSD).
  407:     (Adam)
  408:   . Fixed bug #62964 (Possible XSS on "Registered stream filters" info).
  409:     (david at nnucomputerwhiz dot com)
  410:   . Fixed bug #62672 (Error on serialize of ArrayObject). (Lior Kaplan)
  411:   . Fixed bug #62475 (variant_* functions causes crash when null given as an 
  412:     argument). (Felipe)
  413:   . Fixed bug #60732 (php_error_docref links to invalid pages). (Jakub Vrana)
  414:   . Fixed bug #65226 (chroot() does not get enabled). (Anatol)
  415: 
  416: - CGI:
  417:   . Fixed Bug #65143 (Missing php-cgi man page). (Remi)
  418: 
  419: - CLI server:
  420:   . Fixed bug #65066 (Cli server not responsive when responding with 422 http
  421:     status code). (Adam)
  422:     
  423: - CURL:
  424:   . Fixed bug #62665 (curl.cainfo doesn't appear in php.ini). (Lior Kaplan)
  425: 
  426: - FPM:
  427:   . Fixed bug #63983 (enabling FPM borks compile on FreeBSD).
  428:     (chibisuke at web dot de, Felipe)
  429:     
  430: - FTP:
  431:   . Fixed bug #65228 (FTPs memory leak with SSL).
  432:     (marco dot beierer at mbsecurity dot ch)
  433:     
  434: - GMP:
  435:   . Fixed bug #65227 (Memory leak in gmp_cmp second parameter). (Felipe)
  436: 
  437: - Imap:
  438:   . Fixed bug #64467 (Segmentation fault after imap_reopen failure).
  439:     (askalski at gmail dot com)
  440: 
  441: - Intl: 
  442:   . Fixed bug #62759 (Buggy grapheme_substr() on edge case). (Stas)
  443:   . Fixed bug #61860 (Offsets may be wrong for grapheme_stri* functions).
  444:     (Stas)
  445: 
  446: - mysqlnd: 
  447:   . Fixed segfault in mysqlnd when doing long prepare. (Andrey)
  448:   
  449: - ODBC:
  450:   . Fixed bug #61387 (NULL valued anonymous column causes segfault in 
  451:     odbc_fetch_array). (Brandon Kirsch)
  452: 
  453: - Openssl:
  454:   . Fixed handling null bytes in subjectAltName (CVE-2013-4248).
  455:     (Christian Heimes)
  456: 
  457: - PDO:
  458:   . Allowed PDO_OCI to compile with Oracle Database 12c client libraries.
  459:     (Chris Jones)
  460: 
  461: - PDO_dblib:
  462:   . Fixed bug #65219 (PDO/dblib not working anymore ("use dbName" not sent)). 
  463:     (Stanley Sufficool)
  464: 
  465: - PDO_pgsql:
  466:   . Fixed meta data retrieve when OID is larger than 2^31. (Yasuo)
  467: 
  468: - Phar:
  469:   . Fixed Bug #65142 (Missing phar man page). (Remi)
  470: 
  471: - Session
  472:   . Fixed bug #62535 ($_SESSION[$key]["cancel_upload"] doesn't work as
  473:     documented). (Arpad)
  474:   . Fixed bug #35703 (when session_name("123") consist only digits, 
  475:     should warning). (Yasuo)
  476:   . Fixed bug #49175 (mod_files.sh does not support hash bits). Patch by
  477:     oorza2k5 at gmail dot com (Yasuo)
  478: 
  479: - Sockets:
  480:   . Implemented FR #63472 (Setting SO_BINDTODEVICE with socket_set_option). 
  481:     (Damjan Cvetko)
  482: 
  483: - SPL:
  484:   . Fixed bug #65136 (RecursiveDirectoryIterator segfault). (Laruence)
  485:   . Fixed bug #61828 (Memleak when calling Directory(Recursive)Iterator
  486:     /Spl(Temp)FileObject ctor twice). (Laruence)
  487:   . Fixed bug #60560 (SplFixedArray un-/serialize, getSize(), count() return 0,
  488:     keys are strings). (Adam)
  489: 
  490: - XML:
  491:   . Fixed bug #65236 (heap corruption in xml parser, CVE-2013-4113). (Rob)
  492: 
  493: 04 Jul 2013, PHP 5.4.17
  494: 
  495: - Core:
  496:   . Fixed bug #64988 (Class loading order affects E_STRICT warning). (Laruence)
  497:   . Fixed bug #64966 (segfault in zend_do_fcall_common_helper_SPEC). (Laruence)
  498:   . Fixed bug #64960 (Segfault in gc_zval_possible_root). (Laruence)
  499:   . Fixed bug #64936 (doc comments picked up from previous scanner run). (Stas,
  500:     Jonathan Oddy)
  501:   . Fixed bug #64934 (Apache2 TS crash with get_browser()). (Anatol)
  502:   . Fixed bug #64166 (quoted-printable-encode stream filter incorrectly 
  503:     discarding whitespace). (Michael M Slusarz)
  504: 
  505: - DateTime:
  506:   . Fixed bug #53437 (Crash when using unserialized DatePeriod instance).
  507:     (Gustavo, Derick, Anatol)
  508: 
  509: - FPM:
  510:   . Fixed Bug #64915 (error_log ignored when daemonize=0). (Remi)
  511:   . Implemented FR #64764 (add support for FPM init.d script). (Lior Kaplan)
  512: 
  513: - PDO:
  514:   . Fixed bug #63176 (Segmentation fault when instantiate 2 persistent PDO to 
  515:     the same db server). (Laruence)
  516: 
  517: - PDO_DBlib:
  518:   . Fixed bug #63638 (Cannot connect to SQL Server 2008 with PDO dblib). 
  519:     (Stanley Sufficool)
  520:   . Fixed bug #64338 (pdo_dblib can't connect to Azure SQL). (Stanley 
  521:     Sufficool)
  522:   . Fixed bug #64808 (FreeTDS PDO getColumnMeta on a prepared but not executed 
  523:     statement crashes). (Stanley Sufficool)
  524: 
  525: - PDO_firebird:
  526:   . Fixed bug #64037 (Firebird return wrong value for numeric field).
  527:     (Matheus Degiovani, Matteo)
  528:   . Fixed bug #62024 (Cannot insert second row with null using parametrized
  529:     query). (patch by james@kenjim.com, Matheus Degiovani, Matteo)
  530: 
  531: - PDO_mysql:
  532:   . Fixed bug #48724 (getColumnMeta() doesn't return native_type for BIT, 
  533:     TINYINT and YEAR). (Antony, Daniel Beardsley)
  534: 
  535: - PDO_pgsql:
  536:   . Fixed Bug #64949 (Buffer overflow in _pdo_pgsql_error). (Remi)
  537: 
  538: - pgsql:
  539:   . Fixed bug #64609 (pg_convert enum type support). (Matteo)
  540:   . Fixed bug #65015 (pg_send_query does not flush send buffer)
  541:        patch submitted by: adam at vektah dot net (Yasuo)
  542: 
  543: - Readline:
  544:   . Implement FR #55694 (Expose additional readline variable to prevent 
  545:     default filename completion). (Hartmel)
  546: 
  547: - SPL:
  548:   . Fixed bug #64997 (Segfault while using RecursiveIteratorIterator on
  549:     64-bits systems). (Laruence)
  550: 
  551: 06 Jun 2013, PHP 5.4.16
  552: 
  553: - Core:
  554:   . Fixed bug #64879 (Heap based buffer overflow in quoted_printable_encode,
  555:     CVE 2013-2110). (Stas)
  556:   . Fixed bug #64853 (Use of no longer available ini directives causes crash on
  557:     TS build). (Anatol)
  558:   . Fixed bug #64729 (compilation failure on x32). (Gustavo)
  559:   . Fixed bug #64720 (SegFault on zend_deactivate). (Dmitry)
  560:   . Fixed bug #64660 (Segfault on memory exhaustion within function definition).
  561:     (Stas, reported by Juha Kylmänen)
  562: 
  563: - Calendar:
  564:   . Fixed bug #64895 (Integer overflow in SndToJewish). (Remi)
  565: 
  566: - Fileinfo:
  567:   . Fixed bug #64830 (mimetype detection segfaults on mp3 file). (Anatol)
  568: 
  569: - FPM:
  570:   . Ignore QUERY_STRING when sent in SCRIPT_FILENAME. (Remi)
  571:   . Fixed some possible memory or resource leaks and possible null dereference
  572:     detected by code coverity scan. (Remi)
  573:   . Log a warning when a syscall fails. (Remi)
  574:   . Add --with-fpm-systemd option to report health to systemd, and
  575:     systemd_interval option to configure this. The service can now use
  576:     Type=notify in the systemd unit file. (Remi)
  577: 
  578: - MySQLi
  579:   . Fixed bug #64726 (Segfault when calling fetch_object on a use_result and DB
  580:     pointer has closed). (Laruence)
  581: 
  582: - Phar
  583:   . Fixed bug #64214 (PHAR PHPTs intermittently crash when run on DFS, SMB or 
  584:     with non std tmp dir). (Pierre)
  585: 
  586: - SNMP:
  587:   . Fixed bug #64765 (Some IPv6 addresses get interpreted wrong).
  588:     (Boris Lytochkin)
  589:   . Fixed bug #64159 (Truncated snmpget). (Boris Lytochkin)
  590: 
  591: - Streams:
  592:   . Fixed bug #64770 (stream_select() fails with pipes returned by proc_open()
  593:     on Windows x64). (Anatol)
  594: 
  595: - Zend Engine:
  596:   . Fixed bug #64821 (Custom Exceptions crash when internal properties 
  597:     overridden). (Anatol)
  598: 
  599: 09 May 2013, PHP 5.4.15
  600: - Core:
  601:   . Fixed bug #64578 (debug_backtrace in set_error_handler corrupts zend heap:
  602:     segfault). (Laruence)
  603:   . Fixed bug #64458 (dns_get_record result with string of length -1). (Stas)
  604:   . Fixed bug #64433 (follow_location parameter of context is ignored for most
  605:     response codes). (Sergey Akbarov)
  606:   . Fixed bugs #47675 and #64577 (fd leak on Solaris)
  607: 
  608: - Fileinfo:
  609:   . Upgraded libmagic to 5.14. (Anatol)
  610: 
  611: - MySQLi:
  612:   . Fixed bug #64726 (Segfault when calling fetch_object on a use_result and DB
  613:     pointer has closed). (Laruence)
  614: 
  615: - Zip:
  616:   . Fixed bug #64342 (ZipArchive::addFile() has to check for file existence).
  617:     (Anatol)
  618: 
  619: - Streams:
  620:   . Fixed Windows x64 version of stream_socket_pair() and improved error
  621:     handling. (Anatol Belski)
  622:   . Fixed bug #64770 (stream_select() fails with pipes returned by proc_open()
  623:     on Windows x64). (Anatol)
  624: 
  625: 11 Apr 2013, PHP 5.4.14
  626: 
  627: - Core:
  628:   . Fixed bug #64529 (Ran out of opcode space). (Dmitry)
  629:   . Fixed bug #64515 (Memoryleak when using the same variablename two times in
  630:     function declaration). (Laruence)
  631:   . Fixed bug #64432 (more empty delimiter warning in strX methods). (Laruence)
  632:   . Fixed bug #64417 (ArrayAccess::&offsetGet() in a trait causes fatal error).
  633:     (Dmitry)
  634:   . Fixed bug #64370 (microtime(true) less than $_SERVER['REQUEST_TIME_FLOAT']).
  635:     (Anatol)
  636:   . Fixed bug #64239 (Debug backtrace changed behavior since 5.4.10 or 5.4.11).
  637:     (Dmitry, Laruence)
  638:   . Fixed bug #63976 (Parent class incorrectly using child constant in class
  639:     property). (Dmitry)
  640:   . Fixed bug #63914 (zend_do_fcall_common_helper_SPEC does not handle
  641:     exceptions properly). (Jeff Welch)
  642:   . Fixed bug #62343 (Show class_alias In get_declared_classes()) (Dmitry)
  643: 
  644: - PCRE:
  645:   . Merged PCRE 8.32. (Anatol)
  646: 
  647: - SNMP:
  648:   . Fixed bug #61981 (OO API, walk: $suffix_as_key is not working correctly).
  649: 	(Boris Lytochkin)
  650: 
  651: - Zip:
  652:   . Bug #64452 (Zip crash intermittently). (Anatol)
  653: 
  654: 14 Mar 2013, PHP 5.4.13
  655: 
  656: - Core:
  657:   . Fixed bug #64354 (Unserialize array of objects whose class can't
  658:     be autoloaded fail). (Laruence)
  659:   . Fixed bug #64235 (Insteadof not work for class method in 5.4.11).
  660:     (Laruence)
  661:   . Fixed bug #64197 (_Offsetof() macro used but not defined on ARM/Clang).
  662:     (Ard Biesheuvel)
  663:   . Implemented FR #64175 (Added HTTP codes as of RFC 6585). (Jonh Wendell)
  664:   . Fixed bug #64142 (dval to lval different behavior on ppc64). (Remi)
  665:   . Fixed bug #64070 (Inheritance with Traits failed with error). (Dmitry)
  666: 
  667: - CLI server:
  668:   . Fixed bug #64128 (buit-in web server is broken on ppc64). (Remi)
  669: 
  670: - Mbstring:
  671:   . mb_split() can now handle empty matches like preg_split() does. (Moriyoshi)
  672: 
  673: - mysqlnd
  674:   . Fixed bug #63530 (mysqlnd_stmt::bind_one_parameter crashes, uses wrong alloc
  675:     for stmt->param_bind). (Andrey)
  676: 
  677: - OpenSSL:
  678:   . New SSL stream context option to prevent CRIME attack vector. (Daniel Lowrey,
  679: 	Lars)
  680:   . Fixed bug #61930 (openssl corrupts ssl key resource when using
  681:     openssl_get_publickey()). (Stas)
  682: 
  683: - PDO_mysql:
  684:   . Fixed bug #60840 (undefined symbol: mysqlnd_debug_std_no_trace_funcs).
  685:     (Johannes)
  686: 
  687: - Phar:
  688:   . Fixed timestamp update on Phar contents modification. (Dmitry)
  689: 
  690: - SOAP
  691:   . Added check that soap.wsdl_cache_dir conforms to open_basedir
  692:     (CVE-2013-1635). (Dmitry)
  693:   . Disabled external entities loading (CVE-2013-1643, CVE-2013-1824).
  694:     (Dmitry)
  695: 
  696: - SPL:
  697:   . Fixed bug #64264 (SPLFixedArray toArray problem). (Laruence)
  698:   . Fixed bug #64228 (RecursiveDirectoryIterator always assumes SKIP_DOTS).
  699:     (patch by kriss@krizalys.com, Laruence)
  700:   . Fixed bug #64106 (Segfault on SplFixedArray[][x] = y when extended).
  701:     (Nikita Popov)
  702:   . Fixed bug #52861 (unset fails with ArrayObject and deep arrays).
  703:     (Mike Willbanks)
  704: 
  705: - SNMP:
  706:   . Fixed bug #64124 (IPv6 malformed). (Boris Lytochkin)
  707: 
  708: 21 Feb 2013, PHP 5.4.12
  709: 
  710: - Core:
  711:   . Fixed bug #64099 (Wrong TSRM usage in zend_Register_class alias). (Johannes)
  712:   . Fixed bug #64011 (get_html_translation_table() output incomplete with
  713:     HTML_ENTITIES and ISO-8859-1). (Gustavo)
  714:   . Fixed bug #63982 (isset() inconsistently produces a fatal error on
  715:     protected property). (Stas)
  716:   . Fixed bug #63943 (Bad warning text from strpos() on empty needle).
  717:     (Laruence)
  718:   . Fixed bug #63899 (Use after scope error in zend_compile). (Laruence)
  719:   . Fixed bug #63893 (Poor efficiency of strtr() using array with keys of very
  720:     different length). (Gustavo)
  721:   . Fixed bug #63882 (zend_std_compare_objects crash on recursion). (Dmitry)
  722:   . Fixed bug #63462 (Magic methods called twice for unset protected
  723:     properties). (Stas)
  724:   . Fixed bug #62524 (fopen follows redirects for non-3xx statuses).
  725:     (Wes Mason)
  726:   . Support BITMAPV5HEADER in getimagesize(). (AsamK, Lars)
  727: 
  728: - Date:
  729:   . Fixed bug #63699 (Performance improvements for various ext/date functions).
  730:     (Lars, original patch by njaguar at gmail dot com)
  731:   . Fixed bug #55397: Comparsion of incomplete DateTime causes SIGSEGV.
  732:     (Derick)
  733: 
  734: - FPM:
  735:   . Fixed bug #63999 (php with fpm fails to build on Solaris 10 or 11). (Adam)
  736: 
  737: - Litespeed:
  738:   . Fixed bug #63228 (-Werror=format-security error in lsapi code).
  739:     (Elan Ruusamäe, George)
  740: 
  741: - ext/sqlite3:
  742:   . Fixed bug #63921 (sqlite3::bindvalue and relative PHP functions aren't
  743:     using sqlite3_*_int64 API). (srgoogleguy, Lars)
  744: 
  745: - PDO_OCI
  746:   . Fixed bug #57702 (Multi-row BLOB fetches). (hswong3i, Laruence)
  747:   . Fixed bug #52958 (Segfault in PDO_OCI on cleanup after running a long
  748:     testsuite). (hswong3i, Lars)
  749: 
  750: - PDO_sqlite:
  751:   . Fixed bug #63916 (PDO::PARAM_INT casts to 32bit int internally even
  752:     on 64bit builds in pdo_sqlite). (srgoogleguy, Lars)
  753: 
  754: 17 Jan 2013, PHP 5.4.11
  755: 
  756: - Core:
  757:   . Fixed bug #63762 (Sigsegv when Exception::$trace is changed by user).
  758:     (Johannes)
  759:   . Fixed bug #43177 (Errors in eval()'ed code produce status code 500).
  760:     (Todd Ruth, Stas).
  761: 
  762: - Filter:
  763:   . Fixed bug #63757 (getenv() produces memory leak with CGI SAPI). (Dmitry)
  764:   . Fixed bug #54096 (FILTER_VALIDATE_INT does not accept +0 and -0).
  765:     (martin at divbyzero dot net, Lars)
  766: 
  767: - JSON:
  768:   . Fixed bug #63737 (json_decode does not properly decode with options
  769:     parameter). (Adam)
  770: 
  771: - CLI server
  772:   . Update list of common mime types. Added webm, ogv, ogg. (Lars,
  773:     pascalc at gmail dot com)
  774: 
  775: - cURL extension:
  776:   . Fixed bug (segfault due to libcurl connection caching). (Pierrick)
  777:   . Fixed bug #63859 (Memory leak when reusing curl-handle). (Pierrick)
  778:   . Fixed bug #63795 (CURL >= 7.28.0 no longer support value 1 for
  779:     CURLOPT_SSL_VERIFYHOST). (Pierrick)
  780:   . Fixed bug #63352 (Can't enable hostname validation when using curl stream
  781:     wrappers). (Pierrick)
  782:   . Fixed bug #55438 (Curlwapper is not sending http header randomly).
  783:     (phpnet@lostreality.org, Pierrick)
  784: 
  785: 20 Dec 2012, PHP 5.4.10
  786: 
  787: - Core:
  788:   . Fixed bug #63726 (Memleak with static properties and internal/user
  789:     classes). (Laruence)
  790:   . Fixed bug #63635 (Segfault in gc_collect_cycles). (Dmitry)
  791:   . Fixed bug #63512 (parse_ini_file() with INI_SCANNER_RAW removes quotes
  792:     from value). (Pierrick)
  793:   . Fixed bug #63468 (wrong called method as callback with inheritance).
  794:     (Laruence)
  795:   . Fixed bug #63451 (config.guess file does not have AIX 7 defined,
  796:     shared objects are not created). (kemcline at au1 dot ibm dot com)
  797:   . Fixed bug #61557 (Crasher in tt-rss backend.php).
  798:     (i dot am dot jack dot mail at gmail dot com)
  799:   . Fixed bug #61272 (ob_start callback gets passed empty string).
  800:     (Mike, casper at langemeijer dot eu)
  801: 
  802: - Date:
  803:   . Fixed bug #63666 (Poor date() performance). (Paul Taulborg).
  804:   . Fixed bug #63435 (Datetime::format('u') sometimes wrong by 1 microsecond).
  805:     (Remi)
  806: 
  807: - Imap:
  808:   . Fixed bug #63126 (DISABLE_AUTHENTICATOR ignores array). (Remi)
  809: 
  810: - Json:
  811:   . Fixed bug #63588 (use php_next_utf8_char and remove duplicate
  812:     implementation). (Remi)
  813: 
  814: - MySQLi:
  815:   . Fixed bug #63361 (missing header). (Remi)
  816: 
  817: - MySQLnd:
  818:   . Fixed bug #63398 (Segfault when polling closed link). (Laruence)
  819: 
  820: - Fileinfo:
  821:   . Fixed bug #63590 (Different results in TS and NTS under Windows).
  822:     (Anatoliy)
  823: 
  824: - FPM:
  825:   . Fixed bug #63581 Possible null dereference and buffer overflow (Remi)
  826: 
  827: - Pdo_sqlite:
  828:   . Fixed Bug #63149 getColumnMeta should return the table name
  829:     when system SQLite used. (Remi)
  830: 
  831: - Apache2 Handler SAPI:
  832:   . Enabled Apache 2.4 configure option for Windows (Pierre, Anatoliy)
  833: 
  834: - Reflection:
  835:   . Fixed Bug #63614 (Fatal error on Reflection). (Laruence)
  836: 
  837: - SOAP
  838:   . Fixed bug #63271 (SOAP wsdl cache is not enabled after initial requests).
  839:     (John Jawed, Dmitry)
  840: 
  841: - Sockets
  842:   . Fixed bug #49341 (Add SO_REUSEPORT support for socket_set_option()).
  843:     (Igor Wiedler, Lars)
  844: 
  845: - SPL
  846:   . Fixed bug #63680 (Memleak in splfixedarray with cycle reference). (Laruence)
  847: 
  848: 22 Nov 2012, PHP 5.4.9
  849: 
  850: - Core:
  851:   . Fixed bug #63305 (zend_mm_heap corrupted with traits). (Dmitry, Laruence)
  852:   . Fixed bug #63369 ((un)serialize() leaves dangling pointers, causes crashes).
  853:     (Tony, Andrew Sitnikov)
  854:   . Fixed bug #63241 (PHP fails to open Windows deduplicated files).
  855:     (daniel dot stelter-gliese at innogames dot de)
  856:   . Fixed bug #62444 (Handle leak in is_readable on windows).
  857:     (krazyest at seznam dot cz)
  858: 
  859: - Curl:
  860:   . Fixed bug #63363 (Curl silently accepts boolean true for SSL_VERIFYHOST).
  861:     Patch by John Jawed GitHub PR #221 (Anthony)
  862: 
  863: - Fileinfo:
  864:   . Fixed bug #63248 (Load multiple magic files from a directory under Windows).
  865:     (Anatoliy)
  866: 
  867: - Libxml
  868:   . Fixed bug #63389 (Missing context check on libxml_set_streams_context()
  869:     causes memleak). (Laruence)
  870: 
  871: - Mbstring:
  872:   . Fixed bug #63447 (max_input_vars doesn't filter variables when
  873:     mbstring.encoding_translation = On). (Laruence)
  874: 
  875: - OCI8:
  876:   . Fixed bug #63265 (Add ORA-00028 to the PHP_OCI_HANDLE_ERROR macro)
  877:     (Chris Jones)
  878: 
  879: - PCRE:
  880:   . Fixed bug #63180 (Corruption of hash tables). (Dmitry)
  881:   . Fixed bug #63055 (Segfault in zend_gc with SF2 testsuite).
  882:     (Dmitry, Laruence)
  883:   . Fixed bug #63284 (Upgrade PCRE to 8.31). (Anatoliy)
  884: 
  885: - PDO:
  886:   . Fixed bug #63235 (buffer overflow in use of SQLGetDiagRec).
  887:     (Martin Osvald, Remi)
  888: 
  889: - PDO_pgsql:
  890:   . Fixed bug #62593 (Emulate prepares behave strangely with PARAM_BOOL).
  891:     (Will Fitch)
  892: 
  893: - Phar:
  894:   . Fixed bug #63297 (Phar fails to write an openssl based signature).
  895:     (Anatoliy)
  896: 
  897: - Streams:
  898:   . Fixed bug #63240 (stream_get_line() return contains delimiter string).
  899:     (Tjerk, Gustavo)
  900: 
  901: - Reflection:
  902:   . Fixed bug #63399 (ReflectionClass::getTraitAliases() incorrectly resolves
  903:     traitnames). (Laruence)
  904: 
  905: 18 Oct 2012, PHP 5.4.8
  906: 
  907: - CLI server:
  908:   . Implemented FR #63242 (Default error page in PHP built-in web server uses
  909:     outdated html/css). (pascal.chevrel@free.fr)
  910:   . Changed response to unknown HTTP method to 501 according to RFC.
  911:     (Niklas Lindgren).
  912:   . Support HTTP PATCH method. Patch by Niklas Lindgren, GitHub PR #190.
  913:     (Lars)
  914: 
  915: - Core:
  916:   . Fixed bug #63219 (Segfault when aliasing trait method when autoloader
  917:     throws excpetion). (Laruence)
  918:   . Added optional second argument for assert() to specify custom message. Patch
  919:     by Lonny Kapelushnik (lonny@lonnylot.com). (Lars)
  920:   . Support building PHP with the native client toolchain. (Stuart Langley)
  921:   . Added --offline option for tests. (Remi)
  922:   . Fixed bug #63162 (parse_url does not match password component). (husman)
  923:   . Fixed bug #63111 (is_callable() lies for abstract static method). (Dmitry)
  924:   . Fixed bug #63093 (Segfault while load extension failed in zts-build).
  925:     (Laruence)
  926:   . Fixed bug #62976 (Notice: could not be converted to int when comparing
  927:     some builtin classes). (Laruence)
  928:   . Fixed bug #62955 (Only one directive is loaded from "Per Directory Values"
  929:     Windows registry). (aserbulov at parallels dot com)
  930:   . Fixed bug #62907 (Double free when use traits). (Dmitry)
  931:   . Fixed bug #61767 (Shutdown functions not called in certain error
  932:     situation). (Dmitry)
  933:   . Fixed bug #60909 (custom error handler throwing Exception + fatal error
  934:     = no shutdown function). (Dmitry)
  935:   . Fixed bug #60723 (error_log error time has changed to UTC ignoring default
  936:     timezone). (Laruence)
  937: 
  938: - cURL:
  939:   . Fixed bug #62085 (file_get_contents a remote file by Curl wrapper will
  940:     cause cpu Soaring). (Pierrick)
  941: 
  942: - Date:
  943:   . Fixed bug #62896 ("DateTime->modify('+0 days')" modifies DateTime object)
  944:     (Lonny Kapelushnik)
  945:   . Fixed bug #62561 (DateTime add 'P1D' adds 25 hours). (Lonny Kapelushnik)
  946: 
  947: - DOM:
  948:   . Fixed bug #63015 (Incorrect arginfo for DOMErrorHandler). (Rob)
  949: 
  950: - FPM:
  951:   . Fixed bug #62954 (startup problems fpm / php-fpm). (fat)
  952:   . Fixed bug #62886 (PHP-FPM may segfault/hang on startup). (fat)
  953:   . Fixed bug #63085 (Systemd integration and daemonize). (remi, fat)
  954:   . Fixed bug #62947 (Unneccesary warnings on FPM). (fat)
  955:   . Fixed bug #62887 (Only /status?plain&full gives "last request cpu"). (fat)
  956:   . Fixed bug #62216 (Add PID to php-fpm init.d script). (fat)
  957: 
  958: - OCI8:
  959:   . Fixed bug #60901 (Improve "tail" syntax for AIX installation) (Chris Jones)
  960: 
  961: - OpenSSL:
  962:   . Implemented FR #61421 (OpenSSL signature verification missing RMD160,
  963:     SHA224, SHA256, SHA384, SHA512). (Mark Jones)
  964: 
  965: - PDO:
  966:   . Fixed bug #63258 (seg fault with PDO and dblib using DBSETOPT(H->link,
  967:     DBQUOTEDIDENT, 1)). (Laruence)
  968:   . Fixed bug #63235 (buffer overflow in use of SQLGetDiagRec).
  969:     (Martin Osvald, Remi)
  970: 
  971: - PDO Firebird:
  972:   . Fixed bug #63214 (Large PDO Firebird Queries).
  973:     (james at kenjim dot com)
  974: 
  975: - SOAP
  976:   . Fixed bug #50997 (SOAP Error when trying to submit 2nd Element of a choice).
  977:     (Dmitry)
  978: 
  979: - SPL:
  980:   . Bug #62987 (Assigning to ArrayObject[null][something] overrides all
  981:     undefined variables). (Laruence)
  982: 
  983: - mbstring:
  984:   . Allow passing null as a default value to mb_substr() and mb_strcut(). Patch
  985:     by Alexander Moskaliov via GitHub PR #133. (Lars)
  986: 
  987: - Filter extension:
  988:   . Bug #49510: Boolean validation fails with FILTER_NULL_ON_FAILURE with empty
  989:     string or false. (Lars)
  990: 
  991: - Sockets
  992:   . Fixed bug #63000 (MCAST_JOIN_GROUP on OSX is broken, merge of PR 185 by
  993:     Igor Wiedler). (Lars)
  994: 
  995: 13 Sep 2012, PHP 5.4.7
  996: 
  997: - Core:
  998:   . Fixed bug (segfault while build with zts and GOTO vm-kind). (Laruence)
  999:   . Fixed bug #62844 (parse_url() does not recognize //). (Andrew Faulds).
 1000:   . Fixed bug #62829 (stdint.h included on platform where HAVE_STDINT_H is not
 1001:     set). (Felipe)
 1002:   . Fixed bug #62763 (register_shutdown_function and extending class).
 1003:     (Laruence)
 1004:   . Fixed bug #62725 (Calling exit() in a shutdown function does not return
 1005:     the exit value). (Laruence)
 1006:   . Fixed bug #62744 (dangling pointers made by zend_disable_class). (Laruence)
 1007:   . Fixed bug #62716 (munmap() is called with the incorrect length).
 1008:     (slangley@google.com)
 1009:   . Fixed bug #62358 (Segfault when using traits a lot). (Laruence)
 1010:   . Fixed bug #62328 (implementing __toString and a cast to string fails)
 1011:     (Laruence)
 1012:   . Fixed bug #51363 (Fatal error raised by var_export() not caught by error
 1013:     handler). (Lonny Kapelushnik)
 1014:   . Fixed bug #40459 (Stat and Dir stream wrapper methods do not call
 1015:     constructor). (Stas)
 1016: 
 1017: - CURL:
 1018:   . Fixed bug #62912 (CURLINFO_PRIMARY_* AND CURLINFO_LOCAL_* not exposed).
 1019: 	(Pierrick)
 1020:   . Fixed bug #62839 (curl_copy_handle segfault with CURLOPT_FILE). (Pierrick)
 1021: 
 1022: - Intl:
 1023:   . Fixed Spoofchecker not being registered on ICU 49.1. (Gustavo)
 1024:   . Fix bug #62933 (ext/intl compilation error on icu 3.4.1). (Gustavo)
 1025:   . Fix bug #62915 (defective cloning in several intl classes). (Gustavo)
 1026: 
 1027: - Installation:
 1028:   . Fixed bug #62460 (php binaries installed as binary.dSYM). (Reeze Xia)
 1029: 
 1030: - PCRE:
 1031:   . Fixed bug #55856 (preg_replace should fail on trailing garbage).
 1032:     (reg dot php at alf dot nu)
 1033: 
 1034: - PDO:
 1035:   . Fixed bug #62685 (Wrong return datatype in PDO::inTransaction()). (Laruence)
 1036: 
 1037: - Reflection:
 1038:   . Fixed bug #62892 (ReflectionClass::getTraitAliases crashes on importing
 1039:     trait methods as private). (Felipe)
 1040:   . Fixed bug #62715 (ReflectionParameter::isDefaultValueAvailable() wrong
 1041:     result). (Laruence)
 1042: 
 1043: - Session:
 1044:   . Fixed bug (segfault due to retval is not initialized). (Laruence)
 1045:   . Fixed bug (segfault due to PS(mod_user_implemented) not be reseted
 1046:     when close handler call exit). (Laruence)
 1047: 
 1048: - SOAP
 1049:   . Fixed bug #50997 (SOAP Error when trying to submit 2nd Element of a choice).
 1050:     (Dmitry)
 1051: 
 1052: - SPL:
 1053:   . Fixed bug #62904 (Crash when cloning an object which inherits SplFixedArray)
 1054:     (Laruence)
 1055:   . Implemented FR #62840 (Add sort flag to ArrayObject::ksort). (Laruence)
 1056: 
 1057: - Standard:
 1058:   . Fixed bug #62836 (Seg fault or broken object references on unserialize()).
 1059:     (Laruence)
 1060: 
 1061: - FPM:
 1062:   . Merged PR 121 by minitux to add support for slow request counting on PHP
 1063:     FPM status page. (Lars)
 1064: 
 1065: 16 Aug 2012, PHP 5.4.6
 1066: 
 1067: - CLI Server:
 1068:   . Implemented FR #62700 (have the console output 'Listening on
 1069:     http://localhost:8000'). (pascal.chevrel@free.fr)
 1070: 
 1071: - Core:
 1072:   . Fixed bug #62661 (Interactive php-cli crashes if include() is used in
 1073:     auto_prepend_file). (Laruence)
 1074:   . Fixed bug #62653: (unset($array[$float]) causes a crash). (Nikita Popov,
 1075:     Laruence)
 1076:   . Fixed bug #62565 (Crashes due non-initialized internal properties_table).
 1077:     (Felipe)
 1078:   . Fixed bug #60194 (--with-zend-multibyte and --enable-debug reports LEAK
 1079:     with run-test.php). (Laruence)
 1080: 
 1081: - CURL:
 1082:   . Fixed bug #62499 (curl_setopt($ch, CURLOPT_COOKIEFILE, "") returns false).
 1083:     (r.hampartsumyan@gmail.com, Laruence)
 1084: 
 1085: - DateTime:
 1086:   . Fixed Bug #62500 (Segfault in DateInterval class when extended). (Laruence)
 1087: 
 1088: - Fileinfo:
 1089:   . Fixed bug #61964 (finfo_open with directory causes invalid free).
 1090:     (reeze.xia@gmail.com)
 1091: 
 1092: - Intl:
 1093:   . Fixed bug #62564 (Extending MessageFormatter and adding property causes
 1094:     crash). (Felipe)
 1095: 
 1096: - MySQLnd:
 1097:   . Fixed bug #62594 (segfault in mysqlnd_res_meta::set_mode). (Laruence)
 1098: 
 1099: - readline:
 1100:   . Fixed bug #62612 (readline extension compilation fails with
 1101:     sapi/cli/cli.h: No such file). (Johannes)
 1102: 
 1103: - Reflection:
 1104:   . Implemented FR #61602 (Allow access to name of constant used as default
 1105:     value). (reeze.xia@gmail.com)
 1106: 
 1107: - SimpleXML:
 1108:   . Implemented FR #55218 Get namespaces from current node. (Lonny)
 1109: 
 1110: - SPL:
 1111:   . Fixed bug #62616 (ArrayIterator::count() from IteratorIterator instance
 1112:     gives Segmentation fault). (Laruence, Gustavo)
 1113:   . Fixed bug #61527 (ArrayIterator gives misleading notice on next() when
 1114:     moved to the end). (reeze.xia@gmail.com)
 1115: 
 1116: - Streams:
 1117:   . Fixed bug #62597 (segfault in php_stream_wrapper_log_error with ZTS build).
 1118:     (Laruence)
 1119: 
 1120: - Zlib:
 1121:   . Fixed bug #55544 (ob_gzhandler always conflicts with
 1122:     zlib.output_compression). (Laruence)
 1123: 
 1124: 19 Jul 2012, PHP 5.4.5
 1125: 
 1126: - Core:
 1127:   . Fixed bug #62443 (Crypt SHA256/512 Segfaults With Malformed
 1128:     Salt). (Anthony Ferrara)
 1129:   . Fixed bug #62432 (ReflectionMethod random corrupt memory on high
 1130:     concurrent). (Johannes)
 1131:   . Fixed bug #62373 (serialize() generates wrong reference to the object).
 1132:     (Moriyoshi)
 1133:   . Fixed bug #62357 (compile failure: (S) Arguments missing for built-in
 1134:     function __memcmp). (Laruence)
 1135:   . Fixed bug #61998 (Using traits with method aliases appears to result in
 1136:     crash during execution). (Dmitry)
 1137:   . Fixed bug #51094 (parse_ini_file() with INI_SCANNER_RAW cuts a value that
 1138:     includes a semi-colon). (Pierrick)
 1139:   . Fixed potential overflow in _php_stream_scandir (CVE-2012-2688).
 1140:     (Jason Powell, Stas)
 1141: 
 1142: - EXIF:
 1143:   . Fixed information leak in ext exif (discovered by Martin Noga,
 1144:     Matthew "j00ru" Jurczyk, Gynvael Coldwind)
 1145: 
 1146: - FPM:
 1147:   . Fixed bug #62205 (php-fpm segfaults (null passed to strstr)). (fat)
 1148:   . Fixed bug #62160 (Add process.priority to set nice(2) priorities). (fat)
 1149:   . Fixed bug #62153 (when using unix sockets, multiples FPM instances
 1150:   . Fixed bug #62033 (php-fpm exits with status 0 on some failures to start).
 1151:     (fat)
 1152:   . Fixed bug #61839 (Unable to cross-compile PHP with --enable-fpm). (fat)
 1153:   . Fixed bug #61835 (php-fpm is not allowed to run as root). (fat)
 1154:   . Fixed bug #61295 (php-fpm should not fail with commented 'user'
 1155:   . Fixed bug #61218 (FPM drops connection while receiving some binary values
 1156:     in FastCGI requests). (fat)
 1157:   . Fixed bug #61045 (fpm don't send error log to fastcgi clients). (fat)
 1158:     for non-root start). (fat)
 1159:   . Fixed bug #61026 (FPM pools can listen on the same address). (fat)
 1160:     can be launched without errors). (fat)
 1161: 
 1162: - Iconv:
 1163:   . Fix bug #55042 (Erealloc in iconv.c unsafe). (Stas)
 1164: 
 1165: - Intl:
 1166:   . Fixed bug #62083 (grapheme_extract() memory leaks). (Gustavo)
 1167:   . ResourceBundle constructor now accepts NULL for the first two arguments.
 1168:     (Gustavo)
 1169:   . Fixed bug #62081 (IntlDateFormatter constructor leaks memory when called
 1170:     twice). (Gustavo)
 1171:   . Fixed bug #62070 (Collator::getSortKey() returns garbage). (Gustavo)
 1172:   . Fixed bug #62017 (datefmt_create with incorrectly encoded timezone leaks
 1173:     pattern). (Gustavo)
 1174:   . Fixed bug #60785 (memory leak in IntlDateFormatter constructor). (Gustavo)
 1175: 
 1176: - JSON:
 1177:   . Fixed bug #61359 (json_encode() calls too many reallocs). (Stas)
 1178: 
 1179: - libxml:
 1180:   . Fixed bug #62266 (Custom extension segfaults during xmlParseFile with FPM
 1181:     SAPI). (Gustavo)
 1182: 
 1183: - Phar:
 1184:   . Fixed bug #62227 (Invalid phar stream path causes crash). (Felipe)
 1185: 
 1186: - Readline:
 1187:   . Fixed bug #62186 (readline fails to compile - void function should not
 1188:     return a value). (Johannes)
 1189: 
 1190: - Reflection:
 1191:   . Fixed bug #62384 (Attempting to invoke a Closure more than once causes
 1192:     segfault). (Felipe)
 1193:   . Fixed bug #62202 (ReflectionParameter::getDefaultValue() memory leaks
 1194:     with constant). (Laruence)
 1195: 
 1196: - Sockets:
 1197:   . Fixed bug #62025 (__ss_family was changed on AIX 5.3). (Felipe)
 1198: 
 1199: - SPL:
 1200:   . Fixed bug #62433 (Inconsistent behavior of RecursiveDirectoryIterator to
 1201:     dot files). (Laruence)
 1202:   . Fixed bug #62262 (RecursiveArrayIterator does not implement Countable).
 1203:     (Nikita Popov)
 1204: 
 1205: - XML Writer:
 1206:   . Fixed bug #62064 (memory leak in the XML Writer module).
 1207:     (jean-pierre dot lozi at lip6 dot fr)
 1208: 
 1209: - Zip:
 1210:   . Upgraded libzip to 0.10.1 (Anatoliy)
 1211: 
 1212: 14 Jun 2012, PHP 5.4.4
 1213: 
 1214: - COM:
 1215:   . Fixed bug #62146 com_dotnet cannot be built shared. (Johannes)
 1216: 
 1217: - CLI Server:
 1218:   . Implemented FR #61977 (Need CLI web-server support for files with .htm &
 1219:     svg extensions). (Sixd, Laruence)
 1220:   . Improved performance while sending error page, this also fixed
 1221:     bug #61785 (Memory leak when access a non-exists file without router).
 1222:     (Laruence)
 1223:   . Fixed bug #61546 (functions related to current script failed when chdir()
 1224:     in cli sapi). (Laruence, reeze.xia@gmail.com)
 1225: 
 1226: - Core:
 1227:   . Fixed missing bound check in iptcparse(). (chris at chiappa.net)
 1228:   . Fixed CVE-2012-2143. (Solar Designer)
 1229:   . Fixed bug #62097 (fix for for bug #54547). (Gustavo)
 1230:   . Fixed bug #62005 (unexpected behavior when incrementally assigning to a
 1231:     member of a null object). (Laruence)
 1232:   . Fixed bug #61978 (Object recursion not detected for classes that implement
 1233:     JsonSerializable). (Felipe)
 1234:   . Fixed bug #61991 (long overflow in realpath_cache_get()). (Anatoliy)
 1235:   . Fixed bug #61922 (ZTS build doesn't accept zend.script_encoding config).
 1236:     (Laruence)
 1237:   . Fixed bug #61827 (incorrect \e processing on Windows) (Anatoliy)
 1238:   . Fixed bug #61782 (__clone/__destruct do not match other methods when checking
 1239:     access controls). (Stas)
 1240:   . Fixed bug #61764 ('I' unpacks n as signed if n > 2^31-1 on LP64). (Gustavo)
 1241:   . Fixed bug #61761 ('Overriding' a private static method with a different
 1242:     signature causes crash). (Laruence)
 1243:   . Fixed bug #61730 (Segfault from array_walk modifying an array passed by
 1244:     reference). (Laruence)
 1245:   . Fixed bug #61728 (PHP crash when calling ob_start in request_shutdown
 1246:     phase). (Laruence)
 1247:   . Fixed bug #61713 (Logic error in charset detection for htmlentities).
 1248:     (Anatoliy)
 1249:   . Fixed bug #61660 (bin2hex(hex2bin($data)) != $data). (Nikita Popov)
 1250:   . Fixed bug #61650 (ini parser crashes when using ${xxxx} ini variables
 1251:     (without apache2)). (Laruence)
 1252:   . Fixed bug #61605 (header_remove() does not remove all headers). (Laruence)
 1253:   . Fixed bug #54547 (wrong equality of string numbers). (Gustavo)
 1254:   . Fixed bug #54197 ([PATH=] sections incompatibility with user_ini.filename
 1255:     set to null). (Anatoliy)
 1256:   . Changed php://fd to be available only for CLI.
 1257: 
 1258: - CURL:
 1259:   . Fixed bug #61948 (CURLOPT_COOKIEFILE '' raises open_basedir restriction).
 1260:     (Laruence)
 1261: 
 1262: - Fileinfo
 1263:   . Fixed bug #61812 (Uninitialised value used in libmagic).
 1264:     (Laruence, Gustavo)
 1265:   . Fixed bug #61566 failure caused by the posix lseek and read versions
 1266:     under windows in cdf_read(). (Anatoliy)
 1267:   . Fixed bug #61565 where php_stream_open_wrapper_ex tries to open a
 1268:     directory descriptor under windows. (Anatoliy)
 1269: 
 1270: - Intl
 1271:   . Fixed bug #62082 (Memory corruption in internal function
 1272:     get_icu_disp_value_src_php()). (Gustavo)
 1273: 
 1274: - Libxml:
 1275:   . Fixed bug #61617 (Libxml tests failed(ht is already destroyed)).
 1276:     (Laruence)
 1277: 
 1278: - PDO:
 1279:   . Fixed bug #61755 (A parsing bug in the prepared statements can lead to
 1280:     access violations). (Johannes)
 1281: 
 1282: - Phar:
 1283:   . Fixed bug #61065 (Secunia SA44335, CVE-2012-2386). (Rasmus)
 1284: 
 1285: - Pgsql:
 1286:   . Added pg_escape_identifier/pg_escape_literal. (Yasuo Ohgaki)
 1287: 
 1288: - Streams:
 1289:   . Fixed bug #61961 (file_get_contents leaks when access empty file with
 1290:     maxlen set). (Reeze)
 1291: 
 1292: - Zlib:
 1293:   . Fixed bug #61820 (using ob_gzhandler will complain about headers already
 1294:     sent when no compression). (Mike)
 1295:   . Fixed bug #61443 (can't change zlib.output_compression on the fly). (Mike)
 1296:   . Fixed bug #60761 (zlib.output_compression fails on refresh). (Mike)
 1297: 
 1298: 08 May 2012, PHP 5.4.3
 1299: 
 1300: - CGI
 1301:   . Re-Fix PHP-CGI query string parameter vulnerability, CVE-2012-1823.
 1302:     (Stas)
 1303:   . Fix bug #61807 - Buffer Overflow in apache_request_headers.
 1304:     (nyt-php at countercultured dot net).
 1305: 
 1306: 03 May 2012, PHP 5.4.2
 1307: 
 1308: - Fix PHP-CGI query string parameter vulnerability, CVE-2012-1823. (Rasmus)
 1309: 
 1310: 26 Apr 2012, PHP 5.4.1
 1311: 
 1312: - CLI Server:
 1313:   . Fixed bug #61461 (missing checks around malloc() calls). (Ilia)
 1314:   . Implemented FR #60850 (Built in web server does not set
 1315:     $_SERVER['SCRIPT_FILENAME'] when using router). (Laruence)
 1316:   . "Connection: close" instead of "Connection: closed" (Gustavo)
 1317: 
 1318: - Core:
 1319:   . Fixed crash in ZTS using same class in many threads. (Johannes)
 1320:   . Fixed bug #61374 (html_entity_decode tries to decode code points that don't
 1321:     exist in ISO-8859-1). (Gustavo)
 1322:   . Fixed bug #61273 (call_user_func_array with more than 16333 arguments
 1323:     leaks / crashes). (Laruence)
 1324:   . Fixed bug #61225 (Incorrect lexing of 0b00*+<NUM>). (Pierrick)
 1325:   . Fixed bug #61165 (Segfault - strip_tags()). (Laruence)
 1326:   . Fixed bug #61106 (Segfault when using header_register_callback). (Nikita
 1327:     Popov)
 1328:   . Fixed bug #61087 (Memory leak in parse_ini_file when specifying
 1329:     invalid scanner mode). (Nikic, Laruence)
 1330:   . Fixed bug #61072 (Memory leak when restoring an exception handler).
 1331:     (Nikic, Laruence)
 1332:   . Fixed bug #61058 (array_fill leaks if start index is PHP_INT_MAX).
 1333:     (Laruence)
 1334:   . Fixed bug #61052 (Missing error check in trait 'insteadof' clause). (Stefan)
 1335:   . Fixed bug #61011 (Crash when an exception is thrown by __autoload
 1336:     accessing a static property). (Laruence)
 1337:   . Fixed bug #61000 (Exceeding max nesting level doesn't delete numerical
 1338:     vars). (Laruence)
 1339:   . Fixed bug #60978 (exit code incorrect). (Laruence)
 1340:   . Fixed bug #60911 (Confusing error message when extending traits). (Stefan)
 1341:   . Fixed bug #60801 (strpbrk() mishandles NUL byte). (Adam)
 1342:   . Fixed bug #60717 (Order of traits in use statement can cause a fatal
 1343:     error). (Stefan)
 1344:   . Fixed bug #60573 (type hinting with "self" keyword causes weird errors).
 1345:     (Laruence)
 1346:   . Fixed bug #60569 (Nullbyte truncates Exception $message). (Ilia)
 1347:   . Fixed bug #52719 (array_walk_recursive crashes if third param of the
 1348:     function is by reference). (Nikita Popov)
 1349:   . Improve performance of set_exception_handler while doing reset (Laruence)
 1350: 
 1351: - fileinfo:
 1352:   . Fix fileinfo test problems. (Anatoliy Belsky)
 1353: 
 1354: - FPM
 1355:   . Fixed bug #61430 (Transposed memset() params in sapi/fpm/fpm/fpm_shm.c).
 1356:     (michaelhood at gmail dot com, Ilia)
 1357: 
 1358: - Ibase
 1359:   . Fixed bug #60947 (Segmentation fault while executing ibase_db_info).
 1360:     (Ilia)
 1361: 
 1362: - Installation
 1363:   . Fixed bug #61172 (Add Apache 2.4 support). (Chris Jones)
 1364: 
 1365: - Intl:
 1366:   . Fixed bug #61487 (Incorrent bounds checking in grapheme_strpos).
 1367:     (Stas)
 1368: 
 1369: - mbstring:
 1370:   . MFH mb_ereg_replace_callback() for security enhancements. (Rui)
 1371: 
 1372: - mysqli
 1373:   . Fixed bug #61003 (mysql_stat() require a valid connection). (Johannes).
 1374: 
 1375: - mysqlnd
 1376:   . Fixed bug #61704 (Crash apache, phpinfo() threading issue). (Johannes)
 1377:   . Fixed bug #60948 (mysqlnd FTBFS when -Wformat-security is enabled).
 1378:     (Johannes)
 1379: 
 1380: - PDO
 1381:   . Fixed bug #61292 (Segfault while calling a method on an overloaded PDO
 1382:     object). (Laruence)
 1383: 
 1384: - PDO_mysql
 1385:   . Fixed bug #61207 (PDO::nextRowset() after a multi-statement query doesn't
 1386:     always work). (Johannes)
 1387:   . Fixed bug #61194 (PDO should export compression flag with myslqnd).
 1388:     (Johannes)
 1389: 
 1390: - PDO_odbc
 1391:   . Fixed bug #61212 (PDO ODBC Segfaults on SQL_SUCESS_WITH_INFO). (Ilia)
 1392: 
 1393: - Phar
 1394:   . Fixed bug #61184 (Phar::webPhar() generates headers with trailing NUL
 1395:     bytes). (Nikita Popov)
 1396: 
 1397: - Readline:
 1398:   . Fixed bug #61088 (Memory leak in readline_callback_handler_install).
 1399:     (Nikic, Laruence)
 1400: 
 1401: - Reflection:
 1402:   . Implemented FR #61602 (Allow access to the name of constant
 1403:     used as function/method parameter's default value). (reeze.xia@gmail.com)
 1404:   . Fixed bug #60968 (Late static binding doesn't work with
 1405:     ReflectionMethod::invokeArgs()). (Laruence)
 1406: 
 1407: - Session
 1408:   . Fixed bug #60634 (Segmentation fault when trying to die() in
 1409:     SessionHandler::write()). (Ilia)
 1410: 
 1411: - SOAP
 1412:   . Fixed bug #61423 (gzip compression fails). (Ilia)
 1413:   . Fixed bug #60887 (SoapClient ignores user_agent option and sends no
 1414:     User-Agent header). (carloschilazo at gmail dot com)
 1415:   . Fixed bug #60842, #51775 (Chunked response parsing error when
 1416:     chunksize length line is > 10 bytes). (Ilia)
 1417:   . Fixed bug #49853 (Soap Client stream context header option ignored).
 1418:     (Dmitry)
 1419: 
 1420: - SPL:
 1421:   . Fixed bug #61453 (SplObjectStorage does not identify objects correctly).
 1422:     (Gustavo)
 1423:   . Fixed bug #61347 (inconsistent isset behavior of Arrayobject). (Laruence)
 1424: 
 1425: - Standard:
 1426:   . Fixed memory leak in substr_replace. (Pierrick)
 1427:   . Make max_file_uploads ini directive settable outside of php.ini (Rasmus)
 1428:   . Fixed bug #61409 (Bad formatting on phpinfo()). (Jakub Vrana)
 1429:   . Fixed bug #60222 (time_nanosleep() does validate input params). (Ilia)
 1430:   . Fixed bug #60106 (stream_socket_server silently truncates long unix socket
 1431:     paths). (Ilia)
 1432: 
 1433: - XMLRPC:
 1434:   . Fixed bug #61264 (xmlrpc_parse_method_descriptions leaks temporary
 1435:     variable). (Nikita Popov)
 1436:   . Fixed bug #61097 (Memory leak in xmlrpc functions copying zvals). (Nikita
 1437:     Popov)
 1438: 
 1439: - Zlib:
 1440:   . Fixed bug #61306 (initialization of global inappropriate for ZTS). (Gustavo)
 1441:   . Fixed bug #61287 (A particular string fails to decompress). (Mike)
 1442:   . Fixed bug #61139 (gzopen leaks when specifying invalid mode). (Nikita Popov)
 1443: 
 1444: 01 Mar 2012, PHP 5.4.0
 1445: 
 1446: - Installation:
 1447:   . autoconf 2.59+ is now supported (and required) for generating the
 1448:     configure script with ./buildconf. Autoconf 2.60+ is desirable
 1449:     otherwise the configure help order may be incorrect.  (Rasmus, Chris Jones)
 1450: 
 1451: - Removed legacy features:
 1452:   . break/continue $var syntax. (Dmitry)
 1453:   . Safe mode and all related php.ini options. (Kalle)
 1454:   . register_globals and register_long_arrays php.ini options. (Kalle)
 1455:   . import_request_variables(). (Kalle)
 1456:   . allow_call_time_pass_reference. (Pierrick)
 1457:   . define_syslog_variables php.ini option and its associated function. (Kalle)
 1458:   . highlight.bg php.ini option. (Kalle)
 1459:   . safe_mode, safe_mode_gid, safe_mode_include_dir,
 1460:     safe_mode_exec_dir, safe_mode_allowed_env_vars and
 1461:     safe_mode_protected_env_vars php.ini options.
 1462:   . zend.ze1_compatibility_mode php.ini option.
 1463:   . Session bug compatibility mode (session.bug_compat_42 and
 1464:     session.bug_compat_warn php.ini options). (Kalle)
 1465:   . session_is_registered(), session_register() and session_unregister()
 1466:     functions. (Kalle)
 1467:   . y2k_compliance php.ini option. (Kalle)
 1468:   . magic_quotes_gpc, magic_quotes_runtime and magic_quotes_sybase
 1469:     php.ini options. get_magic_quotes_gpc, get_magic_quotes_runtime are kept
 1470:     but always return false, set_magic_quotes_runtime raises an
 1471:     E_CORE_ERROR. (Pierrick, Pierre)
 1472:   . Removed support for putenv("TZ=..") for setting the timezone. (Derick)
 1473:   . Removed the timezone guessing algorithm in case the timezone isn't set with
 1474:     date.timezone or date_default_timezone_set(). Instead of a guessed
 1475:     timezone, "UTC" is now used instead. (Derick)
 1476: 
 1477: - Moved extensions to PECL:
 1478:   . ext/sqlite.  (Note: the ext/sqlite3 and ext/pdo_sqlite extensions are
 1479:     not affected) (Johannes)
 1480: 
 1481: - General improvements:
 1482:   . Added short array syntax support ([1,2,3]), see UPGRADING guide for full
 1483:     details. (rsky0711 at gmail . com, sebastian.deutsch at 9elements . com,
 1484:     Pierre)
 1485:   . Added binary number format (0b001010). (Jonah dot Harris at gmail dot com)
 1486:   . Added support for Class::{expr}() syntax (Pierrick)
 1487:   . Added multibyte support by default. Previously PHP had to be compiled
 1488:     with --enable-zend-multibyte.  Now it can be enabled or disabled through
 1489:     the zend.multibyte directive in php.ini. (Dmitry)
 1490:   . Removed compile time dependency from ext/mbstring (Dmitry)
 1491:   . Added support for Traits. (Stefan, with fixes by Dmitry and Laruence)
 1492:   . Added closure $this support back. (Stas)
 1493:   . Added array dereferencing support. (Felipe)
 1494:   . Added callable typehint. (Hannes)
 1495:   . Added indirect method call through array. FR #47160. (Felipe)
 1496:   . Added DTrace support. (David Soria Parra)
 1497:   . Added class member access on instantiation (e.g. (new foo)->bar()) support.
 1498:     (Felipe)
 1499:   . <?= is now always available regardless of the short_open_tag setting. (Rasmus)
 1500:   . Implemented Zend Signal Handling (configurable option --enable-zend-signals,
 1501:     off by default). (Lucas Nealan, Arnaud Le Blanc, Brian Shire, Ilia)
 1502:   . Improved output layer, see README.NEW-OUTPUT-API for internals. (Mike)
 1503:   . Improved UNIX build system to allow building multiple PHP binary SAPIs and
 1504:     one SAPI module the same time. FR #53271, FR #52419. (Jani)
 1505:   . Implemented closure rebinding as parameter to bindTo. (Gustavo Lopes)
 1506:   . Improved the warning message of incompatible arguments. (Laruence)
 1507:   . Improved ternary operator performance when returning arrays. (Arnaud, Dmitry)
 1508:   . Changed error handlers to only generate docref links when the docref_root
 1509:     php.ini setting is not empty. (Derick)
 1510:   . Changed silent conversion of array to string to produce a notice. (Patrick)
 1511:   . Changed default encoding from ISO-8859-1 to UTF-8 when not specified in
 1512:     htmlspecialchars and htmlentities. (Rasmus)
 1513:   . Changed casting of null/''/false into an Object when adding a property
 1514:     from E_STRICT into a warning. (Scott)
 1515:   . Changed E_ALL to include E_STRICT. (Stas)
 1516:   . Disabled Windows CRT warning by default, can be enabled again using the
 1517:     php.ini directive windows_show_crt_warnings. (Pierre)
 1518:   . Fixed bug #55378: Binary number literal returns float number though its
 1519:     value is small enough. (Derick)
 1520: 
 1521: - Improved Zend Engine memory usage: (Dmitry)
 1522:   . Improved parse error messages. (Felipe)
 1523:   . Replaced zend_function.pass_rest_by_reference by
 1524:     ZEND_ACC_PASS_REST_BY_REFERENCE in zend_function.fn_flags.
 1525:   . Replaced zend_function.return_reference by ZEND_ACC_RETURN_REFERENCE
 1526:     in zend_function.fn_flags.
 1527:   . Removed zend_arg_info.required_num_args as it was only needed for internal
 1528:     functions. Now the first arg_info for internal functions (which has special
 1529:     meaning) is represented by the zend_internal_function_info structure.
 1530:   . Moved zend_op_array.size, size_var, size_literal, current_brk_cont,
 1531:     backpatch_count into CG(context) as they are used only during compilation.
 1532:   . Moved zend_op_array.start_op into EG(start_op) as it's used only for
 1533:     'interactive' execution of a single top-level op-array.
 1534:   . Replaced zend_op_array.done_pass_two by ZEND_ACC_DONE_PASS_TWO in
 1535:     zend_op_array.fn_flags.
 1536:   . op_array.vars array is trimmed (reallocated) during pass_two.
 1537:   . Replaced zend_class_entry.constants_updated by ZEND_ACC_CONSTANTS_UPDATED
 1538:     in zend_class_entry.ce_flags.
 1539:   . Reduced the size of zend_class_entry by sharing the same memory space
 1540:     by different information for internal and user classes.
 1541:     See zend_class_entry.info union.
 1542:   . Reduced size of temp_variable.
 1543: 
 1544: - Improved Zend Engine - performance tweaks and optimizations: (Dmitry)
 1545:   . Inlined most probable code-paths for arithmetic operations directly into
 1546:     executor.
 1547:   . Eliminated unnecessary iterations during request startup/shutdown.
 1548:   . Changed $GLOBALS into a JIT autoglobal, so it's initialized only if used.
 1549:     (this may affect opcode caches!)
 1550:   . Improved performance of @ (silence) operator.
 1551:   . Simplified string offset reading. Given $str="abc" then $str[1][0] is now
 1552:     a legal construct.
 1553:   . Added caches to eliminate repeatable run-time bindings of functions,
 1554:     classes, constants, methods and properties.
 1555:   . Added concept of interned strings. All strings constants known at compile
 1556:     time are allocated in a single copy and never changed.
 1557:   . ZEND_RECV now always has IS_CV as its result.
 1558:   . ZEND_CATCH now has to be used only with constant class names.
 1559:   . ZEND_FETCH_DIM_? may fetch array and dimension operands in different order.
 1560:   . Simplified ZEND_FETCH_*_R operations. They can't be used with the
 1561:     EXT_TYPE_UNUSED flag any more. This is a very rare and useless case.
 1562:     ZEND_FREE might be required after them instead.
 1563:   . Split ZEND_RETURN into two new instructions ZEND_RETURN and
 1564:     ZEND_RETURN_BY_REF.
 1565:   . Optimized access to global constants using values with pre-calculated
 1566:     hash_values from the literals table.
 1567:   . Optimized access to static properties using executor specialization.
 1568:     A constant class name may be used as a direct operand of ZEND_FETCH_*
 1569:     instruction without previous ZEND_FETCH_CLASS.
 1570:   . zend_stack and zend_ptr_stack allocation is delayed until actual usage.
 1571: 
 1572: - Other improvements to Zend Engine:
 1573:   . Added an optimization which saves memory and emalloc/efree calls for empty
 1574:     HashTables. (Stas, Dmitry)
 1575:   . Added ability to reset user opcode handlers (Yoram).
 1576:   . Changed the structure of op_array.opcodes. The constant values are moved from
 1577:     opcode operands into a separate literal table. (Dmitry)
 1578:   . Fixed (disabled) inline-caching for ZEND_OVERLOADED_FUNCTION methods.
 1579:     (Dmitry)
 1580: 
 1581: - Improved core functions:
 1582:   . Enforce an extended class' __construct arguments to match the
 1583:     abstract constructor in the base class.
 1584:   . Disallow reusing superglobal names as parameter names.
 1585:   . Added optional argument to debug_backtrace() and debug_print_backtrace()
 1586:     to limit the amount of stack frames returned. (Sebastian, Patrick)
 1587:   . Added hex2bin() function. (Scott)
 1588:   . number_format() no longer truncates multibyte decimal points and thousand
 1589:     separators to the first byte. FR #53457. (Adam)
 1590:   . Added support for object references in recursive serialize() calls.
 1591:     FR #36424. (Mike)
 1592:   . Added support for SORT_NATURAL and SORT_FLAG_CASE in array
 1593:     sort functions (sort, rsort, ksort, krsort, asort, arsort and
 1594:     array_multisort). FR#55158 (Arpad)
 1595:   . Added stream metadata API support and stream_metadata() stream class
 1596:     handler. (Stas)
 1597:   . User wrappers can now define a stream_truncate() method that responds
 1598:     to truncation, e.g. through ftruncate(). FR #53888. (Gustavo)
 1599:   . Improved unserialize() performance.
 1600:     (galaxy dot mipt at gmail dot com, Kalle)
 1601:   . Changed array_combine() to return empty array instead of FALSE when both
 1602:     parameter arrays are empty. FR #34857. (joel.perras@gmail.com)
 1603:   . Fixed bug #61095 (Incorect lexing of 0x00*+<NUM>). (Etienne)
 1604:   . Fixed bug #60965 (Buffer overflow on htmlspecialchars/entities with
 1605:     $double=false). (Gustavo)
 1606:   . Fixed bug #60895 (Possible invalid handler usage in windows random
 1607:     functions). (Pierre)
 1608:   . Fixed bug #60879 (unserialize() Does not invoke __wakeup() on object).
 1609:     (Pierre, Steve)
 1610:   . Fixed bug #60825 (Segfault when running symfony 2 tests).
 1611:     (Dmitry, Laruence)
 1612:   . Fixed bug #60627 (httpd.worker segfault on startup with php_value).
 1613:   . Fixed bug #60613 (Segmentation fault with $cls->{expr}() syntax). (Dmitry)
 1614:   . Fixed bug #60611 (Segmentation fault with Cls::{expr}() syntax). (Laruence)
 1615:     (Laruence)
 1616:   . Fixed bug #60558 (Invalid read and writes). (Laruence)
 1617:   . Fixed bug #60444 (Segmentation fault with include & class extending).
 1618:     (Laruence, Dmitry).
 1619:   . Fixed bug #60362 (non-existent sub-sub keys should not have values).
 1620:     (Laruence, alan_k, Stas)
 1621:   . Fixed bug #60350 (No string escape code for ESC (ascii 27), normally \e).
 1622:     (php at mickweiss dot com)
 1623:   . Fixed bug #60321 (ob_get_status(true) no longer returns an array when
 1624:     buffer is empty). (Pierrick)
 1625:   . Fixed bug #60282 (Segfault when using ob_gzhandler() with open buffers).
 1626:     (Laruence)
 1627:   . Fixed bug #60240 (invalid read/writes when unserializing specially crafted
 1628:     strings). (Mike)
 1629:   . Fixed bug #60227 (header() cannot detect the multi-line header with
 1630:      CR(0x0D)). (rui)
 1631:   . Fixed bug #60174 (Notice when array in method prototype error).
 1632:     (Laruence)
 1633:   . Fixed bug #60169 (Conjunction of ternary and list crashes PHP).
 1634:     (Laruence)
 1635:   . Fixed bug #60038 (SIGALRM cause segfault in php_error_cb). (Laruence)
 1636:     (klightspeed at netspace dot net dot au)
 1637:   . Fixed bug #55871 (Interruption in substr_replace()). (Stas)
 1638:   . Fixed bug #55801 (Behavior of unserialize has changed). (Mike)
 1639:   . Fixed bug #55758 (Digest Authenticate missed in 5.4) . (Laruence)
 1640:   . Fixed bug #55748 (multiple NULL Pointer Dereference with zend_strndup())
 1641:     (CVE-2011-4153). (Stas)
 1642:   . Fixed bug #55124 (recursive mkdir fails with current (dot) directory in path).
 1643:     (Pierre)
 1644:   . Fixed bug #55084 (Function registered by header_register_callback is
 1645:     called only once per process). (Hannes)
 1646:   . Implement FR #54514 (Get php binary path during script execution).
 1647:     (Laruence)
 1648:   . Fixed bug #52211 (iconv() returns part of string on error). (Felipe)
 1649:   . Fixed bug #51860 (Include fails with toplevel symlink to /). (Dmitry)
 1650: 
 1651: - Improved generic SAPI support:
 1652:   . Added $_SERVER['REQUEST_TIME_FLOAT'] to include microsecond precision.
 1653:     (Patrick)
 1654:   . Added header_register_callback() which is invoked immediately
 1655:     prior to the sending of headers and after default headers have
 1656:     been added. (Scott)
 1657:   . Added http_response_code() function. FR #52555. (Paul Dragoonis, Kalle)
 1658:   . Fixed bug #55500 (Corrupted $_FILES indices lead to security concern).
 1659:     (CVE-2012-1172). (Stas)
 1660:   . Fixed bug #54374 (Insufficient validating of upload name leading to
 1661:     corrupted $_FILES indices). (CVE-2012-1172). (Stas, lekensteyn at gmail dot com)
 1662: 
 1663: - Improved CLI SAPI:
 1664:   . Added built-in web server that is intended for testing purpose.
 1665:     (Moriyoshi, Laruence, and fixes by Pierre, Derick, Arpad,
 1666:     chobieee at gmail dot com)
 1667:   . Added command line option --rz <name> which shows information of the
 1668:     named Zend extension. (Johannes)
 1669:   . Interactive readline shell improvements: (Johannes)
 1670:     . Added "cli.pager" php.ini setting to set a pager for output.
 1671:     . Added "cli.prompt" php.ini setting to configure the shell prompt.
 1672:     . Added shortcut #inisetting=value to change php.ini settings at run-time.
 1673:     . Changed shell not to terminate on fatal errors.
 1674:     . Interactive shell works with shared readline extension. FR #53878.
 1675: 
 1676: - Improved CGI/FastCGI SAPI: (Dmitry)
 1677:   . Added apache compatible functions: apache_child_terminate(),
 1678:     getallheaders(), apache_request_headers() and apache_response_headers()
 1679:   . Improved performance of FastCGI request parsing.
 1680:   . Fixed reinitialization of SAPI callbacks after php_module_startup().
 1681:     (Dmitry)
 1682: 
 1683: - Improved PHP-FPM SAPI:
 1684:   . Removed EXPERIMENTAL flag. (fat)
 1685:   . Fixed bug #60659 (FPM does not clear auth_user on request accept).
 1686:     (bonbons at linux-vserver dot org)
 1687: 
 1688: - Improved Litespeed SAPI:
 1689:   . Fixed bug #55769 (Make Fails with "Missing Separator" error). (Adam)
 1690: 
 1691: - Improved Date extension:
 1692:   . Added the + modifier to parseFromFormat to allow trailing text in the
 1693:     string to parse without throwing an error. (Stas, Derick)
 1694: 
 1695: - Improved DBA extension:
 1696:   . Added Tokyo Cabinet abstract DB support. (Michael Maclean)
 1697:   . Added Berkeley DB 5 support. (Johannes, Chris Jones)
 1698: 
 1699: - Improved DOM extension:
 1700:   . Added the ability to pass options to loadHTML (Chregu, fxmulder at gmail dot com)
 1701: 
 1702: - Improved filesystem functions:
 1703:   . scandir() now accepts SCANDIR_SORT_NONE as a possible sorting_order value.
 1704:     FR #53407. (Adam)
 1705: 
 1706: - Improved HASH extension:
 1707:   . Added Jenkins's one-at-a-time hash support. (Martin Jansen)
 1708:   . Added FNV-1 hash support. (Michael Maclean)
 1709:   . Made Adler32 algorithm faster. FR #53213. (zavasek at yandex dot ru)
 1710:   . Removed Salsa10/Salsa20, which are actually stream ciphers (Mike)
 1711:   . Fixed bug #60221 (Tiger hash output byte order) (Mike)
 1712: 
 1713: - Improved intl extension:
 1714:   . Added Spoofchecker class, allows checking for visibly confusable characters and
 1715:     other security issues. (Scott)
 1716:   . Added Transliterator class, allowing transliteration of strings.
 1717:     (Gustavo)
 1718:   . Added support for UTS #46. (Gustavo)
 1719:   . Fixed build on Fedora 15 / Ubuntu 11. (Hannes)
 1720:   . Fixed bug #55562 (grapheme_substr() returns false on big length). (Stas)
 1721: 
 1722: - Improved JSON extension:
 1723:   . Added new json_encode() option JSON_UNESCAPED_UNICODE. FR #53946.
 1724:     (Alexander, Gwynne)
 1725:   . Added JsonSerializable interface. (Sara)
 1726:   . Added JSON_BIGINT_AS_STRING, extended json_decode() sig with $options.
 1727:     (Sara)
 1728:   . Added support for JSON_NUMERIC_CHECK option in json_encode() that converts
 1729:     numeric strings to integers. (Ilia)
 1730:   . Added new json_encode() option JSON_UNESCAPED_SLASHES. FR #49366. (Adam)
 1731:   . Added new json_encode() option JSON_PRETTY_PRINT. FR #44331. (Adam)
 1732: 
 1733: - Improved LDAP extension:
 1734:   . Added paged results support. FR #42060. (ando@OpenLDAP.org,
 1735:     iarenuno@eteo.mondragon.edu, jeanseb@au-fil-du.net, remy.saissy@gmail.com)
 1736: 
 1737: - Improved mbstring extension:
 1738:   . Added Shift_JIS/UTF-8 Emoji (pictograms) support. (Rui)
 1739:   . Added JIS X0213:2004 (Shift_JIS-2004, EUC-JP-2004, ISO-2022-JP-2004)
 1740:     support. (Rui)
 1741:   . Ill-formed UTF-8 check for security enhancements. (Rui)
 1742:   . Added MacJapanese (Shift_JIS) and gb18030 encoding support. (Rui)
 1743:   . Added encode/decode in hex format to mb_[en|de]code_numericentity(). (Rui)
 1744:   . Added user JIS X0213:2004 (Shift_JIS-2004, EUC-JP-2004, ISO-2022-JP-2004)
 1745:     support. (Rui)
 1746:   . Added the user defined area for CP936 and CP950 (Rui).
 1747:   . Fixed bug #60306 (Characters lost while converting from cp936 to utf8).
 1748:     (Laruence)
 1749: 
 1750: - Improved MySQL extensions:
 1751:   . MySQL: Deprecated mysql_list_dbs(). FR #50667. (Andrey)
 1752:   . mysqlnd: Added named pipes support. FR #48082. (Andrey)
 1753:   . MySQLi: Added iterator support in MySQLi. mysqli_result implements
 1754:     Traversable. (Andrey, Johannes)
 1755:   . PDO_mysql: Removed support for linking with MySQL client libraries older
 1756:     than 4.1. (Johannes)
 1757:   . ext/mysql, mysqli and pdo_mysql now use mysqlnd by default. (Johannes)
 1758:   . Fixed bug #55473 (mysql_pconnect leaks file descriptors on reconnect).
 1759:     (Andrey, Laruence)
 1760:   . Fixed bug #55653 (PS crash with libmysql when binding same variable as
 1761:     param and out). (Laruence)
 1762: 
 1763: - Improved OpenSSL extension:
 1764:   . Added AES support. FR #48632. (yonas dot y at gmail dot com, Pierre)
 1765:   . Added no padding option to openssl_encrypt()/openssl_decrypt(). (Scott)
 1766:   . Use php's implementation for Windows Crypto API in
 1767:     openssl_random_pseudo_bytes. (Pierre)
 1768:   . On error in openssl_random_pseudo_bytes() made sure we set strong result
 1769:     to false. (Scott)
 1770:   . Fixed possible attack in SSL sockets with SSL 3.0 / TLS 1.0.
 1771:     CVE-2011-3389. (Scott)
 1772:   . Fixed bug #61124 (Crash when decoding an invalid base64 encoded string).
 1773:     (me at ktamura dot com, Scott)
 1774: 
 1775: - Improved PDO:
 1776:   . Fixed PDO objects binary incompatibility. (Dmitry)
 1777: 
 1778: - PDO DBlib driver:
 1779:   . Added nextRowset support.
 1780:   . Fixed bug #50755 (PDO DBLIB Fails with OOM).
 1781: 
 1782: - Improved PostgreSQL extension:
 1783:   . Added support for "extra" parameter for PGNotify().
 1784:     (r dot i dot k at free dot fr, Ilia)
 1785: 
 1786: - Improved PCRE extension:
 1787:   . Changed third parameter of preg_match_all() to optional. FR #53238. (Adam)
 1788: 
 1789: - Improved Readline extension:
 1790:   . Fixed bug #54450 (Enable callback support when built against libedit).
 1791:     (fedora at famillecollet dot com, Hannes)
 1792: 
 1793: - Improved Reflection extension:
 1794:   . Added ReflectionClass::newInstanceWithoutConstructor() to create a new
 1795:     instance of a class without invoking its constructor. FR #55490.
 1796:     (Sebastian)
 1797:   . Added ReflectionExtension::isTemporary() and
 1798:     ReflectionExtension::isPersistent() methods. (Johannes)
 1799:   . Added ReflectionZendExtension class. (Johannes)
 1800:   . Added ReflectionClass::isCloneable(). (Felipe)
 1801: 
 1802: - Improved Session extension:
 1803:   . Expose session status via new function, session_status (FR #52982) (Arpad)
 1804:   . Added support for object-oriented session handlers. (Arpad)
 1805:   . Added support for storing upload progress feedback in session data. (Arnaud)
 1806:   . Changed session.entropy_file to default to /dev/urandom or /dev/arandom if
 1807:     either is present at compile time. (Rasmus)
 1808:   . Fixed bug #60860 (session.save_handler=user without defined function core
 1809:     dumps). (Felipe)
 1810:   . Implement FR #60551 (session_set_save_handler should support a core's
 1811:     session handler interface). (Arpad)
 1812:   . Fixed bug #60640 (invalid return values). (Arpad)
 1813: 
 1814: - Improved SNMP extension (Boris Lytochkin):
 1815:   . Added OO API. FR #53594 (php-snmp rewrite).
 1816:   . Sanitized return values of existing functions. Now it returns FALSE on
 1817:     failure.
 1818:   . Allow ~infinite OIDs in GET/GETNEXT/SET queries. Autochunk them to max_oids
 1819:     upon request.
 1820:   . Introducing unit tests for extension with ~full coverage.
 1821:   . IPv6 support. (FR #42918)
 1822:   . Way of representing OID value can now be changed when SNMP_VALUE_OBJECT
 1823:     is used for value output mode. Use or'ed SNMP_VALUE_LIBRARY(default if
 1824:     not specified) or SNMP_VALUE_PLAIN. (FR #54502)
 1825:   . Fixed bug #60749 (SNMP module should not strip non-standard SNMP port
 1826:     from hostname). (Boris Lytochkin)
 1827:   . Fixed bug #60585 (php build fails with USE flag snmp when IPv6 support
 1828:     is disabled). (Boris Lytochkin)
 1829:   . Fixed bug #53862 (snmp_set_oid_output_format does not allow returning to default)
 1830:   . Fixed bug #46065 (snmp_set_quick_print() persists between requests)
 1831:   . Fixed bug #45893 (Snmp buffer limited to 2048 char)
 1832:   . Fixed bug #44193 (snmp v3 noAuthNoPriv doesn't work)
 1833: 
 1834: - Improved SOAP extension:
 1835:   . Added new SoapClient option "keep_alive". FR #60329. (Pierrick)
 1836:   . Fixed basic HTTP authentication for WSDL sub requests. (Dmitry)
 1837: 
 1838: - Improved SPL extension:
 1839:   . Added RegexIterator::getRegex() method. (Joshua Thijssen)
 1840:   . Added SplObjectStorage::getHash() hook. (Etienne)
 1841:   . Added CallbackFilterIterator and RecursiveCallbackFilterIterator. (Arnaud)
 1842:   . Added missing class_uses(..) as pointed out by #55266 (Stefan)
 1843:   . Immediately reject wrong usages of directories under Spl(Temp)FileObject
 1844:     and friends. (Etienne, Pierre)
 1845:   . FilesystemIterator, GlobIterator and (Recursive)DirectoryIterator now use
 1846:     the default stream context. (Hannes)
 1847:   . Fixed bug #60201 (SplFileObject::setCsvControl does not expose third
 1848:     argument via Reflection). (Peter)
 1849:   . Fixed bug #55287 (spl_classes() not includes CallbackFilter classes)
 1850:     (sasezaki at gmail dot com, salathe)
 1851: 
 1852: - Improved Sysvshm extension:
 1853:   . Fixed bug #55750 (memory copy issue in sysvshm extension).
 1854:     (Ilia, jeffhuang9999 at gmail dot com)
 1855: 
 1856: - Improved Tidy extension:
 1857:   . Fixed bug #54682 (Tidy::diagnose() NULL pointer dereference).
 1858:     (Maksymilian Arciemowicz, Felipe)
 1859: 
 1860: - Improved Tokenizer extension:
 1861:   . Fixed bug #54089 (token_get_all with regards to __halt_compiler is
 1862:     not binary safe). (Nikita Popov)
 1863: 
 1864: - Improved XSL extension:
 1865:   . Added XsltProcessor::setSecurityPrefs($options) and getSecurityPrefs() to
 1866:     define forbidden operations within XSLT stylesheets, default is not to
 1867:     enable write operations from XSLT. Bug #54446 (Chregu, Nicolas Gregoire)
 1868:   . XSL doesn't stop transformation anymore, if a PHP function can't be called
 1869:     (Christian)
 1870: 
 1871: - Improved ZLIB extension:
 1872:   . Re-implemented non-file related functionality. (Mike)
 1873:   . Fixed bug #55544 (ob_gzhandler always conflicts with zlib.output_compression).
 1874:     (Mike)
 1875: 
 1876: 14 Jun 2012, PHP 5.3.14
 1877: 
 1878: - CLI SAPI:
 1879:   . Fixed bug #61546 (functions related to current script failed when chdir()
 1880:     in cli sapi). (Laruence, reeze.xia@gmail.com)
 1881: 
 1882: - CURL:
 1883:   . Fixed bug #61948 (CURLOPT_COOKIEFILE '' raises open_basedir restriction).
 1884:     (Laruence)
 1885: 
 1886: - COM:
 1887:   . Fixed bug #62146 com_dotnet cannot be built shared. (Johannes)
 1888: 
 1889: - Core:
 1890:   . Fixed CVE-2012-2143. (Solar Designer)
 1891:   . Fixed missing bound check in iptcparse(). (chris at chiappa.net)
 1892:   . Fixed bug #62373 (serialize() generates wrong reference to the object).
 1893:     (Moriyoshi)
 1894:   . Fixed bug #62005 (unexpected behavior when incrementally assigning to a
 1895:     member of a null object). (Laruence)
 1896:   . Fixed bug #61991 (long overflow in realpath_cache_get()). (Anatoliy)
 1897:   . Fixed bug #61764 ('I' unpacks n as signed if n > 2^31-1 on LP64). (Gustavo)
 1898:   . Fixed bug #61730 (Segfault from array_walk modifying an array passed by
 1899:     reference). (Laruence)
 1900:   . Fixed bug #61713 (Logic error in charset detection for htmlentities).
 1901:     (Anatoliy)
 1902:   . Fixed bug #54197 ([PATH=] sections incompatibility with user_ini.filename
 1903:     set to null). (Anatoliy)
 1904:   . Changed php://fd to be available only for CLI.
 1905: 
 1906: - Fileinfo:
 1907:   . Fixed bug #61812 (Uninitialised value used in libmagic).
 1908:     (Laruence, Gustavo)
 1909: 
 1910: - Iconv extension:
 1911:   . Fixed a bug that iconv extension fails to link to the correct library
 1912:     when another extension makes use of a library that links to the iconv
 1913:     library. See https://bugs.gentoo.org/show_bug.cgi?id=364139 for detail.
 1914:     (Moriyoshi)
 1915: 
 1916: - Intl:
 1917:   . Fixed bug #62082 (Memory corruption in internal function
 1918:     get_icu_disp_value_src_php()). (Gustavo)
 1919: 
 1920: - JSON
 1921:   . Fixed bug #61537 (json_encode() incorrectly truncates/discards
 1922:     information). (Adam)
 1923: 
 1924: - PDO:
 1925:   . Fixed bug #61755 (A parsing bug in the prepared statements can lead to
 1926:     access violations). (Johannes)
 1927: 
 1928: - Phar:
 1929:   . Fix bug #61065 (Secunia SA44335). (Rasmus)
 1930: 
 1931: - Streams:
 1932:   . Fixed bug #61961 (file_get_contents leaks when access empty file with
 1933:     maxlen set). (Reeze)
 1934: 
 1935: 08 May 2012, PHP 5.3.13
 1936: - CGI
 1937:   . Improve fix for PHP-CGI query string parameter vulnerability, CVE-2012-2311.
 1938:     (Stas)
 1939: 
 1940: 03 May 2012, PHP 5.3.12
 1941: - Fix PHP-CGI query string parameter vulnerability, CVE-2012-1823. (Rasmus)
 1942: 
 1943: 26 Apr 2012, PHP 5.3.11
 1944: 
 1945: - Core:
 1946:   . Fixed bug #61605 (header_remove() does not remove all headers).
 1947:     (Laruence)
 1948:   . Fixed bug #61541 (Segfault when using ob_* in output_callback).
 1949:     (reeze.xia@gmail.com)
 1950:   . Fixed bug #61273 (call_user_func_array with more than 16333 arguments
 1951:     leaks / crashes). (Laruence)
 1952:   . Fixed bug #61165 (Segfault - strip_tags()). (Laruence)
 1953:   . Improved max_input_vars directive to check nested variables (Dmitry).
 1954:   . Fixed bug #61095 (Incorect lexing of 0x00*+<NUM>). (Etienne)
 1955:   . Fixed bug #61087 (Memory leak in parse_ini_file when specifying
 1956:     invalid scanner mode). (Nikic, Laruence)
 1957:   . Fixed bug #61072 (Memory leak when restoring an exception handler).
 1958:     (Nikic, Laruence)
 1959:   . Fixed bug #61058 (array_fill leaks if start index is PHP_INT_MAX).
 1960:     (Laruence)
 1961:   . Fixed bug #61043 (Regression in magic_quotes_gpc fix for CVE-2012-0831).
 1962:     (Ondřej Surý)
 1963:   . Fixed bug #61000 (Exceeding max nesting level doesn't delete numerical
 1964:     vars). (Laruence)
 1965:   . Fixed bug #60895 (Possible invalid handler usage in windows random
 1966:     functions). (Pierre)
 1967:   . Fixed bug #60825 (Segfault when running symfony 2 tests).
 1968:     (Dmitry, Laruence)
 1969:   . Fixed bug #60801 (strpbrk() mishandles NUL byte). (Adam)
 1970:   . Fixed bug #60569 (Nullbyte truncates Exception $message). (Ilia)
 1971:   . Fixed bug #60227 (header() cannot detect the multi-line header with CR).
 1972:     (rui, Gustavo)
 1973:   . Fixed bug #60222 (time_nanosleep() does validate input params). (Ilia)
 1974:   . Fixed bug #54374 (Insufficient validating of upload name leading to
 1975:     corrupted $_FILES indices). (CVE-2012-1172). (Stas, lekensteyn at
 1976:     gmail dot com, Pierre)
 1977:   . Fixed bug #52719 (array_walk_recursive crashes if third param of the
 1978:     function is by reference). (Nikita Popov)
 1979:   . Fixed bug #51860 (Include fails with toplevel symlink to /). (Dmitry)
 1980: 
 1981: - DOM
 1982:   . Added debug info handler to DOM objects. (Gustavo, Joey Smith)
 1983: 
 1984: - FPM
 1985:   . Fixed bug #61430 (Transposed memset() params in sapi/fpm/fpm/fpm_shm.c).
 1986:     (michaelhood at gmail dot com, Ilia)
 1987: 
 1988: - Ibase
 1989:   . Fixed bug #60947 (Segmentation fault while executing ibase_db_info).
 1990:     (Ilia)
 1991: 
 1992: - Installation
 1993:   . Fixed bug #61172 (Add Apache 2.4 support). (Chris Jones)
 1994: 
 1995: - Fileinfo
 1996:   . Fixed bug #61173 (Unable to detect error from finfo constructor). (Gustavo)
 1997: 
 1998: - Firebird Database extension (ibase):
 1999:   . Fixed bug #60802 (ibase_trans() gives segfault when passing params).
 2000: 
 2001: - Libxml:
 2002:   . Fixed bug #61617 (Libxml tests failed(ht is already destroyed)).
 2003:     (Laruence)
 2004:   . Fixed bug #61367 (open_basedir bypass using libxml RSHUTDOWN).
 2005:     (Tim Starling)
 2006: 
 2007: - mysqli
 2008:   . Fixed bug #61003 (mysql_stat() require a valid connection). (Johannes).
 2009: 
 2010: - PDO_mysql
 2011:   . Fixed bug #61207 (PDO::nextRowset() after a multi-statement query doesn't
 2012:     always work). (Johannes)
 2013:   . Fixed bug #61194 (PDO should export compression flag with myslqnd).
 2014:     (Johannes)
 2015: 
 2016: - PDO_odbc
 2017:   . Fixed bug #61212 (PDO ODBC Segfaults on SQL_SUCESS_WITH_INFO). (Ilia)
 2018: 
 2019: - PDO_pgsql
 2020:   . Fixed bug #61267 (pdo_pgsql's PDO::exec() returns the number of SELECTed
 2021:     rows on postgresql >= 9). (ben dot pineau at gmail dot com)
 2022: 
 2023: - PDO_Sqlite extension:
 2024:   . Add createCollation support. (Damien)
 2025: 
 2026: - Phar:
 2027:   . Fixed bug #61184 (Phar::webPhar() generates headers with trailing NUL
 2028:     bytes). (Nikic)
 2029: 
 2030: - PHP-FPM SAPI:
 2031:   . Fixed bug #60811 (php-fpm compilation problem). (rasmus)
 2032: 
 2033: - Readline:
 2034:   . Fixed bug #61088 (Memory leak in readline_callback_handler_install).
 2035:     (Nikic, Laruence)
 2036:   . Add open_basedir checks to readline_write_history and readline_read_history.
 2037:     (Rasmus, reported by Mateusz Goik)
 2038: 
 2039: - Reflection:
 2040:   . Fixed bug #61388 (ReflectionObject:getProperties() issues invalid reads
 2041:     when get_properties returns a hash table with (inaccessible) dynamic
 2042:     numeric properties). (Gustavo)
 2043:   . Fixed bug #60968 (Late static binding doesn't work with
 2044:     ReflectionMethod::invokeArgs()). (Laruence)
 2045: 
 2046: - SOAP
 2047:   . Fixed basic HTTP authentication for WSDL sub requests. (Dmitry)
 2048:   . Fixed bug #60887 (SoapClient ignores user_agent option and sends no
 2049:     User-Agent header). (carloschilazo at gmail dot com)
 2050:   . Fixed bug #60842, #51775 (Chunked response parsing error when
 2051:     chunksize length line is > 10 bytes). (Ilia)
 2052:   . Fixed bug #49853 (Soap Client stream context header option ignored).
 2053:     (Dmitry)
 2054: 
 2055: - SPL
 2056:   . Fixed memory leak when calling SplFileInfo's constructor twice. (Felipe)
 2057:   . Fixed bug #61418 (Segmentation fault when DirectoryIterator's or
 2058:     FilesystemIterator's iterators are requested more than once without
 2059:     having had its dtor callback called in between). (Gustavo)
 2060:   . Fixed bug #61347 (inconsistent isset behavior of Arrayobject). (Laruence)
 2061:   . Fixed bug #61326 (ArrayObject comparison). (Gustavo)
 2062: 
 2063: - SQLite3 extension:
 2064:   . Add createCollation() method. (Brad Dewar)
 2065: 
 2066: - Session:
 2067:   . Fixed bug #60860 (session.save_handler=user without defined function core
 2068:     dumps). (Felipe)
 2069:   . Fixed bug #60634 (Segmentation fault when trying to die() in
 2070:     SessionHandler::write()). (Ilia)
 2071: 
 2072: - Streams:
 2073:   . Fixed bug #61371 (stream_context_create() causes memory leaks on use
 2074:     streams_socket_create). (Gustavo)
 2075:   . Fixed bug #61253 (Wrappers opened with errors concurrency problem on ZTS).
 2076:     (Gustavo)
 2077:   . Fixed bug #61115 (stream related segfault on fatal error in
 2078:     php_stream_context_link). (Gustavo)
 2079:   . Fixed bug #60817 (stream_get_line() reads from stream even when there is
 2080:     already sufficient data buffered). stream_get_line() now behaves more like
 2081:     fgets(), as is documented. (Gustavo)
 2082:   . Further fix for bug #60455 (stream_get_line misbehaves if EOF is not
 2083:     detected together with the last read). (Gustavo)
 2084:   . Fixed bug #60106 (stream_socket_server silently truncates long unix
 2085:     socket paths). (Ilia)
 2086: 
 2087: - Tidy:
 2088:   . Fixed bug #54682 (tidy null pointer dereference). (Tony, David Soria Parra)
 2089: 
 2090: - XMLRPC:
 2091:   . Fixed bug #61264 (xmlrpc_parse_method_descriptions leaks temporary
 2092:     variable). (Nikita Popov)
 2093:   . Fixed bug #61097 (Memory leak in xmlrpc functions copying zvals). (Nikic)
 2094: 
 2095: - Zlib:
 2096:   . Fixed bug #61139 (gzopen leaks when specifying invalid mode). (Nikic)
 2097: 
 2098: 02 Feb 2012, PHP 5.3.10
 2099: 
 2100: - Core:
 2101:   . Fixed arbitrary remote code execution vulnerability reported by Stefan
 2102:     Esser, CVE-2012-0830. (Stas, Dmitry)
 2103: 
 2104: 10 Jan 2012, PHP 5.3.9
 2105: 
 2106: - Core:
 2107:   . Added max_input_vars directive to prevent attacks based on hash collisions
 2108:     (CVE-2011-4885) (Dmitry).
 2109:   . Fixed bug #60205 (possible integer overflow in content_length). (Laruence)
 2110:   . Fixed bug #60139 (Anonymous functions create cycles not detected by the
 2111:     GC). (Dmitry)
 2112:   . Fixed bug #60138 (GC crash with referenced array in RecursiveArrayIterator)
 2113:     (Dmitry).
 2114:   . Fixed bug #60120 (proc_open's streams may hang with stdin/out/err when
 2115:     the data exceeds or is equal to 2048 bytes). (Pierre, Pascal Borreli)
 2116:   . Fixed bug #60099 (__halt_compiler() works in braced namespaces). (Felipe)
 2117:   . Fixed bug #60019 (Function time_nanosleep() is undefined on OS X). (Ilia)
 2118:   . Fixed bug #55874 (GCC does not provide __sync_fetch_and_add on some archs).
 2119:     (klightspeed at netspace dot net dot au)
 2120:   . Fixed bug #55798 (serialize followed by unserialize with numeric object
 2121:     prop. gives integer prop). (Gustavo)
 2122:   . Fixed bug #55749 (TOCTOU issue in getenv() on Windows builds). (Pierre)
 2123:   . Fixed bug #55707 (undefined reference to `__sync_fetch_and_add_4' on Linux
 2124:     parisc). (Felipe)
 2125:   . Fixed bug #55674 (fgetcsv & str_getcsv skip empty fields in some
 2126:     tab-separated records). (Laruence)
 2127:   . Fixed bug #55649 (Undefined function Bug()). (Laruence)
 2128:   . Fixed bug #55622 (memory corruption in parse_ini_string). (Pierre)
 2129:   . Fixed bug #55576 (Cannot conditionally move uploaded file without race
 2130:     condition). (Gustavo)
 2131:   . Fixed bug #55510: $_FILES 'name' missing first character after upload.
 2132:     (Arpad)
 2133:   . Fixed bug #55509 (segfault on x86_64 using more than 2G memory). (Laruence)
 2134:   . Fixed bug #55504 (Content-Type header is not parsed correctly on
 2135:     HTTP POST request). (Hannes)
 2136:   . Fixed bug #55475 (is_a() triggers autoloader, new optional 3rd argument to
 2137:     is_a and is_subclass_of). (alan_k)
 2138:   . Fixed bug #52461 (Incomplete doctype and missing xmlns).
 2139:     (virsacer at web dot de, Pierre)
 2140:   . Fixed bug #55366 (keys lost when using substr_replace an array). (Arpad)
 2141:   . Fixed bug #55273 (base64_decode() with strict rejects whitespace after
 2142:     pad). (Ilia)
 2143:   . Fixed bug #52624 (tempnam() by-pass open_basedir with nonnexistent
 2144:     directory). (Felipe)
 2145:   . Fixed bug #50982 (incorrect assumption of PAGE_SIZE size). (Dmitry)
 2146:   . Fixed invalid free in call_user_method() function. (Felipe)
 2147:   . Fixed bug #43200 (Interface implementation / inheritence not possible in
 2148:     abstract classes). (Felipe)
 2149: 
 2150: 
 2151: - BCmath:
 2152:   . Fixed bug #60377 (bcscale related crashes on 64bits platforms). (shm)
 2153: 
 2154: - Calendar:
 2155:   . Fixed bug #55797 (Integer overflow in SdnToGregorian leads to segfault (in
 2156:     optimized builds). (Gustavo)
 2157: 
 2158: - cURL:
 2159:   . Fixed bug #60439 (curl_copy_handle segfault when used with
 2160:     CURLOPT_PROGRESSFUNCTION). (Pierrick)
 2161:   . Fixed bug #54798 (Segfault when CURLOPT_STDERR file pointer is closed
 2162:     before calling curl_exec). (Hannes)
 2163:   . Fixed issues were curl_copy_handle() would sometimes lose copied
 2164:     preferences. (Hannes)
 2165: 
 2166: - DateTime:
 2167:   . Fixed bug #60373 (Startup errors with log_errors on cause segfault).
 2168:     (Derick)
 2169:   . Fixed bug #60236 (TLA timezone dates are not converted properly from
 2170:     timestamp). (Derick)
 2171:   . Fixed bug #55253 (DateTime::add() and sub() result -1 hour on objects with
 2172:     time zone type 2). (Derick)
 2173:   . Fixed bug #54851 (DateTime::createFromFormat() doesn't interpret "D").
 2174:     (Derick)
 2175:   . Fixed bug #53502 (strtotime with timezone memory leak). (Derick)
 2176:   . Fixed bug #52062 (large timestamps with DateTime::getTimestamp and
 2177:     DateTime::setTimestamp). (Derick)
 2178:   . Fixed bug #51994 (date_parse_from_format is parsing invalid date using 'yz'
 2179:     format). (Derick)
 2180:   . Fixed bug #52113 (Seg fault while creating (by unserialization)
 2181:     DatePeriod). (Derick)
 2182:   . Fixed bug #48476 (cloning extended DateTime class without calling
 2183:     parent::__constr crashed PHP). (Hannes)
 2184: 
 2185: - EXIF:
 2186:   . Fixed bug #60150 (Integer overflow during the parsing of invalid exif
 2187:     header). (CVE-2011-4566) (Stas, flolechaud at gmail dot com)
 2188: 
 2189: - Fileinfo:
 2190:   . Fixed bug #60094 (C++ comment fails in c89). (Laruence)
 2191:   . Fixed possible memory leak in finfo_open(). (Felipe)
 2192:   . Fixed memory leak when calling the Finfo constructor twice. (Felipe)
 2193: 
 2194: - Filter:
 2195:   . Fixed Bug #55478 (FILTER_VALIDATE_EMAIL fails with internationalized
 2196:     domain name addresses containing >1 -). (Ilia)
 2197: 
 2198: - FTP:
 2199:   . Fixed bug #60183 (out of sync ftp responses). (bram at ebskamp dot me,
 2200:     rasmus)
 2201: 
 2202: - Gd:
 2203:   . Fixed bug #60160 (imagefill() doesn't work correctly
 2204:     for small images). (Florian)
 2205:   . Fixed potential memory leak on a png error (Rasmus, Paul Saab)
 2206: 
 2207: - Intl:
 2208:   . Fixed bug #60192 (SegFault when Collator not constructed
 2209:     properly). (Florian)
 2210:   . Fixed memory leak in several Intl locale functions. (Felipe)
 2211: 
 2212: - Json:
 2213:   . Fixed bug #55543 (json_encode() with JSON_NUMERIC_CHECK fails on objects
 2214:     with numeric string properties). (Ilia, dchurch at sciencelogic dot com)
 2215: 
 2216: - Mbstring:
 2217:   . Fixed possible crash in mb_ereg_search_init() using empty pattern. (Felipe)
 2218: 
 2219: - MS SQL:
 2220:   . Fixed bug #60267 (Compile failure with freetds 0.91). (Felipe)
 2221: 
 2222: - MySQL:
 2223:   . Fixed bug #55550 (mysql.trace_mode miscounts result sets). (Johannes)
 2224: 
 2225: - MySQLi extension:
 2226:   . Fixed bug #55859 (mysqli->stat property access gives error). (Andrey)
 2227:   . Fixed bug #55582 (mysqli_num_rows() returns always 0 for unbuffered, when
 2228:     mysqlnd is used). (Andrey)
 2229:   . Fixed bug #55703 (PHP crash when calling mysqli_fetch_fields).
 2230:     (eran at zend dot com, Laruence)
 2231: 
 2232: - mysqlnd
 2233:   . Fixed bug #55609 (mysqlnd cannot be built shared). (Johannes)
 2234:   . Fixed bug #55067 (MySQL doesn't support compression - wrong config option).
 2235:     (Andrey)
 2236: 
 2237: - NSAPI SAPI:
 2238:   . Don't set $_SERVER['HTTPS'] on unsecure connection (bug #55403). (Uwe
 2239:     Schindler)
 2240: 
 2241: - OpenSSL:
 2242:   . Fixed bug #60279 (Fixed NULL pointer dereference in
 2243:     stream_socket_enable_crypto, case when ssl_handle of session_stream is not
 2244:     initialized.) (shm)
 2245:   . Fix segfault with older versions of OpenSSL. (Scott)
 2246: 
 2247: - Oracle Database extension (OCI8):
 2248:   . Fixed bug #59985 (show normal warning text for OCI_NO_DATA).
 2249:     (Chris Jones)
 2250:   . Increased maximum Oracle error message buffer length for new 11.2.0.3 size.
 2251:     (Chris Jones)
 2252:   . Improve internal initalization failure error messages. (Chris Jones)
 2253: 
 2254: - PDO
 2255:   . Fixed bug #55776 (PDORow to session bug). (Johannes)
 2256: 
 2257: - PDO Firebird:
 2258:   . Fixed bug #48877 ("bindValue" and "bindParam" do not work for PDO Firebird).
 2259:     (Mariuz)
 2260:   . Fixed bug #47415 (PDO_Firebird segfaults when passing lowercased column name to bindColumn).
 2261:   . Fixed bug #53280 (PDO_Firebird segfaults if query column count less than param count).
 2262:     (Mariuz)
 2263: 
 2264: - PDO MySQL driver:
 2265:   . Fixed bug #60155 (pdo_mysql.default_socket ignored). (Johannes)
 2266:   . Fixed bug #55870 (PDO ignores all SSL parameters when used with mysql
 2267:     native driver). (Pierre)
 2268:   . Fixed bug #54158 (MYSQLND+PDO MySQL requires #define
 2269:     MYSQL_OPT_LOCAL_INFILE). (Andrey)
 2270: 
 2271: - PDO OCI driver:
 2272:   . Fixed bug #55768 (PDO_OCI can't resume Oracle session after it's been
 2273:     killed). (mikhail dot v dot gavrilov at gmail dot com, Chris Jones, Tony)
 2274: 
 2275: - Phar:
 2276:   . Fixed bug #60261 (NULL pointer dereference in phar). (Felipe)
 2277:   . Fixed bug #60164 (Stubs of a specific length break phar_open_from_fp
 2278:     scanning for __HALT_COMPILER). (Ralph Schindler)
 2279:   . Fixed bug #53872 (internal corruption of phar). (Hannes)
 2280:   . Fixed bug #52013 (Unable to decompress files in a compressed phar). (Hannes)
 2281: 
 2282: - PHP-FPM SAPI:
 2283:   . Dropped restriction of not setting the same value multiple times, the last
 2284:     one holds. (giovanni at giacobbi dot net, fat)
 2285:   . Added .phar to default authorized extensions. (fat)
 2286:   . Fixed bug #60659 (FPM does not clear auth_user on request accept).
 2287:     (bonbons at linux-vserver dot org)
 2288:   . Fixed bug #60629 (memory corruption when web server closed the fcgi fd).
 2289:     (fat)
 2290:   . Enhance error log when the primary script can't be open. FR #60199. (fat)
 2291:   . Fixed bug #60179 (php_flag and php_value does not work properly). (fat)
 2292:   . Fixed bug #55577 (status.html does not install). (fat)
 2293:   . Fixed bug #55533 (The -d parameter doesn't work). (fat)
 2294:   . Fixed bug #55526 (Heartbeat causes a lot of unnecessary events). (fat)
 2295:   . Fixed bug #55486 (status show BIG processes number). (fat)
 2296:   . Enhanced security by limiting access to user defined extensions.
 2297:     FR #55181. (fat)
 2298:   . Added process.max to control the number of process FPM can fork. FR #55166.
 2299:     (fat)
 2300:   . Implemented FR #54577 (Enhanced status page with full status and details
 2301:     about each processes. Also provide a web page (status.html) for
 2302:     real-time FPM status. (fat)
 2303:   . Lowered default value for Process Manager. FR #54098. (fat)
 2304:   . Implemented FR #52569 (Add the "ondemand" process-manager
 2305:     to allow zero children). (fat)
 2306:   . Added partial syslog support (on error_log only). FR #52052. (fat)
 2307: 
 2308: - Postgres:
 2309:   . Fixed bug #60244 (pg_fetch_* functions do not validate that row param
 2310:     is >0). (Ilia)
 2311:   . Added PGSQL_LIBPQ_VERSION/PGSQL_LIBPQ_VERSION_STR constants. (Yasuo)
 2312: 
 2313: - Reflection:
 2314:   . Fixed bug #60367 (Reflection and Late Static Binding). (Laruence)
 2315: 
 2316: - Session:
 2317:   . Fixed bug #55267 (session_regenerate_id fails after header sent). (Hannes)
 2318: 
 2319: - SimpleXML:
 2320:   . Reverted the SimpleXML->query() behaviour to returning empty arrays
 2321:     instead of false when no nodes are found as it was since 5.3.3
 2322:     (bug #48601). (chregu, rrichards)
 2323: 
 2324: - SOAP
 2325:   . Fixed bug #54911 (Access to a undefined member in inherit SoapClient may
 2326:     cause Segmentation Fault). (Dmitry)
 2327:   . Fixed bug #48216 (PHP Fatal error: SOAP-ERROR: Parsing WSDL:
 2328:     Extra content at the end of the doc, when server uses chunked transfer
 2329:     encoding with spaces after chunk size). (Dmitry)
 2330:   . Fixed bug #44686 (SOAP-ERROR: Parsing WSDL with references). (Dmitry)
 2331: 
 2332: - Sockets:
 2333:   . Fixed bug #60048 (sa_len a #define on IRIX). (china at thewrittenword dot
 2334:     com)
 2335: 
 2336: - SPL:
 2337:   . Fixed bug #60082 (Crash in ArrayObject() when using recursive references).
 2338:     (Tony)
 2339:   . Fixed bug #55807 (Wrong value for splFileObject::SKIP_EMPTY).
 2340:     (jgotti at modedemploi dot fr, Hannes)
 2341:   . Fixed bug #54304 (RegexIterator::accept() doesn't work with scalar values).
 2342:     (Hannes)
 2343: 
 2344: - Streams:
 2345:   . Fixed bug #60455 (stream_get_line misbehaves if EOF is not detected together
 2346:     with the last read). (Gustavo)
 2347: 
 2348: - Tidy:
 2349:   . Fixed bug #54682 (Tidy::diagnose() NULL pointer dereference).
 2350:     (Maksymilian Arciemowicz, Felipe)
 2351: 
 2352: - XSL:
 2353:   . Added xsl.security_prefs ini option to define forbidden operations within
 2354:     XSLT stylesheets, default is not to enable write operations. This option
 2355:     won't be in 5.4, since there's a new method. Fixes Bug #54446. (Chregu,
 2356:     Nicolas Gregoire)
 2357: 
 2358: 23 Aug 2011, PHP 5.3.8
 2359: 
 2360: - Core:
 2361:   . Fixed bug #55439 (crypt() returns only the salt for MD5). (Stas)
 2362: 
 2363: - OpenSSL:
 2364:   . Reverted a change in timeout handling restoring PHP 5.3.6 behavior,
 2365:     as the new behavior caused mysqlnd SSL connections to hang (#55283).
 2366:     (Pierre, Andrey, Johannes)
 2367: 
 2368: 18 Aug 2011, PHP 5.3.7
 2369: - Upgraded bundled SQLite to version 3.7.7.1. (Scott)
 2370: - Upgraded bundled PCRE to version 8.12. (Scott)
 2371: 
 2372: - Zend Engine:
 2373:   . Fixed bug #55156 (ReflectionClass::getDocComment() returns comment even
 2374:     though the class has none). (Felipe)
 2375:   . Fixed bug #55007 (compiler fail after previous fail). (Felipe)
 2376:   . Fixed bug #54910 (Crash when calling call_user_func with unknown function
 2377:     name). (Dmitry)
 2378:   . Fixed bug #54804 (__halt_compiler and imported namespaces).
 2379:     (Pierrick, Felipe)
 2380:   . Fixed bug #54624 (class_alias and type hint). (Felipe)
 2381:   . Fixed bug #54585 (track_errors causes segfault). (Dmitry)
 2382:   . Fixed bug #54423 (classes from dl()'ed extensions are not destroyed).
 2383:     (Tony, Dmitry)
 2384:   . Fixed bug #54372 (Crash accessing global object itself returned from its
 2385:     __get() handle). (Dmitry)
 2386:   . Fixed bug #54367 (Use of closure causes problem in ArrayAccess). (Dmitry)
 2387:   . Fixed bug #54358 (Closure, use and reference). (Dmitry)
 2388:   . Fixed bug #54262 (Crash when assigning value to a dimension in a non-array).
 2389:     (Dmitry)
 2390:   . Fixed bug #54039 (use() of static variables in lambda functions can break
 2391:     staticness). (Dmitry)
 2392: 
 2393: - Core
 2394:   . Updated crypt_blowfish to 1.2. ((CVE-2011-2483) (Solar Designer)
 2395:   . Removed warning when argument of is_a() or is_subclass_of() is not
 2396:     a known class. (Stas)
 2397:   . Fixed crash in error_log(). (Felipe) Reported by Mateusz Kocielski.
 2398:   . Added PHP_MANDIR constant telling where the manpages were installed into,
 2399:     and an --man-dir argument to php-config. (Hannes)
 2400:   . Fixed a crash inside dtor for error handling. (Ilia)
 2401:   . Fixed buffer overflow on overlog salt in crypt(). (Clément LECIGNE, Stas)
 2402:   . Implemented FR #54459 (Range function accuracy). (Adam)
 2403: 
 2404:   . Fixed bug #55399 (parse_url() incorrectly treats ':' as a valid path).
 2405:     (Ilia)
 2406:   . Fixed bug #55339 (Segfault with allow_call_time_pass_reference = Off).
 2407:     (Dmitry)
 2408:   . Fixed bug #55295 [NEW]: popen_ex on windows, fixed possible heap overflow
 2409:     (Pierre)
 2410:   . Fixed bug #55258 (Windows Version Detecting Error).
 2411:     ( xiaomao5 at live dot com, Pierre)
 2412:   . Fixed bug #55187 (readlink returns weird characters when false result).
 2413:    (Pierre)
 2414:   . Fixed bug #55082 (var_export() doesn't escape properties properly).
 2415:     (Gustavo)
 2416:   . Fixed bug #55014 (Compile failure due to improper use of ctime_r()). (Ilia)
 2417:   . Fixed bug #54939 (File path injection vulnerability in RFC1867 File upload
 2418:     filename). (Felipe) Reported by Krzysztof Kotowicz. (CVE-2011-2202)
 2419:   . Fixed bug #54935 php_win_err can lead to crash. (Pierre)
 2420:   . Fixed bug #54924 (assert.* is not being reset upon request shutdown). (Ilia)
 2421:   . Fixed bug #54895 (Fix compiling with older gcc version without need for
 2422:     membar_producer macro). (mhei at heimpold dot de)
 2423:   . Fixed bug #54866 (incorrect accounting for realpath_cache_size).
 2424:     (Dustin Ward)
 2425:   . Fixed bug #54723 (getimagesize() doesn't check the full ico signature).
 2426:     (Scott)
 2427:   . Fixed bug #54721 (Different Hashes on Windows, BSD and Linux on wrong Salt
 2428:     size). (Pierre, os at irj dot ru)
 2429:   . Fixed bug #54580 (get_browser() segmentation fault when browscap ini
 2430:     directive is set through php_admin_value). (Gustavo)
 2431:   . Fixed bug #54332 (Crash in zend_mm_check_ptr // Heap corruption). (Dmitry)
 2432:   . Fixed bug #54305 (Crash in gc_remove_zval_from_buffer). (Dmitry)
 2433:   . Fixed bug #54238 (use-after-free in substr_replace()). (Stas)
 2434:     (CVE-2011-1148)
 2435:   . Fixed bug #54204 (Can't set a value with a PATH section in php.ini).
 2436:     (Pierre)
 2437:   . Fixed bug #54180 (parse_url() incorrectly parses path when ? in fragment).
 2438:     (tomas dot brastavicius at quantum dot lt, Pierrick)
 2439:   . Fixed bug #54137 (file_get_contents POST request sends additional line
 2440:     break). (maurice-php at mertinkat dot net, Ilia)
 2441:   . Fixed bug #53848 (fgetcsv() ignores spaces at beginnings of fields). (Ilia)
 2442:   . Alternative fix for bug #52550, as applied to the round() function (signed
 2443:     overflow), as the old fix impacted the algorithm for numbers with magnitude
 2444:     smaller than 0. (Gustavo)
 2445:   . Fixed bug #53727 (Inconsistent behavior of is_subclass_of with interfaces)
 2446:     (Ralph Schindler, Dmitry)
 2447:   . Fixed bug #52935 (call exit in user_error_handler cause stream relate
 2448:     core). (Gustavo)
 2449:   . Fixed bug #51997 (SEEK_CUR with 0 value, returns a warning). (Ilia)
 2450:   . Fixed bug #50816 (Using class constants in array definition fails).
 2451:     (Pierrick, Dmitry)
 2452:   . Fixed bug #50363 (Invalid parsing in convert.quoted-printable-decode
 2453:     filter). (slusarz at curecanti dot org)
 2454:   . Fixed bug #48465 (sys_get_temp_dir() possibly inconsistent when using
 2455:     TMPDIR on Windows). (Pierre)
 2456: 
 2457: - Apache2 Handler SAPI:
 2458:   . Fixed bug #54529 (SAPI crashes on apache_config.c:197).
 2459:     (hebergement at riastudio dot fr)
 2460: 
 2461: - CLI SAPI:
 2462:   . Fixed bug #52496 (Zero exit code on option parsing failure). (Ilia)
 2463: 
 2464: - cURL extension:
 2465:   . Added ini option curl.cainfo (support for custom cert db). (Pierre)
 2466:   . Added CURLINFO_REDIRECT_URL support. (Daniel Stenberg, Pierre)
 2467:   . Added support for CURLOPT_MAX_RECV_SPEED_LARGE and
 2468:     CURLOPT_MAX_SEND_SPEED_LARGE. FR #51815. (Pierrick)
 2469: 
 2470: - DateTime extension:
 2471:   . Fixed bug where the DateTime object got changed while using date_diff().
 2472:     (Derick)
 2473:   . Fixed bug #54340 (DateTime::add() method bug). (Adam)
 2474:   . Fixed bug #54316 (DateTime::createFromFormat does not handle trailing '|'
 2475:     correctly). (Adam)
 2476:   . Fixed bug #54283 (new DatePeriod(NULL) causes crash). (Felipe)
 2477:   . Fixed bug #51819 (Case discrepancy in timezone names cause Uncaught
 2478:     exception and fatal error). (Hannes)
 2479: 
 2480: - DBA extension:
 2481:   . Supress warning on non-existent file open with Berkeley DB 5.2. (Chris Jones)
 2482:   . Fixed bug #54242 (dba_insert returns true if key already exists). (Felipe)
 2483: 
 2484: - Exif extesion:
 2485:   . Fixed bug #54121 (error message format string typo). (Ilia)
 2486: 
 2487: - Fileinfo extension:
 2488:   . Fixed bug #54934 (Unresolved symbol strtoull in HP-UX 11.11). (Felipe)
 2489: 
 2490: - Filter extension:
 2491:   . Added 3rd parameter to filter_var_array() and filter_input_array()
 2492:     functions that allows disabling addition of empty elements. (Ilia)
 2493:   . Fixed bug #53037 (FILTER_FLAG_EMPTY_STRING_NULL is not implemented). (Ilia)
 2494: 
 2495: - Interbase extension:
 2496:   . Fixed bug #54269 (Short exception message buffer causes crash). (Felipe)
 2497: 
 2498: - intl extension:
 2499:   . Implemented FR #54561 (Expose ICU version info). (David Zuelke, Ilia)
 2500:   . Implemented FR #54540 (Allow loading of arbitrary resource bundles when
 2501:     fallback is disabled). (David Zuelke, Stas)
 2502: 
 2503: - Imap extension:
 2504:   . Fixed bug #55313 (Number of retries not set when params specified).
 2505:     (kevin at kevinlocke dot name)
 2506: 
 2507: - json extension:
 2508:   . Fixed bug #54484 (Empty string in json_decode doesn't reset
 2509:     json_last_error()). (Ilia)
 2510: 
 2511: - LDAP extension:
 2512:   . Fixed bug #53339 (Fails to build when compilng with gcc 4.5 and DSO
 2513:     libraries). (Clint Byrum, Raphael)
 2514: 
 2515: - libxml extension:
 2516:   . Fixed bug #54601 (Removing the doctype node segfaults). (Hannes)
 2517:   . Fixed bug #54440 (libxml extension ignores default context). (Gustavo)
 2518: 
 2519: - mbstring extension:
 2520:   . Fixed bug #54494 (mb_substr() mishandles UTF-32LE and UCS-2LE). (Gustavo)
 2521: 
 2522: - MCrypt extension:
 2523:   . Change E_ERROR to E_WARNING in mcrypt_create_iv when not enough data
 2524:     has been fetched (Windows). (Pierre)
 2525:   . Fixed bug #55169 (mcrypt_create_iv always fails to gather sufficient random
 2526:     data on Windows). (Pierre)
 2527: 
 2528: - mysqlnd
 2529:   . Fixed crash when using more than 28,000 bound parameters. Workaround is to
 2530:     set mysqlnd.net_cmd_buffer_size to at least 9000. (Andrey)
 2531:   . Fixed bug #54674 mysqlnd valid_sjis_(head|tail) is using invalid operator
 2532:     and range). (nihen at megabbs dot com, Andrey)
 2533: 
 2534: - MySQLi extension:
 2535:   . Fixed bug #55283 (SSL options set by mysqli_ssl_set ignored for MySQLi
 2536:     persistent connections). (Andrey)
 2537:   . Fixed Bug #54221 (mysqli::get_warnings segfault when used in multi queries).
 2538:     (Andrey)
 2539: 
 2540: - OpenSSL extension:
 2541:   . openssl_encrypt()/openssl_decrypt() truncated keys of variable length
 2542:     ciphers to the OpenSSL default for the algorithm. (Scott)
 2543:   . On blocking SSL sockets respect the timeout option where possible.
 2544:     (Scott)
 2545:   . Fixed bug #54992 (Stream not closed and error not returned when SSL
 2546:     CN_match fails). (Gustavo, laird_ngrps at dodo dot com dot au)
 2547: 
 2548: - Oracle Database extension (OCI8):
 2549:   . Added oci_client_version() returning the runtime Oracle client library
 2550:     version. (Chris Jones)
 2551: 
 2552: . PCRE extension:
 2553:   . Increased the backtrack limit from 100000 to 1000000 (Rasmus)
 2554: 
 2555: - PDO extension:
 2556:   . Fixed bug #54929 (Parse error with single quote in sql comment). (Felipe)
 2557:   . Fixed bug #52104 (bindColumn creates Warning regardless of ATTR_ERRMODE
 2558:     settings). (Ilia)
 2559: 
 2560: - PDO DBlib driver:
 2561:   . Fixed bug #54329 (MSSql extension memory leak).
 2562:     (dotslashpok at gmail dot com)
 2563:   . Fixed bug #54167 (PDO_DBLIB returns null on SQLUNIQUE field).
 2564:     (mjh at hodginsmedia dot com, Felipe)
 2565: 
 2566: - PDO ODBC driver:
 2567:   . Fixed data type usage in 64bit. (leocsilva at gmail dot com)
 2568: 
 2569: - PDO MySQL driver:
 2570:   . Fixed bug #54644 (wrong pathes in php_pdo_mysql_int.h). (Tony, Johannes)
 2571:   . Fixed bug #53782 (foreach throws irrelevant exception). (Johannes, Andrey)
 2572:   . Implemented FR #48587 (MySQL PDO driver doesn't support SSL connections).
 2573:     (Rob)
 2574: 
 2575: - PDO PostgreSQL driver:
 2576:   . Fixed bug #54318 (Non-portable grep option used in PDO pgsql
 2577:     configuration). (bwalton at artsci dot utoronto dot ca)
 2578: 
 2579: - PDO Oracle driver:
 2580:   . Fixed bug #44989 (64bit Oracle RPMs still not supported by pdo-oci).
 2581:     (jbnance at tresgeek dot net)
 2582: 
 2583: - Phar extension:
 2584:   . Fixed bug #54395 (Phar::mount() crashes when calling with wrong parameters).
 2585:     (Felipe)
 2586: 
 2587: - PHP-FPM SAPI:
 2588:   . Implemented FR #54499 (FPM ping and status_path should handle HEAD request). (fat)
 2589:   . Implemented FR #54172 (Overriding the pid file location of php-fpm). (fat)
 2590:   . Fixed missing Expires and Cache-Control headers for ping and status pages.
 2591:     (fat)
 2592:   . Fixed memory leak. (fat) Reported and fixed by Giovanni Giacobbi.
 2593:   . Fixed wrong value of log_level when invoking fpm with -tt. (fat)
 2594:   . Added xml format to the status page. (fat)
 2595:   . Removed timestamp in logs written by children processes. (fat)
 2596:   . Fixed exit at FPM startup on fpm_resources_prepare() errors. (fat)
 2597:   . Added master rlimit_files and rlimit_core in the global configuration
 2598:     settings. (fat)
 2599:   . Removed pid in debug logs written by chrildren processes. (fat)
 2600:   . Added custom access log (also added per request %CPU and memory
 2601:     mesurement). (fat)
 2602:   . Added a real scoreboard and several improvements to the status page. (fat)
 2603: 
 2604: - Reflection extension:
 2605:   . Fixed bug #54347 (reflection_extension does not lowercase module function
 2606:     name). (Felipe, laruence at yahoo dot com dot cn)
 2607: 
 2608: - SOAP extension:
 2609:   . Fixed bug #55323 (SoapClient segmentation fault when XSD_TYPEKIND_EXTENSION
 2610:     contains itself). (Dmitry)
 2611:   . Fixed bug #54312 (soap_version logic bug). (tom at samplonius dot org)
 2612: 
 2613: - Sockets extension:
 2614:   . Fixed stack buffer overflow in socket_connect(). (CVE-2011-1938)
 2615:     Found by Mateusz Kocielski, Marek Kroemeke and Filip Palian. (Felipe)
 2616:   . Changed socket_set_block() and socket_set_nonblock() so they emit warnings
 2617:     on error. (Gustavo)
 2618:   . Fixed bug #51958 (socket_accept() fails on IPv6 server sockets). (Gustavo)
 2619: 
 2620: - SPL extension:
 2621:   . Fixed bug #54971 (Wrong result when using iterator_to_array with use_keys
 2622:     on true). (Pierrick)
 2623:   . Fixed bug #54970 (SplFixedArray::setSize() isn't resizing). (Felipe)
 2624:   . Fixed bug #54609 (Certain implementation(s) of SplFixedArray cause hard
 2625:     crash). (Felipe)
 2626:   . Fixed bug #54384 (Dual iterators, GlobIterator, SplFileObject and
 2627:     SplTempFileObject crash when user-space classes don't call the paren
 2628:     constructor). (Gustavo)
 2629:   . Fixed bug #54292 (Wrong parameter causes crash in
 2630:     SplFileObject::__construct()). (Felipe)
 2631:   . Fixed bug #54291 (Crash iterating DirectoryIterator for dir name starting
 2632:     with \0). (Gustavo)
 2633:   . Fixed bug #54281 (Crash in non-initialized RecursiveIteratorIterator).
 2634:     (Felipe)
 2635: 
 2636: - Streams:
 2637:   . Fixed bug #54946 (stream_get_contents infinite loop). (Hannes)
 2638:   . Fixed bug #54623 (Segfault when writing to a persistent socket after
 2639:     closing a copy of the socket). (Gustavo)
 2640:   . Fixed bug #54681 (addGlob() crashes on invalid flags). (Felipe)
 2641: 
 2642: 
 2643: 17 Mar 2011, PHP 5.3.6
 2644: - Upgraded bundled Sqlite3 to version 3.7.4. (Ilia)
 2645: - Upgraded bundled PCRE to version 8.11. (Ilia)
 2646: 
 2647: - Zend Engine:
 2648:   . Indirect reference to $this fails to resolve if direct $this is never used
 2649:     in method. (Scott)
 2650:   . Added options to debug backtrace functions. (Stas)
 2651:   . Fixed bug numerous crashes due to setlocale (crash on error, pcre, mysql
 2652:     etc.) on Windows in thread safe mode. (Pierre)
 2653:   . Fixed Bug #53971 (isset() and empty() produce apparently spurious runtime
 2654:     error). (Dmitry)
 2655:   . Fixed Bug #53958 (Closures can't 'use' shared variables by value and by
 2656:     reference). (Dmitry)
 2657:   . Fixed Bug #53629 (memory leak inside highlight_string()). (Hannes, Ilia)
 2658:   . Fixed Bug #51458 (Lack of error context with nested exceptions). (Stas)
 2659:   . Fixed Bug #47143 (Throwing an exception in a destructor causes a fatal
 2660:     error). (Stas)
 2661:   . Fixed bug #43512 (same parameter name can be used multiple times in
 2662:     method/function definition). (Felipe)
 2663: 
 2664: - Core:
 2665:   . Added ability to connect to HTTPS sites through proxy with basic
 2666:     authentication using stream_context/http/header/Proxy-Authorization (Dmitry)
 2667:   . Changed default value of ini directive serialize_precision from 100 to 17.
 2668:     (Gustavo)
 2669:   . Fixed bug #54055 (buffer overrun with high values for precision ini
 2670:     setting). (Gustavo)
 2671:   . Fixed bug #53959 (reflection data for fgetcsv out-of-date). (Richard)
 2672:   . Fixed bug #53577 (Regression introduced in 5.3.4 in open_basedir with a
 2673:     trailing forward slash). (lekensteyn at gmail dot com, Pierre)
 2674:   . Fixed bug #53682 (Fix compile on the VAX). (Rasmus, jklos)
 2675:   . Fixed bug #48484 (array_product() always returns 0 for an empty array).
 2676:     (Ilia)
 2677:   . Fixed bug #48607 (fwrite() doesn't check reply from ftp server before
 2678:     exiting). (Ilia)
 2679: 
 2680: 
 2681: - Calendar extension:
 2682:   . Fixed bug #53574 (Integer overflow in SdnToJulian, sometimes leading to
 2683:     segfault). (Gustavo)
 2684: 
 2685: - DOM extension:
 2686:   . Implemented FR #39771 (Made DOMDocument::saveHTML accept an optional DOMNode
 2687:     like DOMDocument::saveXML). (Gustavo)
 2688: 
 2689: - DateTime extension:
 2690:   . Fixed a bug in DateTime->modify() where absolute date/time statements had
 2691:     no effect. (Derick)
 2692:   . Fixed bug #53729 (DatePeriod fails to initialize recurrences on 64bit
 2693:     big-endian systems). (Derick, rein@basefarm.no)
 2694:   . Fixed bug #52808 (Segfault when specifying interval as two dates). (Stas)
 2695:   . Fixed bug #52738 (Can't use new properties in class extended from
 2696:     DateInterval). (Stas)
 2697:   . Fixed bug #52290 (setDate, setISODate, setTime works wrong when DateTime
 2698:     created from timestamp). (Stas)
 2699:   . Fixed bug #52063 (DateTime constructor's second argument doesn't have a
 2700:     null default value). (Gustavo, Stas)
 2701: 
 2702: - Exif extension:
 2703:   . Fixed bug #54002 (crash on crafted tag, reported by Luca Carettoni).
 2704:     (Pierre) (CVE-2011-0708)
 2705: 
 2706: - Filter extension:
 2707:   . Fixed bug #53924 (FILTER_VALIDATE_URL doesn't validate port number).
 2708:     (Ilia, Gustavo)
 2709:   . Fixed bug #53150 (FILTER_FLAG_NO_RES_RANGE is missing some IP ranges).
 2710:     (Ilia)
 2711:   . Fixed bug #52209 (INPUT_ENV returns NULL for set variables (CLI)). (Ilia)
 2712:   . Fixed bug #47435 (FILTER_FLAG_NO_RES_RANGE don't work with ipv6).
 2713:     (Ilia, valli at icsurselva dot ch)
 2714: 
 2715: - Fileinfo extension:
 2716:   . Fixed bug #54016 (finfo_file() Cannot determine filetype in archives).
 2717:     (Hannes)
 2718: 
 2719: - Gettext
 2720:   . Fixed bug #53837 (_() crashes on Windows when no LANG or LANGUAGE
 2721:     environment variable are set). (Pierre)
 2722: 
 2723: - IMAP extension:
 2724:   . Implemented FR #53812 (get MIME headers of the part of the email). (Stas)
 2725:   . Fixed bug #53377 (imap_mime_header_decode() doesn't ignore \t during long
 2726:     MIME header unfolding). (Adam)
 2727: 
 2728: - Intl extension:
 2729:   . Fixed bug #53612 (Segmentation fault when using cloned several intl
 2730:     objects). (Gustavo)
 2731:   . Fixed bug #53512 (NumberFormatter::setSymbol crash on bogus $attr values).
 2732:     (Felipe)
 2733:   . Implemented clone functionality for number, date & message formatters.
 2734:     (Stas).
 2735: 
 2736: - JSON extension:
 2737:   . Fixed bug #53963 (Ensure error_code is always set during some failed
 2738:     decodings). (Scott)
 2739: 
 2740: - mysqlnd
 2741:   . Fixed problem with always returning 0 as num_rows for unbuffered sets.
 2742:     (Andrey, Ulf)
 2743: 
 2744: - MySQL Improved extension:
 2745:   . Added 'db' and 'catalog' keys to the field fetching functions (FR #39847).
 2746:     (Kalle)
 2747:   . Fixed buggy counting of affected rows when using the text protocol. The
 2748:     collected statistics were wrong when multi_query was used with mysqlnd
 2749:     (Andrey)
 2750:   . Fixed bug #53795 (Connect Error from MySqli (mysqlnd) when using SSL).
 2751:     (Kalle)
 2752:   . Fixed bug #53503 (mysqli::query returns false after successful LOAD DATA
 2753:     query). (Kalle, Andrey)
 2754:   . Fixed bug #53425 (mysqli_real_connect() ignores client flags when built to
 2755:     call libmysql). (Kalle, tre-php-net at crushedhat dot com)
 2756: 
 2757: - OpenSSL extension:
 2758:   . Fixed stream_socket_enable_crypto() not honoring the socket timeout in
 2759:     server mode. (Gustavo)
 2760:   . Fixed bug #54060 (Memory leaks when openssl_encrypt). (Pierre)
 2761:   . Fixed bug #54061 (Memory leaks when openssl_decrypt). (Pierre)
 2762:   . Fixed bug #53592 (stream_socket_enable_crypto() busy-waits in client mode).
 2763:     (Gustavo)
 2764:   . Implemented FR #53447 (Cannot disable SessionTicket extension for servers
 2765:     that do not support it) by adding a no_ticket SSL context option. (Adam,
 2766:     Tony)
 2767: 
 2768: - PDO MySQL driver:
 2769:   . Fixed bug #53551 (PDOStatement execute segfaults for pdo_mysql driver).
 2770:     (Johannes)
 2771:   . Implemented FR #47802 (Support for setting character sets in DSN strings).
 2772:     (Kalle)
 2773: 
 2774: - PDO Oracle driver:
 2775:   . Fixed bug #39199 (Cannot load Lob data with more than 4000 bytes on
 2776:     ORACLE 10). (spatar at mail dot nnov dot ru)
 2777: 
 2778: - PDO PostgreSQL driver:
 2779:   . Fixed bug #53517 (segfault in pgsql_stmt_execute() when postgres is down).
 2780:     (gyp at balabit dot hu)
 2781: 
 2782: - Phar extension:
 2783:   . Fixed bug #54247 (format-string vulnerability on Phar). (Felipe)
 2784:     (CVE-2011-1153)
 2785:   . Fixed bug #53541 (format string bug in ext/phar).
 2786:     (crrodriguez at opensuse dot org, Ilia)
 2787:   . Fixed bug #53898 (PHAR reports invalid error message, when the directory
 2788:     does not exist). (Ilia)
 2789: 
 2790: - PHP-FPM SAPI:
 2791:   . Enforce security in the fastcgi protocol parsing.
 2792:     (ef-lists at email dotde)
 2793:   . Fixed bug #53777 (php-fpm log format now match php_error log format). (fat)
 2794:   . Fixed bug #53527 (php-fpm --test doesn't set a valuable return value). (fat)
 2795:   . Fixed bug #53434 (php-fpm slowlog now also logs the original request). (fat)
 2796: 
 2797: - Readline extension:
 2798:   . Fixed bug #53630 (Fixed parameter handling inside readline() function).
 2799:     (jo at feuersee dot de, Ilia)
 2800: 
 2801: - Reflection extension:
 2802:   . Fixed bug #53915 (ReflectionClass::getConstant(s) emits fatal error on
 2803:     constants with self::). (Gustavo)
 2804: 
 2805: - Shmop extension:
 2806:   . Fixed bug #54193 (Integer overflow in shmop_read()). (Felipe)
 2807:     Reported by Jose Carlos Norte <jose at eyeos dot org> (CVE-2011-1092)
 2808: 
 2809: - SNMP extension:
 2810:   . Fixed bug #51336 (snmprealwalk (snmp v1) does not handle end of OID tree
 2811:     correctly). (Boris Lytochkin)
 2812: 
 2813: - SOAP extension:
 2814:   . Fixed possible crash introduced by the NULL poisoning patch.
 2815:     (Mateusz Kocielski, Pierre)
 2816: 
 2817: - SPL extension:
 2818:   . Fixed memory leak in DirectoryIterator::getExtension() and
 2819:     SplFileInfo::getExtension(). (Felipe)
 2820:   . Fixed bug #53914 (SPL assumes HAVE_GLOB is defined). (Chris Jones)
 2821:   . Fixed bug #53515 (property_exists incorrect on ArrayObject null and 0
 2822:     values). (Felipe)
 2823:   . Fixed bug #49608 (Using CachingIterator on DirectoryIterator instance
 2824:     segfaults). (Felipe)
 2825: 
 2826:   . Added SplFileInfo::getExtension(). FR #48767. (Peter Cowburn)
 2827: 
 2828: - SQLite3 extension:
 2829:   . Fixed memory leaked introduced by the NULL poisoning patch.
 2830:     (Mateusz Kocielski, Pierre)
 2831:   . Fixed memory leak on SQLite3Result and SQLite3Stmt when assigning to a
 2832:     reference. (Felipe)
 2833:   . Add SQlite3_Stmt::readonly() for checking if a statement is read only.
 2834:     (Scott)
 2835:   . Implemented FR #53466 (SQLite3Result::columnType() should return false after
 2836:     all of the rows have been fetched). (Scott)
 2837: 
 2838: - Streams:
 2839:   . Fixed bug #54092 (Segmentation fault when using HTTP proxy with the FTP
 2840:     wrapper). (Gustavo)
 2841:   . Fixed bug #53913 (Streams functions assume HAVE_GLOB is defined). (Chris
 2842:     Jones)
 2843:   . Fixed bug #53903 (userspace stream stat callback does not separate the
 2844:     elements of the returned array before converting them). (Gustavo)
 2845:   . Implemented FR #26158 (open arbitrary file descriptor with fopen). (Gustavo)
 2846: 
 2847: - Tokenizer Extension
 2848:   . Fixed bug #54089 (token_get_all() does not stop after __halt_compiler).
 2849:     (Nikita Popov, Ilia)
 2850: 
 2851: - XSL extension:
 2852:   . Fixed memory leaked introduced by the NULL poisoning patch.
 2853:     (Mateusz Kocielski, Pierre)
 2854: 
 2855: - Zip extension:
 2856:   . Added the filename into the return value of stream_get_meta_data(). (Hannes)
 2857:   . Fixed bug #53923 (Zip functions assume HAVE_GLOB is defined). (Adam)
 2858:   . Fixed bug #53893 (Wrong return value for ZipArchive::extractTo()). (Pierre)
 2859:   . Fixed bug #53885 (ZipArchive segfault with FL_UNCHANGED on empty archive).
 2860:     (Stas, Maksymilian Arciemowicz). (CVE-2011-0421)
 2861:   . Fixed bug #53854 (Missing constants for compression type). (Richard, Adam)
 2862:   . Fixed bug #53603 (ZipArchive should quiet stat errors). (brad dot froehle at
 2863:     gmail dot com, Gustavo)
 2864:   . Fixed bug #53579 (stream_get_contents() segfaults on ziparchive streams).
 2865:     (Hannes)
 2866:   . Fixed bug #53568 (swapped memset arguments in struct initialization).
 2867:     (crrodriguez at opensuse dot org)
 2868:   . Fixed bug #53166 (Missing parameters in docs and reflection definition).
 2869:     (Richard)
 2870:   . Fixed bug #49072 (feof never returns true for damaged file in zip).
 2871:     (Gustavo, Richard Quadling)
 2872: 
 2873: 06 Jan 2011, PHP 5.3.5
 2874: - Fixed Bug #53632 (infinite loop with x87 fpu). (CVE-2010-4645) (Scott,
 2875:   Rasmus)
 2876: 
 2877: 09 Dec 2010, PHP 5.3.4
 2878: - Upgraded bundled Sqlite3 to version 3.7.3. (Ilia)
 2879: - Upgraded bundled PCRE to version 8.10. (Ilia)
 2880: 
 2881: - Security enhancements:
 2882:   . Fixed crash in zip extract method (possible CWE-170).
 2883:     (Maksymilian Arciemowicz, Pierre)
 2884:   . Paths with NULL in them (foo\0bar.txt) are now considered as invalid.
 2885:     (Rasmus)
 2886:   . Fixed a possible double free in imap extension (Identified by Mateusz
 2887:     Kocielski). (CVE-2010-4150). (Ilia)
 2888:   . Fixed NULL pointer dereference in ZipArchive::getArchiveComment.
 2889:     (CVE-2010-3709). (Maksymilian Arciemowicz)
 2890:   . Fixed possible flaw in open_basedir (CVE-2010-3436). (Pierre)
 2891:   . Fixed MOPS-2010-24, fix string validation. (CVE-2010-2950). (Pierre)
 2892:   . Fixed symbolic resolution support when the target is a DFS share. (Pierre)
 2893:   . Fixed bug #52929 (Segfault in filter_var with FILTER_VALIDATE_EMAIL with
 2894:     large amount of data) (CVE-2010-3710). (Adam)
 2895: 
 2896: - General improvements:
 2897:   . Added stat support for zip stream. (Pierre)
 2898:   . Added follow_location (enabled by default) option for the http stream
 2899:     support. (Pierre)
 2900:   . Improved support for is_link and related functions on Windows. (Pierre)
 2901:   . Added a 3rd parameter to get_html_translation_table. It now takes a charset
 2902:     hint, like htmlentities et al. (Gustavo)
 2903: 
 2904: - Implemented feature requests:
 2905:   . Implemented FR #52348, added new constant ZEND_MULTIBYTE to detect
 2906:     zend multibyte at runtime. (Kalle)
 2907:   . Implemented FR #52173, added functions pcntl_get_last_error() and
 2908:      pcntl_strerror(). (nick dot telford at gmail dot com, Arnaud)
 2909:   . Implemented symbolic links support for open_basedir checks. (Pierre)
 2910:   . Implemented FR #51804, SplFileInfo::getLinkTarget on Windows. (Pierre)
 2911:   . Implemented FR #50692, not uploaded files don't count towards
 2912:     max_file_uploads limit. As a side improvement, temporary files are not
 2913:     opened for empty uploads and, in debug mode, 0-length uploads. (Gustavo)
 2914: 
 2915: - Improved MySQLnd:
 2916:   . Added new character sets to mysqlnd, which are available in MySQL 5.5
 2917:     (Andrey)
 2918: 
 2919: - Improved PHP-FPM SAPI:
 2920:   . Added '-p/--prefix' to php-fpm to use a custom prefix and run multiple
 2921:     instances. (fat)
 2922:   . Added custom process title for FPM. (fat)
 2923:   . Added '-t/--test' to php-fpm to check and validate FPM conf file. (fat)
 2924:   . Added statistics about listening socket queue length for FPM.
 2925:     (andrei dot nigmatulin at gmail dot com, fat)
 2926: 
 2927: - Core:
 2928:   . Fixed extract() to do not overwrite $GLOBALS and $this when using
 2929:     EXTR_OVERWRITE. (jorto at redhat dot com)
 2930:   . Fixed bug in the Windows implementation of dns_get_record, where the two
 2931:     last parameters wouldn't be filled unless the type were DNS_ANY (Gustavo).
 2932:   . Changed the $context parameter on copy() to actually have an effect. (Kalle)
 2933:   . Fixed htmlentities/htmlspecialchars accepting certain ill-formed UTF-8
 2934:     sequences. (Gustavo)
 2935:   . Fixed bug #53409 (sleep() returns NULL on Windows). (Pierre)
 2936:   . Fixed bug #53319 (strip_tags() may strip '<br />' incorrectly). (Felipe)
 2937:   . Fixed bug #53304 (quot_print_decode does not handle lower-case hex digits).
 2938:     (Ilia, daniel dot mueller at inexio dot net)
 2939:   . Fixed bug #53248 (rawurlencode RFC 3986 EBCDIC support misses tilde char).
 2940:     (Justin Martin)
 2941:   . Fixed bug #53226 (file_exists fails on big filenames). (Adam)
 2942:   . Fixed bug #53198 (changing INI setting "from" with ini_set did not have any
 2943:     effect). (Gustavo)
 2944:   . Fixed bug #53180 (post_max_size=0 not disabling the limit when the content
 2945:     type is application/x-www-form-urlencoded or is not registered with PHP).
 2946:     (gm at tlink dot de, Gustavo)
 2947:   . Fixed bug #53141 (autoload misbehaves if called from closing session).
 2948:     (ladislav at marek dot su)
 2949:   . Fixed bug #53021 (In html_entity_decode, failure to convert numeric entities
 2950:     with ENT_NOQUOTES and ISO-8859-1). Fixed and extended the fix of
 2951:     ENT_NOQUOTES in html_entity_decode that had introduced the bug (rev
 2952:     #185591) to other encodings. Additionaly, html_entity_decode() now doesn't
 2953:     decode &#34; if ENT_NOQUOTES is given. (Gustavo)
 2954:   . Fixed bug #52931 (strripos not overloaded with function overloading
 2955:     enabled). (Felipe)
 2956:   . Fixed bug #52772 (var_dump() doesn't check for the existence of
 2957:     get_class_name before calling it). (Kalle, Gustavo)
 2958:   . Fixed bug #52534 (var_export array with negative key). (Felipe)
 2959:   . Fixed bug #52327 (base64_decode() improper handling of leading padding in
 2960:     strict mode). (Ilia)
 2961:   . Fixed bug #52260 (dns_get_record fails with non-existing domain on Windows).
 2962:     (a_jelly_doughnut at phpbb dot com, Pierre)
 2963:   . Fixed bug #50953 (socket will not connect to IPv4 address when the host has
 2964:     both IPv4 and IPv6 addresses, on Windows). (Gustavo, Pierre)
 2965:   . Fixed bug #50524 (proc_open on Windows does not respect cwd as it does on
 2966:     other platforms). (Pierre)
 2967:   . Fixed bug #49687 (utf8_decode vulnerabilities and deficiencies in the number
 2968:     of reported malformed sequences). (CVE-2010-3870) (Gustavo)
 2969:   . Fixed bug #49407 (get_html_translation_table doesn't handle UTF-8).
 2970:     (Gustavo)
 2971:   . Fixed bug #48831 (php -i has different output to php --ini). (Richard,
 2972:     Pierre)
 2973:   . Fixed bug #47643 (array_diff() takes over 3000 times longer than php 5.2.4).
 2974:     (Felipe)
 2975:   . Fixed bug #47168 (printf of floating point variable prints maximum of 40
 2976:     decimal places). (Ilia)
 2977:   . Fixed bug #46587 (mt_rand() does not check that max is greater than min).
 2978:     (Ilia)
 2979:   . Fixed bug #29085 (bad default include_path on Windows). (Pierre)
 2980:   . Fixed bug #25927 (get_html_translation_table calls the ' &#39; instead of
 2981:     &#039;). (Gustavo)
 2982: 
 2983: - Zend engine:
 2984:   . Reverted fix for bug #51176 (Static calling in non-static method behaves
 2985:     like $this->). (Felipe)
 2986:   . Changed deprecated ini options on startup from E_WARNING to E_DEPRECATED.
 2987:     (Kalle)
 2988:   . Fixed NULL dereference in lex_scan on zend multibyte builds where the script
 2989:     had a flex incompatible encoding and there was no converter. (Gustavo)
 2990:   . Fixed covariance of return-by-ref constraints. (Etienne)
 2991:   . Fixed bug #53305 (E_NOTICE when defining a constant starts with
 2992:     __COMPILER_HALT_OFFSET__). (Felipe)
 2993:   . Fixed bug #52939 (zend_call_function does not respect ZEND_SEND_PREFER_REF).
 2994:     (Dmitry)
 2995:   . Fixed bug #52879 (Objects unreferenced in __get, __set, __isset or __unset
 2996:     can be freed too early). (mail_ben_schmidt at yahoo dot com dot au, Dmitry)
 2997:   . Fixed bug #52786 (PHP should reset section to [PHP] after ini sections).
 2998:     (Fedora at famillecollet dot com)
 2999:   . Fixed bug #52508 (newline problem with parse_ini_file+INI_SCANNER_RAW).
 3000:     (Felipe)
 3001:   . Fixed bug #52484 (__set() ignores setting properties with empty names).
 3002:     (Felipe)
 3003:   . Fixed bug #52361 (Throwing an exception in a destructor causes invalid
 3004:     catching). (Dmitry)
 3005:   . Fixed bug #51008 (Zend/tests/bug45877.phpt fails). (Dmitry)
 3006: 
 3007: - Build issues:
 3008:   . Fixed bug #52436 (Compile error if systems do not have stdint.h)
 3009:     (Sriram Natarajan)
 3010:   . Fixed bug #50345 (nanosleep not detected properly on some solaris versions).
 3011:     (Ulf, Tony)
 3012:   . Fixed bug #49215 (make fails on glob_wrapper). (Felipe)
 3013: 
 3014: - Calendar extension:
 3015:   . Fixed bug #52744 (cal_days_in_month incorrect for December 1 BCE).
 3016:    (gpap at internet dot gr, Adam)
 3017: 
 3018: - cURL extension:
 3019:   . Fixed bug #52828 (curl_setopt does not accept persistent streams).
 3020:     (Gustavo, Ilia)
 3021:   . Fixed bug #52827 (cURL leaks handle and causes assertion error
 3022:     (CURLOPT_STDERR)). (Gustavo)
 3023:   . Fixed bug #52202 (CURLOPT_PRIVATE gets corrupted). (Ilia)
 3024:   . Fixed bug #50410 (curl extension slows down PHP on Windows). (Pierre)
 3025: 
 3026: - DateTime extension:
 3027:   . Fixed bug #53297 (gettimeofday implementation in php/win32/time.c can return
 3028:     1 million microsecs). (ped at 7gods dot org)
 3029:   . Fixed bug #52668 (Iterating over a dateperiod twice is broken). (Derick)
 3030:   . Fixed bug #52454 (Relative dates and getTimestamp increments by one day).
 3031:     (Derick)
 3032:   . Fixed bug #52430 (date_parse parse 24:xx:xx as valid time). (Derick)
 3033:   . Added support for the ( and ) delimiters/separators to
 3034:     DateTime::createFromFormat(). (Derick)
 3035: 
 3036: - DBA extension:
 3037:   . Added Berkeley DB 5.1 support to the DBA extension. (Oracle Corp.)
 3038: 
 3039: - DOM extension:
 3040:   . Fixed bug #52656 (DOMCdataSection does not work with splitText). (Ilia)
 3041: 
 3042: - Filter extension:
 3043:   . Fixed the filter extension accepting IPv4 octets with a leading 0 as that
 3044:     belongs to the unsupported "dotted octal" representation. (Gustavo)
 3045:   . Fixed bug #53236 (problems in the validation of IPv6 addresses with leading
 3046:     and trailing :: in the filter extension). (Gustavo)
 3047:   . Fixed bug #50117 (problems in the validation of IPv6 addresses with IPv4
 3048:     addresses and ::). (Gustavo)
 3049: 
 3050: - GD extension:
 3051:   . Fixed bug #53492 (fix crash if anti-aliasing steps are invalid). (Pierre)
 3052: 
 3053: - GMP extension:
 3054:   . Fixed bug #52906 (gmp_mod returns negative result when non-negative is
 3055:     expected). (Stas)
 3056:   . Fixed bug #52849 (GNU MP invalid version match). (Adam)
 3057: 
 3058: - Hash extension:
 3059:   . Fixed bug #51003 (unaligned memory access in ext/hash/hash_tiger.c).
 3060:     (Mike, Ilia)
 3061: 
 3062: - Iconv extension:
 3063:   . Fixed bug #52941 (The 'iconv_mime_decode_headers' function is skipping
 3064:     headers). (Adam)
 3065:   . Fixed bug #52599 (iconv output handler outputs incorrect content type
 3066:     when flags are used). (Ilia)
 3067:   . Fixed bug #51250 (iconv_mime_decode() does not ignore malformed Q-encoded
 3068:     words). (Ilia)
 3069: 
 3070: - Intl extension:
 3071:   . Fixed crashes on invalid parameters in intl extension. (CVE-2010-4409).
 3072:     (Stas, Maksymilian Arciemowicz)
 3073:   . Added support for formatting the timestamp stored in a DateTime object.
 3074:     (Stas)
 3075:   . Fixed bug #50590 (IntlDateFormatter::parse result is limited to the integer
 3076:     range). (Stas)
 3077: 
 3078: - Mbstring extension:
 3079:   . Fixed bug #53273 (mb_strcut() returns garbage with the excessive length
 3080:     parameter). (CVE-2010-4156) (Mateusz Kocielski, Pierre, Moriyoshi)
 3081:   . Fixed bug #52981 (Unicode casing table was out-of-date. Updated with
 3082:     UnicodeData-6.0.0d7.txt and included the source of the generator program
 3083:     with the distribution) (Gustavo).
 3084:   . Fixed bug #52681 (mb_send_mail() appends an extra MIME-Version header).
 3085:     (Adam)
 3086: 
 3087: - MSSQL extension:
 3088:   . Fixed possible crash in mssql_fetch_batch(). (Kalle)
 3089:   . Fixed bug #52843 (Segfault when optional parameters are not passed in to
 3090:     mssql_connect). (Felipe)
 3091: 
 3092: - MySQL extension:
 3093:   . Fixed bug #52636 (php_mysql_fetch_hash writes long value into int).
 3094:     (Kalle, rein at basefarm dot no)
 3095: 
 3096: - MySQLi extension:
 3097:   . Fixed bug #52891 (Wrong data inserted with mysqli/mysqlnd when using
 3098:     mysqli_stmt_bind_param and value> PHP_INT_MAX). (Andrey)
 3099:   . Fixed bug #52686 (mysql_stmt_attr_[gs]et argument points to incorrect type).
 3100:     (rein at basefarm dot no)
 3101:   . Fixed bug #52654 (mysqli doesn't install headers with structures it uses).
 3102:     (Andrey)
 3103:   . Fixed bug #52433 (Call to undefined method mysqli::poll() - must be static).
 3104:     (Andrey)
 3105:   . Fixed bug #52417 (MySQLi build failure with mysqlnd on MacOS X). (Andrey)
 3106:   . Fixed bug #52413 (MySQLi/libmysql build failure on OS X, FreeBSD). (Andrey)
 3107:   . Fixed bug #52390 (mysqli_report() should be per-request setting). (Kalle)
 3108:   . Fixed bug #52302 (mysqli_fetch_all does not work with MYSQLI_USE_RESULT).
 3109:     (Andrey)
 3110:   . Fixed bug #52221 (Misbehaviour of magic_quotes_runtime (get/set)). (Andrey)
 3111:   . Fixed bug #45921 (Can't initialize character set hebrew). (Andrey)
 3112: 
 3113: - MySQLnd:
 3114:   . Fixed bug #52613 (crash in mysqlnd after hitting memory limit). (Andrey)
 3115: 
 3116: - ODBC extension:
 3117:   - Fixed bug #52512 (Broken error handling in odbc_execute).
 3118:     (mkoegler at auto dot tuwien dot ac dot at)
 3119: 
 3120: - Openssl extension:
 3121:   . Fixed possible blocking behavior in openssl_random_pseudo_bytes on Windows.
 3122:     (Pierre)
 3123:   . Fixed bug #53136 (Invalid read on openssl_csr_new()). (Felipe)
 3124:   . Fixed bug #52947 (segfault when ssl stream option capture_peer_cert_chain
 3125:     used). (Felipe)
 3126: 
 3127: - Oracle Database extension (OCI8):
 3128:   . Fixed bug #53284 (Valgrind warnings in oci_set_* functions) (Oracle Corp.)
 3129:   . Fixed bug #51610 (Using oci_connect causes PHP to take a long time to
 3130:     exit).  Requires Oracle 11.2.0.2 client libraries (or Oracle bug fix
 3131:     9891199) for this patch to have an effect. (Oracle Corp.)
 3132: 
 3133: - PCNTL extension:
 3134:   . Fixed bug #52784 (Race condition when handling many concurrent signals).
 3135:     (nick dot telford at gmail dot com, Arnaud)
 3136: 
 3137: - PCRE extension:
 3138:   . Fixed bug #52971 (PCRE-Meta-Characters not working with utf-8). (Felipe)
 3139:   . Fixed bug #52732 (Docs say preg_match() returns FALSE on error, but it
 3140:     returns int(0)). (slugonamission at gmail dot com)
 3141: 
 3142: - PHAR extension:
 3143:   . Fixed bug #50987 (unaligned memory access in phar.c).
 3144:     (geissert at debian dot org, Ilia)
 3145: 
 3146: - PHP-FPM SAPI:
 3147:   . Fixed bug #53412 (segfault when using -y). (fat)
 3148:   . Fixed inconsistent backlog default value (-1) in FPM on many systems. (fat)
 3149:   . Fixed bug #52501 (libevent made FPM crashed when forking -- libevent has
 3150:     been removed). (fat)
 3151:   . Fixed bug #52725 (gcc builtin atomic functions were sometimes used when they
 3152:     were not available). (fat)
 3153:   . Fixed bug #52693 (configuration file errors are not logged to stderr). (fat)
 3154:   . Fixed bug #52674 (FPM Status page returns inconsistent Content-Type
 3155:     headers). (fat)
 3156:   . Fixed bug #52498 (libevent was not only linked to php-fpm). (fat)
 3157: 
 3158: - PDO:
 3159:   . Fixed bug #52699 (PDO bindValue writes long int 32bit enum).
 3160:     (rein at basefarm dot no)
 3161:   . Fixed bug #52487 (PDO::FETCH_INTO leaks memory). (Felipe)
 3162: 
 3163: - PDO DBLib driver:
 3164:   . Fixed bug #52546 (pdo_dblib segmentation fault when iterating MONEY values).
 3165:     (Felipe)
 3166: 
 3167: - PDO Firebird driver:
 3168:   . Restored firebird support (VC9 builds only). (Pierre)
 3169:   . Fixed bug #53335 (pdo_firebird did not implement rowCount()).
 3170:     (preeves at ibphoenix dot com)
 3171:   . Fixed bug #53323 (pdo_firebird getAttribute() crash).
 3172:     (preeves at ibphoenix dot com)
 3173: 
 3174: - PDO MySQL driver:
 3175:   . Fixed bug #52745 (Binding params doesn't work when selecting a date inside a
 3176:     CASE-WHEN). (Andrey)
 3177: 
 3178: - PostgreSQL extension:
 3179:   . Fixed bug #47199 (pg_delete() fails on NULL). (ewgraf at gmail dot com)
 3180: 
 3181: - Reflection extension:
 3182:   . Fixed ReflectionProperty::isDefault() giving a wrong result for properties
 3183:     obtained with ReflectionClass::getProperties(). (Gustavo)
 3184: - Reflection extension:
 3185:   . Fixed bug #53366 (Reflection doesnt get dynamic property value from
 3186:     getProperty()). (Felipe)
 3187:   . Fixed bug #52854 (ReflectionClass::newInstanceArgs does not work for classes
 3188:     without constructors). (Johannes)
 3189: 
 3190: - SOAP extension:
 3191:   . Fixed bug #44248 (RFC2616 transgression while HTTPS request through proxy
 3192:     with SoapClient object). (Dmitry)
 3193: 
 3194: - SPL extension:
 3195:   . Fixed bug #53362 (Segmentation fault when extending SplFixedArray). (Felipe)
 3196:   . Fixed bug #53279 (SplFileObject doesn't initialise default CSV escape
 3197:     character). (Adam)
 3198:   . Fixed bug #53144 (Segfault in SplObjectStorage::removeAll()). (Felipe)
 3199:   . Fixed bug #53071 (SPLObjectStorage defeats gc_collect_cycles). (Gustavo)
 3200:   . Fixed bug #52573 (SplFileObject::fscanf Segmentation fault). (Felipe)
 3201:   . Fixed bug #51763 (SplFileInfo::getType() does not work symbolic link
 3202:     and directory). (Pierre)
 3203:   . Fixed bug #50481 (Storing many SPLFixedArray in an array crashes). (Felipe)
 3204:   . Fixed bug #50579 (RegexIterator::REPLACE doesn't work). (Felipe)
 3205: 
 3206: - SQLite3 extension:
 3207:   . Fixed bug #53463 (sqlite3 columnName() segfaults on bad column_number).
 3208:     (Felipe)
 3209: 
 3210: - Streams:
 3211:   . Fixed forward stream seeking emulation in streams that don't support seeking
 3212:     in situations where the read operation gives back less data than requested
 3213:     and when there was data in the buffer before the emulation started. Also
 3214:     made more consistent its behavior -- should return failure every time less
 3215:     data than was requested was skipped. (Gustavo)
 3216:   . Fixed bug #53241 (stream casting that relies on fdopen/fopencookie fails
 3217:     with streams opened with, inter alia, the 'xb' mode). (Gustavo)
 3218:   . Fixed bug #53006 (stream_get_contents has an unpredictable behavior when the
 3219:     underlying stream does not support seeking). (Gustavo)
 3220:   . Fixed bug #52944 (Invalid write on second and subsequent reads with an
 3221:     inflate filter fed invalid data). (Gustavo)
 3222:   . Fixed bug #52820 (writes to fopencookie FILE* not commited when seeking the
 3223:     stream). (Gustavo)
 3224: 
 3225: - WDDX extension:
 3226:   . Fixed bug #52468 (wddx_deserialize corrupts integer field value when left
 3227:     empty). (Felipe)
 3228: 
 3229: - Zlib extension:
 3230:   . Fixed bug #52926 (zlib fopen wrapper does not use context). (Gustavo)
 3231: 
 3232: 22 Jul 2010, PHP 5.3.3
 3233: - Upgraded bundled sqlite to version 3.6.23.1. (Ilia)
 3234: - Upgraded bundled PCRE to version 8.02. (Ilia)
 3235: 
 3236: - Added support for JSON_NUMERIC_CHECK option in json_encode() that converts
 3237:   numeric strings to integers. (Ilia)
 3238: - Added stream_set_read_buffer, allows to set the buffer for read operation.
 3239:   (Pierre)
 3240: - Added stream filter support to mcrypt extension (ported from
 3241:   mcrypt_filter). (Stas)
 3242: - Added full_special_chars filter to ext/filter. (Rasmus)
 3243: - Added backlog socket context option for stream_socket_server(). (Mike)
 3244: - Added fifth parameter to openssl_encrypt()/openssl_decrypt()
 3245:   (string $iv) to use non-NULL IV.
 3246:   Made implicit use of NULL IV a warning. (Sara)
 3247: - Added openssl_cipher_iv_length(). (Sara)
 3248: - Added FastCGI Process Manager (FPM) SAPI. (Tony)
 3249: - Added recent Windows versions to php_uname and fix undefined windows
 3250:   version support. (Pierre)
 3251: - Added Berkeley DB 5 support to the DBA extension. (Johannes, Chris Jones)
 3252: - Added support for copy to/from array/file for pdo_pgsql extension.
 3253:   (Denis Gasparin, Ilia)
 3254: - Added inTransaction() method to PDO, with specialized support for Postgres.
 3255:   (Ilia, Denis Gasparin)
 3256: 
 3257: - Changed namespaced classes so that the ctor can only be named
 3258:   __construct now. (Stas)
 3259: - Reset error state in PDO::beginTransaction() reset error state. (Ilia)
 3260: 
 3261: - Implemented FR#51295 (SQLite3::busyTimeout not existing). (Mark)
 3262: - Implemented FR#35638 (Adding udate to imap_fetch_overview results).
 3263:   (Charles_Duffy at dell dot com )
 3264: - Rewrote var_export() to use smart_str rather than output buffering, prevents
 3265:   data disclosure if a fatal error occurs (CVE-2010-2531). (Scott)
 3266: - Fixed possible buffer overflows in mysqlnd_list_fields,  mysqlnd_change_user.
 3267:   (Andrey)
 3268: - Fixed possible buffer overflows when handling error packets in mysqlnd.
 3269:   Reported by Stefan Esser. (Andrey)
 3270: - Fixed very rare memory leak in mysqlnd, when binding thousands of columns.
 3271:   (Andrey)
 3272: - Fixed a crash when calling an inexistent method of a class that inherits
 3273:   PDOStatement if instantiated directly instead of doing by the PDO methods.
 3274:   (Felipe)
 3275: 
 3276: - Fixed memory leak on error in mcrypt_create_iv on Windows. (Pierre)
 3277: - Fixed a possible crash because of recursive GC invocation. (Dmitry)
 3278: - Fixed a possible resource destruction issues in shm_put_var().
 3279:   Reported by Stefan Esser. (Dmitry)
 3280: - Fixed a possible information leak because of interruption of XOR operator.
 3281:   Reported by Stefan Esser. (Dmitry)
 3282: - Fixed a possible memory corruption because of unexpected call-time pass by
 3283:   refernce and following memory clobbering through callbacks.
 3284:   Reported by Stefan Esser. (Dmitry)
 3285: - Fixed a possible memory corruption in ArrayObject::uasort(). Reported by
 3286:   Stefan Esser. (Dmitry)
 3287: - Fixed a possible memory corruption in parse_str(). Reported by Stefan Esser.
 3288:   (Dmitry)
 3289: - Fixed a possible memory corruption in pack(). Reported by Stefan Esser.
 3290:   (Dmitry)
 3291: - Fixed a possible memory corruption in substr_replace(). Reported by Stefan
 3292:   Esser. (Dmitry)
 3293: - Fixed a possible memory corruption in addcslashes(). Reported by Stefan
 3294:   Esser. (Dmitry)
 3295: - Fixed a possible stack exhaustion inside fnmatch(). Reported by Stefan
 3296:   Esser. (Ilia)
 3297: - Fixed a possible dechunking filter buffer overflow. Reported by Stefan Esser.
 3298:   (Pierre)
 3299: - Fixed a possible arbitrary memory access inside sqlite extension. Reported
 3300:   by Mateusz Kocielski. (Ilia)
 3301: - Fixed string format validation inside phar extension. Reported by Stefan
 3302:   Esser. (Ilia)
 3303: - Fixed handling of session variable serialization on certain prefix
 3304:   characters. Reported by Stefan Esser. (Ilia)
 3305: - Fixed a NULL pointer dereference when processing invalid XML-RPC
 3306:   requests (Fixes CVE-2010-0397, bug #51288). (Raphael Geissert)
 3307: - Fixed 64-bit integer overflow in mhash_keygen_s2k(). (Clément LECIGNE, Stas)
 3308: - Fixed SplObjectStorage unserialization problems (CVE-2010-2225). (Stas)
 3309: - Fixed the mail.log ini setting when no filename was given. (Johannes)
 3310: 
 3311: - Fixed bug #52317 (Segmentation fault when using mail() on a rhel 4.x (only 64
 3312:   bit)). (Adam)
 3313: - Fixed bug #52262 (json_decode() shows no errors on invalid UTF-8).
 3314:   (Scott)
 3315: - Fixed bug #52240 (hash_copy() does not copy the HMAC key, causes wrong
 3316:   results and PHP crashes). (Felipe)
 3317: - Fixed bug #52238 (Crash when an Exception occured in iterator_to_array).
 3318:   (Johannes)
 3319: - Fixed bug #52193 (converting closure to array yields empty array). (Felipe)
 3320: - Fixed bug #52183 (Reflectionfunction reports invalid number of arguments for
 3321:   function aliases). (Felipe)
 3322: - Fixed bug #52162 (custom request header variables with numbers are removed).
 3323:   (Sriram Natarajan)
 3324: - Fixed bug #52160 (Invalid E_STRICT redefined constructor error). (Felipe)
 3325: - Fixed bug #52138 (Constants are parsed into the ini file for section names).
 3326:   (Felipe)
 3327: - Fixed bug #52115 (mysqli_result::fetch_all returns null, not an empty array).
 3328:   (Andrey)
 3329: - Fixed bug #52101 (dns_get_record() garbage in 'ipv6' field on Windows).
 3330:   (Pierre)
 3331: - Fixed bug #52082 (character_set_client & character_set_connection reset after
 3332:   mysqli_change_user()). (Andrey)
 3333: - Fixed bug #52043 (GD doesn't recognize latest libJPEG versions).
 3334:   (php at group dot apple dot com, Pierre)
 3335: - Fixed bug #52041 (Memory leak when writing on uninitialized variable returned
 3336:   from function). (Dmitry)
 3337: - Fixed bug #52060 (Memory leak when passing a closure to method_exists()).
 3338:   (Felipe)
 3339: - Fixed bug #52057 (ReflectionClass fails on Closure class). (Felipe)
 3340: - Fixed bug #52051 (handling of case sensitivity of old-style constructors
 3341:   changed in 5.3+). (Felipe)
 3342: - Fixed bug #52037 (Concurrent builds fail in install-programs). (seanius at
 3343:   debian dot org, Kalle)
 3344: - Fixed bug #52019 (make lcov doesn't support TESTS variable anymore). (Patrick)
 3345: - Fixed bug #52010 (open_basedir restrictions mismatch on vacuum command).
 3346:   (Ilia)
 3347: - Fixed bug #52001 (Memory allocation problems after using variable variables).
 3348:   (Dmitry)
 3349: - Fixed bug #51991 (spl_autoload and *nix support with namespace). (Felipe)
 3350: - Fixed bug #51943 (AIX: Several files are out of ANSI spec). (Kalle,
 3351:   coreystup at gmail dot com)
 3352: - Fixed bug #51911 (ReflectionParameter::getDefaultValue() memory leaks with
 3353:   constant array). (Felipe)
 3354: - Fixed bug #51905 (ReflectionParameter fails if default value is an array
 3355:   with an access to self::). (Felipe)
 3356: - Fixed bug #51899 (Parse error in parse_ini_file() function when empy value
 3357:   followed by no newline). (Felipe)
 3358: - Fixed bug #51844 (checkdnsrr does not support types other than MX). (Pierre)
 3359: - Fixed bug #51827 (Bad warning when register_shutdown_function called with
 3360:   wrong num of parameters). (Felipe)
 3361: - Fixed bug #51822 (Segfault with strange __destruct() for static class
 3362:   variables). (Dmitry)
 3363: - Fixed bug #51791 (constant() aborts execution when fail to check undefined
 3364:   constant). (Felipe)
 3365: - Fixed bug #51732 (Fileinfo __construct or open does not work with NULL).
 3366:   (Pierre)
 3367: - Fixed bug #51725 (xmlrpc_get_type() returns true on invalid dates). (Mike)
 3368: - Fixed bug #51723 (Content-length header is limited to 32bit integer with
 3369:   Apache2 on Windows). (Pierre)
 3370: - Fixed bug #51721 (mark DOMNodeList and DOMNamedNodeMap as Traversable).
 3371:   (David Zuelke)
 3372: - Fixed bug #51712 (Test mysql_mysqlnd_read_timeout_long must fail on MySQL4).
 3373:   (Andrey)
 3374: - Fixed bug #51697 (Unsafe operations in free_storage of SPL iterators,
 3375:   causes crash during shutdown). (Etienne)
 3376: - Fixed bug #51690 (Phar::setStub looks for case-sensitive
 3377:   __HALT_COMPILER()). (Ilia)
 3378: - Fixed bug #51688 (ini per dir crashes when invalid document root  are given).
 3379:   (Pierre)
 3380: - Fixed bug #51671 (imagefill does not work correctly for small images).
 3381:   (Pierre)
 3382: - Fixed bug #51670 (getColumnMeta causes segfault when re-executing query
 3383:   after calling nextRowset). (Pierrick)
 3384: - Fixed bug #51647 Certificate file without private key (pk in another file)
 3385:   doesn't work. (Andrey)
 3386: - Fixed bug #51629 (CURLOPT_FOLLOWLOCATION error message is misleading).
 3387:   (Pierre)
 3388: - Fixed bug #51627 (script path not correctly evaluated).
 3389:   (russell dot tempero at rightnow dot com)
 3390: - Fixed bug #51624 (Crash when calling mysqli_options()). (Felipe)
 3391: - Fixed bug #51615 (PHP crash with wrong HTML in SimpleXML). (Felipe)
 3392: - Fixed bug #51609 (pg_copy_to: Invalid results when using fourth parameter).
 3393:   (Felipe)
 3394: - Fixed bug #51608 (pg_copy_to: WARNING: nonstandard use of \\ in a string
 3395:   literal). (cbandy at jbandy dot com)
 3396: - Fixed bug #51607 (pg_copy_from does not allow schema in the tablename
 3397:   argument). (cbandy at jbandy dot com)
 3398: - Fixed bug #51605 (Mysqli - zombie links). (Andrey)
 3399: - Fixed bug #51604 (newline in end of header is shown in start of message).
 3400:   (Daniel Egeberg)
 3401: - Fixed bug #51590 (JSON_ERROR_UTF8 is undefined). (Felipe)
 3402: - Fixed bug #51583 (Bus error due to wrong alignment in mysqlnd). (Rainer Jung)
 3403: - Fixed bug #51582 (Don't assume UINT64_C it's ever available).
 3404:   (reidrac at usebox dot net, Pierre)
 3405: - Fixed bug #51577 (Uninitialized memory reference with oci_bind_array_by_name)
 3406:   (Oracle Corp.)
 3407: - Fixed bug #51562 (query timeout in mssql can not be changed per query).
 3408:   (ejsmont dot artur at gmail dot com)
 3409: - Fixed bug #51552 (debug_backtrace() causes segmentation fault and/or memory
 3410:   issues). (Dmitry)
 3411: - Fixed bug #51445 (var_dump() invalid/slow *RECURSION* detection). (Felipe)
 3412: - Fixed bug #51435 (Missing ifdefs / logic bug in crypt code cause compile
 3413:   errors). (Felipe)
 3414: - Fixed bug #51424 (crypt() function hangs after 3rd call). (Pierre, Sriram)
 3415: - Fixed bug #51394 (Error line reported incorrectly if error handler throws an
 3416:   exception). (Stas)
 3417: - Fixed bug #51393 (DateTime::createFromFormat() fails if format string contains
 3418:   timezone). (Adam)
 3419: - Fixed bug #51347 (mysqli_close / connection memory leak). (Andrey, Johannes)
 3420: - Fixed bug #51338 (URL-Rewriter is still enabled if use_only_cookies is
 3421:   on). (Ilia, j dot jeising at gmail dot com)
 3422: - Fixed bug #51291 (oci_error doesn't report last error when called two times)
 3423:   (Oracle Corp.)
 3424: - Fixed bug #51276 (php_load_extension() is missing when HAVE_LIBDL is
 3425:   undefined). (Tony)
 3426: - Fixed bug #51273 (Faultstring property does not exist when the faultstring is
 3427:   empty) (Ilia, dennis at transip dot nl)
 3428: - Fixed bug #51269 (zlib.output_compression Overwrites Vary Header). (Adam)
 3429: - Fixed bug #51257 (CURL_VERSION_LARGEFILE incorrectly used after libcurl
 3430:   version 7.10.1). (aron dot ujvari at microsec dot hu)
 3431: - Fixed bug #51242 (Empty mysql.default_port does not default to 3306 anymore,
 3432:   but 0). (Adam)
 3433: - Fixed bug #51237 (milter SAPI crash on startup). (igmar at palsenberg dot com)
 3434: - Fixed bug #51213 (pdo_mssql is trimming value of the money column). (Ilia,
 3435:   alexr at oplot dot com)
 3436: - Fixed bug #51190 (ftp_put() returns false when transfer was successful).
 3437:   (Ilia)
 3438: - Fixed bug #51183 (ext/date/php_date.c fails to compile with Sun Studio).
 3439:   (Sriram Natarajan)
 3440: - Fixed bug #51176 (Static calling in non-static method behaves like $this->).
 3441:   (Felipe)
 3442: - Fixed bug #51171 (curl_setopt() doesn't output any errors or warnings when
 3443:   an invalid option is provided). (Ilia)
 3444: - Fixed bug #51128 (imagefill() doesn't work with large images). (Pierre)
 3445: - Fixed bug #51096 ('last day' and 'first day' are handled incorrectly when
 3446:   parsing date strings). (Derick)
 3447: - Fixed bug #51086 (DBA DB4 doesn't work with Berkeley DB 4.8). (Chris Jones)
 3448: - Fixed bug #51062 (DBA DB4 uses mismatched headers and libraries). (Chris
 3449:   Jones)
 3450: - Fixed bug #51026 (mysqli_ssl_set not working). (Andrey)
 3451: - Fixed bug #51023 (filter doesn't detect int overflows with GCC 4.4).
 3452:   (Raphael Geissert)
 3453: - Fixed bug #50999 (unaligned memory access in dba_fetch()). (Felipe)
 3454: - Fixed bug #50976 (Soap headers Authorization not allowed).
 3455:   (Brain France, Dmitry)
 3456: - Fixed bug #50828 (DOMNotation is not subclass of DOMNode). (Rob)
 3457: - Fixed bug #50810 (property_exists does not work for private). (Felipe)
 3458: - Fixed bug #50762 (in WSDL mode Soap Header handler function only being called
 3459:   if defined in WSDL). (mephius at gmail dot com)
 3460: - Fixed bug #50731 (Inconsistent namespaces sent to functions registered with
 3461:   spl_autoload_register). (Felipe)
 3462: - Fixed bug #50563 (removing E_WARNING from parse_url). (ralph at smashlabs dot
 3463:   com, Pierre)
 3464: - Fixed bug #50578 (incorrect shebang in phar.phar). (Fedora at FamilleCollet
 3465:   dot com)
 3466: - Fixed bug #50392 (date_create_from_format enforces 6 digits for 'u' format
 3467:   character). (Derick)
 3468: - Fixed bug #50383 (Exceptions thrown in __call / __callStatic do not include
 3469:   file and line in trace). (Felipe)
 3470: - Fixed bug #50358 (Compile failure compiling ext/phar/util.lo). (Felipe)
 3471: - Fixed bug #50101 (name clash between global and local variable).
 3472:   (patch by yoarvi at gmail dot com)
 3473: - Fixed bug #50055 (DateTime::sub() allows 'relative' time modifications).
 3474:   (Derick)
 3475: - Fixed bug #51002 (fix possible memory corruption with very long names).
 3476:   (Pierre)
 3477: - Fixed bug #49893 (Crash while creating an instance of Zend_Mail_Storage_Pop3).
 3478:   (Dmitry)
 3479: - Fixed bug #49819 (STDOUT losing data with posix_isatty()). (Mike)
 3480: - Fixed bug #49778 (DateInterval::format("%a") is always zero when an interval
 3481:   is created from an ISO string). (Derick)
 3482: - Fixed bug #49700 (memory leaks in php_date.c if garbage collector is
 3483:   enabled). (Dmitry)
 3484: - Fixed bug #49576 (FILTER_VALIDATE_EMAIL filter needs updating) (Rasmus)
 3485: - Fixed bug #49490 (XPath namespace prefix conflict). (Rob)
 3486: - Fixed bug #49429 (odbc_autocommit doesn't work). (Felipe)
 3487: - Fixed bug #49320 (PDO returns null when SQLite connection fails). (Felipe)
 3488: - Fixed bug #49234 (mysqli_ssl_set not found). (Andrey)
 3489: - Fixed bug #49216 (Reflection doesn't seem to work properly on MySqli).
 3490:   (Andrey)
 3491: - Fixed bug #49192 (PHP crashes when GC invoked on COM object). (Stas)
 3492: - Fixed bug #49081 (DateTime::diff() mistake if start in January and interval >
 3493:   28 days). (Derick)
 3494: - Fixed bug #49059 (DateTime::diff() repeats previous sub() operation).
 3495:   (yoarvi@gmail.com, Derick)
 3496: - Fixed bug #48983 (DomDocument : saveHTMLFile wrong charset). (Rob)
 3497: - Fixed bug #48930 (__COMPILER_HALT_OFFSET__ incorrect in PHP >= 5.3). (Felipe)
 3498: - Fixed bug #48902 (Timezone database fallback map is outdated). (Derick)
 3499: - Fixed bug #48781 (Cyclical garbage collector memory leak). (Dmitry)
 3500: - Fixed bug #48601 (xpath() returns FALSE for legitimate query). (Rob)
 3501: - Fixed bug #48361 (SplFileInfo::getPathInfo should return the
 3502:   parent dir). (Etienne)
 3503: - Fixed bug #48289 (iconv_mime_encode() quoted-printable scheme is broken).
 3504:   (Adam, patch from hiroaki dot kawai at gmail dot com).
 3505: - Fixed bug #47842 (sscanf() does not support 64-bit values). (Mike)
 3506: - Fixed bug #46111 (Some timezone identifiers can not be parsed). (Derick)
 3507: - Fixed bug #45808 (stream_socket_enable_crypto() blocks and eats CPU).
 3508:   (vincent at optilian dot com)
 3509: - Fixed bug #43233 (sasl support for ldap on Windows). (Pierre)
 3510: - Fixed bug #35673 (formatOutput does not work with saveHTML). (Rob)
 3511: - Fixed bug #33210 (getimagesize() fails to detect width/height on certain
 3512:   JPEGs). (Ilia)
 3513: 
 3514: 04 Mar 2010, PHP 5.3.2
 3515: 
 3516: - Upgraded bundled sqlite to version 3.6.22. (Ilia)
 3517: - Upgraded bundled libmagic to version 5.03. (Mikko)
 3518: - Upgraded bundled PCRE to version 8.00. (Scott)
 3519: - Updated timezone database to version 2010.3. (Derick)
 3520: 
 3521: - Improved LCG entropy. (Rasmus, Samy Kamkar)
 3522: - Improved crypt support for edge cases (UFC compatibility). (Solar Designer,
 3523:   Joey, Pierre)
 3524: 
 3525: - Reverted fix for bug #49521 (PDO fetchObject sets values before calling
 3526:   constructor). (Pierrick, Johannes)
 3527: 
 3528: - Changed gmp_strval() to use full range from 2 to 62, and -2 to -36. FR #50283
 3529:   (David Soria Parra)
 3530: - Changed "post_max_size" php.ini directive to allow unlimited post size by
 3531:   setting it to 0. (Rasmus)
 3532: - Changed tidyNode class to disallow manual node creation. (Pierrick)
 3533: 
 3534: - Removed automatic file descriptor unlocking happening on shutdown and/or
 3535:   stream close (on all OSes). (Tony, Ilia)
 3536: 
 3537: - Added libpng 1.4.0 support. (Pierre)
 3538: - Added support for DISABLE_AUTHENTICATOR for imap_open. (Pierre)
 3539: - Added missing host validation for HTTP urls inside FILTER_VALIDATE_URL.
 3540:   (Ilia)
 3541: - Added stream_resolve_include_path(). (Mikko)
 3542: - Added INTERNALDATE support to imap_append. (nick at mailtrust dot com)
 3543: - Added support for SHA-256 and SHA-512 to php's crypt. (Pierre)
 3544: - Added realpath_cache_size() and realpath_cache_get() functions. (Stas)
 3545: - Added FILTER_FLAG_STRIP_BACKTICK option to the filter extension. (Ilia)
 3546: - Added protection for $_SESSION from interrupt corruption and improved
 3547:   "session.save_path" check. (Stas)
 3548: - Added LIBXML_PARSEHUGE constant to override the maximum text size of a
 3549:   single text node when using libxml2.7.3+. (Kalle)
 3550: - Added ReflectionMethod::setAccessible() for invoking non-public methods
 3551:   through the Reflection API. (Sebastian)
 3552: - Added Collator::getSortKey for intl extension. (Stas)
 3553: - Added support for CURLOPT_POSTREDIR. FR #49571. (Sriram Natarajan)
 3554: - Added support for CURLOPT_CERTINFO. FR #49253.
 3555:   (Linus Nielsen Feltzing <linus@haxx.se>)
 3556: - Added client-side server name indication support in openssl. (Arnaud)
 3557: 
 3558: - Improved fix for bug #50006 (Segfault caused by uksort()). (Stas)
 3559: 
 3560: - Fixed mysqlnd hang when queries exactly 16777214 bytes long are sent. (Andrey)
 3561: - Fixed incorrect decoding of 5-byte BIT sequences in mysqlnd. (Andrey)
 3562: - Fixed error_log() to be binary safe when using message_type 3. (Jani)
 3563: - Fixed unnecessary invocation of setitimer when timeouts have been disabled.
 3564:   (Arvind Srinivasan)
 3565: - Fixed memory leak in extension loading when an error occurs on Windows.
 3566:   (Pierre)
 3567: - Fixed safe_mode validation inside tempnam() when the directory path does
 3568:   not end with a /). (Martin Jansen)
 3569: - Fixed a possible open_basedir/safe_mode bypass in session extension
 3570:   identified by Grzegorz Stachowiak. (Ilia)
 3571: - Fixed possible crash when a error/warning is raised during php startup.
 3572:   (Pierre)
 3573: - Fixed possible bad behavior of rename on windows when used with symbolic
 3574:   links or invalid paths. (Pierre)
 3575: - Fixed error output to stderr on Windows. (Pierre)
 3576: - Fixed memory leaks in is_writable/readable/etc on Windows. (Pierre)
 3577: - Fixed memory leaks in the ACL function on Windows. (Pierre)
 3578: - Fixed memory leak in the realpath cache on Windows. (Pierre)
 3579: - Fixed memory leak in zip_close. (Pierre)
 3580: - Fixed crypt's blowfish sanity check of the "setting" string, to reject
 3581:   iteration counts encoded as 36 through 39. (Solar Designer, Joey, Pierre)
 3582: 
 3583: - Fixed bug #51059 (crypt crashes when invalid salt are given). (Pierre)
 3584: - Fixed bug #50952 (allow underscore _ in constants parsed in php.ini files).
 3585:   (Jani)
 3586: - Fixed bug #50940 (Custom content-length set incorrectly in Apache SAPIs).
 3587:   (Brian France, Rasmus)
 3588: - Fixed bug #50930 (Wrong date by php_date.c patch with ancient gcc/glibc
 3589:   versions). (Derick)
 3590: - Fixed bug #50907 (X-PHP-Originating-Script adding two new lines in *NIX).
 3591:   (Ilia)
 3592: - Fixed bug #50859 (build fails with openssl 1.0 due to md2 deprecation).
 3593:   (Ilia, hanno at hboeck dot de)
 3594: - Fixed bug #50847 (strip_tags() removes all tags greater then 1023 bytes
 3595:   long). (Ilia)
 3596: - Fixed bug #50829 (php.ini directive pdo_mysql.default_socket is ignored).
 3597:   (Ilia)
 3598: - Fixed bug #50832 (HTTP fopen wrapper does not support passwordless HTTP
 3599:   authentication). (Jani)
 3600: - Fixed bug #50787 (stream_set_write_buffer() has no effect on socket streams).
 3601:   (vnegrier at optilian dot com, Ilia)
 3602: - Fixed bug #50761 (system.multiCall crashes in xmlrpc extension).
 3603:   (hiroaki dot kawai at gmail dot com, Ilia)
 3604: - Fixed bug #50756 (CURLOPT_FTP_SKIP_PASV_IP does not exist). (Sriram)
 3605: - Fixed bug #50732 (exec() adds single byte twice to $output array). (Ilia)
 3606: - Fixed bug #50728 (All PDOExceptions hardcode 'code' property to 0).
 3607:   (Joey, Ilia)
 3608: - Fixed bug #50723 (Bug in garbage collector causes crash). (Dmitry)
 3609: - Fixed bug #50690 (putenv does not set ENV when the value is only one char).
 3610:   (Pierre)
 3611: - Fixed bug #50680 (strtotime() does not support eighth ordinal number). (Ilia)
 3612: - Fixed bug #50661 (DOMDocument::loadXML does not allow UTF-16). (Rob)
 3613: - Fixed bug #50657 (copy() with an empty (zero-byte) HTTP source succeeds but
 3614:   returns false). (Ilia)
 3615: - Fixed bug #50636 (MySQLi_Result sets values before calling constructor).
 3616:   (Pierrick)
 3617: - Fixed bug #50632 (filter_input() does not return default value if the
 3618:   variable does not exist). (Ilia)
 3619: - Fixed bug #50576 (XML_OPTION_SKIP_TAGSTART option has no effect). (Pierrick)
 3620: - Fixed bug #50558 (Broken object model when extending tidy). (Pierrick)
 3621: - Fixed bug #50540 (Crash while running ldap_next_reference test cases).
 3622:   (Sriram)
 3623: - Fixed bug #50519 (segfault in garbage collection when using set_error_handler
 3624:   and DomDocument). (Dmitry)
 3625: - Fixed bug #50508 (compile failure: Conflicting HEADER type declarations).
 3626:   (Jani)
 3627: - Fixed bug #50496 (Use of <stdbool.h> is valid only in a c99 compilation
 3628:   environment. (Sriram)
 3629: - Fixed bug #50464 (declare encoding doesn't work within an included file).
 3630:   (Felipe)
 3631: - Fixed bug #50458 (PDO::FETCH_FUNC fails with Closures). (Felipe, Pierrick)
 3632: - Fixed bug #50445 (PDO-ODBC stored procedure call from Solaris 64-bit causes
 3633:   seg fault). (davbrown4 at yahoo dot com, Felipe)
 3634: - Fixed bug #50416 (PROCEDURE db.myproc can't return a result set in the given
 3635:   context). (Andrey)
 3636: - Fixed bug #50394 (Reference argument converted to value in __call). (Stas)
 3637: - Fixed bug #50351 (performance regression handling objects, ten times slower
 3638:   in 5.3 than in 5.2). (Dmitry)
 3639: - Fixed bug #50392 (date_create_from_format() enforces 6 digits for 'u'
 3640:   format character). (Ilia)
 3641: - Fixed bug #50345 (nanosleep not detected properly on some solaris versions).
 3642:   (Jani)
 3643: - Fixed bug #50340 (php.ini parser does not allow spaces in ini keys). (Jani)
 3644: - Fixed bug #50334 (crypt ignores sha512 prefix). (Pierre)
 3645: - Fixed bug #50323 (Allow use of ; in values via ;; in PDO DSN).
 3646:   (Ilia, Pierrick)
 3647: - Fixed bug #50285 (xmlrpc does not preserve keys in encoded indexed arrays).
 3648:   (Felipe)
 3649: - Fixed bug #50282 (xmlrpc_encode_request() changes object into array in
 3650:   calling function). (Felipe)
 3651: - Fixed bug #50267 (get_browser(null) does not use HTTP_USER_AGENT). (Jani)
 3652: - Fixed bug #50266 (conflicting types for llabs). (Jani)
 3653: - Fixed bug #50261 (Crash When Calling Parent Constructor with
 3654:   call_user_func()). (Dmitry)
 3655: - Fixed bug #50255 (isset() and empty() silently casts array to object).
 3656:   (Felipe)
 3657: - Fixed bug #50240 (pdo_mysql.default_socket in php.ini shouldn't used
 3658:   if it is empty). (foutrelis at gmail dot com, Ilia)
 3659: - Fixed bug #50231 (Socket path passed using --with-mysql-sock is ignored when
 3660:   mysqlnd is enabled). (Jani)
 3661: - Fixed bug #50219 (soap call Segmentation fault on a redirected url).
 3662:   (Pierrick)
 3663: - Fixed bug #50212 (crash by ldap_get_option() with LDAP_OPT_NETWORK_TIMEOUT).
 3664:   (Ilia, shigeru_kitazaki at cybozu dot co dot jp)
 3665: - Fixed bug #50209 (Compiling with libedit cannot find readline.h).
 3666:   (tcallawa at redhat dot com)
 3667: - Fixed bug #50207 (segmentation fault when concatenating very large strings on
 3668:   64bit linux). (Ilia)
 3669: - Fixed bug #50196 (stream_copy_to_stream() produces warning when source is
 3670:   not file). (Stas)
 3671: - Fixed bug #50195 (pg_copy_to() fails when table name contains schema. (Ilia)
 3672: - Fixed bug #50185 (ldap_get_entries() return false instead of an empty array
 3673:   when there is no error). (Jani)
 3674: - Fixed bug #50174 (Incorrectly matched docComment). (Felipe)
 3675: - Fixed bug #50168 (FastCGI fails with wrong error on HEAD request to
 3676:   non-existant file). (Dmitry)
 3677: - Fixed bug #50162 (Memory leak when fetching timestamp column from Oracle
 3678:   database). (Felipe)
 3679: - Fixed bug #50159 (wrong working directory in symlinked files). (Dmitry)
 3680: - Fixed bug #50158 (FILTER_VALIDATE_EMAIL fails with valid addresses
 3681:   containing = or ?). (Pierrick)
 3682: - Fixed bug #50152 (ReflectionClass::hasProperty behaves like isset() not
 3683:   property_exists). (Felipe)
 3684: - Fixed bug #50146 (property_exists: Closure object cannot have properties).
 3685:   (Felipe)
 3686: - Fixed bug #50145 (crash while running bug35634.phpt). (Felipe)
 3687: - Fixed bug #50140 (With default compilation option, php symbols are unresolved
 3688:   for nsapi). (Uwe Schindler)
 3689: - Fixed bug #50087 (NSAPI performance improvements). (Uwe Schindler)
 3690: - Fixed bug #50073 (parse_url() incorrect when ? in fragment). (Ilia)
 3691: - Fixed bug #50023 (pdo_mysql doesn't use PHP_MYSQL_UNIX_SOCK_ADDR). (Ilia)
 3692: - Fixed bug #50005 (Throwing through Reflection modified Exception object
 3693:   makes segmentation fault). (Felipe)
 3694: - Fixed bug #49990 (SNMP3 warning message about security level printed twice).
 3695:   (Jani)
 3696: - Fixed bug #49985 (pdo_pgsql prepare() re-use previous aborted
 3697:   transaction). (ben dot pineau at gmail dot com, Ilia, Matteo)
 3698: - Fixed bug #49938 (Phar::isBuffering() returns inverted value). (Greg)
 3699: - Fixed bug #49936 (crash with ftp stream in php_stream_context_get_option()).
 3700:   (Pierrick)
 3701: - Fixed bug #49921 (Curl post upload functions changed). (Ilia)
 3702: - Fixed bug #49866 (Making reference on string offsets crashes PHP). (Dmitry)
 3703: - Fixed bug #49855 (import_request_variables() always returns NULL). (Ilia,
 3704:   sjoerd at php dot net)
 3705: - Fixed bug #49851, #50451 (http wrapper breaks on 1024 char long headers).
 3706:   (Ilia)
 3707: - Fixed bug #49800 (SimpleXML allow (un)serialize() calls without warning).
 3708:   (Ilia, wmeler at wp-sa dot pl)
 3709: - Fixed bug #49719 (ReflectionClass::hasProperty returns true for a private
 3710:   property in base class). (Felipe)
 3711: - Fixed bug #49677 (ini parser crashes with apache2 and using ${something}
 3712:   ini variables). (Jani)
 3713: - Fixed bug #49660 (libxml 2.7.3+ limits text nodes to 10MB). (Felipe)
 3714: - Fixed bug #49647 (DOMUserData does not exist). (Rob)
 3715: - Fixed bug #49600 (imageTTFText text shifted right). (Takeshi Abe)
 3716: - Fixed bug #49585 (date_format buffer not long enough for >4 digit years).
 3717:   (Derick, Adam)
 3718: - Fixed bug #49560 (oci8: using LOBs causes slow PHP shutdown). (Oracle Corp.)
 3719: - Fixed bug #49521 (PDO fetchObject sets values before calling constructor).
 3720:   (Pierrick)
 3721: - Fixed bug #49472 (Constants defined in Interfaces can be overridden).
 3722:   (Felipe)
 3723: - Fixed bug #49463 (setAttributeNS fails setting default namespace). (Rob)
 3724: - Fixed bug #49244 (Floating point NaN cause garbage characters). (Sjoerd)
 3725: - Fixed bug #49224 (Compile error due to old DNS functions on AIX systems).
 3726:   (Scott)
 3727: - Fixed bug #49174 (crash when extending PDOStatement and trying to set
 3728:   queryString property). (Felipe)
 3729: - Fixed bug #48811 (Directives in PATH section do not get applied to
 3730:   subdirectories). (Patch by: ct at swin dot edu dot au)
 3731: - Fixed bug #48590 (SoapClient does not honor max_redirects). (Sriram)
 3732: - Fixed bug #48190 (Content-type parameter "boundary" is not case-insensitive
 3733:   in HTTP uploads). (Ilia)
 3734: - Fixed bug #47848 (importNode doesn't preserve attribute namespaces). (Rob)
 3735: - Fixed bug #47409 (extract() problem with array containing word "this").
 3736:   (Ilia, chrisstocktonaz at gmail dot com)
 3737: - Fixed bug #47281 ($php_errormsg is limited in size of characters)
 3738:   (Oracle Corp.)
 3739: - Fixed bug #46478 (htmlentities() uses obsolete mapping table for character
 3740:   entity references). (Moriyoshi)
 3741: - Fixed bug #45599 (strip_tags() truncates rest of string with invalid
 3742:   attribute). (Ilia, hradtke)
 3743: - Fixed bug #45120 (PDOStatement->execute() returns true then false for same
 3744:   statement). (Pierrick)
 3745: - Fixed bug #44827 (define() allows :: in constant names). (Ilia)
 3746: - Fixed bug #44098 (imap_utf8() returns only capital letters).
 3747:   (steffen at dislabs dot de, Pierre)
 3748: - Fixed bug #34852 (Failure in odbc_exec() using oracle-supplied odbc
 3749:   driver). (tim dot tassonis at trivadis dot com)
 3750: 
 3751: 19 Nov 2009, PHP 5.3.1
 3752: - Upgraded bundled sqlite to version 3.6.19. (Scott)
 3753: - Updated timezone database to version 2009.17 (2009q). (Derick)
 3754: 
 3755: - Changed ini file directives [PATH=](on Win32) and [HOST=](on all) to be case
 3756:   insensitive. (garretts)
 3757: 
 3758: - Restored shebang line check to CGI sapi (not checked by scanner anymore).
 3759:   (Jani)
 3760: 
 3761: - Added "max_file_uploads" INI directive, which can be set to limit the
 3762:   number of file uploads per-request to 20 by default, to prevent possible
 3763:   DOS via temporary file exhaustion. (Ilia)
 3764: - Added missing sanity checks around exif processing. (Ilia)
 3765: - Added error constant when json_encode() detects an invalid UTF-8 sequence.
 3766:   (Scott)
 3767: - Added support for ACL on Windows for thread safe SAPI (Apache2 for example)
 3768:   and fix its support on NTS. (Pierre)
 3769: 
 3770: - Improved symbolic, mounted volume and junctions support for realpath on
 3771:   Windows. (Pierre)
 3772: - Improved readlink on Windows, suppress \??\ and use the drive syntax only.
 3773:   (Pierre)
 3774: - Improved dns_get_record() AAAA support on windows. Always available when
 3775:   IPv6 is support is installed, format is now the same than on unix. (Pierre)
 3776: - Improved the DNS functions on OSX to use newer APIs, also use Bind 9 API
 3777:   where available on other platforms. (Scott)
 3778: - Improved shared extension loading on OSX to use the standard Unix dlopen()
 3779:   API. (Scott)
 3780: 
 3781: - Fixed crash in com_print_typeinfo when an invalid typelib is given. (Pierre)
 3782: - Fixed a safe_mode bypass in tempnam() identified by Grzegorz Stachowiak.
 3783:   (Rasmus)
 3784: - Fixed a open_basedir bypass in posix_mkfifo() identified by Grzegorz
 3785:   Stachowiak.  (Rasmus)
 3786: - Fixed certificate validation inside php_openssl_apply_verification_policy
 3787:   (Ryan Sleevi, Ilia)
 3788: - Fixed crash in SQLiteDatabase::ArrayQuery() and SQLiteDatabase::SingleQuery()
 3789:   when calling using Reflection. (Felipe)
 3790: - Fixed crash when instantiating PDORow and PDOStatement through Reflection.
 3791:   (Felipe)
 3792: - Fixed sanity check for the color index in imagecolortransparent. (Pierre)
 3793: - Fixed scandir/readdir when used mounted points on Windows. (Pierre)
 3794: - Fixed zlib.deflate compress filter to actually accept level parameter. (Jani)
 3795: - Fixed leak on error in popen/exec (and related functions) on Windows.
 3796:   (Pierre)
 3797: - Fixed possible bad caching of symlinked directories in the realpath cache
 3798:   on Windows. (Pierre)
 3799: - Fixed atime and mtime in stat related functions on Windows. (Pierre)
 3800: - Fixed spl_autoload_unregister/spl_autoload_functions wrt. Closures and
 3801:   Functors. (Christian Seiler)
 3802: - Fixed open_basedir circumvention for "mail.log" ini directive.
 3803:   (Maksymilian Arciemowicz, Stas)
 3804: - Fixed signature generation/validation for zip archives in ext/phar. (Greg)
 3805: - Fixed memory leak in stream_is_local(). (Felipe, Tony)
 3806: - Fixed BC break in mime_content_type(), removes the content encoding. (Scott)
 3807: 
 3808: - Fixed PECL bug #16842 (oci_error return false when NO_DATA_FOUND is raised).
 3809:   (Chris Jones)
 3810: 
 3811: - Fixed bug #50063 (safe_mode_include_dir fails). (Johannes, christian at
 3812:   elmerot dot se)
 3813: - Fixed bug #50052 (Different Hashes on Windows and Linux on wrong Salt size).
 3814:   (Pierre)
 3815: - Fixed bug #49986 (Missing ICU DLLs on windows package). (Pierre)
 3816: - Fixed bug #49910 (no support for ././@LongLink for long filenames in phar
 3817:   tar support). (Greg)
 3818: - Fixed bug #49908 (throwing exception in __autoload crashes when interface
 3819:   is not defined). (Felipe)
 3820: - Fixed bug #49847 (exec() fails to return data inside 2nd parameter, given
 3821:   output lines >4095 bytes). (Ilia)
 3822: - Fixed bug #49809 (time_sleep_until() is not available on OpenSolaris). (Jani)
 3823: - Fixed bug #49757 (long2ip() can return wrong value in a multi-threaded
 3824:   applications). (Ilia, Florian Anderiasch)
 3825: - Fixed bug #49738 (calling mcrypt after mcrypt_generic_deinit crashes).
 3826:   (Sriram Natarajan)
 3827: - Fixed bug #49732 (crashes when using fileinfo when timestamp conversion
 3828:   fails). (Pierre)
 3829: - Fixed bug #49698 (Unexpected change in strnatcasecmp()). (Rasmus)
 3830: - Fixed bug #49630 (imap_listscan function missing). (Felipe)
 3831: - Fixed bug #49572 (use of C++ style comments causes build failure).
 3832:   (Sriram Natarajan)
 3833: - Fixed bug #49531 (CURLOPT_INFILESIZE sometimes causes warning "CURLPROTO_FILE
 3834:   cannot be set"). (Felipe)
 3835: - Fixed bug #49517 (cURL's CURLOPT_FILE prevents file from being deleted after
 3836:   fclose). (Ilia)
 3837: - Fixed bug #49470 (FILTER_SANITIZE_EMAIL allows disallowed characters).
 3838:   (Ilia)
 3839: - Fixed bug #49447 (php engine need to correctly check for socket API
 3840:   return status on windows). (Sriram Natarajan)
 3841: - Fixed bug #49391 (ldap.c utilizing deprecated ldap_modify_s). (Ilia)
 3842: - Fixed bug #49372 (segfault in php_curl_option_curl). (Pierre)
 3843: - Fixed bug #49361 (wordwrap() wraps incorrectly on end of line boundaries).
 3844:   (Ilia, code-it at mail dot ru)
 3845: - Fixed bug #49306 (inside pdo_mysql default socket settings are ignored).
 3846:   (Ilia)
 3847: - Fixed bug #49289 (bcmath module doesn't compile with phpize configure).
 3848:   (Jani)
 3849: - Fixed bug #49286 (php://input (php_stream_input_read) is broken). (Jani)
 3850: - Fixed bug #49269 (Ternary operator fails on Iterator object when used inside
 3851:   foreach declaration). (Etienne, Dmitry)
 3852: - Fixed bug #49236 (Missing PHP_SUBST(PDO_MYSQL_SHARED_LIBADD)). (Jani)
 3853: - Fixed bug #49223 (Inconsistency using get_defined_constants). (Garrett)
 3854: - Fixed bug #49193 (gdJpegGetVersionString() inside gd_compact identifies
 3855:   wrong type in declaration). (Ilia)
 3856: - Fixed bug #49183 (dns_get_record does not return NAPTR records). (Pierre)
 3857: - Fixed bug #49144 (Import of schema from different host transmits original
 3858:   authentication details). (Dmitry)
 3859: - Fixed bug #49142 (crash when exception thrown from __tostring()).
 3860:   (David Soria Parra)
 3861: - Fixed bug #49132 (posix_times returns false without error).
 3862:   (phpbugs at gunnu dot us)
 3863: - Fixed bug #49125 (Error in dba_exists C code). (jdornan at stanford dot edu)
 3864: - Fixed bug #49122 (undefined reference to mysqlnd_stmt_next_result on compile
 3865:   with --with-mysqli and MySQL 6.0). (Jani)
 3866: - Fixed bug #49108 (2nd scan_dir produces segfault). (Felipe)
 3867: - Fixed bug #49098 (mysqli segfault on error). (Rasmus)
 3868: - Fixed bug #49095 (proc_get_status['exitcode'] fails on win32). (Felipe)
 3869: - Fixed bug #49092 (ReflectionFunction fails to work with functions in fully
 3870:   qualified namespaces). (Kalle, Jani)
 3871: - Fixed bug #49074 (private class static fields can be modified by using
 3872:   reflection). (Jani)
 3873: - Fixed bug #49072 (feof never returns true for damaged file in zip). (Pierre)
 3874: - Fixed bug #49065 ("disable_functions" php.ini option does not work on
 3875:   Zend extensions). (Stas)
 3876: - Fixed bug #49064 (--enable-session=shared does not work: undefined symbol:
 3877:   php_url_scanner_reset_vars). (Jani)
 3878: - Fixed bug #49056 (parse_ini_file() regression in 5.3.0 when using non-ASCII
 3879:   strings as option keys). (Jani)
 3880: - Fixed bug #49052 (context option headers freed too early when using
 3881:   --with-curlwrappers). (Jani)
 3882: - Fixed bug #49047 (The function touch() fails on directories on Windows).
 3883:   (Pierre)
 3884: - Fixed bug #49032 (SplFileObject::fscanf() variables passed by reference).
 3885:   (Jani)
 3886: - Fixed bug #49027 (mysqli_options() doesn't work when using mysqlnd). (Andrey)
 3887: - Fixed bug #49026 (proc_open() can bypass safe_mode_protected_env_vars
 3888:   restrictions). (Ilia)
 3889: - Fixed bug #49020 (phar misinterprets ustar long filename standard).
 3890:   (Greg)
 3891: - Fixed bug #49018 (phar tar stores long filenames wit prefix/name reversed).
 3892:   (Greg)
 3893: - Fixed bug #49014 (dechunked filter broken when serving more than 8192 bytes
 3894:   in a chunk). (andreas dot streichardt at globalpark dot com, Ilia)
 3895: - Fixed bug #49012 (phar tar signature algorithm reports as Unknown (0) in
 3896:   getSignature() call). (Greg)
 3897: - Fixed bug #49000 (PHP CLI in Interactive mode (php -a) crashes
 3898:   when including files from function). (Stas)
 3899: - Fixed bug #48994 (zlib.output_compression does not output HTTP headers when
 3900:   set to a string value). (Jani)
 3901: - Fixed bug #48980 (Crash when compiling with pdo_firebird). (Felipe)
 3902: - Fixed bug #48962 (cURL does not upload files with specified filename).
 3903:   (Ilia)
 3904: - Fixed bug #48929 (Double \r\n after HTTP headers when "header" context
 3905:   option is an array). (David Zülke)
 3906: - Fixed bug #48913 (Too long error code strings in pdo_odbc driver).
 3907:   (naf at altlinux dot ru, Felipe)
 3908: - Fixed bug #48912 (Namespace causes unexpected strict behaviour with
 3909:   extract()). (Dmitry)
 3910: - Fixed bug #48909 (Segmentation fault in mysqli_stmt_execute()). (Andrey)
 3911: - Fixed bug #48899 (is_callable returns true even if method does not exist in
 3912:   parent class). (Felipe)
 3913: - Fixed bug #48893 (Problems compiling with Curl). (Felipe)
 3914: - Fixed bug #48880 (Random Appearing open_basedir problem). (Rasmus, Gwynne)
 3915: - Fixed bug #48872 (string.c: errors: duplicate case values). (Kalle)
 3916: - Fixed bug #48854 (array_merge_recursive modifies arrays after first one).
 3917:   (Felipe)
 3918: - Fixed bug #48805 (IPv6 socket transport is not working). (Ilia)
 3919: - Fixed bug #48802 (printf() returns incorrect outputted length). (Jani)
 3920: - Fixed bug #48791 (open office files always reported as corrupted). (Greg)
 3921: - Fixed bug #48788 (RecursiveDirectoryIterator doesn't descend into symlinked
 3922:   directories). (Ilia)
 3923: - Fixed bug #48783 (make install will fail saying phar file exists). (Greg)
 3924: - Fixed bug #48774 (SIGSEGVs when using curl_copy_handle()).
 3925:   (Sriram Natarajan)
 3926: - Fixed bug #48771 (rename() between volumes fails and reports no error on
 3927:   Windows). (Pierre)
 3928: - Fixed bug #48768 (parse_ini_*() crash with INI_SCANNER_RAW). (Jani)
 3929: - Fixed bug #48763 (ZipArchive produces corrupt archive). (dani dot church at
 3930:   gmail dot com, Pierre)
 3931: - Fixed bug #48762 (IPv6 address filter still rejects valid address). (Felipe)
 3932: - Fixed bug #48757 (ReflectionFunction::invoke() parameter issues). (Kalle)
 3933: - Fixed bug #48754 (mysql_close() crash php when no handle specified).
 3934:   (Johannes, Andrey)
 3935: - Fixed bug #48752 (Crash during date parsing with invalid date). (Pierre)
 3936: - Fixed bug #48746 (Unable to browse directories within Junction Points).
 3937:   (Pierre, Kanwaljeet Singla)
 3938: - Fixed bug #48745 (mysqlnd: mysql_num_fields returns wrong column count for
 3939:   mysql_list_fields). (Andrey)
 3940: - Fixed bug #48740 (PHAR install fails when INSTALL_ROOT is not the final
 3941:   install location). (james dot cohen at digitalwindow dot com, Greg)
 3942: - Fixed bug #48733 (CURLOPT_WRITEHEADER|CURLOPT_FILE|CURLOPT_STDERR warns on
 3943:   files that have been opened with r+). (Ilia)
 3944: - Fixed bug #48719 (parse_ini_*(): scanner_mode parameter is not checked for
 3945:   sanity). (Jani)
 3946: - Fixed bug #48718 (FILTER_VALIDATE_EMAIL does not allow numbers in domain
 3947:   components). (Ilia)
 3948: - Fixed bug #48681 (openssl signature verification for tar archives broken).
 3949:   (Greg)
 3950: - Fixed bug #48660 (parse_ini_*(): dollar sign as last character of value
 3951:   fails). (Jani)
 3952: - Fixed bug #48645 (mb_convert_encoding() doesn't understand hexadecimal
 3953:   html-entities). (Moriyoshi)
 3954: - Fixed bug #48637 ("file" fopen wrapper is overwritten when using
 3955:   --with-curlwrappers). (Jani)
 3956: - Fixed bug #48608 (Invalid libreadline version not detected during configure).
 3957:   (Jani)
 3958: - Fixed bug #48400 (imap crashes when closing stream opened with
 3959:   OP_PROTOTYPE flag). (Jani)
 3960: - Fixed bug #48377 (error message unclear on converting phar with existing
 3961:   file). (Greg)
 3962: - Fixed bug #48247 (Infinite loop and possible crash during startup with
 3963:   errors when errors are logged). (Jani)
 3964: - Fixed bug #48198 error: 'MYSQLND_LLU_SPEC' undeclared. Cause for #48780 and
 3965:   #46952 - both fixed too. (Andrey)
 3966: - Fixed bug #48189 (ibase_execute error in return param). (Kalle)
 3967: - Fixed bug #48182 (ssl handshake fails during asynchronous socket connection).
 3968:   (Sriram Natarajan)
 3969: - Fixed bug #48116 (Fixed build with Openssl 1.0). (Pierre,
 3970:   Al dot Smith at aeschi dot ch dot eu dot org)
 3971: - Fixed bug #48057 (Only the date fields of the first row are fetched, others
 3972:   are empty). (info at programmiernutte dot net)
 3973: - Fixed bug #47481 (natcasesort() does not sort extended ASCII characters
 3974:   correctly). (Herman Radtke)
 3975: - Fixed bug #47351 (Memory leak in DateTime). (Derick, Tobias John)
 3976: - Fixed bug #47273 (Encoding bug in SoapServer->fault). (Dmitry)
 3977: - Fixed bug #46682 (touch() afield returns different values on windows).
 3978:   (Pierre)
 3979: - Fixed bug #46614 (Extended MySQLi class gives incorrect empty() result).
 3980:   (Andrey)
 3981: - Fixed bug #46020 (with Sun Java System Web Server 7.0 on HPUX, #define HPUX).
 3982:   (Uwe Schindler)
 3983: - Fixed bug #45905 (imagefilledrectangle() clipping error).
 3984:   (markril at hotmail dot com, Pierre)
 3985: - Fixed bug #45554 (Inconsistent behavior of the u format char). (Derick)
 3986: - Fixed bug #45141 (setcookie will output expires years of >4 digits). (Ilia)
 3987: - Fixed bug #44683 (popen crashes when an invalid mode is passed). (Pierre)
 3988: - Fixed bug #43510 (stream_get_meta_data() does not return same mode as used
 3989:   in fopen). (Jani)
 3990: - Fixed bug #42434 (ImageLine w/ antialias = 1px shorter). (wojjie at gmail dot
 3991:   com, Kalle)
 3992: - Fixed bug #40013 (php_uname() does not return nodename on Netware (Guenter
 3993:   Knauf)
 3994: - Fixed bug #38091 (Mail() does not use FQDN when sending SMTP helo).
 3995:   (Kalle, Rick Yorgason)
 3996: - Fixed bug #28038 (Sent incorrect RCPT TO commands to SMTP server) (Garrett)
 3997: - Fixed bug #27051 (Impersonation with FastCGI does not exec process as
 3998:   impersonated user). (Pierre)
 3999: 
 4000: 
 4001: 30 Jun 2009, PHP 5.3.0
 4002: - Upgraded bundled PCRE to version 7.9. (Nuno)
 4003: - Upgraded bundled sqlite to version 3.6.15. (Scott)
 4004: 
 4005: - Moved extensions to PECL (Derick, Lukas, Pierre, Scott):
 4006:   . ext/dbase
 4007:   . ext/fbsql
 4008:   . ext/fdf
 4009:   . ext/ncurses
 4010:   . ext/mhash (BC layer is now entirely within ext/hash)
 4011:   . ext/ming
 4012:   . ext/msql
 4013:   . ext/sybase (not maintained anymore, sybase_ct has to be used instead)
 4014: 
 4015: - Removed the experimental RPL (master/slave) functions from mysqli. (Andrey)
 4016: - Removed zend.ze1_compatibility_mode. (Dmitry)
 4017: - Removed all zend_extension_* php.ini directives. Zend extensions are now
 4018:   always loaded using zend_extension directive. (Derick)
 4019: - Removed special treatment of "/tmp" in sessions for open_basedir.
 4020:   Note: This undocumented behaviour was introduced in 5.2.2. (Alexey)
 4021: - Removed shebang line check from CGI sapi (checked by scanner). (Dmitry)
 4022: 
 4023: - Changed PCRE, Reflection and SPL extensions to be always enabled. (Marcus)
 4024: - Changed md5() to use improved implementation. (Solar Designer, Dmitry)
 4025: - Changed HTTP stream wrapper to accept any code between and including
 4026:   200 to 399 as successful. (Mike, Noah Fontes)
 4027: - Changed __call() to be invoked on private/protected method access, similar to
 4028:   properties and __get(). (Andrei)
 4029: - Changed dl() to be disabled by default. Enabled only when explicitly
 4030:   registered by the SAPI. Currently enabled with cli, cgi and embed SAPIs.
 4031:   (Dmitry)
 4032: - Changed opendir(), dir() and scandir() to use default context when no context
 4033:   argument is passed. (Sara)
 4034: - Changed open_basedir to allow tightening in runtime contexts. (Sara)
 4035: - Changed PHP/Zend extensions to use flexible build IDs. (Stas)
 4036: - Changed error level E_ERROR into E_WARNING in Soap extension methods
 4037:   parameter validation. (Felipe)
 4038: - Changed openssl info to show the shared library version number. (Scott)
 4039: - Changed floating point behaviour to consistently use double precision on all
 4040:   platforms and with all compilers. (Christian Seiler)
 4041: - Changed round() to act more intuitively when rounding to a certain precision
 4042:   and round very large and very small exponents correctly. (Christian Seiler)
 4043: - Changed session_start() to return false when session startup fails. (Jani)
 4044: - Changed property_exists() to check the existence of a property independent of
 4045:   accessibility (like method_exists()). (Felipe)
 4046: - Changed array_reduce() to allow mixed $initial (Christian Seiler)
 4047: 
 4048: - Improved PHP syntax and semantics:
 4049:   . Added lambda functions and closures. (Christian Seiler, Dmitry)
 4050:   . Added "jump label" operator (limited "goto"). (Dmitry, Sara)
 4051:   . Added NOWDOC syntax. (Gwynne Raskind, Stas, Dmitry)
 4052:   . Added HEREDOC syntax with double quotes. (Lars Strojny, Felipe)
 4053:   . Added support for using static HEREDOCs to initialize static variables and
 4054:     class members or constants. (Matt)
 4055:   . Improved syntax highlighting and consistency for variables in double-quoted
 4056:     strings and literal text in HEREDOCs and backticks. (Matt)
 4057:   . Added "?:" operator. (Marcus)
 4058:   . Added support for namespaces. (Dmitry, Stas, Gregory, Marcus)
 4059:   . Added support for Late Static Binding. (Dmitry, Etienne Kneuss)
 4060:   . Added support for __callStatic() magic method. (Sara)
 4061:   . Added forward_static_call(_array) to complete LSB. (Mike Lively)
 4062:   . Added support for dynamic access of static members using $foo::myFunc().
 4063:     (Etienne Kneuss)
 4064:   . Improved checks for callbacks. (Marcus)
 4065:   . Added __DIR__ constant. (Lars Strojny)
 4066:   . Added new error modes E_USER_DEPRECATED and E_DEPRECATED.
 4067:     E_DEPRECATED is used to inform about stuff being scheduled for removal
 4068:     in future PHP versions. (Lars Strojny, Felipe, Marcus)
 4069:   . Added "request_order" INI variable to control specifically $_REQUEST
 4070:     behavior. (Stas)
 4071:   . Added support for exception linking. (Marcus)
 4072:   . Added ability to handle exceptions in destructors. (Marcus)
 4073: 
 4074: - Improved PHP runtime speed and memory usage:
 4075:   . Substitute global-scope, persistent constants with their values at compile
 4076:     time. (Matt)
 4077:   . Optimized ZEND_SIGNED_MULTIPLY_LONG(). (Matt)
 4078:   . Removed direct executor recursion. (Dmitry)
 4079:   . Use fastcall calling convention in executor on x86. (Dmitry)
 4080:   . Use IS_CV for direct access to $this variable. (Dmitry)
 4081:   . Use ZEND_FREE() opcode instead of ZEND_SWITCH_FREE(IS_TMP_VAR). (Dmitry)
 4082:   . Lazy EG(active_symbol_table) initialization. (Dmitry)
 4083:   . Optimized ZEND_RETURN opcode to not allocate and copy return value if it is
 4084:     not used. (Dmitry)
 4085:   . Replaced all flex based scanners with re2c based scanners.
 4086:     (Marcus, Nuno, Scott)
 4087:   . Added garbage collector. (David Wang, Dmitry).
 4088:   . Improved PHP binary size and startup speed with GCC4 visibility control.
 4089:     (Nuno)
 4090:   . Improved engine stack implementation for better performance and stability.
 4091:     (Dmitry)
 4092:   . Improved memory usage by moving constants to read only memory.
 4093:     (Dmitry, Pierre)
 4094:   . Changed exception handling. Now each op_array doesn't contain
 4095:     ZEND_HANDLE_EXCEPTION opcode in the end. (Dmitry)
 4096:   . Optimized require_once() and include_once() by eliminating fopen(3) on
 4097:     second usage. (Dmitry)
 4098:   . Optimized ZEND_FETCH_CLASS + ZEND_ADD_INTERFACE into single
 4099:     ZEND_ADD_INTERFACE opcode. (Dmitry)
 4100:   . Optimized string searching for a single character.
 4101:     (Michal Dziemianko, Scott)
 4102:   . Optimized interpolated strings to use one less opcode. (Matt)
 4103: 
 4104: - Improved php.ini handling: (Jani)
 4105:   . Added ".htaccess" style user-defined php.ini files support for CGI/FastCGI.
 4106:   . Added support for special [PATH=/opt/httpd/www.example.com/] and
 4107:     [HOST=www.example.com] sections. Directives set in these sections can
 4108:     not be overridden by user-defined ini-files or during runtime.
 4109:   . Added better error reporting for php.ini syntax errors.
 4110:   . Allowed using full path to load modules using "extension" directive.
 4111:   . Allowed "ini-variables" to be used almost everywhere ini php.ini files.
 4112:   . Allowed using alphanumeric/variable indexes in "array" ini options.
 4113:   . Added 3rd optional parameter to parse_ini_file() to specify the scanning
 4114:     mode of INI_SCANNER_NORMAL or INI_SCANNER_RAW. In raw mode option values
 4115:     and section values are treated as-is.
 4116:   . Fixed get_cfg_var() to be able to return "array" ini options.
 4117:   . Added optional parameter to ini_get_all() to only retrieve the current
 4118:     value. (Hannes)
 4119: 
 4120: - Improved Windows support:
 4121:   . Update all libraries to their latest stable version. (Pierre, Rob, Liz,
 4122:     Garrett).
 4123:   . Added Windows support for stat(), touch(), filemtime(), filesize() and
 4124:     related functions. (Pierre)
 4125:   . Re-added socket_create_pair() for Windows in sockets extension. (Kalle)
 4126:   . Added inet_pton() and inet_ntop() also for Windows platforms.
 4127:     (Kalle, Pierre)
 4128:   . Added mcrypt_create_iv() for Windows platforms. (Pierre)
 4129:   . Added ACL Cache support on Windows.
 4130:     (Kanwaljeet Singla, Pierre, Venkat Raman Don)
 4131:   . Added constants based on Windows' GetVersionEx information.
 4132:     PHP_WINDOWS_VERSION_* and PHP_WINDOWS_NT_*. (Pierre)
 4133:   . Added support for ACL (is_writable, is_readable, reports now correct
 4134:     results) on Windows. (Pierre, Venkat Raman Don, Kanwaljeet Singla)
 4135:   . Added support for fnmatch() on Windows. (Pierre)
 4136:   . Added support for time_nanosleep() and time_sleep_until() on Windows.
 4137:     (Pierre)
 4138:   . Added support for symlink(), readlink(), linkinfo() and link() on Windows.
 4139:     They are available only when the running platform supports them. (Pierre)
 4140:   . the GMP extension now relies on MPIR instead of the GMP library. (Pierre)
 4141:   . Added Windows support for stream_socket_pair(). (Kalle)
 4142:   . Drop all external dependencies for the core features. (Pierre)
 4143:   . Drastically improve the build procedure (Pierre, Kalle, Rob):
 4144:     . VC9 (Visual C++ 2008) or later support
 4145:     . Initial experimental x64 support
 4146:   . MSI installer now supports all recent Windows versions, including
 4147:     Windows 7. (John, Kanwaljeet Singla)
 4148: 
 4149: - Improved and cleaned CGI code:
 4150:   . FastCGI is now always enabled and cannot be disabled.
 4151:     See sapi/cgi/CHANGES for more details. (Dmitry)
 4152:   . Added CGI SAPI -T option which can be used to measure execution
 4153:     time of script repeated several times. (Dmitry)
 4154: 
 4155: - Improved streams:
 4156:   . Fixed confusing error message on failure when no errors are logged. (Greg)
 4157:   . Added stream_supports_lock() function. (Benjamin Schulz)
 4158:   . Added context parameter for copy() function. (Sara)
 4159:   . Added "glob://" stream wrapper. (Marcus)
 4160:   . Added "params" as optional parameter for stream_context_create(). (Sara)
 4161:   . Added ability to use stream wrappers in include_path. (Gregory, Dmitry)
 4162: 
 4163: - Improved DNS API
 4164:   . Added Windows support for dns_check_record(), dns_get_mx(), checkdnsrr() and
 4165:     getmxrr(). (Pierre)
 4166:   . Added support for old style DNS functions (supports OSX and FBSD). (Scott)
 4167:   . Added a new "entries" array in dns_check_record() containing the TXT
 4168:     elements. (Felipe, Pierre)
 4169: 
 4170: - Improved hash extension:
 4171:   . Changed mhash to be a wrapper layer around the hash extension. (Scott)
 4172:   . Added hash_copy() function. (Tony)
 4173:   . Added sha224 hash algorithm to the hash extension. (Scott)
 4174: 
 4175: - Improved IMAP support (Pierre):
 4176:   . Added imap_gc() to clear the imap cache
 4177:   . Added imap_utf8_to_mutf7() and imap_mutf7_to_utf8()
 4178: 
 4179: - Improved mbstring extension:
 4180:   . Added "mbstring.http_output_conv_mimetypes" INI directive that allows
 4181:     common non-text types such as "application/xhtml+xml" to be converted
 4182:     by mb_output_handler(). (Moriyoshi)
 4183: 
 4184: - Improved OCI8 extension (Chris Jones/Oracle Corp.):
 4185:   . Added Database Resident Connection Pooling (DRCP) and Fast
 4186:     Application Notification (FAN) support.
 4187:   . Added support for Oracle External Authentication (not supported
 4188:     on Windows).
 4189:   . Improve persistent connection handling of restarted DBs.
 4190:   . Added SQLT_AFC (aka CHAR datatype) support to oci_bind_by_name.
 4191:   . Fixed bug #45458 (Numeric keys for associative arrays are not
 4192:     handled properly)
 4193:   . Fixed bug #41069 (Segmentation fault with query over DB link).
 4194:   . Fixed define of SQLT_BDOUBLE and SQLT_BFLOAT constants with Oracle
 4195:     10g ORACLE_HOME builds.
 4196:   . Changed default value of oci8.default_prefetch from 10 to 100.
 4197:   . Fixed PECL Bug #16035 (OCI8: oci_connect without ORACLE_HOME defined causes
 4198:     segfault) (Chris Jones/Oracle Corp.)
 4199:   . Fixed PECL Bug #15988 (OCI8: sqlnet.ora isn't read with older Oracle
 4200:     libraries) (Chris Jones/Oracle Corp.)
 4201:   . Fixed PECL Bug #14268 (Allow "pecl install oci8" command to "autodetect" an
 4202:     Instant Client RPM install) (Chris Jones/Oracle Corp.)
 4203:   . Fixed PECL bug #12431 (OCI8 ping functionality is broken).
 4204:   . Allow building (e.g from PECL) the PHP 5.3-based OCI8 code with
 4205:     PHP 4.3.9 onwards.
 4206:   . Provide separate extensions for Oracle 11g and 10g on Windows.
 4207:     (Pierre, Chris)
 4208: 
 4209: - Improved OpenSSL extension:
 4210:   . Added support for OpenSSL digest and cipher functions. (Dmitry)
 4211:   . Added access to internal values of DSA, RSA and DH keys. (Dmitry)
 4212:   . Fixed a memory leak on openssl_decrypt(). (Henrique)
 4213:   . Fixed segfault caused by openssl_pkey_new(). (Henrique)
 4214:   . Fixed bug caused by uninitilized variables in openssl_pkcs7_encrypt() and
 4215:     openssl_pkcs7_sign(). (Henrique)
 4216:   . Fixed error message in openssl_seal(). (Henrique)
 4217: 
 4218: - Improved pcntl extension: (Arnaud)
 4219:   . Added pcntl_signal_dispatch().
 4220:   . Added pcntl_sigprocmask().
 4221:   . Added pcntl_sigwaitinfo().
 4222:   . Added pcntl_sigtimedwait().
 4223: 
 4224: - Improved SOAP extension:
 4225:   . Added support for element names in context of XMLSchema's <any>. (Dmitry)
 4226:   . Added ability to use Traversable objects instead of plain arrays.
 4227:     (Joshua Reese, Dmitry)
 4228:   . Fixed possible crash bug caused by an uninitialized value. (Zdash Urf)
 4229: 
 4230: - Improved SPL extension:
 4231:   . Added SPL to list of standard extensions that cannot be disabled. (Marcus)
 4232:   . Added ability to store associative information with objects in
 4233:     SplObjectStorage. (Marcus)
 4234:   . Added ArrayAccess support to SplObjectStorage. (Marcus)
 4235:   . Added SplDoublyLinkedList, SplStack, SplQueue classes. (Etienne)
 4236:   . Added FilesystemIterator. (Marcus)
 4237:   . Added GlobIterator. (Marcus)
 4238:   . Added SplHeap, SplMinHeap, SplMaxHeap, SplPriorityQueue classes. (Etienne)
 4239:   . Added new parameter $prepend to spl_autoload_register(). (Etienne)
 4240:   . Added SplFixedArray. (Etienne, Tony)
 4241:   . Added delaying exceptions in SPL's autoload mechanism. (Marcus)
 4242:   . Added RecursiveTreeIterator. (Arnaud, Marcus)
 4243:   . Added MultipleIterator. (Arnaud, Marcus, Johannes)
 4244: 
 4245: - Improved Zend Engine:
 4246:   . Added "compact" handler for Zend MM storage. (Dmitry)
 4247:   . Added "+" and "*" specifiers to zend_parse_parameters(). (Andrei)
 4248:   . Added concept of "delayed early binding" that allows opcode caches to
 4249:     perform class declaration (early and/or run-time binding) in exactly
 4250:     the same order as vanilla PHP. (Dmitry)
 4251: 
 4252: - Improved crypt() function: (Pierre)
 4253:   . Added Blowfish and extended DES support. (Using Blowfish implementation
 4254:     from Solar Designer).
 4255:   . Made crypt features portable by providing our own implementations
 4256:     for crypt_r and the algorithms which are used when OS does not provide
 4257:     them. PHP implementations are always used for Windows builds.
 4258: 
 4259: - Deprecated session_register(), session_unregister() and
 4260:   session_is_registered(). (Hannes)
 4261: - Deprecated define_syslog_variables(). (Kalle)
 4262: - Deprecated ereg extension. (Felipe)
 4263: 
 4264: - Added new extensions:
 4265:   . Added Enchant extension as a way to access spell checkers. (Pierre)
 4266:   . Added fileinfo extension as replacement for mime_magic extension. (Derick)
 4267:   . Added intl extension for Internationalization. (Ed B., Vladimir I.,
 4268:     Dmitry L., Stanislav M., Vadim S., Kirti V.)
 4269:   . Added mysqlnd extension as replacement for libmysql for ext/mysql, mysqli
 4270:     and PDO_mysql. (Andrey, Johannes, Ulf)
 4271:   . Added phar extension for handling PHP Archives. (Greg, Marcus, Steph)
 4272:   . Added SQLite3 extension. (Scott)
 4273: 
 4274: - Added new date/time functionality: (Derick)
 4275:   . date_parse_from_format(): Parse date/time strings according to a format.
 4276:   . date_create_from_format()/DateTime::createFromFormat(): Create a date/time
 4277:     object by parsing a date/time string according to a given format.
 4278:   . date_get_last_errors()/DateTime::getLastErrors(): Return a list of warnings
 4279:     and errors that were found while parsing a date/time string through:
 4280:     . strtotime() / new DateTime
 4281:     . date_create_from_format() / DateTime::createFromFormat()
 4282:     . date_parse_from_format().
 4283:   . support for abbreviation and offset based timezone specifiers for
 4284:     the 'e' format specifier, DateTime::__construct(), DateTime::getTimeZone()
 4285:     and DateTimeZone::getName().
 4286:   . support for selectively listing timezone identifiers by continent or
 4287:     country code through timezone_identifiers_list() /
 4288:     DateTimezone::listIdentifiers().
 4289:   . timezone_location_get() / DateTimezone::getLocation() for retrieving
 4290:     location information from timezones.
 4291:   . date_timestamp_set() / DateTime::setTimestamp() to set a Unix timestamp
 4292:     without invoking the date parser. (Scott, Derick)
 4293:   . date_timestamp_get() / DateTime::getTimestamp() to retrieve the Unix
 4294:     timestamp belonging to a date object.
 4295:   . two optional parameters to timezone_transitions_get() /
 4296:     DateTimeZone::getTranstions() to limit the range of transitions being
 4297:     returned.
 4298:   . support for "first/last day of <month>" style texts.
 4299:   . support for date/time strings returned by MS SQL.
 4300:   . support for serialization and unserialization of DateTime objects.
 4301:   . support for diffing date/times through date_diff() / DateTime::diff().
 4302:   . support for adding/subtracting weekdays with strtotime() and
 4303:     DateTime::modify().
 4304:   . DateInterval class to represent the difference between two date/times.
 4305:   . support for parsing ISO intervals for use with DateInterval.
 4306:   . date_add() / DateTime::add(), date_sub() / DateTime::sub() for applying an
 4307:     interval to an existing date/time.
 4308:   . proper support for "this week", "previous week"/"last week" and "next week"
 4309:     phrases so that they actually mean the week and not a seven day period
 4310:     around the current day.
 4311:   . support for "<xth> <weekday> of" and "last <weekday> of" phrases to be used
 4312:     with months - like in "last saturday of februari 2008".
 4313:   . support for "back of <hour>" and "front of <hour>" phrases that are used in
 4314:     Scotland.
 4315:   . DatePeriod class which supports iterating over a DateTime object applying
 4316:     DateInterval on each iteration, up to an end date or limited by maximum
 4317:     number of occurences.
 4318: 
 4319: - Added compatibility mode in GD, imagerotate, image(filled)ellipse
 4320:   imagefilter, imageconvolution and imagecolormatch are now always enabled.
 4321:   (Pierre)
 4322: - Added array_replace() and array_replace_recursive() functions. (Matt)
 4323: - Added ReflectionProperty::setAccessible() method that allows non-public
 4324:   property's values to be read through ::getValue() and set through
 4325:   ::setValue(). (Derick, Sebastian)
 4326: - Added msg_queue_exists() function to sysvmsg extension. (Benjamin Schulz)
 4327: - Added Firebird specific attributes that can be set via PDO::setAttribute()
 4328:   to control formatting of date/timestamp columns: PDO::FB_ATTR_DATE_FORMAT,
 4329:   PDO::FB_ATTR_TIME_FORMAT and PDO::FB_ATTR_TIMESTAMP_FORMAT. (Lars W)
 4330: - Added gmp_testbit() function. (Stas)
 4331: - Added icon format support to getimagesize(). (Scott)
 4332: - Added LDAP_OPT_NETWORK_TIMEOUT option for ldap_set_option() to allow
 4333:   setting network timeout (FR #42837). (Jani)
 4334: - Added optional escape character parameter to fgetcsv(). (David Soria Parra)
 4335: - Added an optional parameter to strstr() and stristr() for retrieval of either
 4336:   the part of haystack before or after first occurrence of needle.
 4337:   (Johannes, Felipe)
 4338: - Added xsl->setProfiling() for profiling stylesheets. (Christian)
 4339: - Added long-option feature to getopt() and made getopt() available also on
 4340:   win32 systems by adding a common getopt implementation into core.
 4341:   (David Soria Parra, Jani)
 4342: - Added support for optional values, and = as separator, in getopt(). (Hannes)
 4343: - Added lcfirst() function. (David C)
 4344: - Added PREG_BAD_UTF8_OFFSET_ERROR constant. (Nuno)
 4345: - Added native support for asinh(), acosh(), atanh(), log1p() and expm1().
 4346:   (Kalle)
 4347: - Added LIBXML_LOADED_VERSION constant (libxml2 version currently used). (Rob)
 4348: - Added JSON_FORCE_OBJECT flag to json_encode(). (Scott, Richard Quadling)
 4349: - Added timezone_version_get() to retrieve the version of the used timezone
 4350:   database. (Derick)
 4351: - Added 'n' flag to fopen to allow passing O_NONBLOCK to the underlying
 4352:   open(2) system call. (Mikko)
 4353: - Added "dechunk" filter which can decode HTTP responses with chunked
 4354:   transfer-encoding. HTTP streams use this filter automatically in case
 4355:   "Transfer-Encoding: chunked" header is present in response. It's possible to
 4356:   disable this behaviour using "http"=>array("auto_decode"=>0) in stream
 4357:   context. (Dmitry)
 4358: - Added support for CP850 encoding in mbstring extension.
 4359:   (Denis Giffeler, Moriyoshi)
 4360: - Added stream_cast() and stream_set_options() to user-space stream wrappers,
 4361:   allowing stream_select(), stream_set_blocking(), stream_set_timeout() and
 4362:   stream_set_write_buffer() to work with user-space stream wrappers. (Arnaud)
 4363: - Added header_remove() function. (chsc at peytz dot dk, Arnaud)
 4364: - Added stream_context_get_params() function. (Arnaud)
 4365: - Added optional parameter "new" to sybase_connect(). (Timm)
 4366: - Added parse_ini_string() function. (grange at lemonde dot fr, Arnaud)
 4367: - Added str_getcsv() function. (Sara)
 4368: - Added openssl_random_pseudo_bytes() function. (Scott)
 4369: - Added ability to send user defined HTTP headers with SOAP request.
 4370:   (Brian J.France, Dmitry)
 4371: - Added concatenation option to bz2.decompress stream filter.
 4372:   (Keisial at gmail dot com, Greg)
 4373: - Added support for using compressed connections with PDO_mysql. (Johannes)
 4374: - Added the ability for json_decode() to take a user specified depth. (Scott)
 4375: - Added support for the mysql_stmt_next_result() function from libmysql.
 4376:   (Andrey)
 4377: - Added function preg_filter() that does grep and replace in one go. (Marcus)
 4378: - Added system independent realpath() implementation which caches intermediate
 4379:   directories in realpath-cache. (Dmitry)
 4380: - Added optional clear_realpath_cache and filename parameters to
 4381:   clearstatcache(). (Jani, Arnaud)
 4382: - Added litespeed SAPI module. (George Wang)
 4383: - Added ext/hash support to ext/session's ID generator. (Sara)
 4384: - Added quoted_printable_encode() function. (Tony)
 4385: - Added stream_context_set_default() function. (Davey Shafik)
 4386: - Added optional "is_xhtml" parameter to nl2br() which makes the function
 4387:   output <br> when false and <br /> when true (FR #34381). (Kalle)
 4388: - Added PHP_MAXPATHLEN constant (maximum length of a path). (Pierre)
 4389: - Added support for SSH via libssh2 in cURL. (Pierre)
 4390: - Added support for gray levels PNG image with alpha in GD extension. (Pierre)
 4391: - Added support for salsa hashing functions in HASH extension. (Scott)
 4392: - Added DOMNode::getLineNo to get line number of parsed node. (Rob)
 4393: - Added table info to PDO::getColumnMeta() with SQLite. (Martin Jansen, Scott)
 4394: - Added mail logging functionality that allows logging of mail sent via
 4395:   mail() function. (Ilia)
 4396: - Added json_last_error() to return any error information from json_decode().
 4397:   (Scott)
 4398: - Added gethostname() to return the current system host name. (Ilia)
 4399: - Added shm_has_var() function. (Mike)
 4400: - Added depth parameter to json_decode() to lower the nesting depth from the
 4401:   maximum if required. (Scott)
 4402: - Added pixelation support in imagefilter(). (Takeshi Abe, Kalle)
 4403: - Added SplObjectStorage::addAll/removeAll. (Etienne)
 4404: 
 4405: - Implemented FR #41712 (curl progress callback: CURLOPT_PROGRESSFUNCTION).
 4406:   (sdteffen[at]gmail[dot].com, Pierre)
 4407: - Implemented FR #47739 (Missing cURL option do disable IPv6). (Pierre)
 4408: - Implemented FR #39637 (Missing cURL option CURLOPT_FTP_FILEMETHOD). (Pierre)
 4409: 
 4410: - Fixed an issue with ReflectionProperty::setAccessible().
 4411:   (Sebastian, Roman Borschel)
 4412: - Fixed html_entity_decode() incorrectly converting numeric html entities
 4413:   to different characters with cp1251 and cp866. (Scott)
 4414: - Fixed an issue in date() where a : was printed for the O modifier after a P
 4415:   modifier was used. (Derick)
 4416: - Fixed exec() on Windows to not eat the first and last double quotes. (Scott)
 4417: - Fixed readlink on Windows in thread safe SAPI (apache2.x etc.). (Pierre)
 4418: - Fixed a bug causing miscalculations with the "last <weekday> of <n> month"
 4419:   relative time string. (Derick)
 4420: - Fixed bug causing the algorithm parameter of mhash() to be modified. (Scott)
 4421: - Fixed invalid calls to free when internal fileinfo magic file is used. (Scott)
 4422: - Fixed memory leak inside wddx_add_vars() function. (Felipe)
 4423: - Fixed check in recode extension to allow builing of recode and mysql
 4424:   extensions when using a recent libmysql. (Johannes)
 4425: 
 4426: - Fixed PECL bug #12794 (PDOStatement->nextRowset() doesn't work). (Johannes)
 4427: - Fixed PECL bug #12401 (Add support for ATTR_FETCH_TABLE_NAMES). (Johannes)
 4428: 
 4429: - Fixed bug #48696 (ldap_read() segfaults with invalid parameters). (Felipe)
 4430: - Fixed bug #48643 (String functions memory issue). (Dmitry)
 4431: - Fixed bug #48641 (tmpfile() uses old parameter parsing).
 4432:   (crrodriguez at opensuse dot org)
 4433: - Fixed bug #48624 (.user.ini never gets parsed). (Pierre)
 4434: - Fixed bug #48620 (X-PHP-Originating-Script assumes no trailing CRLF in
 4435:   existing headers). (Ilia)
 4436: - Fixed bug #48578 (Can't build 5.3 on FBSD 4.11). (Rasmus)
 4437: - Fixed bug #48535 (file_exists returns false when impersonate is used).
 4438:   (Kanwaljeet Singla, Venkat Raman Don)
 4439: - Fixed bug #48493 (spl_autoload_register() doesn't work correctly when
 4440:   prepending functions). (Scott)
 4441: - Fixed bug #48215 (Calling a method with the same name as the parent class
 4442:   calls the constructor). (Scott)
 4443: - Fixed bug #48200 (compile failure with mbstring.c when
 4444:   --enable-zend-multibyte is used). (Jani)
 4445: - Fixed bug #48188 (Cannot execute a scrollable cursors twice with PDO_PGSQL).
 4446:   (Matteo)
 4447: - Fixed bug #48185 (warning: value computed is not used in
 4448:   pdo_sqlite_stmt_get_col line 271). (Matteo)
 4449: - Fixed bug #48087 (call_user_method() invalid free of arguments). (Felipe)
 4450: - Fixed bug #48060 (pdo_pgsql - large objects are returned as empty). (Matteo)
 4451: - Fixed bug #48034 (PHP crashes when script is 8192 (8KB) bytes long). (Dmitry)
 4452: - Fixed bug #48004 (Error handler prevents creation of default object). (Dmitry)
 4453: - Fixed bug #47880 (crashes in call_user_func_array()). (Dmitry)
 4454: - Fixed bug #47856 (stristr() converts needle to lower-case). (Ilia)
 4455: - Fixed bug #47851 (is_callable throws fatal error). (Dmitry)
 4456: - Fixed bug #47816 (pcntl tests failing on NetBSD). (Matteo)
 4457: - Fixed bug #47779 (Wrong value for SIG_UNBLOCK and SIG_SETMASK constants).
 4458:   (Matteo)
 4459: - Fixed bug #47771 (Exception during object construction from arg call calls
 4460:   object's destructor). (Dmitry)
 4461: - Fixed bug #47767 (include_once does not resolve windows symlinks or junctions)
 4462:   (Kanwaljeet Singla, Venkat Raman Don)
 4463: - Fixed bug #47757 (rename JPG to JPEG in phpinfo). (Pierre)
 4464: - Fixed bug #47745 (FILTER_VALIDATE_INT doesn't allow minimum integer). (Dmitry)
 4465: - Fixed bug #47714 (autoloading classes inside exception_handler leads to
 4466:   crashes). (Dmitry)
 4467: - Fixed bug #47671 (Cloning SplObjectStorage instances). (Etienne)
 4468: - Fixed bug #47664 (get_class returns NULL instead of FALSE). (Dmitry)
 4469: - Fixed bug #47662 (Support more than 127 subpatterns in preg_match). (Nuno)
 4470: - Fixed bug #47596 (Bus error on parsing file). (Dmitry)
 4471: - Fixed bug #47572 (Undefined constant causes segmentation fault). (Felipe)
 4472: - Fixed bug #47560 (explode()'s limit parameter odd behaviour). (Matt)
 4473: - Fixed bug #47549 (get_defined_constants() return array with broken array
 4474:   categories). (Ilia)
 4475: - Fixed bug #47535 (Compilation failure in ps_fetch_from_1_to_8_bytes()).
 4476:   (Johannes)
 4477: - Fixed bug #47534 (RecursiveDiteratoryIterator::getChildren ignoring
 4478:   CURRENT_AS_PATHNAME). (Etienne)
 4479: - Fixed bug #47443 (metaphone('scratch') returns wrong result). (Felipe)
 4480: - Fixed bug #47438 (mysql_fetch_field ignores zero offset). (Johannes)
 4481: - Fixed bug #47398 (PDO_Firebird doesn't implements quoter correctly). (Felipe)
 4482: - Fixed bug #47390 (odbc_fetch_into - BC in php 5.3.0). (Felipe)
 4483: - Fixed bug #47359 (Use the expected unofficial mimetype for bmp files). (Scott)
 4484: - Fixed bug #47343 (gc_collect_cycles causes a segfault when called within a
 4485:   destructor in one case). (Dmitry)
 4486: - Fixed bug #47320 ($php_errormsg out of scope in functions). (Dmitry)
 4487: - Fixed bug #47318 (UMR when trying to activate user config). (Pierre)
 4488: - Fixed bug #47243 (OCI8: Crash at shutdown on Windows) (Chris Jones/Oracle
 4489:   Corp.)
 4490: - Fixed bug #47231 (offsetGet error using incorrect offset). (Etienne)
 4491: - Fixed bug #47229 (preg_quote() should escape the '-' char). (Nuno)
 4492: - Fixed bug #47165 (Possible memory corruption when passing return value by
 4493:   reference). (Dmitry)
 4494: - Fixed bug #47087 (Second parameter of mssql_fetch_array()). (Felipe)
 4495: - Fixed bug #47085 (rename() returns true even if the file in PHAR does not
 4496:   exist). (Greg)
 4497: - Fixed bug #47050 (mysqli_poll() modifies improper variables). (Johannes)
 4498: - Fixed bug #47045 (SplObjectStorage instances compared with ==). (Etienne)
 4499: - Fixed bug #47038 (Memory leak in include). (Dmitry)
 4500: - Fixed bug #47031 (Fix constants in DualIterator example). (Etienne)
 4501: - Fixed bug #47021 (SoapClient stumbles over WSDL delivered with
 4502:   "Transfer-Encoding: chunked"). (Dmitry)
 4503: - Fixed bug #46994 (OCI8: CLOB size does not update when using CLOB IN OUT param
 4504:   in stored procedure) (Chris Jones/Oracle Corp.)
 4505: - Fixed bug #46979 (use with non-compound name *has* effect). (Dmitry)
 4506: - Fixed bug #46957 (The tokenizer returns deprecated values). (Felipe)
 4507: - Fixed bug #46944 (UTF-8 characters outside the BMP aren't encoded correctly).
 4508:   (Scott)
 4509: - Fixed bug #46897 (ob_flush() should fail to flush unerasable buffers).
 4510:   (David C.)
 4511: - Fixed bug #46849 (Cloning DOMDocument doesn't clone the properties). (Rob)
 4512: - Fixed bug #46847 (phpinfo() is missing some settings). (Hannes)
 4513: - Fixed bug #46844 (php scripts or included files with first line starting
 4514:   with # have the 1st line missed from the output). (Ilia)
 4515: - Fixed bug #46817 (tokenizer misses last single-line comment (PHP 5.3+, with
 4516:   re2c lexer)). (Matt, Shire)
 4517: - Fixed bug #46811 (ini_set() doesn't return false on failure). (Hannes)
 4518: - Fixed bug #46763 (mb_stristr() wrong output when needle does not exist).
 4519:   (Henrique M. Decaria)
 4520: - Fixed bug #46755 (warning: use statement with non-compound name). (Dmitry)
 4521: - Fixed bug #46746 (xmlrpc_decode_request outputs non-suppressable error when
 4522:   given bad data). (Ilia)
 4523: - Fixed bug #46738 (Segfault when mb_detect_encoding() fails). (Scott)
 4524: - Fixed bug #46731 (Missing validation for the options parameter of the
 4525:   imap_fetch_overview() function). (Ilia)
 4526: - Fixed bug #46711 (cURL curl_setopt leaks memory in foreach loops). (magicaltux
 4527:   [at] php [dot] net)
 4528: - Fixed bug #46701 (Creating associative array with long values in the key fails
 4529:   on 32bit linux). (Shire)
 4530: - Fixed bug #46681 (mkdir() fails silently on PHP 5.3). (Hannes)
 4531: - Fixed bug #46653 (can't extend mysqli). (Johannes)
 4532: - Fixed bug #46646 (Restrict serialization on some internal classes like Closure
 4533:   and SplFileInfo using exceptions). (Etienne)
 4534: - Fixed bug #46623 (OCI8: phpinfo doesn't show compile time ORACLE_HOME with
 4535:   phpize) (Chris Jones/Oracle Corp.)
 4536: - Fixed bug #46578 (strip_tags() does not honor end-of-comment when it
 4537:   encounters a single quote). (Felipe)
 4538: - Fixed bug #46546 (Segmentation fault when using declare statement with
 4539:   non-string value). (Felipe)
 4540: - Fixed bug #46542 (Extending PDO class with a __call() function doesn't work as
 4541:   expected). (Johannes)
 4542: - Fixed bug #46421 (SplFileInfo not correctly handling /). (Etienne)
 4543: - Fixed bug #46347 (parse_ini_file() doesn't support * in keys). (Nuno)
 4544: - Fixed bug #46268 (DateTime::modify() does not reset relative time values).
 4545:   (Derick)
 4546: - Fixed bug #46241 (stacked error handlers, internal error handling in general).
 4547:   (Etienne)
 4548: - Fixed bug #46238 (Segmentation fault on static call with empty string method).
 4549:   (Felipe)
 4550: - Fixed bug #46192 (ArrayObject with objects as storage serialization).
 4551:   (Etienne)
 4552: - Fixed bug #46185 (importNode changes the namespace of an XML element). (Rob)
 4553: - Fixed bug #46178 (memory leak in ext/phar). (Greg)
 4554: - Fixed bug #46160 (SPL - Memory leak when exception is thrown in offsetSet).
 4555:   (Felipe)
 4556: - Fixed Bug #46147 (after stream seek, appending stream filter reads incorrect
 4557:   data). (Greg)
 4558: - Fixed bug #46127 (php_openssl_tcp_sockop_accept forgets to set context on
 4559:   accepted stream) (Mark Karpeles, Pierre)
 4560: - Fixed bug #46115 (Memory leak when calling a method using Reflection).
 4561:   (Dmitry)
 4562: - Fixed bug #46110 (XMLWriter - openmemory() and openuri() leak memory on
 4563:   multiple calls). (Ilia)
 4564: - Fixed bug #46108 (DateTime - Memory leak when unserializing). (Felipe)
 4565: - Fixed bug #46106 (Memory leaks when using global statement). (Dmitry)
 4566: - Fixed bug #46099 (Xsltprocessor::setProfiling - memory leak). (Felipe, Rob).
 4567: - Fixed bug #46087 (DOMXPath - segfault on destruction of a cloned object).
 4568:   (Ilia)
 4569: - Fixed bug #46048 (SimpleXML top-level @attributes not part of iterator).
 4570:   (David C.)
 4571: - Fixed bug #46044 (Mysqli - wrong error message). (Johannes)
 4572: - Fixed bug #46042 (memory leaks with reflection of mb_convert_encoding()).
 4573:   (Ilia)
 4574: - Fixed bug #46039 (ArrayObject iteration is slow). (Arnaud)
 4575: - Fixed bug #46033 (Direct instantiation of SQLite3stmt and SQLite3result cause
 4576:   a segfault.) (Scott)
 4577: - Fixed bug #45991 (Ini files with the UTF-8 BOM are treated as invalid).
 4578:   (Scott)
 4579: - Fixed bug #45989 (json_decode() doesn't return NULL on certain invalid
 4580:   strings). (magicaltux, Scott)
 4581: - Fixed bug #45976 (Moved SXE from SPL to SimpleXML). (Etienne)
 4582: - Fixed bug #45928 (large scripts from stdin are stripped at 16K border).
 4583:   (Christian Schneider, Arnaud)
 4584: - Fixed bug #45911 (Cannot disable ext/hash). (Arnaud)
 4585: - Fixed bug #45907 (undefined reference to 'PHP_SHA512Init'). (Greg)
 4586: - Fixed bug #45826 (custom ArrayObject serialization). (Etienne)
 4587: - Fixed bug #45820 (Allow empty keys in ArrayObject). (Etienne)
 4588: - Fixed bug #45791 (json_decode() doesn't convert 0e0 to a double). (Scott)
 4589: - Fixed bug #45786 (FastCGI process exited unexpectedly). (Dmitry)
 4590: - Fixed bug #45757 (FreeBSD4.11 build failure: failed include; stdint.h).
 4591:   (Hannes)
 4592: - Fixed bug #45743 (property_exists fails to find static protected member in
 4593:   child class). (Felipe)
 4594: - Fixed bug #45717 (Fileinfo/libmagic build fails, missing err.h and getopt.h).
 4595:   (Derick)
 4596: - Fixed bug #45706 (Unserialization of classes derived from ArrayIterator
 4597:   fails). (Etienne, Dmitry)
 4598: - Fixed bug #45696 (Not all DateTime methods allow method chaining). (Derick)
 4599: - Fixed bug #45682 (Unable to var_dump(DateInterval)). (Derick)
 4600: - Fixed bug #45447 (Filesystem time functions on Vista and server 2008).
 4601:   (Pierre)
 4602: - Fixed bug #45432 (PDO: persistent connection leak). (Felipe)
 4603: - Fixed bug #45392 (ob_start()/ob_end_clean() and memory_limit). (Ilia)
 4604: - Fixed bug #45384 (parse_ini_file will result in parse error with no trailing
 4605:   newline). (Arnaud)
 4606: - Fixed bug #45382 (timeout bug in stream_socket_enable_crypto). (vnegrier at
 4607:   optilian dot com, Ilia)
 4608: - Fixed bug #45044 (relative paths not resolved correctly). (Dmitry)
 4609: - Fixed bug #44861 (scrollable cursor don't work with pgsql). (Matteo)
 4610: - Fixed bug #44842 (parse_ini_file keys that start/end with underscore).
 4611:   (Arnaud)
 4612: - Fixed bug #44575 (parse_ini_file comment # line problems). (Arnaud)
 4613: - Fixed bug #44409 (PDO::FETCH_SERIALIZE calls __construct()). (Matteo)
 4614: - Fixed bug #44173 (PDO->query() parameter parsing/checking needs an update).
 4615:   (Matteo)
 4616: - Fixed bug #44154 (pdo->errorInfo() always have three elements in the returned
 4617:   array). (David C.)
 4618: - Fixed bug #44153 (pdo->errorCode() returns NULL when there are no errors).
 4619:   (David C.)
 4620: - Fixed bug #44135 (PDO MySQL does not support CLIENT_FOUND_ROWS). (Johannes,
 4621:   chx1975 at gmail dot com)
 4622: - Fixed bug #44100 (Inconsistent handling of static array declarations with
 4623:   duplicate keys). (Dmitry)
 4624: - Fixed bug #43831 ($this gets mangled when extending PDO with persistent
 4625:   connection). (Felipe)
 4626: - Fixed bug #43817 (opendir() fails on Windows directories with parent directory
 4627:   unaccessible). (Dmitry)
 4628: - Fixed bug #43069 (SoapClient causes 505 HTTP Version not supported error
 4629:   message). (Dmitry)
 4630: - Fixed bug #43008 (php://filter uris ignore url encoded filternames and can't
 4631:   handle slashes). (Arnaud)
 4632: - Fixed bug #42362 (HTTP status codes 204 and 304 should not be gzipped).
 4633:   (Scott, Edward Z. Yang)
 4634: - Fixed bug #41874 (separate STDOUT and STDERR in exec functions). (Kanwaljeet
 4635:   Singla, Venkat Raman Don, Pierre)
 4636: - Fixed bug #41534 (SoapClient over HTTPS fails to reestablish connection).
 4637:   (Dmitry)
 4638: - Fixed bug #38802 (max_redirects and ignore_errors). (patch by
 4639:   datibbaw@php.net)
 4640: - Fixed bug #35980 (touch() works on files but not on directories). (Pierre)
 4641: 
 4642: 17 Jun 2009, PHP 5.2.10
 4643: - Updated timezone database to version 2009.9 (2009i) (Derick)
 4644: 
 4645: - Added "ignore_errors" option to http fopen wrapper. (David Zulke, Sara)
 4646: - Added new CURL options CURLOPT_REDIR_PROTOCOLS, CURLOPT_PROTOCOLS,
 4647:   and CURLPROTO_* for redirect fixes in CURL 7.19.4. (Yoram Bar Haim, Stas)
 4648: - Added support for Sun CC (FR #46595 and FR #46513). (David Soria Parra)
 4649: 
 4650: - Changed default value of array_unique()'s optional sorting type parameter
 4651:   back to SORT_STRING to fix backwards compatibility breakage introduced in
 4652:   PHP 5.2.9. (Moriyoshi)
 4653: 
 4654: - Fixed memory corruptions while reading properties of zip files. (Ilia)
 4655: - Fixed memory leak in ob_get_clean/ob_get_flush. (Christian)
 4656: - Fixed segfault on invalid session.save_path. (Hannes)
 4657: - Fixed leaks in imap when a mail_criteria is used. (Pierre)
 4658: - Fixed missing erealloc() in fix for Bug #40091 in spl_autoload_register. (Greg)
 4659: 
 4660: - Fixed bug #48562 (Reference recursion causes segfault when used in
 4661:   wddx_serialize_vars()). (Felipe)
 4662: - Fixed bug #48557 (Numeric string keys in Apache Hashmaps are not cast to
 4663:   integers). (David Zuelke)
 4664: - Fixed bug #48518 (curl crashes when writing into invalid file handle). (Tony)
 4665: - Fixed bug #48514 (cURL extension uses same resource name for simple and
 4666:   multi APIs). (Felipe)
 4667: - Fixed bug #48469 (ldap_get_entries() leaks memory on empty search
 4668:   results). (Patrick)
 4669: - Fixed bug #48456 (CPPFLAGS not restored properly in phpize.m4). (Jani,
 4670:   spisek at kerio dot com)
 4671: - Fixed bug #48448 (Compile failure under IRIX 6.5.30 building cast.c).
 4672:   (Kalle)
 4673: - Fixed bug #48441 (ldap_search() sizelimit, timelimit and deref options
 4674:   persist). (Patrick)
 4675: - Fixed bug #48434 (Improve memory_get_usage() accuracy). (Arnaud)
 4676: - Fixed bug #48416 (Force a cache limit in ereg() to stop excessive memory
 4677:   usage). (Scott)
 4678: - Fixed bug #48409 (Crash when exception is thrown while passing function
 4679:   arguments). (Arnaud)
 4680: - Fixed bug #48378 (exif_read_data() segfaults on certain corrupted .jpeg
 4681:   files). (Pierre)
 4682: - Fixed bug #48359 (Script hangs on snmprealwalk if OID is not increasing).
 4683:   (Ilia, simonov at gmail dot com)
 4684: - Fixed bug #48336 (ReflectionProperty::getDeclaringClass() does not work
 4685:   with redeclared property).
 4686:   (patch by Markus dot Lidel at shadowconnect dot com)
 4687: - Fixed bug #48326 (constant MSG_DONTWAIT not defined). (Arnaud)
 4688: - Fixed bug #48313 (fgetcsv() does not return null for empty rows). (Ilia)
 4689: - Fixed bug #48309 (stream_copy_to_stream() and fpasstru() do not update
 4690:   stream position of plain files). (Arnaud)
 4691: - Fixed bug #48307 (stream_copy_to_stream() copies 0 bytes when $source is a
 4692:   socket). (Arnaud)
 4693: - Fixed bug #48273 (snmp*_real_walk() returns SNMP errors as values).
 4694:   (Ilia, lytboris at gmail dot com)
 4695: - Fixed bug #48256 (Crash due to double-linking of history.o).
 4696:   (tstarling at wikimedia dot org)
 4697: - Fixed bug #48248 (SIGSEGV when access to private property via &__get).
 4698:   (Felipe)
 4699: - Fixed bug #48247 (Crash on errors during startup). (Stas)
 4700: - Fixed bug #48240 (DBA Segmentation fault dba_nextkey). (Felipe)
 4701: - Fixed bug #48224 (Incorrect shuffle in array_rand). (Etienne)
 4702: - Fixed bug #48221 (memory leak when passing invalid xslt parameter).
 4703:   (Felipe)
 4704: - Fixed bug #48207 (CURLOPT_(FILE|WRITEHEADER options do not error out when
 4705:   working with a non-writable stream). (Ilia)
 4706: - Fixed bug #48206 (Iterating over an invalid data structure with
 4707:   RecursiveIteratorIterator leads to a segfault). (Scott)
 4708: - Fixed bug #48204 (xmlwriter_open_uri() does not emit warnings on invalid
 4709:   paths). (Ilia)
 4710: - Fixed bug #48203 (Crash when CURLOPT_STDERR is set to regular file). (Jani)
 4711: - Fixed bug #48202 (Out of Memory error message when passing invalid file
 4712:   path) (Pierre)
 4713: - Fixed bug #48156 (Added support for lcov v1.7). (Ilia)
 4714: - Fixed bug #48132 (configure check for curl ssl support fails with
 4715:   --disable-rpath). (Jani)
 4716: - Fixed bug #48131 (Don't try to bind ipv4 addresses to ipv6 ips via bindto).
 4717:   (Ilia)
 4718: - Fixed bug #48070 (PDO_OCI: Segfault when using persistent connection).
 4719:   (Pierre, Matteo, jarismar dot php at gmail dot com)
 4720: - Fixed bug #48058 (Year formatter goes wrong with out-of-int range). (Derick)
 4721: - Fixed bug #48038 (odbc_execute changes variables used to form params array).
 4722:   (Felipe)
 4723: - Fixed bug #47997 (stream_copy_to_stream returns 1 on empty streams). (Arnaud)
 4724: - Fixed bug #47991 (SSL streams fail if error stack contains items). (Mikko)
 4725: - Fixed bug #47981 (error handler not called regardless). (Hannes)
 4726: - Fixed bug #47969 (ezmlm_hash() returns different values depend on OS). (Ilia)
 4727: - Fixed bug #47946 (ImageConvolution overwrites background). (Ilia)
 4728: - Fixed bug #47940 (memory leaks in imap_body). (Pierre, Jake Levitt)
 4729: - Fixed bug #47937 (system() calls sapi_flush() regardless of output
 4730:   buffering). (Ilia)
 4731: - Fixed bug #47903 ("@" operator does not work with string offsets). (Felipe)
 4732: - Fixed bug #47893 (CLI aborts on non blocking stdout). (Arnaud)
 4733: - Fixed bug #47849 (Non-deep import loses the namespace). (Rob)
 4734: - Fixed bug #47845 (PDO_Firebird omits first row from query). (Lars W)
 4735: - Fixed bug #47836 (array operator [] inconsistency when the array has
 4736:   PHP_INT_MAX index value). (Matt)
 4737: - Fixed bug #47831 (Compile warning for strnlen() in main/spprintf.c).
 4738:   (Ilia, rainer dot jung at kippdata dot de)
 4739: - Fixed bug #47828 (openssl_x509_parse() segfaults when a UTF-8 conversion
 4740:   fails). (Scott, Kees Cook, Pierre)
 4741: - Fixed bug #47818 (Segfault due to bound callback param). (Felipe)
 4742: - Fixed bug #47801 (__call() accessed via parent:: operator is provided
 4743:   incorrect method name). (Felipe)
 4744: - Fixed bug #47769 (Strange extends PDO). (Felipe)
 4745: - Fixed bug #47745 (FILTER_VALIDATE_INT doesn't allow minimum integer).
 4746:   (Dmitry)
 4747: - Fixed bug #47721 (Alignment issues in mbstring and sysvshm extension).
 4748:   (crrodriguez at opensuse dot org, Ilia)
 4749: - Fixed bug #47704 (PHP crashes on some "bad" operations with string
 4750:   offsets). (Dmitry)
 4751: - Fixed bug #47695 (build error when xmlrpc and iconv are compiled against
 4752:   different iconv versions). (Scott)
 4753: - Fixed bug #47667 (ZipArchive::OVERWRITE seems to have no effect).
 4754:   (Mikko, Pierre)
 4755: - Fixed bug #47644 (Valid integers are truncated with json_decode()). (Scott)
 4756: - Fixed bug #47639 (pg_copy_from() WARNING: nonstandard use of \\ in a
 4757:   string literal). (Ilia)
 4758: - Fixed bug #47616 (curl keeps crashing). (Felipe)
 4759: - Fixed bug #47598 (FILTER_VALIDATE_EMAIL is locale aware). (Ilia)
 4760: - Fixed bug #47566 (pcntl_wexitstatus() returns signed status).
 4761:   (patch by james at jamesreno dot com)
 4762: - Fixed bug #47564 (unpacking unsigned long 32bit bit endian returns wrong
 4763:   result). (Ilia)
 4764: - Fixed bug #47487 (performance degraded when reading large chunks after
 4765:   fix of bug #44607). (Arnaud)
 4766: - Fixed bug #47468 (enable cli|cgi-only extensions for embed sapi). (Jani)
 4767: - Fixed bug #47435 (FILTER_FLAG_NO_PRIV_RANGE does not work with ipv6
 4768:   addresses in the filter extension). (Ilia)
 4769: - Fixed bug #47430 (Errors after writing to nodeValue parameter of an absent
 4770:   previousSibling). (Rob)
 4771: - Fixed bug #47365 (ip2long() may allow some invalid values on certain 64bit
 4772:    systems). (Ilia)
 4773: - Fixed bug #47254 (Wrong Reflection for extends class). (Felipe)
 4774: - Fixed bug #47042 (cgi sapi is incorrectly removing SCRIPT_FILENAME).
 4775:   (Sriram Natarajan, David Soria Parra)
 4776: - Fixed bug #46882 (Serialize / Unserialize misbehaviour under OS with
 4777:   different bit numbers). (Matt)
 4778: - Fixed bug #46812 (get_class_vars() does not include visible private variable
 4779:   looking at subclass). (Arnaud)
 4780: - Fixed bug #46386 (Digest authentication with SOAP module fails against MSSQL
 4781:   SOAP services). (Ilia, lordelph at gmail dot com)
 4782: - Fixed bug #46109 (Memory leak when mysqli::init() is called multiple times).
 4783:   (Andrey)
 4784: - Fixed bug #45997 (safe_mode bypass with exec/system/passthru (windows only)).
 4785:   (Pierre)
 4786: - Fixed bug #45877 (Array key '2147483647' left as string). (Matt)
 4787: - Fixed bug #45822 (Near infinite-loops while parsing huge relative offsets).
 4788:   (Derick, Mike Sullivan)
 4789: - Fixed bug #45799 (imagepng() crashes on empty image).
 4790:   (Martin McNickle, Takeshi Abe)
 4791: - Fixed bug #45622 (isset($arrayObject->p) misbehaves with
 4792:   ArrayObject::ARRAY_AS_PROPS set). (robin_fernandes at uk dot ibm dot com, Arnaud)
 4793: - Fixed bug #45614 (ArrayIterator::current(), ::key() can show 1st private prop
 4794:   of wrapped object). (robin_fernandes at uk dot ibm dot com, Arnaud)
 4795: - Fixed bug #45540 (stream_context_create creates bad http request). (Arnaud)
 4796: - Fixed bug #45202 (zlib.output_compression can not be set with ini_set()).
 4797:   (Jani)
 4798: - Fixed bug #45191 (error_log ignores date.timezone php.ini val when setting
 4799:   logging timestamps). (Derick)
 4800: - Fixed bug #45092 (header HTTP context option not being used when compiled
 4801:   using --with-curlwrappers). (Jani)
 4802: - Fixed bug #44996 (xmlrpc_decode() ignores time zone on iso8601.datetime).
 4803:   (Ilia, kawai at apache dot org)
 4804: - Fixed bug #44827 (define() is missing error checks for class constants).
 4805:   (Ilia)
 4806: - Fixed bug #44214 (Crash using preg_replace_callback() and global variables).
 4807:   (Nuno, Scott)
 4808: - Fixed bug #43073 (TrueType bounding box is wrong for angle<>0).
 4809:   (Martin McNickle)
 4810: - Fixed bug #42663 (gzinflate() try to allocate all memory with truncated
 4811:   data). (Arnaud)
 4812: - Fixed bug #42414 (some odbc_*() functions incompatible with Oracle ODBC
 4813:   driver). (jhml at gmx dot net)
 4814: - Fixed bug #42362 (HTTP status codes 204 and 304 should not be gzipped).
 4815:   (Scott, Edward Z. Yang)
 4816: - Fixed bug #42143 (The constant NAN is reported as 0 on Windows)
 4817:   (Kanwaljeet Singla, Venkat Raman Don)
 4818: - Fixed bug #38805 (PDO truncates text from SQL Server text data type field).
 4819:   (Steph)
 4820: 
 4821: 26 Feb 2009, PHP 5.2.9
 4822: - Changed __call() to be invoked on private/protected method access, similar to
 4823:   properties and __get(). (Andrei)
 4824: 
 4825: - Added optional sorting type flag parameter to array_unique(). Default is
 4826:   SORT_REGULAR. (Andrei)
 4827: 
 4828: - Fixed a crash on extract in zip when files or directories entry names contain
 4829:   a relative path. (Pierre)
 4830: - Fixed error conditions handling in stream_filter_append(). (Arnaud)
 4831: - Fixed zip filename property read. (Pierre)
 4832: - Fixed explode() behavior with empty string to respect negative limit. (Shire)
 4833: - Fixed security issue in imagerotate(), background colour isn't validated
 4834:   correctly with a non truecolour image. Reported by Hamid Ebadi,
 4835:   APA Laboratory (Fixes CVE-2008-5498). (Scott)
 4836: - Fixed a segfault when malformed string is passed to json_decode(). (Scott)
 4837: - Fixed bug in xml_error_string() which resulted in messages being
 4838:   off by one. (Scott)
 4839: 
 4840: - Fixed bug #47422 (modulus operator returns incorrect results on 64 bit
 4841:   linux). (Matt)
 4842: - Fixed bug #47399 (mb_check_encoding() returns true for some illegal SJIS
 4843:   characters). (for-bugs at hnw dot jp, Moriyoshi)
 4844: - Fixed bug #47353 (crash when creating a lot of objects in object
 4845:   destructor). (Tony)
 4846: - Fixed bug #47322 (sscanf %d doesn't work). (Felipe)
 4847: - Fixed bug #47282 (FILTER_VALIDATE_EMAIL is marking valid email addresses
 4848:   as invalid). (Ilia)
 4849: - Fixed bug #47220 (segfault in dom_document_parser in recovery mode). (Rob)
 4850: - Fixed bug #47217 (content-type is not set properly for file uploads). (Ilia)
 4851: - Fixed bug #47174 (base64_decode() interprets pad char in mid string as
 4852:   terminator). (Ilia)
 4853: - Fixed bug #47165 (Possible memory corruption when passing return value by
 4854:   reference). (Dmitry)
 4855: - Fixed bug #47152 (gzseek/fseek using SEEK_END produces strange results).
 4856:   (Felipe)
 4857: - Fixed bug #47131 (SOAP Extension ignores "user_agent" ini setting). (Ilia)
 4858: - Fixed bug #47109 (Memory leak on $a->{"a"."b"} when $a is not an object).
 4859:   (Etienne, Dmitry)
 4860: - Fixed bug #47104 (Linking shared extensions fails with icc). (Jani)
 4861: - Fixed bug #47049 (SoapClient::__soapCall causes a segmentation fault).
 4862:   (Dmitry)
 4863: - Fixed bug #47048 (Segfault with new pg_meta_data). (Felipe)
 4864: - Fixed bug #47042 (PHP cgi sapi is removing SCRIPT_FILENAME for non
 4865:   apache). (Sriram Natarajan)
 4866: - Fixed bug #47037 (No error when using fopen with empty string). (Cristian
 4867:   Rodriguez R., Felipe)
 4868: - Fixed bug #47035 (dns_get_record returns a garbage byte at the end of a
 4869:   TXT record). (Felipe)
 4870: - Fixed bug #47027 (var_export doesn't show numeric indices on ArrayObject).
 4871:   (Derick)
 4872: - Fixed bug #46985 (OVERWRITE and binary mode does not work, regression
 4873:   introduced in 5.2.8). (Pierre)
 4874: - Fixed bug #46973 (IPv6 address filter rejects valid address). (Felipe)
 4875: - Fixed bug #46964 (Fixed pdo_mysql build with older version of MySQL). (Ilia)
 4876: - Fixed bug #46959 (Unable to disable PCRE). (Scott)
 4877: - Fixed bug #46918 (imap_rfc822_parse_adrlist host part not filled in
 4878:   correctly). (Felipe)
 4879: - Fixed bug #46889 (Memory leak in strtotime()). (Derick)
 4880: - Fixed bug #46887 (Invalid calls to php_error_docref()). (oeriksson at
 4881:   mandriva dot com, Ilia)
 4882: - Fixed bug #46873 (extract($foo) crashes if $foo['foo'] exists). (Arnaud)
 4883: - Fixed bug #46843 (CP936 euro symbol is not converted properly). (ty_c at
 4884:   cybozuy dot co dot jp, Moriyoshi)
 4885: - Fixed bug #46798 (Crash in mssql extension when retrieving a NULL value
 4886:   inside a binary or image column type). (Ilia)
 4887: - Fixed bug #46782 (fastcgi.c parse error). (Matt)
 4888: - Fixed bug #46760 (SoapClient doRequest fails when proxy is used). (Felipe)
 4889: - Fixed bug #46748 (Segfault when an SSL error has more than one error).
 4890:   (Scott)
 4891: - Fixed bug #46739 (array returned by curl_getinfo should contain
 4892:   content_type key). (Mikko)
 4893: - Fixed bug #46699 (xml_parse crash when parser is namespace aware). (Rob)
 4894: - Fixed bug #46419 (Elements of associative arrays with NULL value are
 4895:   lost). (Dmitry)
 4896: - Fixed bug #46282 (Corrupt DBF When Using DATE). (arne at bukkie dot nl)
 4897: - Fixed bug #46026 (bz2.decompress/zlib.inflate filter tries to decompress
 4898:   after end of stream). (Greg)
 4899: - Fixed bug #46005 (User not consistently logged under Apache2). (admorten
 4900:   at umich dot edu, Stas)
 4901: - Fixed bug #45996 (libxml2 2.7 causes breakage with character data in
 4902:   xml_parse()). (Rob)
 4903: - Fixed bug #45940 (MySQLI OO does not populate connect_error property on
 4904:   failed connect). (Johannes)
 4905: - Fixed bug #45923 (mb_st[r]ripos() offset not handled correctly). (Moriyoshi)
 4906: - Fixed bug #45327 (memory leak if offsetGet throws exception). (Greg)
 4907: - Fixed bug #45239 (Encoding detector hangs with mbstring.strict_detection
 4908:   enabled). (Moriyoshi)
 4909: - Fixed bug #45161 (Reusing a curl handle leaks memory). (Mark Karpeles, Jani)
 4910: - Fixed bug #44336 (Improve pcre UTF-8 string matching performance). (frode
 4911:   at coretrek dot com, Nuno)
 4912: - Fixed bug #43841 (mb_strrpos() offset is byte count for negative values).
 4913:   (Moriyoshi)
 4914: - Fixed bug #37209 (mssql_execute with non fatal errors). (Kalle)
 4915: - Fixed bug #35975 (Session cookie expires date format isn't the most
 4916:   compatible. Now matches that of setcookie()). (Scott)
 4917: 
 4918: 
 4919: 08 Dec 2008, PHP 5.2.8
 4920: - Reverted bug fix #42718 that broke magic_quotes_gpc (Scott)
 4921: 
 4922: 04 Dec 2008, PHP 5.2.7
 4923: - Upgraded PCRE to version 7.8 (Fixes CVE-2008-2371). (Ilia)
 4924: - Updated timezone database to version 2008.9. (Derick)
 4925: - Upgraded bundled libzip to 0.9.0. (Pierre)
 4926: 
 4927: - Added logging option for error_log to send directly to SAPI. (Stas)
 4928: - Added PHP_MAJOR_VERSION, PHP_MINOR_VERSION, PHP_RELEASE_VERSION,
 4929:   PHP_EXTRA_VERSION, PHP_VERSION_ID, PHP_ZTS and PHP_DEBUG constants. (Pierre)
 4930: - Added "PHP_INI_SCAN_DIR" environment variable which can be used to
 4931:   either disable or change the compile time ini scan directory (FR #45114).
 4932:   (Jani)
 4933: 
 4934: - Fixed missing initialization of BG(page_uid) and BG(page_gid),
 4935:   reported by Maksymilian Arciemowicz. (Stas)
 4936: - Fixed memory leak inside sqlite_create_aggregate(). (Felipe)
 4937: - Fixed memory leak inside PDO sqlite's sqliteCreateAggregate() method.
 4938:   (Felipe)
 4939: - Fixed a crash inside gd with invalid fonts (Fixes CVE-2008-3658). (Pierre)
 4940: - Fixed a possible overflow inside memnstr (Fixes CVE-2008-3659).
 4941:   (LaurentGaffie)
 4942: - Fixed incorrect php_value order for Apache configuration, reported by
 4943:   Maksymilian Arciemowicz. (Stas)
 4944: - Fixed memory leak inside readline_callback_handler_remove() function.
 4945:   (Felipe)
 4946: - Fixed sybase_fetch_*() to continue reading after CS_ROW_FAIL status (Timm)
 4947: - Fixed a bug inside dba_replace() that could cause file truncation
 4948:   withinvalid keys. (Ilia)
 4949: - Fixed memory leak inside readline_callback_handler_install() function.(Ilia)
 4950: - Fixed memory leak inside readline_completion_function() function. (Felipe)
 4951: - Fixed stream_get_contents() when using $maxlength and socket is notclosed.
 4952:   indeyets [at] php [dot] net on #46049. (Arnaud)
 4953: - Fixed stream_get_line() to behave as documented on non-blocking streams.
 4954:   (Arnaud)
 4955: - Fixed endless loop in PDOStatement::debugDumpParams().
 4956:   (jonah.harris at gmail dot com)
 4957: - Fixed ability to use "internal" heaps in extensions. (Arnaud, Dmitry)
 4958: - Fixed weekdays adding/subtracting algorithm. (Derick)
 4959: - Fixed some ambiguities in the date parser. (Derick)
 4960: - Fixed a bug with the YYYY-MM format not resetting the day correctly.
 4961:   (Derick)
 4962: - Fixed a bug in the DateTime->modify() methods, it would not use the advanced
 4963:   relative time strings. (Derick)
 4964: - Fixed extraction of zip files or directories when the entry name is a
 4965:   relative path. (Pierre)
 4966: - Fixed read or write errors for large zip archives. (Pierre)
 4967: - Fixed security issues detailed in CVE-2008-2665 and CVE-2008-2666.
 4968:   (Christian Hoffmann)
 4969: - Fixed simplexml asXML() not to lose encoding when dumping entire
 4970:   document to file. (Ilia)
 4971: - Fixed a crash inside PDO when trying instantiate PDORow manually.
 4972:   (Felipe)
 4973: - Fixed build failure of ext/mysqli with libmysql 6.0 - missing
 4974:   rplfunctions. (Andrey)
 4975: - Fixed a regression when using strip_tags() and < is within an
 4976:   attribute.(Scott)
 4977: - Fixed a crash on invalid method in ReflectionParameter constructor.
 4978:   (Christian Seiler)
 4979: - Reverted fix for bug #44197 due to behaviour change in minor version.
 4980:   (Felipe)
 4981: 
 4982: - Fixed bug #46732 (mktime.year description is wrong). (Derick)
 4983: - Fixed bug #46696 (cURL fails in upload files with specified content-type).
 4984:   (Ilia)
 4985: - Fixed bug #46673 (stream_lock call with wrong parameter). (Arnaud)
 4986: - Fixed bug #46649 (Setting array element with that same array produces
 4987:   inconsistent results). (Arnaud)
 4988: - Fixed bug #46626 (mb_convert_case does not handle apostrophe correctly).
 4989:   (Ilia)
 4990: - Fixed bug #46543 (ibase_trans() memory leaks when using wrong parameters).
 4991:   (Felipe)
 4992: - Fixed bug #46521 (Curl ZTS OpenSSL, error in config.m4 fragment).
 4993:   (jd at cpanel dot net)
 4994: - Fixed bug #46496 (wddx_serialize treats input as ISO-8859-1). (Mark Karpeles)
 4995: - Fixed bug #46427 (SoapClient() stumbles over its "stream_context" parameter).
 4996:   (Dmitry, Herman Radtke)
 4997: - Fixed bug #46426 (offset parameter of stream_get_contents() does not
 4998:   workfor "0"). (Felipe)
 4999: - Fixed bug #46406 (Unregistering nodeclass throws E_FATAL). (Rob)
 5000: - Fixed bug #46389 (NetWare needs small patch for _timezone).
 5001:   (patch by guenter@php.net)
 5002: - Fixed bug #46388 (stream_notification_callback inside of object destroys
 5003:   object variables). (Felipe)
 5004: - Fixed bug #46381 (wrong $this passed to internal methods causes segfault).
 5005:   (Tony)
 5006: - Fixed bug #46379 (Infinite loop when parsing '#' in one line file). (Arnaud)
 5007: - Fixed bug #46366 (bad cwd with / as pathinfo). (Dmitry)
 5008: - Fixed bug #46360 (TCP_NODELAY constant for socket_{get,set}_option).
 5009:   (bugs at trick dot vanstaveren dot us)
 5010: - Fixed bug #46343 (IPv6 address filter accepts invalid address). (Ilia)
 5011: - Fixed bug #46335 (DOMText::splitText doesn't handle multibyte characters).
 5012:   (Rob)
 5013: - Fixed bug #46323 (compilation of simplexml for NetWare breaks).
 5014:   (Patch by guenter [at] php [dot] net)
 5015: - Fixed bug #46319 (PHP sets default Content-Type header for HTTP 304
 5016:   response code, in cgi sapi). (Ilia)
 5017: - Fixed bug #46313 (Magic quotes broke $_FILES). (Arnaud)
 5018: - Fixed bug #46308 (Invalid write when changing property from inside getter).
 5019:   (Dmitry)
 5020: - Fixed bug #46292 (PDO::setFetchMode() shouldn't requires the 2nd arg when
 5021:   using FETCH_CLASSTYPE). (Felipe)
 5022: - Fixed bug #46274, #46249 (pdo_pgsql always fill in NULL for empty BLOB and
 5023:   segfaults when returned by SELECT). (Felipe)
 5024: - Fixed bug #46271 (local_cert option is not resolved to full path). (Ilia)
 5025: - Fixed bug #46247 (ibase_set_event_handler() is allowing to pass callback
 5026:   without event). (Felipe)
 5027: - Fixed bug #46246 (difference between call_user_func(array($this, $method))
 5028:   and $this->$method()). (Dmitry)
 5029: - Fixed bug #46222 (ArrayObject EG(uninitialized_var_ptr) overwrite).
 5030:   (Etienne)
 5031: - Fixed bug #46215 (json_encode mutates its parameter and has some
 5032:   class-specific state). (Felipe)
 5033: - Fixed bug #46206 (pg_query_params/pg_execute convert passed values to
 5034:   strings). (Ilia)
 5035: - Fixed bug #46191 (BC break: DOMDocument saveXML() doesn't accept null).
 5036:   (Rob)
 5037: - Fixed bug #46164 (stream_filter_remove() closes the stream). (Arnaud)
 5038: - Fixed bug #46157 (PDOStatement::fetchObject prototype error). (Felipe)
 5039: - Fixed bug #46147 (after stream seek, appending stream filter reads
 5040:   incorrect data). (Greg)
 5041: - Fixed bug #46139 (PDOStatement->setFetchMode() forgets FETCH_PROPS_LATE).
 5042:   (chsc at peytz dot dk, Felipe)
 5043: - Fixed bug #46127 (php_openssl_tcp_sockop_accept forgets to set context
 5044:   on accepted stream) (Mark Karpeles, Pierre)
 5045: - Fixed bug #46110 (XMLWriter - openmemory() and openuri() leak memory on
 5046:   multiple calls). (Ilia)
 5047: - Fixed bug #46088 (RegexIterator::accept - segfault). (Felipe)
 5048: - Fixed bug #46082 (stream_set_blocking() can cause a crash in some
 5049:   circumstances). (Felipe)
 5050: - Fixed bug #46064 (Exception when creating ReflectionProperty object
 5051:   on dynamicly created property). (Felipe)
 5052: - Fixed bug #46059 (Compile failure under IRIX 6.5.30 building posix.c).
 5053:   (Arnaud)
 5054: - Fixed bug #46053 (SplFileObject::seek - Endless loop). (Arnaud)
 5055: - Fixed bug #46051 (SplFileInfo::openFile - memory overlap). (Arnaud)
 5056: - Fixed bug #46047 (SimpleXML converts empty nodes into object with
 5057:   nested array). (Rob)
 5058: - Fixed bug #46031 (Segfault in AppendIterator::next). (Arnaud)
 5059: - Fixed bug #46029 (Segfault in DOMText when using with Reflection). (Rob)
 5060: - Fixed bug #46026 (bzip2.decompress/zlib.inflate filter tries to decompress
 5061:   after end of stream). (Keisial at gmail dot com, Greg)
 5062: - Fixed bug #46024 (stream_select() doesn't return the correct number).
 5063:   (Arnaud)
 5064: - Fixed bug #46010 (warnings incorrectly generated for iv in ecb mode).
 5065:   (Felipe)
 5066: - Fixed bug #46003 (isset on nonexisting node return unexpected results). (Rob)
 5067: - Fixed bug #45956 (parse_ini_file() does not return false with syntax errors
 5068:   in parsed file). (Jani)
 5069: - Fixed bug #45901 (wddx_serialize_value crash with SimpleXMLElement object).
 5070:   (Rob)
 5071: - Fixed bug #45862 (get_class_vars is inconsistent with 'protected' and
 5072:   'private' variables). (ilewis at uk dot ibm dot com, Felipe)
 5073: - Fixed bug #45860 (header() function fails to correctly replace all Status
 5074:   lines). (Dmitry)
 5075: - Fixed bug #45805 (Crash on throwing exception from error handler). (Dmitry)
 5076: - Fixed bug #45765 (ReflectionObject with default parameters of self::xxx cause
 5077:   an error). (Felipe)
 5078: - Fixed bug #45751 (Using auto_prepend_file crashes (out of scope stack address
 5079:   use)). (basant dot kukreja at sun dot com)
 5080: - Fixed bug #45722 (mb_check_encoding() crashes). (Moriyoshi)
 5081: - Fixed bug #45705 (rfc822_parse_adrlist() modifies passed address parameter).
 5082:   (Jani)
 5083: - Fixed bug #45691 (Some per-dir or runtime settings may leak into other
 5084:   requests). (Moriyoshi)
 5085: - Fixed bug #45581 (htmlspecialchars() double encoding &#x hex items). (Arnaud)
 5086: - Fixed bug #45580 (levenshtein() crashes with invalid argument). (Ilia)
 5087: - Fixed bug #45575 (Segfault with invalid non-string as event handler callback).
 5088:   (Christian Seiler)
 5089: - Fixed bug #45568 (ISAPI doesn't properly clear auth_digest in header).
 5090:   (Patch by: navara at emclient dot com)
 5091: - Fixed bug #45556 (Return value from callback isn't freed). (Felipe)
 5092: - Fixed bug #45555 (Segfault with invalid non-string as
 5093:   register_introspection_callback). (Christian Seiler)
 5094: - Fixed bug #45553 (Using XPath to return values for attributes with a
 5095:   namespace does not work). (Rob)
 5096: - Fixed bug #45529 (new DateTimeZone() and date_create()->getTimezone() behave
 5097:   different). (Derick)
 5098: - Fixed bug #45522 (FCGI_GET_VALUES request does not return supplied values).
 5099:   (Arnaud)
 5100: - Fixed bug #45486 (mb_send_mail(); header 'Content-Type: text/plain; charset='
 5101:    parsing incorrect). (Felipe)
 5102: - Fixed bug #45485 (strip_tags and <?XML tag). (Felipe)
 5103: - Fixed bug #45460 (imap patch for fromlength fix in imap_headerinfo doesn't
 5104:   accept lengths of 1024). (Felipe, andrew at lifescale dot com)
 5105: - Fixed bug #45449 (filesize() regression using ftp wrapper).
 5106:   (crrodriguez at suse dot de)
 5107: - Fixed bug #45423 (fastcgi parent process doesn't invoke php_module_shutdown
 5108:   before shutdown) (basant dot kukreja at sun dot com)
 5109: - Fixed bug #45406 (session.serialize_handler declared by shared extension fails).
 5110:   (Kalle, oleg dot grenrus at dynamoid dot com)
 5111: - Fixed bug #45405 (snmp extension memory leak).
 5112:   (Federico Cuello, Rodrigo Campos)
 5113: - Fixed bug #45382 (timeout bug in stream_socket_enable_crypto). (Ilia)
 5114: - Fixed bug #45373 (php crash on query with errors in params). (Felipe)
 5115: - Fixed bug #45352 (Segmentation fault because of tick function on second
 5116:   request). (Dmitry)
 5117: - Fixed bug #45312 (Segmentation fault on second request for array functions).
 5118:   (Dmitry)
 5119: - Fixed bug #45303 (Opening php:// wrapper in append mode results in a warning).
 5120:   (Arnaud)
 5121: - Fixed bug #45251 (double free or corruption with setAttributeNode()). (Rob)
 5122: - Fixed bug #45226 and #18916 (xmlrpc_set_type() segfaults and wrong behavior
 5123:   with valid ISO8601 date string). (Jeff Lawsons)
 5124: - Fixed bug #45220 (curl_read callback returns -1 when needs to return
 5125:   size_t (unsigned)). (Felipe)
 5126: - Fixed bug #45181 (chdir() should clear relative entries in stat cache).
 5127:   (Arnaud)
 5128: - Fixed bug #45178 (memory corruption on assignment result of "new" by
 5129:   reference). (Dmitry)
 5130: - Fixed bug #45166 (substr() overflow changes). (Felipe)
 5131: - Fixed bug #45151 (Crash with URI/file..php (filename contains 2 dots)).
 5132:   (Fixes CVE-2008-3660) (Dmitry)
 5133: - Fixed bug #45139 (ReflectionProperty returns incorrect declaring class).
 5134:   (Felipe)
 5135: - Fixed bug #45124 ($_FILES['upload']['size'] sometimes return zero and some
 5136:   times the filesize). (Arnaud)
 5137: - Fixed bug #45028 (CRC32 output endianness is different between crc32() and
 5138:   hash()). (Tony)
 5139: - Fixed bug #45004 (pg_insert() does not accept 4 digit timezone format).
 5140:   (Ilia)
 5141: - Fixed bug #44991 (Compile Failure With freetds0.82).
 5142:   (jklowden at freetds dot org, matthias at dsx dot at)
 5143: - Fixed bug #44938 (gettext functions crash with overly long domain).
 5144:   (Christian Schneider, Ilia)
 5145: - Fixed bug #44925 (preg_grep() modifies input array). (Nuno)
 5146: - Fixed bug #44900 (OpenSSL extension fails to link with OpenSSL 0.9.6).
 5147:   (jd at cpanel dot net, Pierre)
 5148: - Fixed bug #44891 Memory leak using registerPHPFunctions and XSLT Variable
 5149:   as function parameter. (Rob)
 5150: - Fixed bug #44882 (SOAP extension object decoding bug). (Dmitry)
 5151: - Fixed bug #44830 (Very minor issue with backslash in heredoc). (Matt)
 5152: - Fixed bug #44818 (php://memory writeable when opened read only). (Arnaud)
 5153: - Fixed bug #44811 (Improve error message when creating a new SoapClient
 5154:   that contains invalid data). (Markus Fischer, David C)
 5155: - Fixed bug #44798 (Memory leak assigning value to attribute). (Ilia)
 5156: - Fixed bug #44716 (Progress notifications incorrect). (Hannes)
 5157: - Fixed bug #44712 (stream_context_set_params segfaults on invalid arguments).
 5158:   (Hannes)
 5159: - Fixed bug #44617 (wrong HTML entity output when substitute_character=entity).
 5160:   (Moriyoshi)
 5161: - Fixed bug #44607 (stream_get_line unable to correctly identify the "ending"
 5162:   in the stream content). (Arnaud)
 5163: - Fixed bug #44425 (Extending PDO/MySQL class with a __call() function doesn't
 5164:   work). (Johannes)
 5165: - Fixed bug #44327 (PDORow::queryString property & numeric offsets / Crash).
 5166:   (Felipe)
 5167: - Fixed bug #44251, #41125 (PDO + quote() + prepare() can result in segfault).
 5168:   (tsteiner at nerdclub dot net)
 5169: - Fixed bug #44246 (closedir() accepts a file resource opened by fopen()).
 5170:   (Dmitry, Tony)
 5171: - Fixed bug #44182 (extract($a, EXTR_REFS) can fail to split copy-on-write
 5172:   references). (robin_fernandes at uk dot ibm dot com)
 5173: - Fixed bug #44181 (extract($a, EXTR_OVERWRITE|EXTR_REFS) can fail to create
 5174:   references to $a). (robin_fernandes at uk dot ibm dot com)
 5175: - Fixed bug #44127 (UNIX abstract namespace socket connect does not work).
 5176:   (Jani)
 5177: - Fixed bug #43993 (mb_substr_count() behaves differently to substr_count()
 5178:   with overlapping needles). (Moriyoshi)
 5179: - Fixed Bug #43958 (class name added into the error message). (Dmitry)
 5180: - Fixed bug #43941 (json_encode silently cuts non-UTF8 strings). (Stas)
 5181: - Fixed bug #43925 (Incorrect argument counter in prepared statements with
 5182:   pgsql). (Felipe)
 5183: - Fixed bug #43731 (socket_getpeername: cannot use on stdin with inetd).
 5184:   (Arnaud)
 5185: - Fixed bug #43723 (SOAP not sent properly from client for <choice>). (Dmitry)
 5186: - Fixed bug #43668 (Added odbc.default_cursortype to control the ODBCcursor
 5187:   model). (Patrick)
 5188: - Fixed bug #43666 (Fixed code to use ODBC 3.52 datatypes for 64bit
 5189:   systems). (Patrick)
 5190: - Fixed bug #43540 (rfc1867 handler newlength problem). (Arnaud)
 5191: - Fixed bug #43452 (strings containing a weekday, or a number plus weekday
 5192:   behaved incorrect of the current day-of-week was the same as the one in the
 5193:   phrase). (Derick)
 5194: - Fixed bug #43353 (wrong detection of 'data' wrapper causes notice).
 5195:   (gk at gknw dot de, Arnaud)
 5196: - Fixed bug #43053 (Regression: some numbers shown in scientific notation).
 5197:   (int-e at gmx dot de)
 5198: - Fixed bug #43045 (SOAP encoding violation on "INF" for type double/float).
 5199:   (Dmitry)
 5200: - Fixed bug #42862 (IMAP toolkit crash: rfc822.c legacy routine buffer
 5201:   overflow). (Fixes CVE-2008-2829) (Dmitry)
 5202: - Fixed bug #42855 (dns_get_record() doesn't return all text from TXT record).
 5203:   (a dot u dot savchuk at gmail dot com)
 5204: - Fixed bug #42737 (preg_split('//u') triggers a E_NOTICE with newlines).
 5205:   (Nuno)
 5206: - Fixed bug #42718 (FILTER_UNSAFE_RAW not applied when configured as default
 5207:   filter). (Arnaud)
 5208: - Fixed bug #42604 ("make test" fails with --with-config-file-scan-dir=path).
 5209:   (Jani)
 5210: - Fixed bug #42473 (ob_start php://output and headers). (Arnaud)
 5211: - Fixed bug #42318 (problem with nm on AIX, not finding object files).
 5212:   (Dmitry)
 5213: - Fixed bug #42294 (Unified solution for round() based on C99 round). (Ilia)
 5214: - Fixed bug #42078 (pg_meta_data mix tables metadata from different schemas).
 5215:   (Felipe)
 5216: - Fixed bug #41348 (OCI8: allow compilation with Oracle 8.1). (Chris Jones)
 5217: - Fixed bug #41033 (enable signing with DSA keys.
 5218:   (gordyf at google dot com, Pierre)
 5219: - Fixed bug #37100 (data is returned truncated with BINARY CURSOR). (Tony)
 5220: - Fixed bug #30312 (crash in sybase_unbuffered_query() function). (Timm)
 5221: - Fixed bug #24679 (pg_* functions doesn't work using schema). (Felipe)
 5222: - Fixed bug #14962 (PECL) (::extractTo 2nd argument is not really optional)
 5223:   (Mark van Der Velden)
 5224: - Fixed bug #14032 (Mail() always returns false but mail is sent). (Mikko)
 5225: 
 5226: 
 5227: 01 May 2008, PHP 5.2.6
 5228: - Fixed two possible crashes inside posix extension (Tony)
 5229: - Fixed incorrect heredoc handling when label is used within the block.
 5230:   (Matt)
 5231: - Fixed possible stack buffer overflow in FastCGI SAPI. (Andrei Nigmatulin)
 5232: - Fixed sending of uninitialized paddings which may contain some information. (Andrei Nigmatulin)
 5233: - Fixed a bug in formatting timestamps when DST is active in the default timezone (Derick)
 5234: - Properly address incomplete multibyte chars inside escapeshellcmd() (Ilia, Stefan Esser)
 5235: - Fix integer overflow in printf(). (Stas, Maksymilian Aciemowicz)
 5236: - Fixed security issue detailed in CVE-2008-0599. (Rasmus)
 5237: - Fixed potential memleak in stream filter parameter for zlib filter. (Greg)
 5238: - Added Reflection API metadata for the methods of the DOM classes. (Sebastian)
 5239: - Fixed weird behavior in CGI parameter parsing. (Dmitry, Hannes Magnusson)
 5240: - Fixed a safe_mode bypass in cURL identified by Maksymilian Arciemowicz.
 5241:   (Ilia)
 5242: - Fixed a bug with PDO::FETCH_COLUMN|PDO::FETCH_GROUP mode when a column # by
 5243:   which to group by data is specified. (Ilia)
 5244: - Fixed segfault in filter extension when using callbacks. (Arnar Mar Sig,
 5245:   Felipe)
 5246: - Fixed faulty fix for bug #40189 (endless loop in zlib.inflate stream filter). (Greg)
 5247: - Upgraded PCRE to version 7.6 (Nuno)
 5248: 
 5249: - Fixed bug #44742 (timezone_offset_get() causes segmentation faults). (Derick)
 5250: - Fixed bug #44720 (Prevent crash within session_register()). (Scott)
 5251: - Fixed bug #44703 (htmlspecialchars() does not detect bad character set argument). (Andy Wharmby)
 5252: - Fixed bug #44673 (With CGI argv/argc starts from arguments, not from script) (Dmitry)
 5253: - Fixed bug #44667 (proc_open() does not handle pipes with the mode 'wb' correctly). (Jani)
 5254: - Fixed bug #44663 (Crash in imap_mail_compose if "body" parameter invalid). (Ilia)
 5255: - Fixed bug #44650 (escaepshellscmd() does not check arg count). (Ilia)
 5256: - Fixed bug #44613 (Crash inside imap_headerinfo()). (Ilia, jmessa)
 5257: - Fixed bug #44603 (Order issues with Content-Type/Length headers on POST). (Ilia)
 5258: - Fixed bug #44594 (imap_open() does not validate # of retries parameter). (Ilia)
 5259: - Fixed bug #44591 (imagegif's filename parameter). (Felipe)
 5260: - Fixed bug #44557 (Crash in imap_setacl when supplied integer as username) (Thomas Jarosch)
 5261: - Fixed bug #44487 (call_user_method_array issues a warning when throwing an exception). (David Soria Parra)
 5262: - Fixed bug #44478 (Inconsistent behaviour when assigning new nodes). (Rob, Felipe)
 5263: - Fixed bug #44445 (email validator does not handle domains starting/ending with a -). (Ilia)
 5264: - Fixed bug #44440 (st_blocks undefined under BeOS). (Felipe)
 5265: - Fixed bug #44394 (Last two bytes missing from output). (Felipe)
 5266: - Fixed bug #44388 (Crash inside exif_read_data() on invalid images) (Ilia)
 5267: - Fixed bug #44373 (PDO_OCI extension compile failed). (Felipe)
 5268: - Fixed bug #44333 (SEGFAULT when using mysql_pconnect() with client_flags). (Felipe)
 5269: - Fixed bug #44306 (Better detection of MIPS processors on Windows). (Ilia)
 5270: - Fixed bug #44242 (metaphone('CMXFXM') crashes PHP). (Felipe)
 5271: - Fixed bug #44233 (MSG_PEEK undefined under BeOS R5). (jonathonfreeman at gmail dot com, Ilia)
 5272: - Fixed bug #44216 (strftime segfaults on large negative value). (Derick)
 5273: - Fixed bug #44209 (strtotime() doesn't support 64 bit timestamps on 64 bit platforms). (Derick)
 5274: - Fixed bug #44206 (OCI8 selecting ref cursors leads to ORA-1000 maximum open cursors reached). (Oracle Corp.)
 5275: - Fixed bug #44200 (A crash in PDO when no bound targets exists and yet bound parameters are present). (Ilia)
 5276: - Fixed bug #44197 (socket array keys lost on socket_select). (Felipe)
 5277: - Fixed bug #44191 (preg_grep messes up array index). (Felipe)
 5278: - Fixed bug #44189 (PDO setAttribute() does not properly validate values for native numeric options). (Ilia)
 5279: - Fixed bug #44184 (Double free of loop-variable on exception). (Dmitry)
 5280: - Fixed bug #44171 (Invalid FETCH_COLUMN index does not raise an error). (Ilia)
 5281: - Fixed bug #44166 (Parameter handling flaw in PDO::getAvailableDrivers()). (Ilia)
 5282: - Fixed bug #44159 (Crash: $pdo->setAttribute(PDO::STATEMENT_ATTR_CLASS, NULL)). (Felipe)
 5283: - Fixed bug #44152 (Possible crash with syslog logging on ZTS builds). (Ilia)
 5284: - Fixed bug #44141 (private parent constructor callable through static function). (Dmitry)
 5285: - Fixed bug #44113 (OCI8 new collection creation can fail with OCI-22303). (Oracle Corp.)
 5286: - Fixed bug #44069 (Huge memory usage with concatenation using . instead of .=). (Dmitry)
 5287: - Fixed bug #44046 (crash inside array_slice() function with an invalid by-ref offset). (Ilia)
 5288: - Fixed bug #44028 (crash inside stream_socket_enable_crypto() when enabling encryption without crypto type). (Ilia)
 5289: - Fixed bug #44018 (RecursiveDirectoryIterator options inconsistancy). (Marcus)
 5290: - Fixed bug #44008 (OCI8 incorrect usage of OCI-Lob->close crashes PHP). (Oracle Corp.)
 5291: - Fixed bug #43998 (Two error messages returned for incorrect encoding for mb_strto[upper|lower]). (Rui)
 5292: - Fixed bug #43994 (mb_ereg 'successfully' matching incorrect). (Rui)
 5293: - Fixed bug #43954 (Memory leak when sending the same HTTP status code multiple times). (Scott)
 5294: - Fixed bug #43927 (koi8r is missing from html_entity_decode()). (andy at demos dot su, Tony)
 5295: - Fixed bug #43912 (Interbase column names are truncated to 31 characters). (Ilia)
 5296: - Fixed bug #43875 (Two error messages returned for $new and $flag argument in mysql_connect()). (Hannes)
 5297: - Fixed bug #43863 (str_word_count() breaks on cyrillic "ya" in locale cp1251). (phprus at gmail dot com, Tony)
 5298: - Fixed bug #43841 (mb_strrpos offset is byte count for negative values). (Rui)
 5299: - Fixed bug #43840 (mb_strpos bounds check is byte count rather than a character count). (Rui)
 5300: - Fixed bug #43808 (date_create never fails (even when it should)). (Derick)
 5301: - Fixed bug #43793 (zlib filter is unable to auto-detect gzip/zlib file headers). (Greg)
 5302: - Fixed bug #43703 (Signature compatibility check broken). (Dmitry)
 5303: - Fixed bug #43677 (Inconsistent behaviour of include_path set with php_value). (manuel at mausz dot at)
 5304: - Fixed bug #43663 (Extending PDO class with a __call() function doesn't work). (David Soria Parra)
 5305: - Fixed bug #43647 (Make FindFile use PATH_SEPARATOR instead of ";"). (Ilia)
 5306: - Fixed bug #43635 (mysql extension ingores INI settings on NULL values passed to mysql_connect()). (Ilia)
 5307: - Fixed bug #43620 (Workaround for a bug inside libcurl 7.16.2 that can result in a crash). (Ilia)
 5308: - Fixed bug #43614 (incorrect processing of numerical string keys of array in arbitrary serialized data). (Dmitriy Buldakov, Felipe)
 5309: - Fixed bug #43606 (define missing depencies of the exif extension). (crrodriguez at suse dot de)
 5310: - Fixed bug #43589 (a possible infinite loop in bz2_filter.c). (Greg)
 5311: - Fixed bug #43580 (removed bogus declaration of a non-existent php_is_url() function). (Ilia)
 5312: - Fixed bug #43559 (array_merge_recursive() doesn't behave as expected with duplicate NULL values). (Felipe, Tony)
 5313: - Fixed bug #43533 (escapeshellarg('') returns null). (Ilia)
 5314: - Fixed bug #43527 (DateTime created from a timestamp reports environment timezone). (Derick)
 5315: - Fixed bug #43522 (stream_get_line() eats additional characters). (Felipe, Ilia, Tony)
 5316: - Fixed bug #43507 (SOAPFault HTTP Status 500 - would like to be able to set the HTTP Status). (Dmitry)
 5317: - Fixed bug #43505 (Assign by reference bug). (Dmitry)
 5318: - Fixed bug #43498 (file_exists() on a proftpd server got SIZE not allowed in ASCII mode). (Ilia, crrodriguez at suse dot de)
 5319: - Fixed bug #43497 (OCI8 XML/getClobVal aka temporary LOBs leak UGA memory). (Chris)
 5320: - Fixed bug #43495 (array_merge_recursive() crashes with recursive arrays). (Ilia)
 5321: - Fixed bug #43493 (pdo_pgsql does not send username on connect when password is not available). (Ilia)
 5322: - Fixed bug #43491 (Under certain conditions, file_exists() never returns). (Dmitry)
 5323: - Fixed bug #43483 (get_class_methods() does not list all visible methods). (Dmitry)
 5324: - Fixed bug #43482 (array_pad() does not warn on very small pad numbers). (Ilia)
 5325: - Fixed bug #43457 (Prepared statement with incorrect parms doesn't throw exception with pdo_pgsql driver). (Ilia)
 5326: - Fixed bug #43450 (Memory leak on some functions with implicit object __toString() call). (David C.)
 5327: - Fixed bug #43386 (array_globals not reset to 0 properly on init). (Ilia)
 5328: - Fixed bug #43377 (PHP crashes with invalid argument for DateTimeZone). (Ilia)
 5329: - Fixed bug #43373 (pcntl_fork() should not raise E_ERROR on error). (Ilia)
 5330: - Fixed bug #43364 (recursive xincludes don't remove internal xml nodes properly). (Rob, patch from ddb@bitxtender.de)
 5331: - Fixed bug #43301 (mb_ereg*_replace() crashes when replacement string is invalid PHP expression and 'e' option is used). (Jani)
 5332: - Fixed bug #43295 (crash because of uninitialized SG(sapi_headers).mimetype). (Dmitry)
 5333: - Fixed bug #43293 (Multiple segfaults in getopt()). (Hannes)
 5334: - Fixed bug #43279 (pg_send_query_params() converts all elements in 'params' to strings). (Ilia)
 5335: - Fixed bug #43276 (Incomplete fix for bug #42739, mkdir() under safe_mode). (Ilia)
 5336: - Fixed bug #43248 (backward compatibility break in realpath()). (Dmitry)
 5337: - Fixed bug #43221 (SimpleXML adding default namespace in addAttribute). (Rob)
 5338: - Fixed bug #43216 (stream_is_local() returns false on "file://"). (Dmitry)
 5339: - Fixed bug #43201 (Crash on using uninitialized vals and __get/__set). (Dmitry)
 5340: - Fixed bug #43182 (file_put_contents() LOCK_EX does not work properly on file truncation). (Ilia)
 5341: - Fixed bug #43175 (__destruct() throwing an exception with __call() causes segfault). (Dmitry)
 5342: - Fixed bug #43128 (Very long class name causes segfault). (Dmitry)
 5343: - Fixed bug #43105 (PHP seems to fail to close open files). (Hannes)
 5344: - Fixed bug #43092 (curl_copy_handle() crashes with > 32 chars long URL). (Jani)
 5345: - Fixed bug #43003 (Invalid timezone reported for DateTime objects constructed using a timestamp). (Derick)
 5346: - Fixed bug #42978 (mismatch between number of bound params and values causes a crash in pdo_pgsql). (Ilia)
 5347: - Fixed bug #42945 (preg_split() swallows part of the string). (Nuno)
 5348: - Fixed bug #42937 (__call() method not invoked when methods are called on parent from child class). (Dmitry)
 5349: - Fixed bug #42841 (REF CURSOR and oci_new_cursor() crash PHP). (Chris)
 5350: - Fixed bug #42838 (Wrong results in array_diff_uassoc) (Felipe)
 5351: - Fixed bug #42779 (Incorrect forcing from HTTP/1.0 request to HTTP/1.1 response). (Ilia)
 5352: - Fixed bug #42736 (xmlrpc_server_call_method() crashes). (Tony)
 5353: - Fixed bug #42692 (Procedure 'int1' not present with doc/lit SoapServer). (Dmitry)
 5354: - Fixed bug #42548 (mysqli PROCEDURE calls can't return result sets). (Hartmut)
 5355: - Fixed bug #42505 (new sendmail default breaks on Netware platform) (Guenter Knauf)
 5356: - Fixed bug #42369 (Implicit conversion to string leaks memory). (David C., Rob).
 5357: - Fixed bug #42272 (var_export() incorrectly escapes char(0)). (Derick)
 5358: - Fixed bug #42261 (Incorrect lengths for date and boolean data types). (Ilia)
 5359: - Fixed bug #42190 (Constructing DateTime with TimeZone Indicator invalidates DateTimeZone). (Derick)
 5360: - Fixed bug #42177 (Warning "array_merge_recursive(): recursion detected" comes again...). (Felipe)
 5361: - Fixed bug #41941 (oci8 extension not lib64 savvy). (Chris)
 5362: - Fixed bug #41828 (Failing to call RecursiveIteratorIterator::__construct() causes a sefault). (Etienne)
 5363: - Fixed bug #41599 (setTime() fails after modify() is used). (Derick)
 5364: - Fixed bug #41562 (SimpleXML memory issue). (Rob)
 5365: - Fixed bug #40013 (php_uname() does not return nodename on Netware (Guenter Knauf)
 5366: - Fixed bug #38468 (Unexpected creation of cycle). (Dmitry)
 5367: - Fixed bug #32979 (OpenSSL stream->fd casts broken in 64-bit build) (stotty at tvnet dot hu)
 5368: 
 5369: 08 Nov 2007, PHP 5.2.5
 5370: - Upgraded PCRE to version 7.3 (Nuno)
 5371: - Added optional parameter $provide_object to debug_backtrace(). (Sebastian)
 5372: - Added alpha support for imagefilter() IMG_FILTER_COLORIZE. (Pierre)
 5373: - Added ability to control memory consumption between request using
 5374:   ZEND_MM_COMPACT environment variable. (Dmitry)
 5375: 
 5376: - Improved speed of array_intersect_key(), array_intersect_assoc(),
 5377:   array_uintersect_assoc(), array_diff_key(), array_diff_assoc() and
 5378:   array_udiff_assoc(). (Dmitry)
 5379: 
 5380: - Fixed move_uploaded_file() to always set file permissions of resulting file
 5381:   according to UMASK. (Andrew Sitnikov)
 5382: - Fixed possible crash in ext/soap because of uninitialized value. (Zdash Urf)
 5383: - Fixed regression in glob() when enforcing safe_mode/open_basedir checks on
 5384:   paths containing '*'. (Ilia)
 5385: - Fixed "mail.force_extra_parameters" php.ini directive not to be modifiable
 5386:   in .htaccess due to the security implications - reported by SecurityReason.
 5387:   (Stas)
 5388: - Fixed PDO crash when driver returns empty LOB stream. (Stas)
 5389: - Fixed dl() to only accept filenames - reported by Laurent Gaffie. (Stas)
 5390: - Fixed dl() to limit argument size to MAXPATHLEN (CVE-2007-4887).
 5391:   (Christian Hoffmann)
 5392: - Fixed iconv_*() functions to limit argument sizes as workaround to libc
 5393:   bug (CVE-2007-4783, CVE-2007-4840 by Laurent Gaffie).
 5394:   (Christian Hoffmann, Stas)
 5395: - Fixed missing brackets leading to build warning and error in the log.
 5396:   Win32 code. (Andrey)
 5397: - Fixed leaks with multiple connects on one mysqli object. (Andrey)
 5398: - Fixed endianness detection on MacOS when building universal binary.
 5399:   (Uwe Schindler, Christian Speich, Tony)
 5400: - Fixed possible triggering of buffer overflows inside glibc
 5401:   implementations of the fnmatch(), setlocale() and glob() functions.
 5402:   Reported by Laurent Gaffie. (Ilia)
 5403: - Fixed imagerectangle regression with 1x1 rectangle (libgd #106). (Pierre)
 5404: - Fixed htmlentities/htmlspecialchars not to accept partial multibyte
 5405:   sequences. (Stas)
 5406: 
 5407: - Fixed bug #43196 (array_intersect_assoc() crashes with non-array input).
 5408:   (Jani)
 5409: - Fixed bug #43139 (PDO ignores ATTR_DEFAULT_FETCH_MODE in some cases with
 5410:   fetchAll()). (Ilia)
 5411: - Fixed bug #43137 (rmdir() and rename() do not clear statcache). (Jani)
 5412: - Fixed bug #43130 (Bound parameters cannot have - in their name). (Ilia)
 5413: - Fixed bug #43099 (XMLWriter::endElement() does not check # of params).
 5414:   (Ilia)
 5415: - Fixed bug #43020 (Warning message is missing with shuffle() and more
 5416:   than one argument). (Scott)
 5417: - Fixed bug #42976 (Crash when constructor for newInstance() or
 5418:   newInstanceArgs() fails) (Ilia)
 5419: - Fixed bug #42943 (ext/mssql: Move *timeout initialization from RINIT
 5420:   to connect time). (Ilia)
 5421: - Fixed bug #42917 (PDO::FETCH_KEY_PAIR doesn't work with setFetchMode).
 5422:   (Ilia)
 5423: - Fixed bug #42890 (Constant "LIST" defined by mysqlclient and c-client).
 5424:   (Andrey)
 5425: - Fixed bug #42869 (automatic session id insertion adds sessions id to
 5426:   non-local forms). (Ilia)
 5427: - Fixed bug #42818 ($foo = clone(array()); leaks memory). (Dmitry)
 5428: - Fixed bug #42817 (clone() on a non-object does not result in a fatal
 5429:   error). (Ilia)
 5430: - Fixed bug #42785 (json_encode() formats doubles according to locale rather
 5431:   then following standard syntax). (Ilia)
 5432: - Fixed bug #42783 (pg_insert() does not accept an empty list for
 5433:   insertion). (Ilia)
 5434: - Fixed bug #42773 (WSDL error causes HTTP 500 Response). (Dmitry)
 5435: - Fixed bug #42772 (Storing $this in a static var fails while handling a cast
 5436:   to string). (Dmitry)
 5437: - Fixed bug #42767 (highlight_string() truncates trailing comment). (Ilia)
 5438: - Fixed bug #42739 (mkdir() doesn't like a trailing slash when safe_mode is
 5439:   enabled). (Ilia)
 5440: - Fixed bug #42703 (Exception raised in an iterator::current() causes segfault
 5441:   in FilterIterator) (Marcus)
 5442: - Fixed bug #42699 (PHP_SELF duplicates path). (Dmitry)
 5443: - Fixed bug #42654 (RecursiveIteratorIterator modifies only part of leaves)
 5444:   (Marcus)
 5445: - Fixed bug #42643 (CLI segfaults if using ATTR_PERSISTENT). (Ilia)
 5446: - Fixed bug #42637 (SoapFault : Only http and https are allowed). (Bill Moran)
 5447: - Fixed bug #42629 (Dynamically loaded PHP extensions need symbols exported
 5448:   on MacOSX). (jdolecek at NetBSD dot org)
 5449: - Fixed bug #42627 (bz2 extension fails to build with -fno-common).
 5450:   (dolecek at netbsd dot org)
 5451: - Fixed Bug #42596 (session.save_path MODE option does not work). (Ilia)
 5452: - Fixed bug #42590 (Make the engine recognize \v and \f escape sequences).
 5453:   (Ilia)
 5454: - Fixed bug #42587 (behavior change regarding symlinked .php files). (Dmitry)
 5455: - Fixed bug #42579 (apache_reset_timeout() does not exist). (Jani)
 5456: - Fixed bug #42549 (ext/mysql failed to compile with libmysql 3.23). (Scott)
 5457: - Fixed bug #42523 (PHP_SELF duplicates path). (Dmitry)
 5458: - Fixed bug #42512 (ip2long('255.255.255.255') should return 4294967295 on
 5459:   64-bit PHP). (Derick)
 5460: - Fixed bug #42506 (php_pgsql_convert() timezone parse bug) (nonunnet at
 5461:   gmail dot com, Ilia)
 5462: - Fixed bug #42496 (OCI8 cursor is not closed when using 2 clobs in a select
 5463:   query). (Oracle Corp.)
 5464: - Fixed bug #42462 (Segmentation when trying to set an attribute in a
 5465:   DOMElement). (Rob)
 5466: - Fixed bug #42453 (CGI SAPI does not shut down cleanly with -i/-m/-v cmdline
 5467:   options). (Dmitry)
 5468: - Fixed bug #42452 (PDO classes do not expose Reflection API information).
 5469:   (Hannes)
 5470: - Fixed bug #42468 (Write lock on file_get_contents fails when using a
 5471:   compression stream). (Ilia)
 5472: - Fixed bug #42488 (SoapServer reports an encoding error and the error itself
 5473:   breaks). (Dmitry)
 5474: - Fixed bug #42378 (mysqli_stmt_bind_result memory exhaustion). (Andrey)
 5475: - Fixed bug #42359 (xsd:list type not parsed). (Dmitry)
 5476: - Fixed bug #42326 (SoapServer crash). (Dmitry)
 5477: - Fixed bug #42214 (SoapServer sends clients internal PHP errors). (Dmitry)
 5478: - Fixed bug #42189 (xmlrpc_set_type() crashes php on invalid datetime
 5479:   values). (Ilia)
 5480: - Fixed bug #42139 (XMLReader option constants are broken using XML()). (Rob)
 5481: - Fixed bug #42086 (SoapServer return Procedure '' not present for WSIBasic
 5482:   compliant wsdl). (Dmitry)
 5483: - Fixed bug #41822 (Relative includes broken when getcwd() fails). (Ab5602,
 5484:   Jani)
 5485: - Fixed bug #41561 (Values set with php_admin_* in httpd.conf can be overwritten
 5486:   with ini_set()). (Stas, Jani)
 5487: - Fixed bug #39651 (proc_open() append mode doesn't work on windows). (Nuno)
 5488: 
 5489: 30 Aug 2007, PHP 5.2.4
 5490: - Removed --enable-versioning configure option. (Jani)
 5491: 
 5492: - Upgraded PCRE to version 7.2 (Nuno)
 5493: - Updated timezone database to version 2007.6. (Derick)
 5494: 
 5495: - Improved openssl_x509_parse() to return extensions in readable form. (Dmitry)
 5496: 
 5497: - Enabled changing the size of statement cache for non-persistent OCI8
 5498:   connections. (Chris Jones, Tony)
 5499: 
 5500: - Changed "display_errors" php.ini option to accept "stderr" as value which
 5501:   makes the error messages to be outputted to STDERR instead of STDOUT with
 5502:   CGI and CLI SAPIs (FR #22839). (Jani)
 5503: - Changed error handler to send HTTP 500 instead of blank page on PHP errors.
 5504:   (Dmitry, Andrei Nigmatulin)
 5505: - Changed mail() function to be always available. (Johannes)
 5506: 
 5507: - Added check for unknown options passed to configure. (Jani)
 5508: - Added persistent connection status checker to pdo_pgsql.
 5509:   (Elvis Pranskevichus, Ilia)
 5510: - Added support for ATTR_TIMEOUT inside pdo_pgsql driver. (Ilia)
 5511: - Added php_ini_loaded_file() function which returns the path to the actual
 5512:   php.ini in use. (Jani)
 5513: - Added GD version constants GD_MAJOR_VERSION, GD_MINOR_VERSION,
 5514:   GD_RELEASE_VERSION, GD_EXTRA_VERSION and GD_VERSION_STRING. (Pierre)
 5515: - Added missing open_basedir checks to CGI.
 5516:   (anight at eyelinkmedia dot com, Tony)
 5517: - Added missing format validator to unpack() function. (Ilia)
 5518: - Added missing error check inside bcpowmod(). (Ilia)
 5519: - Added CURLOPT_PRIVATE & CURLINFO_PRIVATE constants.
 5520:   (Andrey A. Belashkov, Tony)
 5521: - Added missing MSG_EOR and MSG_EOF constants to sockets extension. (Jani)
 5522: - Added PCRE_VERSION constant. (Tony)
 5523: - Added ReflectionExtension::info() function to print the phpinfo()
 5524:   block for an extension. (Johannes)
 5525: 
 5526: - Implemented FR #41884 (ReflectionClass::getDefaultProperties() does not
 5527:   handle static attributes). (Tony)
 5528: 
 5529: - Fixed "Floating point exception" inside wordwrap().
 5530:   (Mattias Bengtsson, Ilia)
 5531: - Fixed several integer overflows in ImageCreate(), ImageCreateTrueColor(),
 5532:   ImageCopyResampled() and ImageFilledPolygon() reported by Mattias Bengtsson.
 5533:   (Tony)
 5534: - Fixed size calculation in chunk_split(). (Stas)
 5535: - Fixed integer overflow in str[c]spn(). (Stas)
 5536: - Fixed money_format() not to accept multiple %i or %n tokens.
 5537:   (Stas, Ilia)
 5538: - Fixed zend_alter_ini_entry() memory_limit interruption
 5539:   vulnerability. (Ilia)
 5540: - Fixed INFILE LOCAL option handling with MySQL extensions not to be
 5541:   allowed when open_basedir or safe_mode is active. (Stas)
 5542: - Fixed session.save_path and error_log values to be checked against
 5543:   open_basedir and safe_mode (CVE-2007-3378) (Stas, Maksymilian Arciemowicz)
 5544: - Fixed possible invalid read in glob() win32 implementation (CVE-2007-3806).
 5545:   (Tony)
 5546: - Improved fix for MOPB-03-2007. (Ilia)
 5547: - Corrected fix for CVE-2007-2872. (Ilia)
 5548: 
 5549: - Fixed possible crash in imagepsloadfont(), work around a bug in the pslib on
 5550:   Windows. (Pierre)
 5551: - Fixed oci8 and PDO_OCI extensions to allow configuring with Oracle 11g
 5552:   client libraries. (Chris Jones)
 5553: - Fixed EOF handling in case of reading from file opened in write only mode.
 5554:   (Dmitry)
 5555: - Fixed var_export() to use the new H modifier so that it can generate
 5556:   parseable PHP code for floats, independent of the locale. (Derick)
 5557: - Fixed regression introduced by the fix for the libgd bug #74. (Pierre)
 5558: - Fixed SimpleXML's behavior when used with empty(). (Sara)
 5559: - Fixed crash in OpenSSL extension because of non-string passphrase. (Dmitry)
 5560: 
 5561: - Fixed PECL Bug #11345 (PDO_OCI crash after National language Support "NLS"
 5562:   environment initialization error). (Chris Jones)
 5563: - Fixed PECL bug #11216 (crash in ZipArchive::addEmptyDir when a directory
 5564:   already exists). (Pierre)
 5565: 
 5566: - Fixed bug #43926 (isInstance() isn't equivalent to instanceof operator). (Marcus)
 5567: - Fixed bug #42368 (Incorrect error message displayed by pg_escape_string).
 5568:   (Ilia)
 5569: - Fixed bug #42365 (glob() crashes and/or accepts way too many flags).
 5570:   (Jani)
 5571: - Fixed Bug #42364 (Crash when using getRealPath with DirectoryIterator).
 5572:   (Johannes)
 5573: - Fixed bug #42292 ($PHP_CONFIG not set for phpized builds). (Jani)
 5574: - Fixed bug #42261 (header wrong for date field).
 5575:   (roberto at spadim dot com dot br, Ilia)
 5576: - Fixed bug #42259 (SimpleXMLIterator loses ancestry). (Rob)
 5577: - Fixed bug #42247 (ldap_parse_result() not defined under win32). (Jani)
 5578: - Fixed bug #42243 (copy() does not output an error when the first arg is a
 5579:   dir). (Ilia)
 5580: - Fixed bug #42242 (sybase_connect() crashes). (Ilia)
 5581: - Fixed bug #42237 (stream_copy_to_stream returns invalid values for mmaped
 5582:   streams). (andrew dot minerd at sellingsource dot com, Ilia)
 5583: - Fixed bug #42233 (Problems with æøå in extract()). (Jani)
 5584: - Fixed bug #42222 (possible buffer overflow in php_openssl_make_REQ). (Pierre)
 5585: - Fixed bug #42211 (property_exists() fails to find protected properties
 5586:   from a parent class). (Dmitry)
 5587: - Fixed bug #42208 (substr_replace() crashes when the same array is passed
 5588:   more than once). (crrodriguez at suse dot de, Ilia)
 5589: - Fixed bug #42198 (SCRIPT_NAME and PHP_SELF truncated when inside a userdir
 5590:   and using PATH_INFO). (Dmitry)
 5591: - Fixed bug #42195 (C++ compiler required always). (Jani)
 5592: - Fixed bug #42183 (classmap causes crash in non-wsdl mode). (Dmitry)
 5593: - Fixed bug #42173 (oci8 INTERVAL and TIMESTAMP type fixes). (Chris)
 5594: - Fixed bug #42151 (__destruct functions not called after catching a SoapFault
 5595:   exception). (Dmitry)
 5596: - Fixed bug #42142 (substr_replace() returns FALSE when length > string length).
 5597:   (Ilia)
 5598: - Fixed bug #42135 (Second call of session_start() causes creation of SID).
 5599:   (Ilia)
 5600: - Fixed bug #42134 (oci_error() returns false after oci_new_collection() fails).
 5601:   (Tony)
 5602: - Fixed bug #42119 (array_push($arr,&$obj) doesn't work with
 5603:   zend.ze1_compatibility_mode On). (Dmitry)
 5604: - Fixed bug #42117 (bzip2.compress loses data in internal buffer).
 5605:   (Philip, Ilia)
 5606: - Fixed bug #42112 (deleting a node produces memory corruption). (Rob)
 5607: - Fixed bug #42107 (sscanf broken when using %2$s format parameters). (Jani)
 5608: - Fixed bug #42090 (json_decode causes segmentation fault). (Hannes)
 5609: - Fixed bug #42082 (NodeList length zero should be empty). (Hannes)
 5610: - Fixed bug #42072 (No warning message for clearstatcache() with arguments).
 5611:   (Ilia)
 5612: - Fixed bug #42071 (ini scanner allows using NULL as option name). (Jani)
 5613: - Fixed bug #42027 (is_file() / is_dir() matches file/dirnames with wildcard char
 5614:   or trailing slash in Windows). (Dmitry)
 5615: - Fixed bug #42019 (configure option --with-adabas=DIR does not work). (Jani)
 5616: - Fixed bug #42015 (ldap_rename(): server error "DSA is unwilling to perform").
 5617:   (bob at mroczka dot com, Jani)
 5618: - Fixed bug #42009 (is_a() and is_subclass_of() should NOT call autoload, in the
 5619:   same way as "instanceof" operator). (Dmitry)
 5620: - Fixed bug #41989 (move_uploaded_file() & relative path in ZTS mode). (Tony)
 5621: - Fixed bug #41984 (Hangs on large SoapClient requests). (Dmitry)
 5622: - Fixed bug #41983 (Error Fetching http headers terminated by '\n'). (Dmitry)
 5623: - Fixed bug #41973 (--with-ldap=shared fails with LDFLAGS="-Wl,--as-needed"). (Nuno)
 5624: - Fixed bug #41971 (PDOStatement::fetch and PDOStatement::setFetchMode causes
 5625:   unexpected behavior). (Ilia)
 5626: - Fixed bug #41964 (strtotime returns a timestamp for non-time string of
 5627:   pattern '(A|a) .+'). (Derick)
 5628: - Fixed bug #41961 (Ensure search for hidden private methods does not stray from
 5629:   class hierarchy). (robin_fernandes at uk dot ibm dot com)
 5630: - Fixed bug #41947 (SimpleXML incorrectly registers empty strings asnamespaces).
 5631:   (Rob)
 5632: - Fixed bug #41929 (Foreach on object does not iterate over all visible properties).
 5633:   (Dmitry)
 5634: - Fixed bug #41919 (crash in string to array conversion).
 5635:   (judas dot iscariote at gmail dot com, Ilia)
 5636: - Fixed bug #41909 (var_export() is locale sensitive when exporting float
 5637:   values). (Derick)
 5638: - Fixed bug #41908 (CFLAGS="-Os" ./configure --enable-debug fails).
 5639:   (christian at hoffie dot info, Tony)
 5640: - Fixed bug #41904 (proc_open(): empty env array should cause empty environment
 5641:   to be passed to process). (Jani)
 5642: - Fixed bug #41867 (SimpleXML: getName is broken). (Rob)
 5643: - Fixed bug #41865 (fputcsv(): 2nd parameter is not optional). (Jani)
 5644: - Fixed bug #41861 (SimpleXML: getNamespaces() returns the namespaces of a node's
 5645:   siblings). (Rob)
 5646: - Fixed bug #41845 (pgsql extension does not compile with PostgreSQL <7.4). (Ilia)
 5647: - Fixed bug #41844 (Format returns incorrect number of digits for negative years
 5648:   -0001 to -0999). (Derick)
 5649: - Fixed bug #41842 (Cannot create years < 0100 & negative years with date_create
 5650:   or new DateTime). (Derick)
 5651: - Fixed bug #41833 (addChild() on a non-existent node, no node created,
 5652:   getName() segfaults). (Rob)
 5653: - Fixed bug #41831 (pdo_sqlite prepared statements convert resources to
 5654:   strings). (Ilia)
 5655: - Fixed bug #41815 (Concurrent read/write fails when EOF is reached). (Sascha)
 5656: - Fixed bug #41813 (segmentation fault when using string offset as an object).
 5657:   (judas dot iscariote at gmail dot com, Tony)
 5658: - Fixed bug #41795 (checkdnsrr does not support DNS_TXT type).
 5659:   (lucas at facebook dot com, Tony)
 5660: - Fixed bug #41773 (php_strip_whitespace() sends headers with errors
 5661:   suppressed). (Tony)
 5662: - Fixed bug #41770 (SSL: fatal protocol error due to buffer issues). (Ilia)
 5663: - Fixed bug #41765 (Recode crashes/does not work on amd64).
 5664:   (nexus at smoula dot net, Stas)
 5665: - Fixed bug #41724 (libxml_get_last_error() - errors service request scope).
 5666:   (thekid at php dot net, Ilia)
 5667: - Fixed bug #41717 (imagepolygon does not respect thickness). (Pierre)
 5668: - Fixed bug #41713 (Persistent memory consumption on win32 since 5.2). (Dmitry)
 5669: - Fixed bug #41711 (NULL temporary lobs not supported in OCI8).
 5670:   (Chris Jones, Tony)
 5671: - Fixed bug #41709 (strtotime() does not handle 00.00.0000). (Derick)
 5672: - Fixed bug #41698 (float parameters truncated to integer in prepared
 5673:   statements). (Ilia)
 5674: - Fixed bug #41692 (ArrayObject shows weird behavior in respect to
 5675:   inheritance). (Tony)
 5676: - Fixed bug #41691 (ArrayObject::exchangeArray hangs Apache). (Tony)
 5677: - Fixed bug #41686 (Omitting length param in array_slice not possible). (Ilia)
 5678: - Fixed bug #41685 (array_push() fails to warn when next index is
 5679:   already occupied). (Ilia)
 5680: - Fixed bug #41655 (open_basedir bypass via glob()). (Ilia)
 5681: - Fixed bug #41640 (get_class_vars produces error on class constants).
 5682:   (Johannes)
 5683: - Fixed bug #41635 (SoapServer and zlib.output_compression with FastCGI
 5684:   result in major slowdown). (Dmitry)
 5685: - Fixed bug #41633 (Crash instantiating classes with self-referencing
 5686:   constants). (Dmitry)
 5687: - Fixed bug #41630 (segfault when an invalid color index is present in the
 5688:   image data). (Reported by Elliot <wccoder@gmail dot com>) (Pierre)
 5689: - Fixed bug #41628 (PHP settings leak between Virtual Hosts in Apache 1.3).
 5690:   (Scott, manuel at mausz dot at)
 5691: - Fixed bug #41608 (segfault on a weird code with objects and switch()).
 5692:   (Tony)
 5693: - Fixed bug #41600 (url rewriter tags doesn't work with namespaced tags).
 5694:   (Ilia)
 5695: - Fixed bug #41596 (Fixed a crash inside pdo_pgsql on some non-well-formed
 5696:   SQL queries). (Ilia)
 5697: - Fixed bug #41594 (OCI8 statement cache is flushed too frequently). (Tony)
 5698: - Fixed bug #41582 (SimpleXML crashes when accessing newly created element).
 5699:   (Tony)
 5700: - Fixed bug #41576 (configure failure when using --without-apxs or some other
 5701:   SAPIs disabling options). (Jani)
 5702: - Fixed bug #41567 (json_encode() double conversion is inconsistent with PHP).
 5703:   (Lucas, Ilia)
 5704: - Fixed bug #41566 (SOAP Server not properly generating href attributes).
 5705:   (Dmitry)
 5706: - Fixed bug #41555 (configure failure: regression caused by fix for #41265).
 5707:   (Jani)
 5708: - Fixed bug #41527 (WDDX deserialize numeric string array key).
 5709:   (Matt, Ilia)
 5710: - Fixed bug #41523 (strtotime('0000-00-00 00:00:00') is parsed as 1999-11-30).
 5711:   (Derick)
 5712: - Fixed bug #41518 (file_exists() warns of open_basedir restriction on
 5713:   non-existent file). (Tony)
 5714: - Fixed bug #41445 (parse_ini_file() has a problem with certain types of
 5715:   integer as sections). (Tony)
 5716: - Fixed bug #41433 (DBA: configure fails to include correct db.h for db4).
 5717:   (Jani)
 5718: - Fixed bug #41372 (Internal pointer of source array resets during array
 5719:   copying). (Dmitry)
 5720: - Fixed bug #41350 (my_thread_global_end() error during request shutdown on
 5721:   Windows). (Scott, Andrey)
 5722: - Fixed bug #41278 (get_loaded_extensions() should list Zend extensions).
 5723:   (Johannes)
 5724: - Fixed bug #41127 (Memory leak in ldap_{first|next}_attribute functions).
 5725:   (Jani)
 5726: - Fixed bug #40757 (get_object_vars get nothing in child class). (Dmitry)
 5727: - Fixed bug #40705 (Iterating within function moves original array pointer).
 5728:   (Dmitry)
 5729: - Fixed bug #40509 (key() function changed behaviour if global array is used
 5730:   within function). (Dmitry)
 5731: - Fixed bug #40419 (Trailing slash in CGI request does not work). (Dmitry)
 5732: - Fixed bug #39330 (apache2handler does not call shutdown actions before
 5733:   apache child die). (isk at ecommerce dot com, Gopal, Tony)
 5734: - Fixed bug #39291 (ldap_sasl_bind() misses the sasl_authc_id parameter).
 5735:   (diafour at gmail dot com, Jani)
 5736: - Fixed bug #37715 (array pointers resetting on copy). (Dmitry)
 5737: - Fixed bug #37273 (Symlinks and mod_files session handler allow open_basedir
 5738:   bypass). (Ilia)
 5739: - Fixed bug #36492 (Userfilters can leak buckets). (Sara)
 5740: - Fixed bugs #36796, #36918, #41371 (stream_set_blocking() does not work).
 5741:   (Jani)
 5742: - Fixed bug #35981 (pdo-pgsql should not use pkg-config when not present).
 5743:   (Jani)
 5744: - Fixed bug #31892 (PHP_SELF incorrect without cgi.fix_pathinfo, but turning on
 5745:   screws up PATH_INFO). (Dmitry)
 5746: - Fixed bug #21197 (socket_read() outputs error with PHP_NORMAL_READ).
 5747:   (Nuno, Jani)
 5748: 
 5749: 31 May 2007, PHP 5.2.3
 5750: - Changed CGI install target to php-cgi and 'make install' to install CLI
 5751:   when CGI is selected. (Jani)
 5752: - Changed JSON maximum nesting depth from 20 to 128. (Rasmus)
 5753: 
 5754: - Improved compilation of heredocs and interpolated strings. (Matt, Dmitry)
 5755: - Optimized out a couple of per-request syscalls. (Rasmus)
 5756: - Optimized digest generation in md5() and sha1() functions. (Ilia)
 5757: - Upgraded bundled SQLite 3 to version 3.3.17. (Ilia)
 5758: 
 5759: - Added "max_input_nesting_level" php.ini option to limit nesting level of
 5760:   input variables. Fix for MOPB-03-2007. (Stas)
 5761: - Added a 4th parameter flag to htmlspecialchars() and htmlentities() that
 5762:   makes the function not encode existing html entities. (Ilia)
 5763: - Added PDO::FETCH_KEY_PAIR mode that will fetch a 2 column result set into
 5764:   an associated array. (Ilia)
 5765: - Added CURLOPT_TIMEOUT_MS and CURLOPT_CONNECTTIMEOUT_MS cURL constants. (Sara)
 5766: - Added --ini switch to CLI that prints out configuration file names. (Marcus)
 5767: - Added mysql_set_charset() to allow runtime altering of connection encoding.
 5768:   (Scott)
 5769: 
 5770: - Implemented FR #41416 (getColumnMeta() should also return table name). (Tony)
 5771: 
 5772: - Fixed an integer overflow inside chunk_split(). Identified by Gerhard Wagner.
 5773:   (Ilia)
 5774: - Fixed SOAP extension's handler() to work even when
 5775:   "always_populate_raw_post_data" is off. (Ilia)
 5776: - Fixed possible infinite loop in imagecreatefrompng. (libgd #86)
 5777:   (by Xavier Roche, CVE-2007-2756). (Pierre)
 5778: - Fixed ext/filter Email Validation Vulnerability (MOPB-45 by Stefan Esser).
 5779:   (Ilia)
 5780: - Fixed altering $this via argument named "this". (Dmitry)
 5781: - Fixed PHP CLI usage of php.ini from the binary location. (Hannes)
 5782: - Fixed segfault in strripos(). (Tony, Joxean Koret)
 5783: - Fixed bug #41693 (scandir() allows empty directory names). (Ilia)
 5784: - Fixed bug #41673 (json_encode breaks large numbers in arrays). (Ilia)
 5785: - Fixed bug #41525 (ReflectionParameter::getPosition() not available). (Marcus)
 5786: - Fixed bug #41511 (Compile failure under IRIX 6.5.30 building md5.c). (Jani)
 5787: - Fixed bug #41504 (json_decode() incorrectly decodes JSON arrays with empty
 5788:   string keys). (Ilia)
 5789: - Fixed bug #41492 (open_basedir/safe_mode bypass inside realpath()). (Ilia)
 5790: - Fixed bug #41477 (no arginfo about SoapClient::__soapCall()). (Ilia)
 5791: - Fixed bug #41455 (ext/dba/config.m4 pollutes global $LIBS and $LDFLAGS).
 5792:   (mmarek at suse dot cz, Tony)
 5793: - Fixed bug #41442 (imagegd2() under output control). (Tony)
 5794: - Fixed bug #41430 (Fatal error with negative values of maxlen parameter of
 5795:   file_get_contents()). (Tony)
 5796: - Fixed bug #41423 (PHP assumes wrongly that certain ciphers are enabled in
 5797:   OpenSSL). (Pierre)
 5798: - Fixed bug #41421 (Uncaught exception from a stream wrapper segfaults).
 5799:   (Tony, Dmitry)
 5800: - Fixed bug #41403 (json_decode cannot decode floats if localeconv
 5801:   decimal_point is not '.'). (Tony)
 5802: - Fixed bug #41401 (wrong unary operator precedence). (Stas)
 5803: - Fixed bug #41394 (dbase_create creates file with corrupted header). (Tony)
 5804: - Fixed bug #41390 (Clarify error message with invalid protocol scheme).
 5805:   (Scott)
 5806: - Fixed bug #41378 (fastcgi protocol lacks support for Reason-Phrase in
 5807:   "Status:" header). (anight at eyelinkmedia dot com, Dmitry)
 5808: - Fixed bug #41374 (whole text concats values of wrong nodes). (Rob)
 5809: - Fixed bug #41358 (configure cannot determine SSL lib with libcurl >= 7.16.2).
 5810:   (Mike)
 5811: - Fixed bug #41353 (crash in openssl_pkcs12_read() on invalid input). (Ilia)
 5812: - Fixed bug #41351 (Invalid opcode with foreach ($a[] as $b)). (Dmitry, Tony)
 5813: - Fixed bug #41347 (checkdnsrr() segfaults on empty hostname). (Scott)
 5814: - Fixed bug #41337 (WSDL parsing doesn't ignore non soap bindings). (Dmitry)
 5815: - Fixed bug #41326 (Writing empty tags with Xmlwriter::WriteElement[ns])
 5816:   (Pierre)
 5817: - Fixed bug #41321 (downgrade read errors in getimagesize() to E_NOTICE).
 5818:   (Ilia)
 5819: - Fixed bug #41304 (compress.zlib temp files left). (Dmitry)
 5820: - Fixed bug #41293 (Fixed creation of HTTP_RAW_POST_DATA when there is no
 5821:   default post handler). (Ilia)
 5822: - Fixed bug #41291 (FastCGI does not set SO_REUSEADDR).
 5823:   (fmajid at kefta dot com, Dmitry)
 5824: - Fixed gd build when used with freetype 1.x (Pierre, Tony)
 5825: - Fixed bug #41287 (Namespace functions don't allow xmlns definition to be
 5826:   optional). (Rob)
 5827: - Fixed bug #41285 (Improved fix for CVE-2007-1887 to work with non-bundled
 5828:   sqlite2 lib). (Ilia)
 5829: - Fixed bug #41283 (Bug with deserializing array key that are doubles or
 5830:   floats in wddx). (Ilia)
 5831: - Fixed bug #41257 (lookupNamespaceURI does not work as expected). (Rob)
 5832: - Fixed bug #41236 (Regression in timeout handling of non-blocking SSL
 5833:   connections during reads and writes). (Ilia)
 5834: - Fixed bug #41134 (zend_ts_hash_clean not thread-safe).
 5835:   (marco dot cova at gmail dot com, Tony)
 5836: - Fixed bug #41097 (ext/soap returning associative array as indexed without
 5837:   using WSDL). (Dmitry)
 5838: - Fixed bug #41004 (minOccurs="0" and null class member variable). (Dmitry)
 5839: - Fixed bug #39542 (Behavior of require/include different to < 5.2.0).
 5840:   (Dmitry)
 5841: 
 5842: 03 May 2007, PHP 5.2.2
 5843: - Improved bundled GD
 5844:   . Sync to 2.0.35
 5845:   . Added imagegrabwindow and imagegrabscreen, capture a screen or a
 5846:     window using its handle (Pierre)
 5847:   . colors allocated henceforth from the resulting image overwrite the palette
 5848:     colors (Rob Leslie)
 5849:   . Improved thread safety of the gif support (Roman Nemecek, Nuno, Pierre)
 5850:   . Use the dimension of the GIF frame to create the destination image (Pierre)
 5851:   . Load only once the local color map from a GIF data (Pierre)
 5852:   . Improved thread safety of the freetype cache (Scott MacVicar, Nuno, Pierre)
 5853:   . imagearc huge CPU usage with large angles, libgd bug #74 (Pierre)
 5854: - Improved FastCGI SAPI to support external pipe and socket servers on win32.
 5855:   (Dmitry)
 5856: - Improved Zend Memory Manager
 5857:   . guarantee of reasonable time for worst cases of best-fit free block
 5858:     searching algorithm. (Dmitry)
 5859:   . better cache usage and less fragmentation on erealloc() (Tony, Dmitry)
 5860: - Improved SPL (Marcus)
 5861:   . Added SplFileInfo::getBasename(), DirectoryIterator::getBasename().
 5862:   . Added SplFileInfo::getLinkTarget(), SplFileInfo::getRealPath().
 5863:   . Made RecursiveFilterIterator::accept() abstract as stated in documentation.
 5864: - Improved SOAP
 5865:   . Added ability to encode arrays with "SOAP-ENC:Array" type instead of WSDL
 5866:     type. To activate the ability use "feature"=>SOAP_USE_XSI_ARRAY_TYPE
 5867:     option in SoapClient/SoapServer constructors. (Rob, Dmitry)
 5868: 
 5869: - Added GMP_VERSION constant. (Tony)
 5870: - Added --ri switch to CLI which allows to check extension information. (Marcus)
 5871: - Added tidyNode::getParent() method (John, Nuno)
 5872: - Added openbasedir and safemode checks in zip:// stream wrapper and
 5873:   ZipArchive::open (Pierre)
 5874: - Added php_pdo_sqlite_external.dll, a version of the PDO SQLite driver that
 5875:   links against an external sqlite3.dll.  This provides Windows users to upgrade
 5876:   their sqlite3 version outside of the PHP release cycle.  (Wez, Edin)
 5877: - Added linenumbers to array returned by token_get_all(). (Johannes)
 5878: 
 5879: - Upgraded SQLite 3 to version 3.3.16 (Ilia)
 5880: - Upgraded libraries bundled in the Windows distribution. (Edin)
 5881:   . c-client (imap) to version 2006e
 5882:   . libpq (PostgreSQL) to version 8.2.3
 5883:   . libmysql (MySQL) to version 5.0.37
 5884:   . openssl to version 0.9.8e
 5885: - Upgraded PCRE to version 7.0 (Nuno)
 5886: 
 5887: - Updated timezone database to version 2007.5. (Derick)
 5888: 
 5889: - Fixed commandline handling for CLI and CGI. (Marcus, Johannes)
 5890: - Fixed iterator_apply() with a callback using __call(). (Johannes)
 5891: - Fixed possible multi bytes issues in openssl csr parser (Pierre)
 5892: - Fixed shmop_open() with IPC_CREAT|IPC_EXCL flags on Windows.
 5893:   (Vladimir Kamaev, Tony).
 5894: - Fixed possible leak in ZipArchive::extractTo when safemode checks fails (Ilia)
 5895: - Fixed possible relative path issues in zip_open and TS mode (old API) (Pierre)
 5896: - Fixed zend_llist_remove_tail (Michael Wallner, Dmitry)
 5897: - Fixed a thread safety issue in gd gif read code (Nuno, Roman Nemecek)
 5898: - Fixed CVE-2007-1001, GD wbmp used with invalid image size (Pierre)
 5899: - Fixed unallocated memory access/double free in in array_user_key_compare()
 5900:   (MOPB-24 by Stefan Esser) (Stas)
 5901: - Fixed wrong length calculation in unserialize S type
 5902:   (MOPB-29 by Stefan Esser) (Stas)
 5903: 
 5904: - Fixed bug #41215 (setAttribute return code reversed). (Ilia)
 5905: - Fixed bug #41192 (Per Directory Values only work for one key). (Dmitry)
 5906: - Fixed bug #41175 (addAttribute() fails to add an attribute with an empty
 5907:   value). (Ilia)
 5908: - Fixed bug #41159 (mysql_pconnect() hash does not account for connect
 5909:   flags). (Ilia)
 5910: - Fixed bug #41121 (range() overflow handling for large numbers on 32bit
 5911:   machines). (Ilia)
 5912: - Fixed bug #41118 (PHP does not handle overflow of octal integers). (Tony)
 5913: - Fixed bug #41109 (recursiveiterator.inc says "implements" Iterator instead of
 5914:   "extends"). (Marcus)
 5915: - Fixed bug #40130 (TTF usage doesn't work properly under Netware). (Scott,
 5916:   gk at gknw dot de)
 5917: - Fixed bug #41093 (magic_quotes_gpc ignores first arrays keys). (Arpad, Ilia)
 5918: - Fixed bug #41075 (memleak when creating default object caused exception).
 5919:   (Dmitry)
 5920: - Fixed bug #41067 (json_encode() problem with UTF-16 input). (jp at df5ea
 5921:   dot net. Ilia)
 5922: - Fixed bug #41063 (chdir doesn't like root paths). (Dmitry)
 5923: - Fixed bug #41061 ("visibility error" in ReflectionFunction::export()).
 5924:   (Johannes)
 5925: - Fixed bug #41043 (pdo_oci crash when freeing error text with persistent
 5926:   connection). (Tony)
 5927: - Fixed bug #41037 (unregister_tick_function() inside the tick function crash PHP).
 5928:   (Tony)
 5929: - Fixed bug #41034 (json_encode() ignores null byte started keys in arrays).
 5930:   (Ilia)
 5931: - Fixed bug #41026 (segfault when calling "self::method()" in shutdown functions).
 5932:   (Tony)
 5933: - Fixed bug #40999 (mcrypt_create_iv() not using random seed). (Ilia)
 5934: - Fixed bug #40998 (long session array keys are truncated). (Tony)
 5935: - Implement feature request #40947, allow a single filter as argument
 5936:   for filter_var_array (Pierre)
 5937: - Fixed bug #40935 (pdo_mysql does not raise an exception on empty
 5938:   fetchAll()). (Ilia)
 5939: - Fixed bug #40931 (open_basedir bypass via symlink and move_uploaded_file()).
 5940:   (Tony)
 5941: - Fixed bug #40921 (php_default_post_reader crashes when post_max_size is
 5942:   exceeded). (trickie at gmail dot com, Ilia)
 5943: - Fixed bug #40915 (addcslashes unexpected behavior with binary input). (Tony)
 5944: - Fixed bug #40899 (memory leak when nesting list()). (Dmitry)
 5945: - Fixed bug #40897 (error_log file not locked). (Ilia)
 5946: - Fixed bug #40883 (mysql_query() is allocating memory incorrectly). (Tony)
 5947: - Fixed bug #40872 (inconsistency in offsetSet, offsetExists treatment of
 5948:   string enclosed integers). (Marcus)
 5949: - Fixed bug #40861 (strtotime() doesn't handle double negative relative time
 5950:   units correctly). (Derick, Ilia)
 5951: - Fixed bug #40854 (imap_mail_compose() creates an invalid terminator for
 5952:   multipart e-mails). (Ilia)
 5953: - Fixed bug #40848 (sorting issue on 64-bit Solaris). (Wez)
 5954: - Fixed bug #40836 (Segfault in ext/dom). (Rob)
 5955: - Fixed bug #40833 (Crash when using unset() on an ArrayAccess object retrieved
 5956:   via __get()). (Dmitry)
 5957: - Fixed bug #40822 (pdo_mysql does not return rowCount() on select). (Ilia)
 5958: - Fixed bug #40815 (using strings like "class::func" and static methods in
 5959:   set_exception_handler() might result in crash). (Tony)
 5960: - Fixed bug #40809 (Poor performance of ".="). (Dmitry)
 5961: - Fixed bug #40805 (Failure executing function ibase_execute()). (Tony)
 5962: - Fixed bug #40800 (cannot disable memory_limit with -1). (Dmitry, Tony)
 5963: - Fixed bug #40794 (ReflectionObject::getValues() may crash when used with
 5964:   dynamic properties). (Tony)
 5965: - Fixed bug #40784 (Case sensitivity in constructor's fallback). (Tony)
 5966: - Fixed bug #40770 (Apache child exits when PHP memory limit reached). (Dmitry)
 5967: - Fixed bug #40764 (line thickness not respected for horizontal and vertical
 5968:   lines). (Pierre)
 5969: - Fixed bug #40758 (Test fcgi_is_fastcgi() is wrong on windows). (Dmitry)
 5970: - Fixed bug #40754 (added substr() & substr_replace() overflow checks). (Ilia)
 5971: - Fixed bug #40752 (parse_ini_file() segfaults when a scalar setting is
 5972:   redeclared as an array). (Tony)
 5973: - Fixed bug #40750 (openssl stream wrapper ignores default_stream_timeout).
 5974:   (Tony)
 5975: - Fixed bug #40727 (segfault in PDO when failed to bind parameters). (Tony)
 5976: - Fixed bug #40709 (array_reduce() behaves strange with one item stored arrays).
 5977:   (Ilia)
 5978: - Fixed bug #40703 (Resolved a possible namespace conflict between libxmlrpc
 5979:   and MySQL's NDB table handler). (Ilia)
 5980: - Fixed bug #40961 (Incorrect results of DateTime equality check). (Mike)
 5981: - Fixed bug #40678 (Cross compilation fails). (Tony)
 5982: - Fixed bug #40621 (Crash when constructor called inappropriately). (Tony)
 5983: - Fixed bug #40609 (Segfaults when using more than one SoapVar in a request).
 5984:   (Rob, Dmitry)
 5985: - Fixed bug #40606 (umask is not being restored when request is finished).
 5986:   (Tony)
 5987: - Fixed bug #40598 (libxml segfault). (Rob)
 5988: - Fixed bug #40591 (list()="string"; gives invalid opcode). (Dmitry)
 5989: - Fixed bug #40578 (imagettftext() multithreading issue). (Tony, Pierre)
 5990: - Fixed bug #40576 (double values are truncated to 6 decimal digits when
 5991:   encoding). (Tony)
 5992: - Fixed bug #40560 (DIR functions do not work on root UNC path). (Dmitry)
 5993: - Fixed bug #40548 (SplFileInfo::getOwner/getGroup give a warning on broken
 5994:   symlink). (Marcus)
 5995: - Fixed bug #40546 (SplFileInfo::getPathInfo() throws an exception if directory
 5996:   is in root dir). (Marcus)
 5997: - Fixed bug #40545 (multithreading issue in zend_strtod()). (Tony)
 5998: - Fixed bug #40503 (json_encode() value corruption on 32bit systems with
 5999:   overflown values). (Ilia)
 6000: - Fixed bug #40467 (Partial SOAP request sent when XSD sequence or choice
 6001:   include minOccurs=0). (Dmitry)
 6002: - Fixed bug #40465 (Ensure that all PHP elements are printed by var_dump).
 6003:   (wharmby at uk dot ibm dot com, Ilia)
 6004: - Fixed bug #40464 (session.save_path wont use default-value when safe_mode
 6005:   or open_basedir is enabled). (Ilia)
 6006: - Fixed bug #40455 (proc_open() uses wrong command line when safe_mode_exec_dir
 6007:   is set). (Tony)
 6008: - Fixed bug #40432 (strip_tags() fails with greater than in attribute). (Ilia)
 6009: - Fixed bug #40431 (dynamic properties may cause crash in ReflectionProperty
 6010:   methods). (Tony)
 6011: - Fixed bug #40451 (addAttribute() may crash when used with non-existent child
 6012:   node). (Tony)
 6013: - Fixed bug #40442 (ArrayObject::offsetExists broke in 5.2.1, works in 5.2.0).
 6014:   (olivier at elma dot fr, Marcus)
 6015: - Fixed bug #40428 (imagepstext() doesn't accept optional parameter). (Pierre)
 6016: - Fixed bug #40417 (Allow multiple instances of the same named PDO token in
 6017:   prepared statement emulation code). (Ilia)
 6018: - Fixed bug #40414 (possible endless fork() loop when running fastcgi).
 6019:   (Dmitry)
 6020: - Fixed bug #40410 (ext/posix does not compile on MacOS 10.3.9). (Tony)
 6021: - Fixed bug #40392 (memory leaks in PHP milter SAPI).
 6022:   (tuxracer69 at gmail dot com, Tony)
 6023: - Fixed bug #40371 (pg_client_encoding() not working on Windows). (Edin)
 6024: - Fixed bug #40352 (FCGI_WEB_SERVER_ADDRS function get lost). (Dmitry)
 6025: - Fixed bug #40290 (strtotime() returns unexpected result with particular
 6026:   timezone offset). (Derick)
 6027: - Fixed bug #40286 (PHP fastcgi with PHP_FCGI_CHILDREN don't kill children when
 6028:   parent is killed). (Dmitry)
 6029: - Fixed bug #40261 (Extremely slow data handling due to memory fragmentation).
 6030:   (Dmitry)
 6031: - Fixed bug #40236 (php -a function allocation eats memory). (Dmitry)
 6032: - Fixed bug #40109 (iptcembed fails on non-jfif jpegs). (Tony)
 6033: - Fixed bug #39965 (Latitude and longitude are backwards in date_sun_info()).
 6034:   (Derick)
 6035: - Implement #39867 (openssl PKCS#12 support) (Marc Delling, Pierre)
 6036: - Fixed bug #39836 (SplObjectStorage empty after unserialize). (Marcus)
 6037: - Fixed bug #39416 (Milliseconds in date()). (Derick)
 6038: - Fixed bug #39396 (stream_set_blocking crashes on Win32). (Ilia, maurice at
 6039:   iceblog dot de)
 6040: - Fixed bug #39351 (relative include fails on Solaris). (Dmitry, Tony)
 6041: - Fixed bug #39322 (proc_terminate() destroys process resource). (Nuno)
 6042: - Fixed bug #38406 (crash when assigning objects to SimpleXML attributes). (Tony)
 6043: - Fixed bug #37799 (ftp_ssl_connect() falls back to non-ssl connection). (Nuno)
 6044: - Fixed bug #36496 (SSL support in imap_open() not working on Windows). (Edin)
 6045: - Fixed bug #36226 (Inconsistent handling when passing nillable arrays).
 6046:   (Dmitry)
 6047: - Fixed bug #35872 (Avoid crash caused by object store being referenced during
 6048:   RSHUTDOWN). (Andy)
 6049: - Fixed bug #34794 (proc_close() hangs when used with two processes).
 6050:   (jdolecek at netbsd dot org, Nuno)
 6051: - Fixed PECL bug #10194 (crash in Oracle client when memory limit reached in
 6052:   the callback). (Tony)
 6053: - Fixed substr_compare and substr_count information leak (MOPB-14) (Stas, Ilia)
 6054: - Fixed crash on op-assign where argument is string offset (Brian, Stas)
 6055: - Fixed bug #38710 (data leakage because of nonexisting boundary checking in
 6056:   statements in mysqli) (Stas)
 6057: - Fixed bug #37386 (autocreating element doesn't assign value to first node).
 6058:   (Rob)
 6059: - Fixed bug #37013 (server hangs when returning circular object references).
 6060:   (Dmitry)
 6061: - Fixed bug #33664 Console window appears when using exec()
 6062:   (Richard Quadling, Stas)
 6063: 
 6064: 
 6065: 08 Feb 2007, PHP 5.2.1
 6066: - Added read-timeout context option "timeout" for HTTP streams. (Hannes, Ilia).
 6067: - Added CURLOPT_TCP_NODELAY constant to Curl extension. (Sara)
 6068: - Added support for hex numbers of any size. (Matt)
 6069: - Added function stream_socket_shutdown(). It is a wrapper for system
 6070:   shutdown() function, that shut downs part of a full-duplex connection.
 6071:   (Dmitry)
 6072: - Added internal heap protection (Dmitry)
 6073:   . memory-limit is always enabled (--enable-memory-limit removed)
 6074:   . default value if memory-limit is set to 128M
 6075:   . safe unlinking
 6076:   . cookies
 6077:   . canary protection (debug build only)
 6078:   . random generation of cookies and canaries
 6079: - Added forward support for 'b' prefix in front of string literals. (Andrei)
 6080: - Added three new functions to ext/xmlwriter (Rob, Ilia)
 6081:   . xmlwriter_start_dtd_entity()
 6082:   . xmlwriter_end_dtd_entity()
 6083:   . xmlwriter_write_dtd_entity()
 6084: - Added a meta tag to phpinfo() output to prevent search engines from indexing
 6085:   the page. (Ilia)
 6086: - Added new function, sys_get_temp_dir(). (Hartmut)
 6087: - Added missing object support to file_put_contents(). (Ilia)
 6088: - Added support for md2, ripemd256 and ripemd320 algos to hash(). (Sara)
 6089: - Added forward support for (binary) cast. (Derick)
 6090: - Added optimization for imageline with horizontal and vertical lines (Pierre)
 6091: 
 6092: - Removed dependency from SHELL32.DLL. (Dmitry)
 6093: - Removed double "wrong parameter count" warnings in various functions.
 6094:   (Hannes)
 6095: - Moved extensions to PECL:
 6096:   . ext/informix (Derick, Tony)
 6097: 
 6098: - Changed double-to-string utilities to use BSD implementation. (Dmitry, Tony)
 6099: - Updated bundled libcURL to version 7.16.0 in the Windows distro. (Edin)
 6100: - Updated timezone database to version 2006.16. (Derick)
 6101: - cgi.* and fastcgi.* directives are moved to INI subsystem. The new directive
 6102:   cgi.check_shebang_line can be used to omitting check for "#! /usr/bin/php"
 6103:   line. (Dmitry).
 6104: - Improved proc_open(). Now on Windows it can run external commands not
 6105:   through CMD.EXE. (Dmitry)
 6106: - VCWD_REALPATH() is improved to use realpath cache without VIRTUAL_DIR.
 6107:   (Dmitry)
 6108: - ext/bcmath initialization code is moved from request startup to module
 6109:   startup. (Dmitry)
 6110: - Zend Memory Manager Improvements (Dmitry)
 6111:   . use HeapAlloc() instead of VirtualAlloc()
 6112:   . use "win32" storage manager (instead of "malloc") on Windows by default
 6113: - Zip Extension Improvements (Pierre)
 6114:   . Fixed leak in statName and stateIndex
 6115:   . Fixed return setComment (Hannes)
 6116:   . Added addEmptyDir method
 6117: - Filter Extension Improvements (Ilia, Pierre)
 6118:   . Fixed a bug when callback function returns a non-modified value.
 6119:   . Added filter support for $_SERVER in cgi/apache2 sapis.
 6120:   . Make sure PHP_SELF is filtered in Apache 1 sapi.
 6121:   . Fixed bug #39358 (INSTALL_HEADERS contains incorrect reference to
 6122:     php_filter.h).
 6123:   . Added "default" option that allows a default value to be set for an
 6124:     invalid or missing value.
 6125:   . Invalid filters fails instead of returning unsafe value
 6126:   . Fixed possible double encoding problem with sanitizing filters
 6127:   . Make use of space-strict strip_tags() function
 6128:   . Fixed whitespace trimming
 6129:   . Added support for FastCGI environment variables. (Dmitry)
 6130: - PDO_MySQL Extension Improvements (Ilia)
 6131:   . Enabled buffered queries by default.
 6132:   . Enabled prepared statement emulation by default.
 6133: 
 6134: - Small optimization of the date() function. (Matt,Ilia)
 6135: - Optimized the internal is_numeric_string() function. (Matt,Ilia)
 6136: - Optimized array functions utilizing php_splice(). (Ilia)
 6137: - Windows related optimizations (Dmitry, Stas)
 6138:   . COM initialization/deinitialization are done only if necessary
 6139:   . removed unnecessary checks for ISREG file and corresponding stat() calls
 6140:   . opendir() is reimplementation using GetFistFile/GetNextFile those are
 6141:     faster then _findfirst/_findnext
 6142:   . implemented registry cache that prevent registry lookup on each request.
 6143:     In case of modification of corresponding registry-tree PHP will reload it
 6144:     automatic
 6145:   . start timeout thread only if necessary
 6146:   . stat() is reimplementation using GetFileAttributesEx(). The new
 6147:     implementation is faster then implementation in MS VC CRT, but it doesn't
 6148:     support Windows 95.
 6149: - Streams optimization (Dmitry)
 6150:   . removed unnecessary ftell() calls (one call for each included PHP file)
 6151:   . disabled calls to read() after EOF
 6152: 
 6153: - Fixed incorrect function names on FreeBSD where inet_pton() was named
 6154:   __inet_pton() and inet_ntop() was named __inet_ntop(). (Hannes)
 6155: - Fixed FastCGI impersonation for persistent connections on Windows. (Dmitry)
 6156: - Fixed wrong signature initialization in imagepng (Takeshi Abe)
 6157: - Fixed ftruncate() with negative size on FreeBSD. (Hannes)
 6158: - Fixed segfault in RegexIterator when given invalid regex. (Hannes)
 6159: - Fixed segfault in SplFileObject->openFile()->getPathname(). (Hannes)
 6160: - Fixed segfault in ZTS mode when OCI8 statements containing sub-statements
 6161:   are destroyed in wrong order. (Tony)
 6162: - Fixed the validate email filter so that the letter "v" can also be used in
 6163:   the user part of the email address. (Derick)
 6164: - Fixed bug #40297 (compile failure in ZTS mode when collections support is
 6165:   missing). (Tony)
 6166: - Fixed bug #40285 (The PDO prepare parser goes into an infinite loop in
 6167:   some instances). (Ilia)
 6168: - Fixed bug #40274 (Sessions fail with numeric root keys). (Ilia)
 6169: - Fixed bug #40259 (ob_start call many times - memory error). (Dmitry)
 6170: - Fixed bug #40231 (file_exists incorrectly reports false). (Dmitry)
 6171: - Fixed bug #40228 (ZipArchive::extractTo does create empty directories
 6172:   recursively). (Pierre)
 6173: - Fixed bug #40200 (The FastCgi version has different realpath results than
 6174:   thread safe version). (Dmitry)
 6175: - Fixed bug #40191 (use of array_unique() with objects triggers segfault).
 6176:   (Tony)
 6177: - Fixed bug #40189 (possible endless loop in zlib.inflate stream filter).
 6178:   (Greg, Tony)
 6179: - Fixed bug #40169 (CURLOPT_TCP_NODELAY only available in curl >= 7.11.2).
 6180:   (Tony)
 6181: - Fixed bug #40129 (iconv extension doesn't compile with CodeWarrior on
 6182:   Netware). (gk at gknw dot de, Tony)
 6183: - Fixed bug #40127 (apache2handler doesn't compile on Netware).
 6184:   (gk at gknw dot de)
 6185: - Fixed bug #40121 (PDO_DBLIB driver wont free statements). (Ilia)
 6186: - Fixed bug #40098 (php_fopen_primary_script() not thread safe). (Ilia)
 6187: - Fixed bug #40092 (chroot() doesn't clear realpath cache). (Dmitry)
 6188: - Fixed bug #40091 (spl_autoload_register with 2 instances of the same class).
 6189:   (Ilia)
 6190: - Fixed bug #40083 (milter SAPI functions always return false/null). (Tony)
 6191: - Fixed bug #40079 (php_get_current_user() not thread safe).
 6192:   (Ilia, wharmby at uk dot ibm dot com)
 6193: - Fixed bug #40078 (ORA-01405 when fetching NULL values using
 6194:   oci_bind_array_by_name()). (Tony)
 6195: - Fixed bug #40076 (zend_alloc.c: Value of enumeration constant must be in
 6196:   range of signed integer). (Dmitry)
 6197: - Fixed bug #40073 (exif_read_data dies on certain images). (Tony, Marcus)
 6198: - Fixed bug #40036 (empty() does not work correctly with ArrayObject when
 6199:   using ARRAY_AS_PROPS). (Ilia)
 6200: - Fixed bug #40012 (php_date.c doesn't compile on Netware).
 6201:   (gk at gknw dot de, Derick)
 6202: - Fixed bug #40009 (http_build_query(array()) returns NULL). (Ilia)
 6203: - Fixed bug #40002 (Try/Catch performs poorly). (Dmitry)
 6204: - Fixed bug #39993 (tr_TR.UTF-8 locale has problems with PHP). (Ilia)
 6205: - Fixed bug #39990 (Cannot "foreach" over overloaded properties). (Dmitry)
 6206: - Fixed bug #39988 (type argument of oci_define_by_name() is ignored).
 6207:   (Chris Jones, Tony)
 6208: - Fixed bug #39984 (redirect response code in header() could be ignored
 6209:   in CGI sapi). (Ilia)
 6210: - Fixed bug #39979 (PGSQL_CONNECT_FORCE_NEW will causes next connect to
 6211:   establish a new connection). (Ilia)
 6212: - Fixed bug #39971 (pg_insert/pg_update do not allow now() to be used
 6213:   for timestamp fields). (Ilia)
 6214: - Fixed bug #39969 (ini setting short_open_tag has no effect when using
 6215:   --enable-maintainer-zts). (Dmitry)
 6216: - Fixed bug #39952 (zip ignoring --with-libdir on zlib checks)
 6217:   (judas dot iscariote at gmail dot com)
 6218: - Fixed bug #39944 (References broken). (Dmitry)
 6219: - Fixed bug #39935 (Extensions tidy,mcrypt,mhash,pdo_sqlite ignores
 6220:   --with-libdir). (judas dot iscariote at gmail dot com, Derick)
 6221: - Fixed bug #39903 (Notice message when executing __halt_compiler() more than
 6222:   once). (Tony)
 6223: - Fixed bug #39898 (FILTER_VALIDATE_URL validates \r\n\t etc). (Ilia)
 6224: - Fixed bug #39890 (using autoconf 2.6x and --with-layout=GNU breaks PEAR
 6225:   install path). (Tony)
 6226: - Fixed bug #39884 (ReflectionParameter::getClass() throws exception for
 6227:   type hint self). (thekid at php dot net)
 6228: - Fixed bug #39878 (CURL doesn't compile on Sun Studio Pro). (Ilia)
 6229: - Fixed bug #39873 (number_format() breaks with locale & decimal points).
 6230:   (Ilia)
 6231: - Fixed bug #39869 (safe_read does not initialize errno).
 6232:   (michiel at boland dot org, Dmitry)
 6233: - Fixed bug #39850 (SplFileObject throws contradictory/wrong error messages
 6234:   when trying to open "php://wrong"). (Tony)
 6235: - Fixed bug #39846 (Invalid IPv4 treated as valid). (Ilia)
 6236: - Fixed bug #39845 (Persistent connections generate a warning in pdo_pgsql).
 6237:   (Ilia)
 6238: - Fixed bug #39832 (SOAP Server: parameter not matching the WSDL specified
 6239:   type are set to 0). (Dmitry)
 6240: - Fixed bug #39825 (foreach produces memory error). (Dmitry)
 6241: - Fixed bug #39816 (apxs2filter ignores httpd.conf & .htaccess php config
 6242:   settings). (Ilia)
 6243: - Fixed bug #39815 (SOAP double encoding is not locale-independent). (Dmitry)
 6244: - Fixed bug #39797 (virtual() does not reset changed INI settings). (Ilia)
 6245: - Fixed bug #39795 (build fails on AIX because crypt_r() uses different
 6246:   data struct). (Tony)
 6247: - Fixed bug #39791 (Crash in strtotime() on overly long relative date
 6248:   multipliers). (Ilia)
 6249: - Fixed bug #39787 (PHP doesn't work with Apache 2.3).
 6250:   (mv at binarysec dot com).
 6251: - Fixed bug #39782 (setTime() on a DateTime constructed with a Weekday
 6252:   yields incorrect results). (Ilia)
 6253: - Fixed bug #39780 (PNG image with CRC/data error raises fatal error) (Pierre)
 6254: - Fixed bug #39779 (Enable AUTH PLAIN mechanism in underlying libc-client).
 6255:   (michael dot heimpold at s2000 dot tu-chemnitz dot de, Ilia)
 6256: - Fixed bug #39775 ("Indirect modification ..." message is not shown).
 6257:   (Dmitry)
 6258: - Fixed bug #39763 (magic quotes are applied twice by ext/filter in
 6259:   parse_str()). (Ilia)
 6260: - Fixed bug #39760 (cloning fails on nested SimpleXML-Object). (Rob)
 6261: - Fixed bug #39759 (Can't use stored procedures fetching multiple result
 6262:   sets in pdo_mysql). (Ilia)
 6263: - Fixed bug #39754 (Some POSIX extension functions not thread safe).
 6264:   (Ilia, wharmby at uk dot ibm dot com)
 6265: - Fixed bug #39751 (putenv crash on Windows). (KevinJohnHoffman at gmail.com)
 6266: - Fixed bug #39732 (oci_bind_array_by_name doesn't work on Solaris 64bit).
 6267:   (Tony)
 6268: - Fixed bug #39724 (Broken build due to spl/filter usage of pcre extension).
 6269:   (Tony, Ilia)
 6270: - Fixed bug #39718 (possible crash if assert.callback is set in ini). (Ilia)
 6271: - Fixed bug #39702 (php crashes in the allocator on linux-m68k). (Dmitry)
 6272: - Fixed bug #39685 (iconv() - undefined function). (Hannes)
 6273: - Fixed bug #39673 (file_get_contents causes bus error on certain offsets).
 6274:   (Tony)
 6275: - Fixed bug #39663 (Memory leak in pg_get_notify() and a possible memory
 6276:   corruption on Windows in pgsql and pdo_pgsql extensions).
 6277:   (Ilia, matteo at beccati dot com)
 6278: - Fixed bug #39662 (Segfault when calling asXML() of a cloned
 6279:   SimpleXMLElement). (Rob, Tony)
 6280: - Fixed bug #39656 (crash when calling fetch() on a PDO statment object after
 6281:   closeCursor()). (Ilia, Tony)
 6282: - Fixed bug #39653 (ext/dba doesn't check for db-4.5 and db-4.4 when db4
 6283:   support is enabled). (Tony)
 6284: - Fixed bug #39652 (Wrong negative results from memory_get_usage()). (Dmitry)
 6285: - Fixed bug #39648 (Implementation of PHP functions chown() and chgrp() are
 6286:   not thread safe). (Ilia, wharmby at uk dot ibm dot com)
 6287: - Fixed bug #39640 (Segfault with "Allowed memory size exhausted"). (Dmitry)
 6288: - Fixed bug #39625 (Apache crashes on importStylesheet call). (Rob)
 6289: - Fixed bug #39623 (thread safety fixes on *nix for putenv() & mime_magic).
 6290:   (Ilia, wharmby at uk dot ibm dot com)
 6291: - Fixed bug #39621 (str_replace() is not binary safe on strings with equal
 6292:   length). (Tony)
 6293: - Fixed bug #39613 (Possible segfault in imap initialization due to missing
 6294:   module dependency). (wharmby at uk dot ibm dot com, Tony)
 6295: - Fixed bug #39606 (Use of com.typelib_file in PHP.ini STILL causes A/V). (Rob)
 6296: - Fixed bug #39602 (Invalid session.save_handler crashes PHP). (Dmitry)
 6297: - Fixed bug #39596 (Creating Variant of type VT_ARRAY). (Rob)
 6298: - Fixed bug #39583 (ftp_put() does not change transfer mode to ASCII). (Tony)
 6299: - Fixed bug #39576 (array_walk() doesn't separate user data zval). (Tony)
 6300: - Fixed bug #39575 (move_uploaded_file() no longer working (safe mode
 6301:   related)). (Tony)
 6302: - Fixed bug #39571 (timeout ssl:// connections). (Ilia)
 6303: - Fixed bug #39564 (PDO::errorInfo() returns inconsistent information when
 6304:   sqlite3_step() fails). (Tony)
 6305: - Fixed bug #39548 (ZMSG_LOG_SCRIPT_NAME not routed to OutputDebugString()
 6306:   on Windows). (Dmitry)
 6307: - Fixed bug #39538 (fgetcsv can't handle starting newlines and trailing odd
 6308:   number of backslashes). (David Soria Parra, Pierre)
 6309: - Fixed bug #39534 (Error in maths to calculate of
 6310:   ZEND_MM_ALIGNED_MIN_HEADER_SIZE). (wharmby at uk dot ibm dot com, Dmitry)
 6311: - Fixed bug #39527 (Failure to retrieve results when multiple unbuffered,
 6312:   prepared statements are used in pdo_mysql). (Ilia)
 6313: - Fixed bug #39508 (imagefill crashes with small images 3 pixels or less).
 6314:   (Pierre)
 6315: - Fixed bug #39506 (Archive corrupt with ZipArchive::addFile method). (Pierre)
 6316: - Fixed bug #39504 (xmlwriter_write_dtd_entity() creates Attlist tag, not
 6317:   entity). (Hannes)
 6318: - Fixed bug #39483 (Problem with handling of \ char in prepared statements).
 6319:   (Ilia, suhachov at gmail dot com)
 6320: - Fixed bug #39458 (ftp_nlist() returns false on empty dirs). (Nuno)
 6321: - Fixed bug #39454 (Returning a SOAP array segfaults PHP). (Dmitry)
 6322: - Fixed bug #39450 (getenv() fills other super-globals). (Ilia, Tony)
 6323: - Fixed bug #39449 (Overloaded array properties do not work correctly).
 6324:   (Dmitry)
 6325: - Fixed bug #39445 (Calling debug_backtrace() in the __toString()
 6326:   function produces a crash). (Dmitry)
 6327: - Fixed bug #39438 (Fatal error: Out of memory). (Dmitry)
 6328: - Fixed bug #39435 ('foo' instanceof bar gives invalid opcode error). (Sara)
 6329: - Fixed bug #39414 (Syntax error while compiling with Sun Workshop Complier).
 6330:   (Johannes)
 6331: - Fixed bug #39398 (Booleans are not automatically translated to integers).
 6332:   (Ilia)
 6333: - Fixed bug #39394 (Missing check for older variants of openssl). (Ilia)
 6334: - Fixed bug #39367 (clearstatcache() doesn't clear realpath cache).
 6335:   (j at pureftpd dot org, Dmitry)
 6336: - Fixed bug #39366 (imagerotate does not use alpha with angle > 45 degrees)
 6337:   (Pierre)
 6338: - Fixed bug #39364 (Removed warning on empty haystack inside mb_strstr()).
 6339:   (Ilia)
 6340: - Fixed bug #39362 (Added an option to imap_open/imap_reopen to control the
 6341:   number of connection retries). (Ilia)
 6342: - Fixed bugs #39361 & #39400 (mbstring function overloading problem). (Seiji)
 6343: - Fixed bug #39354 (Allow building of curl extension against libcurl
 6344:   7.16.0). (Ilia)
 6345: - Fixed bug #39350 (crash with implode("\n", array(false))). (Ilia)
 6346: - Fixed bug #39344 (Unnecessary calls to OnModify callback routine for
 6347:   an extension INI directive). (wharmby at uk dot ibm dot com, Dmitry)
 6348: - Fixed bug #39320 (ZEND_HASH_APPLY_STOP causes deletion). (Marcus)
 6349: - Fixed bug #39313 (spl_autoload triggers Fatal error). (Marcus)
 6350: - Fixed bug #39300 (make install fails if wget is not available). (Tony)
 6351: - Fixed bug #39297 (Memory corruption because of indirect modification of
 6352:   overloaded array). (Dmitry)
 6353: - Fixed bug #39286 (misleading error message when invalid dimensions are
 6354:   given) (Pierre)
 6355: - Fixed bug #39273 (imagecopyresized may ignore alpha channel) (Pierre)
 6356: - Fixed bug #39265 (Fixed path handling inside mod_files.sh).
 6357:   (michal dot taborsky at gmail dot com, Ilia)
 6358: - Fixed bug #39217 (serialNumber might be -1 when the value is too large).
 6359:   (Pierre, Tony)
 6360: - Fixed bug #39215 (Inappropriate close of stdin/stdout/stderr). (Wez, Ilia)
 6361: - Fixed bug #39201 (Possible crash in Apache 2 with 413 ErrorHandler). (Ilia)
 6362: - Fixed bug #39151 (Parse error in recursiveiteratoriterator.php). (Marcus)
 6363: - Fixed bug #39121 (Incorrect return array handling in non-wsdl soap client).
 6364:   (Dmitry)
 6365: - Fixed bug #39090 (DirectoryFilterDots doxygen docs and example is wrong).
 6366:   (Marcus)
 6367: - Fixed bug #38852 (XML-RPC Breaks iconv). (Hannes)
 6368: - Fixed bug #38770 (unpack() broken with longs on 64 bit machines).
 6369:   (Ilia, David Soria Parra).
 6370: - Fixed bug #38698 (for some keys cdbmake creates corrupted db and cdb can't
 6371:   read valid db). (Marcus)
 6372: - Fixed bug #38680 (Added missing handling of basic types in json_decode).
 6373:   (Ilia)
 6374: - Fixed bug #38604 (Fixed request time leak inside foreach() when iterating
 6375:   through virtual properties). (Dmitry)
 6376: - Fixed bug #38602 (header( "HTTP/1.0 ..." ) does not change proto version).
 6377:   (Ilia)
 6378: - Fixed bug #38542 (proc_get_status() returns wrong PID on windows). (Nuno)
 6379: - Fixed bug #38536 (SOAP returns an array of values instead of an object).
 6380:   (Dmitry)
 6381: - Fixed bug #38456 (Apache2 segfaults when virtual() is called in .php
 6382:   ErrorDocument). (Ilia)
 6383: - Fixed bug #38325 (spl_autoload_register() gives wrong line for "class not
 6384:   found"). (Ilia)
 6385: - Fixed bug #38319 (Remove bogus warnings from persistent PDO connections).
 6386:   (Ilia)
 6387: - Fixed bug #38274 (Memlimit fatal error sent to "wrong" stderr when using
 6388:   fastcgi). (Dmitry)
 6389: - Fixed bug #38252 (Incorrect PDO error message on invalid default fetch
 6390:   mode). (Ilia)
 6391: - Fixed bug #37927 (Prevent trap when COM extension processes argument of
 6392:   type VT_DISPATCH|VT_REF) (Andy)
 6393: - Fixed bug #37773 (iconv_substr() gives "Unknown error" when string
 6394:   length = 1"). (Ilia)
 6395: - Fixed bug #37627 (session save_path check checks the parent directory).
 6396:   (Ilia)
 6397: - Fixed bug #37619 (proc_open() closes stdin on fork() failure).
 6398:   (jdolecek at NetBSD dot org, Nuno)
 6399: - Fixed bug #37588 (COM Property propputref converts to PHP function
 6400:   and can't be accesed). (Rob)
 6401: - Fixed bug #36975 (natcasesort() causes array_pop() to misbehave).
 6402:   (Hannes)
 6403: - Fixed bug #36812 (pg_execute() modifies input array). (Ilia)
 6404: - Fixed bug #36798 (Error parsing named parameters with queries containing
 6405:   high-ascii chars). (Ilia)
 6406: - Fixed bug #36644 (possible crash in variant_date_from_timestamp()). (Ilia)
 6407: - Fixed bug #36427 (proc_open() / proc_close() leak handles on windows).
 6408:   (jdolecek at NetBSD dot org, Nuno)
 6409: - Fixed bug #36392 (wrong number of decimal digits with %e specifier in
 6410:   sprintf). (Matt,Ilia)
 6411: - Fixed bug #36214 (__get method works properly only when conditional
 6412:   operator is used). (Dmitry)
 6413: - Fixed bug #35634 (Erroneous "Class declarations may not be nested"
 6414:   error raised). (Carl P. Corliss, Dmitry)
 6415: - Fixed bug #35106 (nested foreach fails when array variable has a
 6416:   reference). (Dmitry)
 6417: - Fixed bug #34564 (COM extension not returning modified "out" argument) (Andy)
 6418: - Fixed bug #33734 (Something strange with COM Object). (Rob)
 6419: - Fixed bug #33386 (ScriptControl only sees last function of class). (Rob)
 6420: - Fixed bug #33282 (Re-assignment by reference does not clear the is_ref
 6421:   flag) (Ilia, Dmitry, Matt Wilmas)
 6422: - Fixed bug #30074 (apparent symbol table error with
 6423:   extract($blah, EXTR_REFS)) (Brian)
 6424: - Fixed bug #29840 (is_executable() does not honor safe_mode_exec_dir
 6425:   setting). (Ilia)
 6426: - Fixed PECL bug #7295 (ORA-01405: fetched column value is NULL on LOB
 6427:   fields). (Tony)
 6428: 
 6429: 02 Nov 2006, PHP 5.2.0
 6430: - Updated bundled OpenSSL to version 0.9.8d in the Windows distro. (Edin)
 6431: - Updated Postgresql client libraries to 8.1.4 in the Windows distro. (Edin)
 6432: - Updated PCRE to version 6.7. (Ilia)
 6433: - Updated libsqlite in ext/pdo_sqlite to 3.3.7. (Ilia)
 6434: - Updated bundled MySQL client library to version 5.0.22 in the Windows
 6435:   distribution. (Edin)
 6436: - Updated timezonedb to version 2006.7. (Derick)
 6437: 
 6438: - Added ability to make SOAP call userspace PHP<->XML converters. (Dmitry)
 6439: - Added support for character sets in pg_escape_string() for PostgreSQL 8.1.4
 6440:   and higher. (Ilia)
 6441: - Added support for character sets in PDO quote() method for PostgreSQL 8.1.4
 6442:   and higher. (Ilia)
 6443: - Added DSA key generation support to openssl_pkey_new(), FR #38731 (marci
 6444:   at balabit dot hu, Tony)
 6445: - Added SoapServer::setObject() method (it is a simplified version of
 6446:   SoapServer::setClass() method). (Dmitry)
 6447: - Added support for hexadecimal entity in imagettftext() for the bundled GD.
 6448:   (Pierre)
 6449: - Added support for httpOnly flag for session extension and cookie setting
 6450:   functions. (Scott MacVicar, Ilia)
 6451: - Added version specific registry keys to allow different configurations for
 6452:   different php version. (Richard, Dmitry)
 6453: - Added "PHPINIDir" Apache directive to apache and apache_hooks SAPIs.
 6454:   (Dmitry)
 6455: - Added an optional boolean parameter to memory_get_usage() and
 6456:   memory_get_peak_usage() to get memory size allocated by emalloc() or real
 6457:   size of memory allocated from system. (Dmitry)
 6458: - Added Zip Archive extension. (Pierre)
 6459: - Added RFC1867 fileupload processing hook. (Stefan E.)
 6460: - Added JSON and Filter extensions. (Derick, Rasmus)
 6461: - Added error messages to disk_free_space() and disk_total_space() functions.
 6462:   FR #37971 (Tony)
 6463: - Added PATHINFO_FILENAME option to pathinfo() to get the filename.
 6464:   (Toby S. and Christian S.)
 6465: - Added array_fill_keys() function. (Marcus, Matt Wilmas)
 6466: - Added posix_initgroups() function. (Ilia)
 6467: - Added an optional parameter to parse_url() to allow retrieval of distinct
 6468:   URL components. (Ilia)
 6469: - Added optional parameter to http_build_query() to allow specification of
 6470:   string separator. (Ilia)
 6471: - Added image_type_to_extension() function. (Hannes, Ilia)
 6472: - Added allow_url_include ini directive to complement allow_url_fopen. (Rasmus)
 6473: - Added automatic module globals management. (Dmitry)
 6474: - Added RFC2397 (data: stream) support. (Marcus)
 6475: - Added new error mode E_RECOVERABLE_ERROR. (Derick, Marcus, Tony)
 6476: - Added support for getenv() input filtering. (Rasmus)
 6477: - Added support for constructors in interfaces to force constructor signature
 6478:   checks in implementations. (Marcus)
 6479: - Added memory_get_peak_usage() function for retrieving peak memory usage of
 6480:   a PHP script. (Ilia)
 6481: - Added pg_field_table() function. (Edin)
 6482: - Added SimpleXMLElement::saveXML() as an alias for SimpleXMLElement::asXML().
 6483:   (Hannes)
 6484: - Added DOMNode::getNodePath() for getting an XPath for a node. (Christian)
 6485: - Added gmp_nextprime() function. (ants dot aasma at gmail dot com, Tony)
 6486: - Added error_get_last() function. (Mike)
 6487: 
 6488: - Removed current working directory from the php.ini search path for CLI and
 6489:   re-added it for other SAPIs (restore to pre 5.1.x behavior). (Edin)
 6490: - Moved extensions to PECL:
 6491:   . ext/filepro (Derick, Tony)
 6492:   . ext/hwapi (Derick, Tony)
 6493: - Disabled CURLOPT_FOLLOWLOCATION in curl when open_basedir or
 6494:   safe_mode are enabled. (Stefan E., Ilia)
 6495: 
 6496: - Increased default memory limit to 16 megabytes to accommodate for a more
 6497:   accurate memory utilization measurement.
 6498: - In addition to path to php.ini, PHPRC now may specify full file name.
 6499:   (Dmitry)
 6500: 
 6501: - Optimized array/HashTable copying. (Matt Wilmas, Dmitry)
 6502: - Optimized zend_try/zend_catch macros by eliminating memcpy(3). (Dmitry)
 6503: - Optimized require_once() and include_once() by eliminating fopen(3) on
 6504:   second usage. (Dmitry)
 6505: - Optimized request shutdown sequence. Restoring ini directives now iterates
 6506:   only over modified directives instead of all. (Dmitry)
 6507: 
 6508: - Changed priority of PHPRC environment variable on win32 to be higher then
 6509:   value from registry. (Dmitry)
 6510: - Changed __toString() to be called wherever applicable. (Marcus)
 6511: - Changed E_ALL error reporting mode to include E_RECOVERABLE_ERROR. (Marcus)
 6512: - Changed realpath cache to be disabled when "open_basedir" or "safe_mode"
 6513:   are enabled on per-request basis. (Ilia)
 6514: 
 6515: - Improved SNMP extension: (Jani)
 6516:   . Renamed snmp_set_oid_numeric_print() to snmp_set_oid_output_format().
 6517:   . Added 2 new constants: SNMP_OID_OUTPUT_FULL and SNMP_OID_OUTPUT_NUMERIC
 6518:   . Fixed bug #37564 (AES privacy encryption not possible due to net-snmp 5.2
 6519:     compatibility issue). (Patch: scott dot moynes+php at gmail dot com)
 6520: - Improved OpenSSL extension: (Pierre)
 6521:   . Added support for all supported algorithms in openssl_verify
 6522:   . Added openssl_pkey_get_details, returns the details of a key
 6523:   . Added x509 v3 extensions support
 6524:   . Added openssl_csr_get_subject() and openssl_csr_get_public_key()
 6525:   . Added 3 new constants OPENSSL_VERSION_TEXT and OPENSSL_VERSION_NUMBER and
 6526:     OPENSSL_KEYTYPE_EC
 6527: - Improved the Zend memory manager: (Dmitry)
 6528:   . Removed unnecessary "--disable-zend-memory-manager" configure option.
 6529:   . Added "--enable-malloc-mm" configure option which is enabled by default in
 6530:     debug builds to allow using internal and external memory debuggers.
 6531:   . Allow tweaking the memory manager with ZEND_MM_MEM_TYPE and ZEND_MM_SEG_SIZE
 6532:     environment variables.
 6533:   . For more information: Zend/README.ZEND_MM
 6534: - Improved safe_mode check for the error_log() function. (Ilia)
 6535: - Improved the error reporting in SOAP extension on request failure. (Ilia)
 6536: - Improved crypt() on win32 to be about 10 times faster and to have friendlier
 6537:   license. (Frank, Dmitry)
 6538: - Improved performance of the implode() function on associated arrays. (Ilia)
 6539: - Improved performance of str_replace() when doing 1 char to 1 char or 1 char
 6540:   to many chars replacement. (Ilia)
 6541: - Improved apache2filter SAPI:
 6542:   . Allowed PHP to be an arbitrary filter in the chain and read the script from
 6543:     the Apache stream. (John)
 6544:   . Added support for apache2filter in the Windows build including binary
 6545:     support for both Apache 2.0.x (php5apache2_filter.dll) and Apache 2.2.x
 6546:     (php5apache2_2_filter.dll). (Edin)
 6547: - Improved apache2handler SAPI:
 6548:   . Changed ap_set_content_type() to be called only once. (Mike)
 6549:   . Added support for Apache 2.2 handler in the Windows distribution. (Edin)
 6550: - Improved FastCGI SAPI: (Dmitry)
 6551:   . Removed source compatibility with libfcgi.
 6552:   . Optimized access to FastCGI environment variables by using HashTable
 6553:     instead of linear search.
 6554:   . Allowed PHP_FCGI_MAX_REQUESTS=0 that assumes no limit.
 6555:   . Allowed PHP_FCGI_CHILDREN=0 that assumes no worker children. (FastCGI
 6556:     requests are handled by main process itself)
 6557: - Improved CURL:
 6558:   . Added control character checks for "open_basedir" and "safe_mode" checks.
 6559:     (Ilia)
 6560:   . Added implementation of curl_multi_info_read(). (Brian)
 6561: - Improved PCRE: (Andrei)
 6562:   . Added run-time configurable backtracking/recursion limits.
 6563:   . Added preg_last_error(). (Andrei)
 6564: - Improved PDO:
 6565:   . Added new attribute ATTR_DEFAULT_FETCH_MODE. (Pierre)
 6566:   . Added FETCH_PROPS_LATE. (Marcus)
 6567: - Improved SPL: (Marcus)
 6568:   . Made most iterator code exception safe.
 6569:   . Added RegExIterator and RecursiveRegExIterator.
 6570:   . Added full caching support and ArrayAccess to CachingIterator.
 6571:   . Added array functions to ArrayObject/ArrayIterator and made them faster.
 6572:   . Added support for reading csv and skipping empty lines in SplFileObject.
 6573:   . Added CachingIterator::TOSTRING_USE_INNER, calls inner iterator __toString.
 6574:   . Added ability to set the CSV separator per SplFileObject.
 6575: - Improved xmlReader: (Rob)
 6576:   . Added readInnerXml(), xmlReader::setSchema().
 6577:   . Added readInnerXML(), readOuterXML(), readString(), setSchema(). (2.6.20+)
 6578:   . Changed to passing libxml options when loading reader.
 6579: 
 6580: - Fixed invalid read in imagecreatefrompng when an empty file is given
 6581:   (Pierre, Tony)
 6582: - Fixed infinite loop when a wrong color index is given to imagefill (Pierre)
 6583: - Fixed mess with CGI/CLI -d option (now it works with cgi; constants are
 6584:   working exactly like in php.ini; with FastCGI -d affects all requests).
 6585:   (Dmitry)
 6586: - Fixed missing open_basedir check inside chdir() function. (Ilia)
 6587: - Fixed overflow on 64bit systems in str_repeat() and wordwrap(). (Stefan E.)
 6588: - Fixed XSLTProcessor::importStylesheet() to return TRUE on success
 6589:   (Christian)
 6590: - Fixed leaks in openssl_csr_sign and openssl_csr_new (Pierre)
 6591: - Fixed phpinfo() cutoff of variables at \0. (Ilia)
 6592: - Fixed a bug in the filter extension that prevented magic_quotes_gpc from
 6593:   being applied when RAW filter is used. (Ilia)
 6594: - Fixed memory leaks in openssl streams context options. (Pierre)
 6595: - Fixed handling of extremely long paths inside tempnam() function. (Ilia)
 6596: - Fixed bug #39721 (Runtime inheritance causes data corruption). (Dmitry)
 6597: - Fixed bug #39304 (Segmentation fault with list unpacking of string offset).
 6598:   (Dmitry)
 6599: - Fixed bug #39192 (Not including nsapi.h properly with SJSWS 7). This will
 6600:   make PHP 5.2 compatible to new Sun Webserver. (Uwe)
 6601: - Fixed bug #39140 (Uncaught exception may cause crash). (Dmitry)
 6602: - Fixed bug #39125 (Memleak when reflecting non-existing class/method). (Tony)
 6603: - Fixed bug #39067 (getDeclaringClass() and private properties). (Tony)
 6604: - Fixed bug #39039 (SSL: fatal protocol error when fetching HTTPS from servers
 6605:   running Google web server). (Ilia)
 6606: - Fixed bug #39035 (Compatibility issue between DOM and
 6607:   zend.ze1_compatibility_mode). (Rob)
 6608: - Fixed bug #39034 (curl_exec() with return transfer returns TRUE on empty
 6609:   files). (Ilia)
 6610: - Fixed bug #39032 (strcspn() stops on null character). (Tony)
 6611: - Fixed bug #39020 (PHP in FastCGI server mode crashes). (Dmitry)
 6612: - Fixed bug #39017 (foreach(($obj = new myClass) as $v); echo $obj;
 6613:   segfaults). (Dmitry)
 6614: - Fixed bug #39004 (Fixed generation of config.nice with autoconf 2.60). (Ilia)
 6615: - Fixed bug #39003 (__autoload() is called for type hinting). (Dmitry, Tony)
 6616: - Fixed bug #39001 (ReflectionProperty returns incorrect declaring class for
 6617:   protected properties). (Tony)
 6618: - Fixed bug #38996 (PDO_MYSQL doesn't check connections for liveness). (Tony)
 6619: - Fixed bug #38993 (Fixed safe_mode/open_basedir checks for session.save_path,
 6620:   allowing them to account for extra parameters). (Ilia)
 6621: - Fixed bug #38989 (Absolute path with slash at beginning doesn't work on win).
 6622:   (Dmitry)
 6623: - Fixed bug #38985 (Can't cast COM objects). (Wez)
 6624: - Fixed bug #38981 (using FTP URLs in get_headers() causes crash). (Tony)
 6625: - Fixed bug #38963 (Fixed a possible open_basedir bypass in tempnam()). (Ilia)
 6626: - Fixed bug #38961 (metaphone() results in segmentation fault on NetBSD).
 6627:   (Tony)
 6628: - Fixed bug #38949 (Cannot get xmlns value attribute). (Rob)
 6629: - Fixed bug #38942 (Double old-style-ctor inheritance). (Dmitry)
 6630: - Fixed bug #38941 (imap extension does not compile against new version of the
 6631:   imap library). (Ilia)
 6632: - Fixed bug #38934 (move_uploaded_file() cannot read uploaded file outside of
 6633:   open_basedir). (Ilia)
 6634: - Fixed bug #38904 (apache2filter changes cwd to /). (Ilia, Hannes)
 6635: - Fixed bug #38891 (get_headers() do not work with curl-wrappers). (Ilia)
 6636: - Fixed bug #38882 (ldap_connect causes segfault with newer versions of
 6637:   OpenLDAP). (Tony)
 6638: - Fixed bug #38859 (parse_url() fails if passing '@' in passwd). (Tony)
 6639: - Fixed bug #38850 (lookupNamespaceURI doesn't return default namespace). (Rob)
 6640: - Fixed bug #38844 (curl_easy_strerror() is defined only since cURL 7.12.0).
 6641:   (Tony)
 6642: - Fixed bug #38813 (DOMEntityReference->__construct crashes when called
 6643:   explicitly). (Rob)
 6644: - Fixed bug #38808 ("maybe ref" issue for current() and others). (Dmitry)
 6645: - Fixed bug #38779 (engine crashes when require()'ing file with syntax error
 6646:   through userspace stream wrapper). (Tony, Dmitry)
 6647: - Fixed bug #38772 (inconsistent overriding of methods in different visibility
 6648:   contexts). (Dmitry)
 6649: - Fixed bug #38759 (PDO sqlite2 empty query causes segfault). (Tony)
 6650: - Fixed bug #38721 (Invalid memory read in date_parse()). (Tony, Derick)
 6651: - Fixed bug #38700 (SoapClient::__getTypes never returns). (Dmitry)
 6652: - Fixed bug #38693 (curl_multi_add_handle() set curl handle to null). (Ilia)
 6653: - Fixed bug #38687 (sockaddr local storage insufficient for all sock families).
 6654:   (Sara)
 6655: - Fixed bug #38661 (mixed-case URL breaks url-wrappers). (Ilia)
 6656: - Fixed bug #38653 (memory leak in ReflectionClass::getConstant()). (Tony)
 6657: - Fixed bug #38649 (uninit'd optional arg in stream_socket_sendto()). (Sara)
 6658: - Fixed bug #38637 (curl_copy_handle() fails to fully copy the cURL handle).
 6659:   (Tony, Ilia)
 6660: - Fixed bug #38624 (Strange warning when incrementing an object property and
 6661:   exception is thrown from __get method). (Tony)
 6662: - Fixed bug #38623 (leaks in a tricky code with switch() and exceptions).
 6663:   (Dmitry)
 6664: - Fixed bug #38579 (include_once() may include the same file twice). (Dmitry)
 6665: - Fixed bug #38574 (missing curl constants and improper constant detection).
 6666:   (Ilia)
 6667: - Fixed bug #38543 (shutdown_executor() may segfault when memory_limit is too
 6668:   low). (Dmitry)
 6669: - Fixed bug #38535 (memory corruption in pdo_pgsql driver on error retrieval
 6670:   inside a failed query executed via query() method). (Ilia)
 6671: - Fixed bug #38534 (segfault when calling setlocale() in userspace session
 6672:   handler). (Tony)
 6673: - Fixed bug #38524 (strptime() does not initialize the internal date storage
 6674:   structure). (Ilia)
 6675: - Fixed bug #38511, #38473, #38263 (Fixed session extension request shutdown
 6676:   order to ensure it is shutdown before the extensions it may depend on).
 6677:   (Ilia)
 6678: - Fixed bug #38488 (Access to "php://stdin" and family crashes PHP on win32).
 6679:   (Dmitry)
 6680: - Fixed bug #38474 (getAttribute select attribute by order, even when
 6681:   prefixed). (Rob)
 6682: - Fixed bug #38467 (--enable-versioning causes make fail on OS X). (Tony)
 6683: - Fixed bug #38465 (ReflectionParameter fails if default value is an access
 6684:   to self::). (Johannes)
 6685: - Fixed bug #38464 (array_count_values() mishandles numeric strings).
 6686:   (Matt Wilmas, Ilia)
 6687: - Fixed bug #38461 (setting private attribute with __set() produces
 6688:   segfault). (Tony)
 6689: - Fixed bug #38458, PECL bug #8944, PECL bug #7775 (error retrieving columns
 6690:   after long/text columns with PDO_ODBC). (Wez)
 6691: - Fixed bug #38454 (warning upon disabling handler via
 6692:   xml_set_element_handler). (dtorop933 at gmail dot com, Rob)
 6693: - Fixed bug #38451 (PDO_MYSQL doesn't compile on Solaris). (Tony)
 6694: - Fixed bug #38450 (constructor is not called for classes used in userspace
 6695:   stream wrappers). (Tony)
 6696: - Fixed bug #38438 (DOMNodeList->item(0) segfault on empty NodeList). (Ilia)
 6697: - Fixed bug #38431 (xmlrpc_get_type() crashes PHP on objects). (Tony)
 6698: - Fixed bug #38427 (unicode causes xml_parser to misbehave). (Rob)
 6699: - Fixed bug #38424 (Different attribute assignment if new or existing). (Rob)
 6700: - Fixed bug #38400 (Use of com.typelib_file may cause a crash). (Ilia)
 6701: - Fixed bug #38394 (PDO fails to recover from failed prepared statement
 6702:   execution). (Ilia)
 6703: - Fixed bug #38377 (session_destroy() gives warning after
 6704:   session_regenerate_id()). (Ilia)
 6705: - Implemented #38357 (dbase_open can't open DBase 3 dbf file).
 6706:   (rodrigo at fabricadeideias dot com, Mike)
 6707: - Fixed bug #38354 (Unwanted reformatting of XML when using AsXML). (Christian)
 6708: - Fixed bug #38347 (Segmentation fault when using foreach with an unknown/empty
 6709:   SimpleXMLElement). (Tony)
 6710: - Fixed bug #38322 (reading past array in sscanf() leads to arbitrary code
 6711:   execution). (Tony)
 6712: - Fixed bug #38315 (Constructing in the destructor causes weird behavior).
 6713:   (Dmitry)
 6714: - Fixed bug #38303 (spl_autoload_register() suppress all errors silently).
 6715:   (Ilia)
 6716: - Fixed bug #38290 (configure script ignores --without-cdb,inifile,flatfile).
 6717:   (Marcus)
 6718: - Fixed bug #38289 (segfault in session_decode() when _SESSION is NULL).
 6719:   (Tony)
 6720: - Fixed bug #38287 (static variables mess up global vars). (Dmitry)
 6721: - Fixed bug #38278 (session_cache_expire()'s value does not match phpinfo's
 6722:   session.cache_expire). (Tony)
 6723: - Fixed bug #38276 (file_exists() works incorrectly with long filenames
 6724:   on Windows). (Ilia, Tony)
 6725: - Fixed bug #38269 (fopen wrapper doesn't fail on invalid hostname with
 6726:   curlwrappers enabled). (Tony)
 6727: - Fixed bug #38265 (heap corruption). (Dmitry)
 6728: - Fixed bug #38261 (openssl_x509_parse() leaks with invalid cert) (Pierre)
 6729: - Fixed bug #38255 (openssl possible leaks while passing keys) (Pierre)
 6730: - Fixed bug #38253 (PDO produces segfault with default fetch mode). (Tony)
 6731: - Fixed bug #38251 (socket_select() and invalid arguments). (Tony)
 6732: - Fixed bug #38236 (Binary data gets corrupted on multipart/formdata POST).
 6733:   (Ilia)
 6734: - Fixed bug #38234 (Exception in __clone makes memory leak). (Dmitry, Nuno)
 6735: - Fixed bug #38229 (strtotime() does not parse YYYY-MM format). (Ilia)
 6736: - Fixed bug #38224 (session extension can't handle broken cookies). (Ilia)
 6737: - Fixed bug #38220 (Crash on some object operations). (Dmitry)
 6738: - Fixed bug #38217 (ReflectionClass::newInstanceArgs() tries to allocate too
 6739:   much memory). (Tony)
 6740: - Fixed bug #38214 (gif interlace output cannot work). (Pierre)
 6741: - Fixed bug #38213, #37611, #37571 (wddx encoding fails to handle certain
 6742:   characters). (Ilia)
 6743: - Fixed bug #38212 (Segfault on invalid imagecreatefromgd2part() parameters).
 6744:   (Pierre)
 6745: - Fixed bug #38211 (variable name and cookie name match breaks script
 6746:   execution). (Dmitry)
 6747: - Fixed bug #38199 (fclose() unable to close STDOUT and STDERR). (Tony)
 6748: - Fixed bug #38198 (possible crash when COM reports an exception). (Ilia)
 6749: - Fixed bug #38194 (ReflectionClass::isSubclassOf() returns TRUE for the
 6750:   class itself). (Ilia)
 6751: - Fixed bug #38183 (disable_classes=Foobar causes disabled class to be
 6752:   called Foo). (Jani)
 6753: - Fixed bug #38179 (imagecopy from a palette to a truecolor image loose alpha
 6754:   channel) (Pierre)
 6755: - Fixed bug #38173 (Freeing nested cursors causes OCI8 to segfault). (Tony)
 6756: - Fixed bug #38168 (Crash in pdo_pgsql on missing bound parameters). (Ilia)
 6757: - Fixed bug #38161 (oci_bind_by_name() returns garbage when Oracle didn't set
 6758:   the variable). (Tony)
 6759: - Fixed bug #38146 (Cannot use array returned from foo::__get('bar') in write
 6760:   context). (Dmitry)
 6761: - Fixed bug #38132 (ReflectionClass::getStaticProperties() retains \0 in key
 6762:   names). (Ilia)
 6763: - Fixed bug #38125 (undefined reference to spl_dual_it_free_storage). (Marcus)
 6764: - Fixed bug #38112 (corrupted gif segfaults) (Pierre)
 6765: - Fixed bug #38096 (large timeout values ignored on 32bit machines in
 6766:   stream_socket_accept() and stream_socket_client()). (Ilia)
 6767: - Fixed bug #38086 (stream_copy_to_stream() returns 0 when maxlen is bigger
 6768:   than the actual length). (Tony)
 6769: - Fixed bug #38072 (boolean arg for mysqli_autocommit() is always true on
 6770:   Solaris). (Tony)
 6771: - Fixed bug #38067 (Parameters are not decoded from utf-8 when using encoding
 6772:   option). (Dmitry)
 6773: - Fixed bug #38064 (ignored constructor visibility). (Marcus)
 6774: - Fixed bug #38055 (Wrong interpretation of boolean parameters). (Dmitry)
 6775: - Fixed bug #38047 ("file" and "line" sometimes not set in backtrace from
 6776:   inside error handler). (Dmitry)
 6777: - Fixed bug #38019 (segfault extending mysqli class). (Dmitry)
 6778: - Fixed bug #38005 (SoapFault faultstring doesn't follow encoding rules).
 6779:   (Dmitry)
 6780: - Fixed bug #38004 (Parameters in SoapServer are decoded twice). (Dmitry)
 6781: - Fixed bug #38003 (in classes inherited from MySQLi it's possible to call
 6782:   private constructors from invalid context). (Tony)
 6783: - Fixed bug #37987 (invalid return of file_exists() in safe mode). (Ilia)
 6784: - Fixed bug #37947 (zend_ptr_stack reallocation problem). (Dmitry)
 6785: - Fixed bug #37945 (pathinfo() cannot handle argument with special characters
 6786:   like German "Umlaut"). (Mike)
 6787: - Fixed bug #37931 (possible crash in OCI8 after database restart
 6788:   when using persistent connections). (Tony)
 6789: - Fixed bug #37923 (Display constant value in reflection::export). (Johannes)
 6790: - Fixed bug #37920 (compilation problems on z/OS). (Tony)
 6791: - Fixed bug #37870 (pgo_pgsql tries to de-allocate unused statements).
 6792:   (Ilia, ce at netage dot bg)
 6793: - Fixed bug #37864 (file_get_contents() leaks on empty file). (Hannes)
 6794: - Fixed bug #37862 (Integer pointer comparison to numeric value).
 6795:   (bugs-php at thewrittenword dot com)
 6796: - Fixed bug #37846 (wordwrap() wraps incorrectly). (ddk at krasn dot ru, Tony)
 6797: - Fixed bug #37816 (ReflectionProperty does not throw exception when accessing
 6798:   protected attribute). (Marcus)
 6799: - Fixed bug #37811 (define not using toString on objects). (Marcus)
 6800: - Fixed bug #37807 (segmentation fault during SOAP schema import). (Tony)
 6801: - Fixed bug #37806 (weird behavior of object type and comparison). (Marcus)
 6802: - Fixed bug #37780 (memory leak trying to execute a non existing file (CLI)).
 6803:   (Mike)
 6804: - Fixed bug #37779 (empty include_path leads to search for files inside /).
 6805:   (jr at terragate dot net, Ilia)
 6806: - Fixed bug #37747 (strtotime segfaults when given "nextyear"). (Derick)
 6807: - Fixed bug #37720 (merge_php_config scrambles values).
 6808:   (Mike, pumuckel at metropolis dot de)
 6809: - Fixed bug #37709 (Possible crash in PDO::errorCode()). (Ilia)
 6810: - Fixed bug #37707 (clone without assigning leaks memory). (Ilia, Nuno, Dmitri)
 6811: - Fixed bug #37705 (Semaphore constants not available). (Ilia)
 6812: - Fixed bug #37671 (MySQLi extension fails to recognize BIT column). (Ilia)
 6813: - Fixed bug #37667 (Object is not added into array returned by __get). (Marcus)
 6814: - Fixed bug #37635 (parameter of pcntl signal handler is trashed). (Mike)
 6815: - Fixed bug #37632 (Protected method access problem). (Marcus)
 6816: - Fixed bug #37630 (MySQL extensions should link against thread safe client
 6817:   libs if built with ZTS). (Mike)
 6818: - Fixed bug #37620 (mysqli_ssl_set validation is inappropriate). (Georg)
 6819: - Fixed bug #37616 (DATE_RFC822 does not product RFC 822 dates).
 6820:   (Hannes Magnusson, Derick)
 6821: - Fixed bug #37614 (Class name lowercased in error message). (Johannes)
 6822: - Fixed bug #37587 (var without attribute causes segfault). (Marcus)
 6823: - Fixed bug #37586 (Bumped minimum PCRE version to 6.6, needed for recursion
 6824:   limit support). (Ilia)
 6825: - Fixed bug #37581 (oci_bind_array_by_name clobbers input array when using
 6826:   SQLT_AFC, AVC). (Tony)
 6827: - Fixed bug #37569 (WDDX incorrectly encodes high-ascii characters). (Ilia)
 6828: - Fixed bug #37565 (Using reflection::export with simplexml causing a crash).
 6829:   (Marcus)
 6830: - Fixed bug #37564 (AES privacy encryption not possible due to net-snmp 5.2
 6831:   compatibility issue). (Jani, patch by scott dot moynes+php at gmail dot com)
 6832: - Fixed bug #37563 (array_key_exists performance is poor for &$array). (Ilia)
 6833: - Fixed bug #37558 (timeout functionality doesn't work after a second PHP
 6834:   start-up on the same thread). (p dot desarnaud at wanadoo dot fr)
 6835: - Fixed bug #37531 (oci8 persistent connection corruption). (Tony)
 6836: - Fixed bug #37523 (namespaces added too late, leads to missing xsi:type
 6837:   attributes. Incompatibility with libxml2-2.6.24). (Dmitry)
 6838: - Fixed bug #37514 (strtotime doesn't assume year correctly). (Derick)
 6839: - Fixed bug #37510 (session_regenerate_id changes session_id() even on
 6840:   failure). (Hannes)
 6841: - Fixed bug #37505 (touch() truncates large files). (Ilia)
 6842: - Fixed bug #37499 (CLI segmentation faults during cleanup with sybase-ct
 6843:   extension enabled). (Tony)
 6844: - Fixed bug #37496 (FastCGI output buffer overrun). (Piotr, Dmitry)
 6845: - Fixed bug #37487 (oci_fetch_array() array-type should always default to
 6846:   OCI_BOTH). (Tony)
 6847: - Fixed bug #37457 (Crash when an exception is thrown in accept() method of
 6848:   FilterIterator). (Marcus)
 6849: - Fixed bug #37456 (DOMElement->setAttribute() loops forever). (Rob)
 6850: - Fixed bug #37445 (Fixed crash in pdo_mysql resulting from premature object
 6851:   destruction). (Ilia)
 6852: - Fixed bug #37428 (PHP crashes on windows if there are start-up errors and
 6853:   event log is used for logging them). (Edin)
 6854: - Fixed bug #37418 (tidy module crashes on shutdown). (Tony)
 6855: - Fixed bug #37416 (iterator_to_array() hides exceptions thrown in rewind()
 6856:   method). (Tony)
 6857: - Fixed bug #37413 (Rejected versions of flex that don't work). (Ilia)
 6858: - Fixed bug #37395 (recursive mkdir() fails to create nonexistent directories
 6859:   in root dir). (Tony)
 6860: - Fixed bug #37394 (substr_compare() returns an error when offset equals
 6861:   string length). (Ilia)
 6862: - Fixed bug #37392 (Unnecessary call to OCITransRollback() at the end of
 6863:   request). (Tony)
 6864: - Fixed bug #37376 (fastcgi.c compile fail with gcc 2.95.4). (Ilia)
 6865: - Fixed bug #37368 (Incorrect timestamp returned for strtotime()). (Derick)
 6866: - Fixed bug #37363 (PDO_MYSQL does not build if no other mysql extension is
 6867:   enabled). (Mike)
 6868: - Fixed bug #37348 (make PEAR install ignore open_basedir). (Ilia)
 6869: - Fixed bug #37341 ($_SERVER in included file is shortened to two entries,
 6870:   if $_ENV gets used). (Dmitry)
 6871: - Fixed bug #37313 (sigemptyset() used without including <signal.h>).
 6872:   (jdolecek)
 6873: - Fixed bug #37306 (max_execution_time = max_input_time). (Dmitry)
 6874: - Fixed bug #37278 (SOAP not respecting uri in __soapCall). (Dmitry)
 6875: - Fixed bug #37265 (Added missing safe_mode & open_basedir checks to
 6876:   imap_body()). (Ilia)
 6877: - Fixed bug #37262 (var_export() does not escape \0 character). (Ilia)
 6878: - Fixed bug #37256 (php-fastcgi doesn't handle connection abort). (Dmitry)
 6879: - Fixed bug #37244 (Added strict flag to base64_decode() that enforces
 6880:   RFC3548 compliance). (Ilia)
 6881: - Fixed bug #37144 (PHP crashes trying to assign into property of dead object).
 6882:   (Dmitry)
 6883: - Fixed bug #36949 (invalid internal mysqli objects dtor). (Mike)
 6884: - Implement #36732 (req/x509 extensions support for openssl_csr_new and
 6885:   openssl_csr_sign) (ben at psc dot edu, Pierre)
 6886: - Fixed bug #36759 (Objects destructors are invoked in wrong order when script
 6887:   is finished). (Dmitry)
 6888: - Fixed bug #36681 (pdo_pgsql driver incorrectly ignored some errors).
 6889:   (Wez, Ilia)
 6890: - Fixed bug #36630 (umask not reset at the end of the request). (Ilia)
 6891: - Fixed bug #36515 (Unlinking buckets from non-existent brigades). (Sara)
 6892: - Fixed bug #35973 (Error ORA-24806 occurs when trying to fetch a NCLOB
 6893:   field). (Tony)
 6894: - Fixed bug #35886 (file_get_contents() fails with some combinations of
 6895:   offset & maxlen). (Nuno)
 6896: - Fixed bug #35512 (Lack of read permission on main script results in
 6897:   E_WARNING rather then E_ERROR). (Ilia)
 6898: - Fixed bug #34180 (--with-curlwrappers causes PHP to disregard some HTTP
 6899:   stream context options). (Mike)
 6900: - Fixed bug #34066 (recursive array_walk causes segfault). (Tony)
 6901: - Fixed bug #34065 (throw in foreach causes memory leaks). (Dmitry)
 6902: - Fixed bug #34005 (oci_password_change() fails).
 6903:   (pholdaway at technocom-wireless dot com, Tony)
 6904: - Fixed bug #33895 (Missing math constants). (Hannes)
 6905: - Fixed bug #33770 (https:// or ftps:// do not work when --with-curlwrappers
 6906:   is used and ssl certificate is not verifiable). (Ilia)
 6907: - Fixed bug #29538 (number_format and problem with 0). (Matt Wilmas)
 6908: - Implement #28382 (openssl_x509_parse() extensions support) (Pierre)
 6909: - Fixed PECL bug #9061 (oci8 might reuse wrong persistent connection). (Tony)
 6910: - Fixed PECL bug #8816 (issue in php_oci_statement_fetch with more than one
 6911:   piecewise column) (jeff at badtz-maru dot com, Tony)
 6912: - Fixed PECL bug #8112 (OCI8 persistent connections misbehave when Apache
 6913:   process times out). (Tony)
 6914: - Fixed PECL bug #7755 (error selecting DOUBLE fields with PDO_ODBC).
 6915:   ("slaws", Wez)
 6916: 
 6917: 
 6918: 04 May 2006, PHP 5.1.4
 6919: - Added "capture_peer_cert" and "capture_peer_cert_chain" context options
 6920:   for SSL streams. (Wez).
 6921: - Added PDO::PARAM_EVT_* family of constants. (Sara)
 6922: - Fixed possible crash in highlight_string(). (Dmitry)
 6923: - Fixed bug #37291 (FastCGI no longer works with isapi_fcgi.dll). (Dmitry)
 6924: - Fixed bug #37277 (cloning Dom Documents or Nodes does not work). (Rob)
 6925: - Fixed bug #37276 (problems with $_POST array). (Dmitry)
 6926: - Fixed bug #36632 (bad error reporting for pdo_odbc exec UPDATE). (Wez).
 6927: - Fixed bug #35552 (crash when pdo_odbc prepare fails). (Wez).
 6928: 
 6929: 28 Apr 2006, PHP 5.1.3
 6930: - Updated bundled PCRE library to version 6.6. (Andrei)
 6931: - Moved extensions to PECL:
 6932:   . ext/msession (Derick)
 6933: - Reimplemented FastCGI interface. (Dmitry)
 6934: - Improved SPL: (Marcus)
 6935:   - Fixed issues with not/double calling of constructors of SPL iterators.
 6936:   - Fixed issues with info-class/file-class in SPL directory handling classes.
 6937:   - Fixed ArrayIterator::seek().
 6938:   - Added SimpleXMLIterator::count().
 6939:   - Dropped erroneous RecursiveDirectoryIterator::getSubPathInfo().
 6940: - Improved SimpleXML: (Marcus, Rob)
 6941:   . Added SimpleXMLElement::getName() to retrieve name of element.
 6942:   . Added ability to create elements on the fly.
 6943:   . Added addChild() method for element creation supporting namespaces.
 6944:   . Added addAttribute() method for attribute creation supporting namespaces.
 6945:   . Added ability to delete specific elements and attributes by offset.
 6946: - Improved Reflection API: (Marcus)
 6947:   . Added ReflectionClass::newInstanceArgs($args).
 6948:   . Added ability to analyze extension dependency.
 6949:   . Added ReflectionFunction::isDeprecated() and constant IS_DEPRECATED.
 6950:   . Added ReflectionParameter::getDeclaringClass().
 6951:   . Changed reflection constants to be prefixed with IS_. (Johannes)
 6952: - Improved cURL extension: (Ilia)
 6953:   . Added curl_setopt_array() function that allows setting of multiple
 6954:     options via an associated array.
 6955:   . Added the ability to retrieve the request message sent to the server.
 6956: - Improved GD extension: (Pierre)
 6957:   . Added a weak/tolerant mode to the JPEG loader.
 6958:   . Added filtering mode option to imagepng() to allow reducing file size.
 6959:   . Fixed imagecolorallocate() and imagecolorallocatelapha() to return FALSE
 6960:     on error.
 6961: - Changed get_headers() to retrieve headers also from non-200 responses.
 6962:   (Ilia)
 6963: - Changed get_headers() to use the default context. (Ilia)
 6964: - Added lchown() and lchgrp() to change user/group ownership of symlinks.
 6965:   (Derick)
 6966: - Added support for exif date format in strtotime(). (Derick)
 6967: - Added a check for special characters in the session name. (Ilia)
 6968: - Added "consumed" stream filter. (Marcus)
 6969: - Added new mysqli constants for BIT and NEW_DECIMAL field types:
 6970:   MYSQLI_TYPE_NEWDECIMAL and MYSQLI_TYPE_BIT. FR #36007. (Georg)
 6971: - Added imap_savebody() that allows message body to be written to a
 6972:   file. (Mike)
 6973: - Added overflow checks to wordwrap() function. (Ilia)
 6974: - Added support for BINARY_DOUBLE and BINARY_FLOAT to PDO_OCI and OCI8
 6975:   (also fixes bug #36764). (Tony)
 6976: - Eliminated run-time constant fetching for TRUE, FALSE and NULL. (Dmitry)
 6977: - Removed the E_STRICT deprecation notice from "var". (Ilia)
 6978: - Fixed reading stream filters never notified about EOF. (Mike)
 6979: - Fixed tempnam() 2nd parameter to be checked against path components. (Ilia)
 6980: - Fixed a bug that would not fill in the fifth argument to preg_replace()
 6981:   properly, if the variable was not declared previously. (Andrei)
 6982: - Fixed safe_mode check for source argument of the copy() function. (Ilia)
 6983: - Fixed mysqli bigint conversion under Windows (Georg)
 6984: - Fixed XSS inside phpinfo() with long inputs. (Ilia)
 6985: - Fixed Apache2 SAPIs header handler modifying header strings. (Mike)
 6986: - Fixed 'auto_globals_jit' to work together with 'register_argc_argv'. (Dmitry)
 6987: - Fixed offset/length parameter validation in substr_compare() function. (Ilia)
 6988: - Fixed debug_zval_dump() to support private and protected members. (Dmitry)
 6989: - Fixed SoapFault::getMessage(). (Dmitry)
 6990: - Fixed issue with iconv_mime_decode where the "encoding" would only allow
 6991:   upper case specifiers. (Derick)
 6992: - Fixed tiger hash algorithm generating wrong results on big endian platforms.
 6993:   (Mike)
 6994: - Fixed crash with DOMImplementation::createDocumentType("name:"). (Mike)
 6995: - Fixed bug #37205 (Serving binary content/images fails with "comm with server
 6996:   aborted" FastCGI err). (Dmitry)
 6997: - Fixed bug #37192 (cc may complain about non-constant initializers in
 6998:   hash_adler.c). (Mike)
 6999: - Fixed bug #37191 (chmod takes off sticky bit when safe_mode is On). (Tony)
 7000: - Fixed bug #37167 (PDO segfaults when throwing exception from the
 7001:   fetch handler). (Tony)
 7002: - Fixed bug #37162 (wddx does not build as a shared extension).
 7003:   (jdolecek at NetBSD dot org, Ilia)
 7004: - Fixed bug #37158 (fread behavior changes after calling
 7005:   stream_wrapper_register). (Wez)
 7006: - Fixed bug #37138 (__autoload tries to load callback'ed self and parent).
 7007:   (Dmitry)
 7008: - Fixed bug #37103 (libmbfl headers not installed). (Jani)
 7009: - Fixed bug #37062 (compile failure on ARM architecture). (Tony)
 7010: - Fixed bug #37061 (curl_exec() doesn't zero-terminate binary strings). (Tony)
 7011: - Fixed bug #37060 (Type of retval of Countable::count() is not checked).
 7012:   (Johannes)
 7013: - Fixed bug #37059 (oci_bind_by_name() doesn't support RAW and LONG RAW
 7014:   fields). (Tony)
 7015: - Fixed bug #37057 (xmlrpc_decode() may produce arrays with numeric strings,
 7016:   which are unaccessible). (Tony)
 7017: - Fixed bug #37055 (incorrect reference counting for persistent OCI8
 7018:   connections). (Tony)
 7019: - Fixed bug #37054 (SoapClient Error Fetching http headers). (Dmitry)
 7020: - Fixed bug #37053 (html_errors with internal classes produces wrong links).
 7021:   (Tony)
 7022: - Fixed bug #37046 (foreach breaks static scope). (Dmitry)
 7023: - Fixed bug #37045 (Fixed check for special chars for http redirects). (Ilia)
 7024: - Fixed bug #37017 (strtotime fails before 13:00:00 with some time zones
 7025:   identifiers). (Derick)
 7026: - Fixed bug #37002 (Have to quote literals in INI when concatenating with
 7027:   vars). (Dmitry)z
 7028: - Fixed bug #36988 (mktime freezes on long numbers). (Derick)
 7029: - Fixed bug #36981 (SplFileObject->fgets() ignores max_length). (Tony)
 7030: - Fixed bug #36957 (serialize() does not handle recursion). (Ilia)
 7031: - Fixed bug #36944 (strncmp & strncasecmp do not return false on negative
 7032:   string length). (Tony)
 7033: - Fixed bug #36941 (ArrayIterator does not clone itself). (Marcus)
 7034: - Fixed bug #36934 (OCILob->read() doesn't move internal pointer when
 7035:   reading 0's). (Tony)
 7036: - Fixed bug #36908 (wsdl default value overrides value in soap request).
 7037:   (Dmitry)
 7038: - Fixed bug #36898 (__set() leaks in classes extending internal ones).
 7039:   (Tony, Dmitry)
 7040: - Fixed bug #36886 (User filters can leak buckets in some situations). (Ilia)
 7041: - Fixed bug #36878 (error messages are printed even though an exception has
 7042:   been thrown). (Tony)
 7043: - Fixed bug #36875 (is_*() functions do not account for open_basedir). (Ilia)
 7044: - Fixed bug #36872 (session_destroy() fails after call to
 7045:   session_regenerate_id(true)). (Ilia)
 7046: - Fixed bug #36869 (memory leak in output buffering when using chunked
 7047:   output). (Tony)
 7048: - Fixed bug #36859 (DOMElement crashes when calling __construct when
 7049:   cloning). (Tony)
 7050: - Fixed bug #36857 (Added support for partial content fetching to the
 7051:   HTTP streams wrapper). (Ilia)
 7052: - Fixed bug #36851 (Documentation and code discrepancies for NULL
 7053:   data in oci_fetch_*() functions). (Tony)
 7054: - Fixed bug #36825 (Exceptions thrown in ArrayObject::offsetGet cause
 7055:   segfault). (Tony)
 7056: - Fixed bug #36820 (Privileged connection with an Oracle password file
 7057:   fails). (Tony)
 7058: - Fixed bug #36809 (__FILE__ behavior changed). (Dmitry)
 7059: - Fixed bug #36808 (syslog ident becomes garbage between requests). (Tony)
 7060: - Fixed bug #36802 (mysqli_set_charset() crash with a non-open connection).
 7061:   (Ilia)
 7062: - Fixed bug #36756 (DOMDocument::removeChild corrupts node). (Rob)
 7063: - Fixed bug #36749 (SOAP: 'Error Fetching http body' when using HTTP Proxy).
 7064:   (Dmitry)
 7065: - Fixed bug #36745 (No error message when load data local file isn't found).
 7066:   (Georg)
 7067: - Fixed bug #36743 (In a class extending XMLReader array properties are not
 7068:   writable). (Tony)
 7069: - Fixed bug #36727 (segfault in pdo_pgsql bindValue() when no parameters are
 7070:   defined). (Tony)
 7071: - Fixed bug #36721 (The SoapServer is not able to send a header that it didn't
 7072:   receive). (Dmitry)
 7073: - Fixed bug #36697 (Transparency is lost when using imagecreatetruecolor).
 7074:   (Pierre)
 7075: - Fixed bug #36689 (Removed arbitrary limit on the length of syslog messages).
 7076:   (Ilia)
 7077: - Fixed bug #36656 (http_build_query generates invalid URIs due to use of
 7078:   square brackets). (Mike)
 7079: - Fixed bug #36638 (strtotime() returns false when 2nd argument < 1). (Derick)
 7080: - Fixed bug #36629 (SoapServer::handle() exits on SOAP faults). (Dmitry)
 7081: - Fixed bug #36625 (pg_trace() does not work). (iakio at mono-space dot net)
 7082: - Fixed bug #36614 (Segfault when using Soap). (Dmitry)
 7083: - Fixed bug #36611 (assignment to SimpleXML object attribute changes argument
 7084:   type to string). (Tony)
 7085: - Fixed bug #36606 (pg_query_params() changes arguments type to string). (Tony)
 7086: - Fixed bug #36599 (DATE_W3C format constant incorrect). (Derick)
 7087: - Fixed bug #36575 (SOAP: Incorrect complex type instantiation with
 7088:   hierarchies). (Dmitry)
 7089: - Fixed bug #36572 (Added PDO::MYSQL_ATTR_DIRECT_QUERY constant that should
 7090:   be set when executing internal queries like "show master status" via MySQL).
 7091:   (Ilia)
 7092: - Fixed bug #36568 (memory_limit setting on win32 has no effect). (Dmitry)
 7093: - Fixed bug #36513 (comment will be outputted in last line). (Dmitry)
 7094: - Fixed bug #36510 (strtotime() fails to parse date strings with tabs).
 7095:   (Ilia, Derick)
 7096: - Fixed bug #36459 (Incorrect adding PHPSESSID to links, which contains \r\n).
 7097:   (Ilia)
 7098: - Fixed bug #36458 (sleep() accepts negative values). (Ilia)
 7099: - Fixed bug #36436 (DBA problem with Berkeley DB4). (Marcus)
 7100: - Fixed bug #36434 (Improper resolution of declaring class name of an
 7101:   inherited property). (Ilia)
 7102: - Fixed bug #36420 (segfault when access result->num_rows after calling
 7103:   result->close()). (Ilia,Tony)
 7104: - Fixed bug #36403 (oci_execute() no longer supports OCI_DESCRIBE_ONLY). (Tony)
 7105: - Fixed bug #36400 (Custom 5xx error does not return correct HTTP response error
 7106:   code). (Tony)
 7107: - Fixed bug #36396 (strtotime() fails to parse dates in dd-mm-yyyy format).
 7108:   (Derick)
 7109: - Fixed bug #36388 (ext/soap crashes when throwing exception and session
 7110:   persistence). (David)
 7111: - Fixed bug #36382 (PDO/PgSQL's getColumnMeta() crashes). (Derick)
 7112: - Fixed bug #36359 (splFileObject::fwrite() doesn't write when no data
 7113:   length specified). (Tony)
 7114: - Fixed bug #36351 (parse_url() does not parse numeric paths properly). (Ilia)
 7115: - Fixed bug #36345 (PDO/MySQL problem loading BLOB over 1MB). (Ilia)
 7116: - Fixed bug #36337 (ReflectionProperty fails to return correct visibility).
 7117:   (Ilia)
 7118: - Fixed bug #36334 (Added missing documentation about realpath cache INI
 7119:   settings). (Ilia)
 7120: - Fixed bug #36308 (ReflectionProperty::getDocComment() does not reflect
 7121:   extended class commentary). (Ilia)
 7122: - Fixed bug #36306 (crc32() differ on 32-bit and 64-bit platforms)
 7123:   (anight@eyelinkmedia dot com, Pierre)
 7124: - Fixed bug #36303 (foreach on error_zval produces segfault). (Dmitry)
 7125: - Fixed bug #36295 (typo in SplFileObject::flock() parameter name). (Tony)
 7126: - Fixed bug #36287 (Segfault with SplFileInfo conversion). (Marcus)
 7127: - Fixed bug #36283 (SOAPClient Compression Broken). (Dmitry)
 7128: - Fixed bug #36268 (Object destructors called even after fatal errors). (Dmitry)
 7129: - Fixed bug #36258 (SplFileObject::getPath() may lead to segfault). (Tony)
 7130: - Fixed bug #36250 (PHP causes ORA-07445 core dump in Oracle server 9.2.x).
 7131:   (Tony)
 7132: - Fixed bug #36242 (Possible memory corruption in stream_select()). (Tony)
 7133: - Fixed bug #36235 (ocicolumnname returns false before a successful fetch).
 7134:   (Tony)
 7135: - Fixed bug #36226 (Inconsistent handling when passing potential arrays).
 7136:   (Dmitry)
 7137: - Fixed bug #36224 (date(DATE_ATOM) gives wrong results).
 7138:   (Derick, Hannes Magnusson)
 7139: - Fixed bug #36222 (errorInfo in PDOException is always NULL). (Ilia)
 7140: - Fixed bug #36208 (symbol namespace conflicts using bundled gd). (Jakub Moc)
 7141: - Fixed bug #36205 (Memory leaks on duplicate cookies). (Dmitry)
 7142: - Fixed bug #36185 (str_rot13() crash on non-string parameter). (Pierre)
 7143: - Fixed bug #36176 (PDO_PGSQL - PDO::exec() does not return number of rows
 7144:   affected by the operation). (Ilia)
 7145: - Fixed bug #36158 (SIGTERM is not handled correctly when running as a
 7146:   FastCGI server). (Dmitry)
 7147: - Fixed bug #36152 (problems with curl+ssl and pgsql+ssl in same PHP). (Mike)
 7148: - Fixed bug #36148 (unpack("H*hex", $data) is adding an extra character to
 7149:   the end of the string). (Ilia)
 7150: - Fixed bug #36134 (DirectoryIterator constructor failed to detect empty
 7151:   directory names). (Ilia)
 7152: - Fixed bug #36113 (Reading records of unsupported type causes segfault).
 7153:   (Tony)
 7154: - Fixed bug #36096 (oci_result() returns garbage after oci_fetch() failed).
 7155:   (Tony)
 7156: - Fixed bug #36083 (SoapClient waits for responses on one-way operations).
 7157:   (Dmitry)
 7158: - Fixed bug #36071 (Engine Crash related with 'clone'). (Dmitry)
 7159: - Fixed bug #36055 (possible OCI8 crash in multi-threaded environment). (Tony)
 7160: - Fixed bug #36046 (parse_ini_file() miscounts lines in multi-line values).
 7161:   (Ilia)
 7162: - Fixed bug #36038 (ext/hash compile failure on Mac OSX). (Tony)
 7163: - Fixed bug #36037 (heredoc adds extra line number). (Dmitry)
 7164: - Fixed bug #36016 (realpath cache memleaks). (Dmitry, Nuno)
 7165: - Fixed bug #36011 (Strict errormsg wrong for call_user_func() and the likes).
 7166:   (Marcus)
 7167: - Fixed bug #36010 (Segfault when re-creating and re-executing statements with
 7168:   bound parameters). (Tony)
 7169: - Fixed bug #36006 (Problem with $this in __destruct()). (Dmitry)
 7170: - Fixed bug #35999 (recursive mkdir() does not work with relative path
 7171:   like "foo/bar"). (Tony)
 7172: - Fixed bug #35998 (SplFileInfo::getPathname() returns unix style filenames
 7173:   in win32). (Marcus)
 7174: - Fixed bug #35988 (Unknown persistent list entry type in module shutdown).
 7175:   (Dmitry)
 7176: - Fixed bug #35954 (Fatal com_exception casting object). (Rob)
 7177: - Fixed bug #35900 (stream_select() should warning when tv_sec is negative).
 7178:   (Ilia)
 7179: - Fixed bug #35785 (SimpleXML causes memory read error zend engine). (Marcus)
 7180: - Fixed bug #34272 (empty array onto COM object blows up). (Rob)
 7181: - Fixed bug #33292 (apache_get_modules() crashes on Windows). (Edin)
 7182: - Fixed bug #29476 (sqlite_fetch_column_types() locks the database forever).
 7183:   (Ilia)
 7184: 
 7185: 12 Jan 2006, PHP 5.1.2
 7186: - Updated libsqlite in ext/sqlite to 2.8.17. (Ilia)
 7187: - Updated libsqlite in ext/pdo_sqlite to 3.2.8. (Ilia)
 7188: - Updated to libxml2-2.6.22 and libxslt-1.1.15 in the win32 bundle. (Rob)
 7189: - Added new extensions: (Ilia, Wez)
 7190:   . XMLWriter
 7191:   . Hash
 7192: - Added PNG compression support to GD extension. (Pierre)
 7193: - Added reflection constants as class constants. (Johannes)
 7194: - Added --enable-gcov configure option to enable C-level code coverage.
 7195:   (John, Jani, Ilia, Marcus)
 7196: - Added missing support for 'B' format identifier to date() function. (Ilia)
 7197: - Changed reflection to be an extension. (Marcus)
 7198: - Improved SPL extension: (Marcus)
 7199:   . Added class SplFileInfo as root class for DirectoryIterator and
 7200:     SplFileObject
 7201:   . Added SplTempFileObject
 7202: - Improved SimpleXML extension: (Marcus)
 7203:   . Fixed memleaks
 7204:   . Fixed var_dump()
 7205:   . Fixed isset/empty/(bool) behavior
 7206:   . Fixed iterator edge cases
 7207:   . Added methods getNamespaces(), getDocNamespaces()
 7208: - Upgraded pear to version 1.4.6. (Greg)
 7209: - Added constants for libxslt and libexslt versions: LIBXSLT_VERSION,
 7210:   LIBXSLT_DOTTED_VERSION, LIBEXSLT_VERSION and LIBEXSLT_DOTTED_VERSION. (Pierre)
 7211: - Fixed possible crash in apache_getenv()/apache_setenv() on invalid parameters.
 7212:   (Ilia)
 7213: - Changed errors to warnings in imagecolormatch(). (Pierre)
 7214: - Fixed segfault/leak in imagecolormatch(). (Pierre)
 7215: - Fixed small leak in mysqli_stmt_fetch() when bound variable was empty string.
 7216:   (Andrey)
 7217: - Fixed prepared statement name conflict handling in PDO_PGSQL. (Thies, Ilia)
 7218: - Fixed memory corruption when PDO::FETCH_LAZY mode is being used. (Ilia)
 7219: - Fixed possible leaks in imagecreatefromstring() with invalid data. (Pierre)
 7220: - Fixed possible memory corruption inside mb_strcut(). (Ilia)
 7221: - Fixed possible header injection by limiting each header to a single line.
 7222:   (Ilia)
 7223: - Fixed possible XSS inside error reporting functionality. (Ilia)
 7224: - Fixed many bugs in OCI8. (Tony)
 7225: - Fixed crash and leak in mysqli when using 4.1.x client libraries and
 7226:   connecting to 5.x server. (Andrey)
 7227: - Fixed bug #35916 (Duplicate calls to stream_bucket_append() lead to a crash).
 7228:   (Ilia)
 7229: - Fixed bug #35908 (curl extension uses undefined GCRY_THREAD_OPTIONS_USER).
 7230:   (Ilia)
 7231: - Fixed bug #35907 (PDO_OCI uses hardcoded lib path $ORACLE_HOME/lib). (Tony)
 7232: - Fixed bug #35887 (wddx_deserialize not parsing dateTime fields properly).
 7233:   (Derick)
 7234: - Fixed bug #35885 (strtotime("NOW") no longer works). (Derick)
 7235: - Fixed bug #35821 (array_map() segfaults when exception is throwed from
 7236:   the callback). (Tony)
 7237: - Fixed bug #35817 (unpack() does not decode odd number of hexadecimal values).
 7238:   (Ilia)
 7239: - Fixed bug #35797 (segfault on PDOStatement::execute() with
 7240:   zend.ze1_compatibility_mode = On). (Tony, Ilia)
 7241: - Fixed bug #35781 (stream_filter_append() can cause segfault). (Tony)
 7242: - Fixed bug #35760 (sybase_ct doesn't compile on Solaris using old gcc). (Tony)
 7243: - Fixed bug #35759 (mysqli_stmt_bind_result() makes huge allocation when
 7244:   column empty). (Andrey)
 7245: - Fixed bug #35751 (using date with a timestamp makes httpd segfault). (Derick)
 7246: - Fixed bug #35740 (memory leak when including a directory). (Tony)
 7247: - Fixed bug #35730 (ext/mssql + freetds: Use correct character encoding
 7248:   and allow setting it). (Frank)
 7249: - Fixed bug #35723 (xmlrpc_introspection.c fails compile per C99 std). (Jani)
 7250: - Fixed bug #35720 (A final constructor can be overwritten). (Marcus)
 7251: - Fixed bug #35713 (getopt() returns array with numeric strings when passed
 7252:   options like '-1'). (Tony)
 7253: - Fixed bug #35705 (strtotime() fails to parse soap date format without TZ).
 7254:   (Ilia)
 7255: - Fixed bug #35699 (date() can't handle leap years before 1970). (Derick)
 7256: - Fixed bug #35694 (Improved error message for invalid fetch mode). (Ilia)
 7257: - Fixed bug #35692 (iconv_mime_decode() segmentation fault; with libiconv
 7258:   only). (Tony)
 7259: - Fixed bug #35690 (pack() tries to allocate huge memory block when packing
 7260:   float values to strings). (Tony)
 7261: - Fixed bug #35669 (imap_mail_compose() crashes with
 7262:   multipart-multiboundary-email). (Ilia)
 7263: - Fixed bug #35660 (AIX TZ variable format not understood, yields UTC
 7264:   timezone). (Derick)
 7265: - Fixed bug #35655 (whitespace following end of heredoc is lost). (Ilia)
 7266: - Fixed bug #35630 (strtotime() crashes on certain relative identifiers).
 7267:   (Ilia)
 7268: - Fixed bug #35629 (crash in http:// wrapper on multiple redirects). (Ilia)
 7269: - Fixed bug #35624 (strtotime() does not handle 3 character weekdays). (Ilia)
 7270: - Fixed bug #35612 (iis6 Access Violation crash). (Dmitry, alacn.uhahaa)
 7271: - Fixed bug #35594 (Multiple calls to getopt() may result in a crash).
 7272:   (rabbitt at gmail dot com, Ilia)
 7273: - Fixed bug #35571 (Fixed crash in Apache 2 SAPI when more then one php
 7274:   script is loaded via SSI include). (Ilia)
 7275: - Fixed bug #35570 (segfault when re-using soap client object). (Dmitry)
 7276: - Fixed bug #35558 (mktime() interpreting 3 digit years incorrectly). (Ilia)
 7277: - Fixed bug #35543 (php crash when calling non existing method of a class
 7278:   that extends PDO). (Tony)
 7279: - Fixed bug #35539 (typo in error message for ErrorException). (Tony)
 7280: - FIxed bug #35536 (mysql_field_type() doesn't handle NEWDECIMAL). (Tony)
 7281: - Fixed bug #35517 (mysql_stmt_fetch returns NULL on data truncation). (Georg)
 7282: - Fixed bug #35509 (string constant as array key has different behavior inside
 7283:   object). (Dmitry)
 7284: - Fixed bug #35508 (PDO fails when unknown fetch mode specified). (Tony)
 7285: - Fixed bug #35499 (strtotime() does not handle whitespace around the date
 7286:   string). (Ilia)
 7287: - Fixed bug #35496 (Crash in mcrypt_generic()/mdecrypt_generic() without
 7288:   proper init). (Ilia)
 7289: - Fixed bug #35490 (socket_sendto() unable to handle IPv6 addresses). (Tony)
 7290: - Fixed bug #35461 (Ming extension fails to compile with ming 0.3beta1). (Jani)
 7291: - Fixed bug #35437 (Segfault or Invalid Opcode 137/1/4). (Dmitry)
 7292: - Fixed bug #35470 (Assigning global using variable name from array doesn't
 7293:   function). (Dmitry)
 7294: - Fixed bug #35456 (+ 1 [time unit] format did not work). (Ilia)
 7295: - Fixed bug #35447 (xml_parse_into_struct() chokes on the UTF-8 BOM). (Rob)
 7296: - Fixed bug #35431 (PDO crashes when using LAZY fetch with fetchAll). (Wez)
 7297: - Fixed bug #35430 (PDO crashes on incorrect FETCH_FUNC use). (Tony)
 7298: - Fixed bug #35427 (str_word_count() handles '-' incorrectly). (Ilia)
 7299: - Fixed bug #35425 (idate() function ignores timezone settings). (Ilia)
 7300: - Fixed bug #35422 (strtotime() does not parse times with UTC as timezone).
 7301:   (Ilia)
 7302: - Fixed bug #35414 (strtotime() no longer works with ordinal suffix). (Ilia)
 7303: - Fixed bug #35410 (wddx_deserialize() doesn't handle large ints as keys
 7304:   properly). (Ilia)
 7305: - Fixed bug #35409 (undefined reference to 'rl_completion_matches'). (Jani)
 7306: - Fixed bug #35399 (Since fix of bug #35273 SOAP decoding of
 7307:   soapenc:base64binary fails). (Dmitry)
 7308: - Fixed bug #35393 (changing static protected members from outside the class,
 7309:   one more reference issue). (Dmitry)
 7310: - Fixed bug #35381 (ssl library is not initialized properly). (Alan)
 7311: - Fixed bug #35377 (PDO_SQLITE: undefined reference to "fdatasync").
 7312:   (Nuno, Jani)
 7313: - Fixed bug #35373 (HP-UX "alias not allowed in this configuration"). (Dmitry)
 7314: - Fixed bug #35288 (iconv() function defined as libiconv()). (Nuno)
 7315: - Fixed bug #35103 (mysqli handles bad unsigned (big)int incorrectly).(Andrey)
 7316: - Fixed bug #35062 (socket_read() produces warnings on non blocking sockets).
 7317:   (Nuno, Ilia)
 7318: - Fixed bug #35028 (SimpleXML object fails FALSE test). (Marcus)
 7319: - Fixed bug #34729 (Crash in ZTS mode under Apache). (Dmitry, Zeev)
 7320: - Fixed bug #34429 (Output buffering cannot be turned off with FastCGI).
 7321:   (Dmitry, Ilya)
 7322: - Fixed bug #34359 (Possible crash inside fopen http wrapper). (Ilia,Sara,Nuno)
 7323: - Fixed bug #33789 (Many Problems with SunFuncs). (Derick)
 7324: - Fixed bug #33671 (sun_rise and sun_set don't return a GMT timestamp if one
 7325:   passes an offset). (Derick)
 7326: - Fixed bug #32820 (date_sunrise and date_sunset don't handle GMT offset
 7327:   well). (Derick)
 7328: - Fixed bug #31347 (is_dir and is_file (incorrectly) return true for any string
 7329:   greater then 255 characters). (Nuno,Ilia)
 7330: - Fixed bug #30937 (date_sunrise() & date_sunset() don't handle endless
 7331:   day/night at high latitudes). (Derick)
 7332: - Fixed bug #30760 (Remove MessageBox on win32 for E_CORE errors if
 7333:   display_startup_error is off). (Ilia)
 7334: - Fixed bug #29955 (mb_strtoupper() / lower() broken with Turkish encoding).
 7335:   (Rui)
 7336: - Fixed bug #28899 (mb_substr() and substr() behave differently when
 7337:   "mbstring.func_overload" is enabled). (Rui)
 7338: - Fixed bug #27678 (number_format() crashes with large numbers). (Marcus)
 7339: 
 7340: 28 Nov 2005, PHP 5.1.1
 7341: - Disabled native date class to prevent pear::date conflict. (Ilia)
 7342: - Changed reflection constants be both PHP and class constants. (Johannes)
 7343: - Added an additional field $frame['object'] to the result array of
 7344:   debug_backtrace() that contains a reference to the respective object when the
 7345:   frame was called from an object. (Sebastian)
 7346: - Fixed bug #35423 (RecursiveDirectoryIterator doesnt appear to recurse with
 7347:   RecursiveFilterIterator). (Marcus)
 7348: - Fixed bug #35413 (Removed -dev flag from Zend Engine version). (Ilia)
 7349: - Fixed bug #35411 (Regression with \{$ handling). (Ilia)
 7350: - Fixed bug #35406 (eval hangs when evall'ed code ends with comment w/o
 7351:   newline). (Marcus)
 7352: - Fixed bug #35391 (pdo_mysql::exec does not return number of affected rows).
 7353:   (Tony)
 7354: - Fixed bug #35382 (Comment in end of file produces fatal error). (Ilia)
 7355: - Fixed bug #35360 (exceptions in interactive mode (php -a) may cause crash).
 7356:   (Dmitry)
 7357: - Fixed bug #35358 (Incorrect error messages for PDO class constants). (Ilia)
 7358: - Fixed bug #35338 (pdo_pgsql does not handle binary bound params). (Wez)
 7359: - Fixed bug #35316 (Application exception trying to create COM object). (Rob)
 7360: - Fixed bug #35170 (PHP_AUTH_DIGEST differs under Apache 1.x and 2.x). (Ilia)
 7361: 
 7362: 24 Nov 2005, PHP 5.1
 7363: - Added support for class constants and static members for internal classes.
 7364:   (Dmitry, Michael Wallner)
 7365: - Added "new_link" parameter to mssql_connect() (Bug #34369). (Frank)
 7366: - Added missing safe_mode checks for image* functions and cURL. (Ilia)
 7367: - Added missing safe_mode/open_basedir checks for file uploads. (Ilia)
 7368: - Added PDO_MYSQL_ATTR_USE_BUFFERED_QUERY parameter for pdo_mysql. (Ilia)
 7369: - Added date_timezone_set() function to set the timezone that the date
 7370:   function will use. (Derick)
 7371: - Added pg_fetch_all_columns() function to fetch all values of a column from a
 7372:   result cursor. (Ilia)
 7373: - Added support for LOCK_EX flag for file_put_contents(). (Ilia)
 7374: - Added bindto socket context option. (Ilia)
 7375: - Added offset parameter to the stream_copy_to_stream() function. (Ilia)
 7376: - Added offset & length parameters to substr_count() function. (Ilia)
 7377: - Added man pages for "phpize" and "php-config" scripts. (Jakub Vrana)
 7378: - Added support for .cc files in extensions. (Brian)
 7379: - Added PHP_INT_MAX and PHP_INT_SIZE as predefined constants. (Andrey)
 7380: - Added user opcode API that allow overloading of opcode handlers. (Dmitry)
 7381: - Added an optional remove old session parameter to session_regenerate_id().
 7382:   (Ilia)
 7383: - Added array type hinting. (Dmitry)
 7384: - Added the tidy_get_opt_doc() function to return documentation for
 7385:   configuration options in tidy. (Patch by: nlopess@php.net)
 7386: - Added support for .cc files in extensions. (Brian)
 7387: - Added imageconvolution() function which can be used to apply a custom 3x3
 7388:   matrix convolution to an image. (Pierre)
 7389: - Added optional first parameter to XsltProcessor::registerPHPFunctions to
 7390:   only allow certain functions to be called from XSLT. (Christian)
 7391: - Added the ability to override the autotools executables used by the
 7392:   buildconf script via the PHP_AUTOCONF and PHP_AUTOHEADER environmental
 7393:   variables. (Jon)
 7394: - Added several new functions to support the PostgreSQL v3 protocol introduced
 7395:   in PostgreSQL 7.4. (Christopher)
 7396:   . pg_transaction_status() - in-transaction status of a database connection.
 7397:   . pg_query_params() - execution of parameterized queries.
 7398:   . pg_prepare() - prepare named queries.
 7399:   . pg_execute() - execution of named prepared queries.
 7400:   . pg_send_query_params() - async equivalent of pg_query_params().
 7401:   . pg_send_prepare() - async equivalent of pg_prepare().
 7402:   . pg_send_execute() - async equivalent of pg_execute().
 7403:   . pg_result_error_field() - highly detailed error information, most
 7404:     importantly
 7405:     the SQLSTATE error code.
 7406:   . pg_set_error_verbosity() - set verbosity of errors.
 7407: - Added optional fifth parameter "count" to preg_replace_callback() and
 7408:   preg_replace() to count the number of replacements made. FR #32275. (Andrey)
 7409: - Added optional third parameter "charlist" to str_word_count() which contains
 7410:   characters to be considered as word part. FR #31560. (Andrey, Ilia)
 7411: - Added interface Serializable. (Stanislav, Marcus)
 7412: - Added pg_field_type_oid() PostgreSQL function. (mauroi at digbang dot com)
 7413: - Added zend_declare_property_...() and zend_update_property_...() API
 7414:   functions for bool, double and binary safe strings. (Hartmut)
 7415: - Added possibility to access INI variables from within .ini file. (Andrei)
 7416: - Added variable $_SERVER['REQUEST_TIME'] containing request start time.
 7417:   (Ilia)
 7418: - Added optional float parameter to gettimeofday(). (Ilia)
 7419: - Added apache_reset_timeout() Apache1 function. (Rasmus)
 7420: - Added sqlite_fetch_column_types() 3rd argument for arrays. (Ilia)
 7421: - Added optional offset parameter to stream_get_contents() and
 7422:   file_get_contents(). (Ilia)
 7423: - Added optional maxlen parameter to file_get_contents(). (Ilia)
 7424: - Added SAPI hook to get the current request time. (Rasmus)
 7425: - Added new functions:
 7426:   . array_diff_key() (Andrey)
 7427:   . array_diff_ukey() (Andrey)
 7428:   . array_intersect_key() (Christiano Duarte)
 7429:   . array_intersect_ukey() (Christiano Duarte)
 7430:   . array_product() (Andrey)
 7431:   . DomDocumentFragment::appendXML() (Christian)
 7432:   . fputcsv() (David Sklar)
 7433:   . htmlspecialchars_decode() (Ilia)
 7434:   . inet_pton() (Sara)
 7435:   . inet_ntop() (Sara)
 7436:   . mysqli::client_info property (Georg)
 7437:   . posix_access() (Magnus)
 7438:   . posix_mknod() (Magnus)
 7439:   . SimpleXMLElement::registerXPathNamespace() (Christian)
 7440:   . stream_context_get_default() (Wez)
 7441:   . stream_socket_enable_crypto() (Wez)
 7442:   . stream_wrapper_unregister() (Sara)
 7443:   . stream_wrapper_restore() (Sara)
 7444:   . stream_filter_remove() (Sara)
 7445:   . time_sleep_until() (Ilia)
 7446: - Added DomDocument::$recover property for parsing not well-formed XML
 7447:  Documents. (Christian)
 7448: - Added Cursor support for MySQL 5.0.x in mysqli (Georg)
 7449: - Added proxy support to ftp wrapper via http. (Sara)
 7450: - Added MDTM support to ftp_url_stat. (Sara)
 7451: - Added zlib stream filter support. (Sara)
 7452: - Added bz2 stream filter support. (Sara)
 7453: - Added max_redirects context option that specifies how many HTTP
 7454:   redirects to follow. (Ilia)
 7455: - Added support of parameter=>value arrays to
 7456:   xsl_xsltprocessor_set_parameter(). (Tony)
 7457: 
 7458: - PHP extension loading mechanism with support for module
 7459:   dependencies and conflicts. (Jani, Dmitry)
 7460: - Improved interactive mode of PHP CLI (php -a). (Johannes, Marcus)
 7461: - Improved performance of:
 7462:   . general execution/compilation. (Andi, Thies, Sterling, Dmitry, Marcus)
 7463:   . switch() statement. (Dmitry)
 7464:   . several array functions. (Marcus)
 7465:   . virtual path handling by adding a realpath() cache. (Andi)
 7466:   . variable fetches. (Andi)
 7467:   . magic method invocations. (Marcus)
 7468: - Improved support for embedded server in mysqli. (Georg)
 7469: - Improved mysqli extension. (Georg)
 7470:   . added constructor for mysqli_stmt and mysqli_result classes
 7471:   . added new function mysqli_get_charset()
 7472:   . added new function mysqli_set_charset()
 7473:   . added new class mysqli_driver
 7474:   . added new class mysqli_warning
 7475:   . added new class mysqli_exception
 7476:   . added new class mysqli_sql_exception
 7477: - Improved SPL extension. (Marcus)
 7478:   . Moved RecursiveArrayIterator from examples into extension
 7479:   . Moved RecursiveFilterIterator from examples into extension
 7480:   . Added SplObjectStorage
 7481:   . Made all SPL constants class constants
 7482:   . Renamed CachingRecursiveIterator to RecursiveCachingIterator to follow
 7483:     Recursive<*>Iterator naming scheme.
 7484:   . added standard hierarchy of Exception classes
 7485:   . added interface Countable
 7486:   . added interfaces Subject and SplObserver
 7487:   . added spl_autoload*() functions
 7488:   . converted several 5.0 examples into c code
 7489:   . added class SplFileObject
 7490:   . added possibility to use a string with class_parents() and
 7491:     class_implements(). (Andrey)
 7492: 
 7493: - Changed type hints to allow "null" as default value for class and array.
 7494:   (Marcus, Derick, Dmitry)
 7495: - Changed SQLite extension to be a shared module in Windows distribution.
 7496:   (Edin)
 7497: - Changed "instanceof" and "catch" operators, is_a() and is_subclass_of()
 7498:   functions to not call __autoload(). (Dmitry)
 7499: - Changed sha1_file() and md5_file() functions to use streams instead of low
 7500:   level IO. (Uwe)
 7501: - Changed abstract private methods to be not allowed anymore. (Stas)
 7502: - Changed stream_filter_(ap|pre)pend() to return resource. (Sara)
 7503: - Changed mysqli_exception and sqlite_exception to use RuntimeException as
 7504:   base if SPL extension is present. (Georg, Marcus)
 7505: 
 7506: - Upgraded bundled libraries:
 7507:   . PCRE library to version 6.2. (Andrei)
 7508:   . SQLite 3 library in ext/pdo_sqlite to 3.2.7. (Ilia)
 7509:   . SQLite 2 library in ext/sqlite to 2.8.16. (Ilia)
 7510: - Upgraded bundled libraries in Windows distribution. (Edin)
 7511:   . zlib 1.2.3
 7512:   . curl 7.14.0
 7513:   . openssl 0.9.8
 7514:   . ming 0.3b
 7515:   . libpq (PostgreSQL) 8.0.1
 7516: 
 7517: - Implemented feature request #33452 (Year belonging to ISO week). (Derick)
 7518: - Allowed return by reference from internal functions. (Marcus, Andi, Dmitry)
 7519: - Rewrote strtotime() with support for timezones and many new formats.
 7520:   Implements feature requests #21399, #26694, #28088, #29150, #29585 and
 7521:   #29595. (Derick)
 7522: 
 7523: - Moved extensions to PECL:
 7524:   . ext/cpdf        (Tony, Derick)
 7525:   . ext/dio         (Jani, Derick)
 7526:   . ext/fam         (Jani, Derick)
 7527:   . ext/ingres_ii   (Jani, Derick)
 7528:   . ext/mnogosearch (Jani, Derick)
 7529:   . ext/w32api      (Jani, Derick)
 7530:   . ext/yp          (Jani, Derick)
 7531:   . ext/mcve        (Jani, Derick, Pierre)
 7532:   . ext/oracle      (Jani, Derick)
 7533:   . ext/ovrimos     (Jani, Derick, Pierre)
 7534:   . ext/pfpro       (Jani, Derick, Pierre)
 7535:   . ext/dbx         (Jani, Derick)
 7536:   . ext/ircg        (Jani, Derick)
 7537: 
 7538: - Removed php_check_syntax() function which never worked properly. (Ilia)
 7539: - Removed garbage manager in Zend Engine which results in more aggressive
 7540:   freeing of data. (Dmitry, Andi)
 7541: 
 7542: - Fixed "make test" to work for phpized extensions. (Hartmut, Jani)
 7543: - Fixed Apache 2 regression with sub-request handling on non-linux systems.
 7544:   (Ilia, Tony)
 7545: - Fixed PDO shutdown problem (possible infinite loop running rollback on
 7546:   shutdown). (Wez)
 7547: - Fixed PECL bug #3714 (PDO: beginTransaction doesn't work if you're in
 7548:   auto-commit mode). (Wez)
 7549: - Fixed ZTS destruction. (Marcus)
 7550: - Fixed __get/__set to allow recursive calls for different properties. (Dmitry)
 7551: - Fixed a bug where stream_get_meta_data() did not return the "uri" element
 7552:   for files opened with tmpname(). (Derick)
 7553: - Fixed a problem with SPL iterators aggregating the inner iterator. (Marcus)
 7554: - Fixed an error in mysqli_fetch_fields (returned NULL instead of an array
 7555:   when row number > field_count). (Georg)
 7556: - Fixed bug in mysql::client_version(). (Georg)
 7557: - Fixed bug in mysqli extension with unsigned int(11) being represented as
 7558:   signed integer in PHP instead of string in 32bit systems. (Andrey)
 7559: - Fixed bug with $HTTP_RAW_POST_DATA not getting set. (Brian)
 7560: - Fixed crash inside stream_get_line() when length parameter equals 0. (Ilia)
 7561: - Fixed ext/mysqli to allocate less memory when fetching bound params of type
 7562:   (MEDIUM|LONG)BLOB/(MEDIUM|LONG)TEXT. (Andrey)
 7563: - Fixed extension initialization to respect dependencies between extensions.
 7564:   (Wez)
 7565: - Fixed failing queries (FALSE returned) with mysqli_query() on 64 bit systems.
 7566:   (Andrey)
 7567: - Fixed fgetcsv() and fputcsv() inconsistency. (Dmitry)
 7568: - Fixed inheritance check to control return by reference and pass by
 7569:   reference correctly (ArrayAccess can no longer support references correctly).
 7570:   (Marcus, Andi, Dmitry)
 7571: - Fixed initializing and argument checking for posix_mknod(). (Derick)
 7572: - Fixed memory corruption in ImageTTFText() with 64bit systems. (Andrey)
 7573: - Fixed memory corruption in pg_copy_from() in case the as_null parameter was
 7574:   passed. (Derick)
 7575: - Fixed memory corruption in stristr(). (Derick)
 7576: - Fixed possible GLOBALS variable override when register_globals are ON.
 7577:   (Ilia, Stefan)
 7578: - Fixed possible INI setting leak via virtual() in Apache 2 sapi. (Ilia)
 7579: - Fixed possible register_globals toggle via parse_str(). (Ilia, Stefan)
 7580: - Fixed potential GLOBALS overwrite via import_request_variables() and
 7581:   possible crash and/or memory corruption. (Ilia)
 7582: - Fixed segfaults when CURL callback functions throw exception. (Tony)
 7583: - Fixed support for shared extensions on AIX. (Dmitry)
 7584: - Fixed bug #35342 (isset(DOMNodeList->length) returns false). (Rob)
 7585: - Fixed bug #35341 (Fix for bug #33760 breaks build with older curl). (Tony)
 7586: - Fixed bug #35336 (crash on PDO::FETCH_CLASS + __set()). (Tony)
 7587: - Fixed bug #35303 (PDO prepare() crashes with invalid parameters). (Ilia)
 7588: - Fixed bug #35293 (PDO segfaults when using persistent connections). (Tony)
 7589: - Fixed bug #35278 (Multiple virtual() calls crash Apache 2 php module). (Ilia)
 7590: - Fixed bug #35273 (Error in mapping soap - java types). (Dmitry)
 7591: - Fixed bug #35249 (compile failure when ext/readline is compiled as shared).
 7592:   (Jani)
 7593: - Fixed bug #35248 (sqlite_query() doesn't set error_msg when return value is
 7594:   being used). (Ilia)
 7595: - Fixed bug #35243 (php_mblen() crashes when compiled with thread-safety on
 7596:   Linux). (Patch: shulmanb at il dot ibm dot com, Jani)
 7597: - Fixed bug #35239 (Objects can lose references). (Dmitry)
 7598: - Fixed bug #35229 (call_user_func() crashes when argument_stack is nearly
 7599:   full). (Dmitry)
 7600: - Fixed bug #35197 (Destructor is not called). (Tony)
 7601: - Fixed bug #35179 (tokenizer extension needs T_HALT_COMPILER). (Greg)
 7602: - Fixed bug #35176 (include()/require()/*_once() produce wrong error messages
 7603:   about main()). (Dmitry)
 7604: - Fixed bug #35147 (__HALT_COMPILER() breaks with --enable-zend-multibyte).
 7605:   (Dmitry, Moriyoshi)
 7606: - Fixed bug #35143 (gettimeofday() ignores current time zone). (Derick)
 7607: - Fixed bug #35142 (SOAP Client/Server Complex Object Support). (Dmitry)
 7608: - Fixed bug #35135 (PDOStatment without related PDO object may crash). (Ilia)
 7609: - Fixed bug #35091 (SoapClient leaks memory). (Dmitry)
 7610: - Fixed bug #35079 (stream_set_blocking(true) toggles, not enables blocking).
 7611:   (askalski at gmail dot com, Tony)
 7612: - Fixed bug #35078 (configure does not find ldap_start_tls_s). (Jani)
 7613: - Fixed bug #35046 (phpinfo() uses improper css enclosure). (Ilia)
 7614: - Fixed bugs #35022, #35019 (Regression in the behavior of key() and
 7615:   current() functions). (Ilia)
 7616: - Fixed bug #35017 (Exception thrown in error handler may cause unexpected
 7617:   behavior). (Dmitry)
 7618: - Fixed bug #35014 (array_product() always returns 0). (Ilia)
 7619: - Fixed bug #35009 (ZTS: Persistent resource destruct crashes when extension
 7620:   is compiled as shared). (Dmitry)
 7621: - Fixed bug #34996 (ImageTrueColorToPalette() crashes when ncolors is zero).
 7622:   (Tony)
 7623: - Fixed bug #34982 (array_walk_recursive() modifies elements outside function
 7624:   scope). (Dmitry)
 7625: - Fixed bug #34977 (Compile failure on MacOSX due to use of varargs.h). (Tony)
 7626: - Fixed bug #34968 (bz2 extension fails on to build on some win32 setups).
 7627:  (Ilia)
 7628: - Fixed bug #34965 (tidy is not binary safe). (Mike)
 7629: - Fixed bug #34957 (PHP doesn't respect ACLs for access checks). (Wez)
 7630: - Fixed bug #34950 (Unable to get WSDL through proxy). (Dmitry)
 7631: - Fixed bug #34938 (dns_get_record() doesn't resolve long hostnames and
 7632:   leaks). (Tony)
 7633: - Fixed bug #34905 (Digest authentication does not work with Apache 1). (Ilia)
 7634: - Fixed bug #34902 (mysqli::character_set_name() - undefined method). (Tony)
 7635: - Fixed bug #34899 (Fixed sqlite extension compile failure). (Ilia)
 7636: - Fixed bug #34893 (PHP5.1 overloading, Cannot access private property).
 7637:   (Dmitry)
 7638: - Fixed bug #34884 (Possible crash in ext/sqlite when sqlite.assoc_case is
 7639:   being used). (Tony, Ilia)
 7640: - Fixed bug #34879 (str_replace, array_map corrupt negative array indexes on
 7641:   64-bit platforms). (Dmitry)
 7642: - Fixed bug #34873 (Segmentation Fault on foreach in object). (Dmitry)
 7643: - Fixed bug #34856 (configure fails to detect libiconv's type). (Tony)
 7644: - Fixed bug #34855 (ibase_service_attach() segfault on AMD64).
 7645:   (irie at gmx dot de, Tony)
 7646: - Fixed bug #34851 (SO_RECVTIMEO and SO_SNDTIMEO socket options expect
 7647:   integer parameter on Windows). (Mike)
 7648: - Fixed bug #34850 (--program-suffix and --program-prefix not included in
 7649:   man page names). (Jani)
 7650: - Fixed bug #34821 (zlib encoders fail on widely varying binary data on
 7651:   windows). (Mike, Ilia)
 7652: - Fixed bug #34818 (several functions crash when invalid mysqli_link object
 7653:   is passed). (Tony)
 7654: - Fixed bug #34810 (mysqli::init() and others use wrong $this pointer without
 7655:   checks). (Tony)
 7656: - Fixed bug #34809 (FETCH_INTO in PDO crashes without a destination object).
 7657:   (Ilia)
 7658: - Fixed bug #34802 (Fixed crash on object instantiation failure). (Ilia)
 7659: - Fixed bug #34796 (missing SSL linking in ext/ftp when configured as shared).
 7660:   (Jani)
 7661: - Fixed bug #34790 (preg_match_all(), named capturing groups, variable
 7662:   assignment/return => crash). (Dmitry)
 7663: - Fixed bug #34788 (SOAP Client not applying correct namespace to generated
 7664:   values). (Dmitry)
 7665: - Fixed bug #34787 (SOAP Client not handling boolean types correctly). (Dmitry)
 7666: - Fixed bug #34786 (2 @ results in change to error_reporting() to random
 7667:   value) (Dmitry, Tony)
 7668: - Fixed bug #34785 (subclassing of mysqli_stmt does not work). (Georg)
 7669: - Fixed bug #34782 (token_get_all() gives wrong result). (Dmitry)
 7670: - Fixed bug #34777 (Crash in dblib when fetching non-existent error info).
 7671:   (Ilia)
 7672: - Fixed bug #34771 (strtotime() fails with 1-12am/pm). (Derick)
 7673: - Fixed bug #34767 (Zend Engine 1 Compatibility not copying objects
 7674:   correctly). (Dmitry)
 7675: - Fixed bug #34758 (PDO_DBLIB did not implement rowCount()). (Ilia)
 7676: - Fixed bug #34757 (iconv_substr() gives "Unknown error" when offset > string
 7677:   length). (Tony)
 7678: - Fixed bug #34742 (ftp wrapper failures caused from segmented command
 7679:   transfer). (Ilia)
 7680: - Fixed bug #34725 (CLI segmentation faults during cleanup). (Dmitry)
 7681: - Fixed bug #34723 (array_count_values() strips leading zeroes). (Tony)
 7682: - Fixed bug #34712 (zend.ze1_compatibility_mode = on segfault). (Dmitry)
 7683: - Fixed bug #34704 (Infinite recursion due to corrupt JPEG). (Marcus)
 7684: - Fixed bug #34678 (__call(), is_callable() and static methods). (Dmitry)
 7685: - Fixed bug #34676 (missing support for strtotime("midnight") and
 7686:   strtotime("noon")). (Derick)
 7687: - Fixed bug #34645 (ctype corrupts memory when validating large numbers).
 7688:  (Ilia)
 7689: - Fixed bug #34643 (wsdl default value has no effect). (Dmitry)
 7690: - Fixed bug #34623 (Crash in pdo_mysql on longtext fields). (Ilia)
 7691: - Fixed bug #34617 (zend_deactivate: objects_store used after
 7692:   zend_objects_store_destroy is called). (Dmitry)
 7693: - Fixed bug #34590 (User defined PDOStatement class can't implement
 7694:   methods). (Marcus)
 7695: - Fixed bug #34584 (Segfault with SPL autoload handler). (Marcus)
 7696: - Fixed bug #34581 (crash with mod_rewrite). (Tony, Ilia)
 7697: - Fixed bug #34565 (mb_send_mail does not fetch
 7698:   mail.force_extra_parameters). (Marco, Ilia)
 7699: - Fixed bug #34557 (php -m exits with "error" 1). (Johannes)
 7700: - Fixed bug #34518 (Unset doesn't separate container in CV). (Dmitry)
 7701: - Fixed bug #34505 (Possible memory corruption when unmangling properties
 7702:   with empty names). (Tony)
 7703: - Fixed bug #34478 (Incorrect parsing of url's fragment (#...)). (Dmitry)
 7704: - Fixed bug #34467 (foreach + __get + __set inconsistency). (Dmitry)
 7705: - Fixed bug #34456 (Possible crash inside pspell extension). (Ilia)
 7706: - Fixed bug #34453 (parsing http://www.w3.org/2001/xml.xsd exception). (Dmitry)
 7707: - Fixed bug #34450 (Segfault when calling mysqli_close() in destructor). (Tony)
 7708: - Fixed bug #34449 (ext/soap: XSD_ANYXML functionality not exposed). (Dmitry)
 7709: - Fixed bug #34420 (Possible crash inside curl_multi_remove_handle()). (Ilia)
 7710: - Fixed bug #34358 (Fatal error: Cannot re-assign $this). (Dmitry)
 7711: - Fixed bug #34331 (php crashes when variables_order is empty). (Ilia)
 7712: - Fixed bug #34321 (Possible crash in filter code). (Ilia)
 7713: - Fixed bug #34311 (unserialize() crashes with chars above 191 dec). (Nuno)
 7714: - Fixed bug #34310 (foreach($arr as $c->d => $x) crashes). (Dmitry)
 7715: - Fixed bug #34307 (on_modify handler not called to set the default value if
 7716:   setting from php.ini was invalid). (Andrei)
 7717: - Fixed bug #34306 (wddx_serialize_value() crashes with long array keys).
 7718:   (Jani)
 7719: - Fixed bug #34304 (date() doesn't have a modifier for ISO Week Day). (Derick)
 7720: - Fixed bug #34302 (date('W') do not return leading zeros for week 1 to 9).
 7721:   (Derick)
 7722: - Fixed bug #34299 (ReflectionClass::isInstantiable() returns true for abstract
 7723:   classes). (Marcus)
 7724: - Fixed bug #34284 (CLI phpinfo showing html on _SERVER["argv"]). (Jani)
 7725: - Fixed bug #34277 (array_filter() crashes with references and objects).
 7726:   (Dmitry)
 7727: - Fixed bug #34276 (setAttributeNS doesn't work with default namespace).
 7728:   (Rob)
 7729: - Fixed bug #34260 (Segfault with callbacks (array_map) + overloading).
 7730:   (Dmitry)
 7731: - Fixed bug #34257 (lib64 not handled correctly in ming extension). (Marcus)
 7732: - Fixed bug #34221 (Compiling xmlrpc as shared fails other parts). (Jani)
 7733: - Fixed bug #34216 (Segfault with autoload). (Marcus)
 7734: - Fixed bug #34199 (if($obj)/if(!$obj) inconsistency because of cast handler).
 7735:   (Dmitry, Alex)
 7736: - Fixed bug #34191 (ob_gzhandler does not enforce trailing \0). (Ilia)
 7737: - Fixed bug #34156 (memory usage remains elevated after memory limit is
 7738:   reached). (Ilia)
 7739: - Fixed bug #34148 (+,- and . not supported as parts of scheme). (Ilia)
 7740: - Fixed bug #34137 (assigning array element by reference causes binary mess).
 7741:   (Dmitry)
 7742: - Fixed bug #34103 (line numbering not maintained in dom document). (Rob)
 7743: - Fixed bug #34078 (Reflection API problems in methods with boolean or
 7744:   null default values). (Tony)
 7745: - Fixed bug #34068 (Numeric string as array key not cast to integer in
 7746:   wddx_deserialize()). (Ilia)
 7747: - Fixed bug #34064 (arr[] as param to function in class gives invalid
 7748:   opcode). (Dmitry)
 7749: - Fixed bug #34062 (Crash in catch block when many arguments are used).
 7750:   (Dmitry)
 7751: - Fixed bug #34052 (date('U') returns %ld not unix timestamp). (Nuno)
 7752: - Fixed bug #34045 (Buffer overflow with serialized object). (Dmitry)
 7753: - Fixed bug #34001 (pdo_mysql truncates numeric fields at 4 chars). (Ilia)
 7754: - Fixed bug #33999 (object remains object when cast to int). (Dmitry)
 7755: - Fixed bug #33996 (No information given for fatal error on passing invalid
 7756:   value to typed argument). (Dmitry)
 7757: - Fixed bug #33989 (extract($GLOBALS,EXTR_REFS) crashes PHP). (Dmitry)
 7758: - Fixed bug #33987 (php script as ErrorDocument causes crash in Apache 2).
 7759:   (Ilia)
 7760: - Fixed bug #33967 (misuse of Exception constructor doesn't display
 7761:   errorfile). (Jani)
 7762: - Fixed bug #33966 (Wrong use of reflectionproperty causes a segfault). (Tony)
 7763: - Fixed bug #33963 (mssql_bind() fails on input parameters). (Frank)
 7764: - Fixed bug #33958 (duplicate cookies and magic_quotes=off may cause a crash).
 7765:   (Ilia)
 7766: - Fixed bug #33957 (gmdate('W')/date('W') sometimes returns wrong week number).
 7767:   (Derick)
 7768: - Fixed bug #33940 (array_map() fails to pass by reference when called
 7769:   recursively). (Dmitry)
 7770: - Fixed bug #33917 (number_format() output with > 1 char separators). (Jani)
 7771: - Fixed bug #33904 (input array keys being escaped when magic quotes is off).
 7772:   (Ilia)
 7773: - Fixed bug #33903 (spl_autoload_register class method). (Marcus)
 7774: - Fixed bug #33899 (CLI: setting extension_dir=some/path extension=foobar.so
 7775:   does not work). (Jani)
 7776: - Fixed bug #33882 (CLI was looking for php.ini in wrong path). (Hartmut)
 7777: - Fixed bug #33869 (strtotime() problem with "+1days" format). (Ilia)
 7778: - Fixed bug #33841 (pdo sqlite driver forgets to update affected column
 7779:   count on execution of prepared statments). (Ilia)
 7780: - Fixed bug #33837 (Informix ESQL version numbering schema changed). (Jani)
 7781: - Fixed bug #33829 (mime_content_type() returns text/plain for gzip and bzip
 7782:   files). (Derick)
 7783: - Fixed bug #33802 (throw Exception in error handler causes crash). (Dmitry)
 7784: - Fixed bug #33771 (error_reporting falls to 0 when @ was used inside
 7785:   try/catch block). (Tony)
 7786: - Fixed bug #33760 (cURL needs to implement CRYPTO_callback functions to
 7787:   prevent locking). (Mike, Ilia)
 7788: - Fixed bug #33732 (Wrong behavior of constants in class and interface
 7789:   extending). (Dmitry)
 7790: - Fixed bug #33723 (php_value overrides php_admin_value). (Dmitry)
 7791: - Fixed bug #33720 (mb_encode_mimeheader does not work for multibyte
 7792:   chars). (Rui)
 7793: - Fixed bug #33710 (ArrayAccess objects does not initialize $this). (Dmitry)
 7794: - Fixed bug #33690 (Crash setting some ini directives in httpd.conf). (Rasmus)
 7795: - Fixed bug #33673 (Added detection for partially uploaded files). (Ilia)
 7796: - Fixed bug #33605 (substr_compare() crashes with negative offset and length).
 7797:   (Tony)
 7798: - Fixed bug #33597 (setcookie() "expires" date format doesn't comply with RFC).
 7799:   (Tony)
 7800: - Fixed bug #33588 (LDAP: RootDSE query not possible). (Jani)
 7801: - Fixed bug #33578 (strtotime() problem with "Oct17" format). (Derick)
 7802: - Fixed bug #33578 (strtotime() doesn't understand "11 Oct" format). (Derick)
 7803: - Fixed bug #33562 (date("") crashes). (Derick)
 7804: - Fixed bug #33558 (warning with nested calls to functions returning by
 7805:   reference). (Dmitry)
 7806: - Fixed bug #33536 (strtotime() defaults to now even on non time string).
 7807:   (Derick)
 7808: - Fixed bug #33532 (Different output for strftime() and date()). (Derick)
 7809: - Fixed bug #33523 (Memory leak in xmlrpc_encode_request()). (Ilia)
 7810: - Fixed bug #33520 (crash if safe_mode is on and session.save_path is changed).
 7811:   (Dmitry)
 7812: - Fixed bug #33512 (Add missing support for isset()/unset() overloading to
 7813:   complement the property get/set methods). (Dmitry)
 7814: - Fixed bug #33491 (crash after extending MySQLi internal class). (Tony)
 7815: - Fixed bug #33475 (cURL handle is not closed on curl_close(). (Ilia)
 7816: - Fixed bug #33469 (Compile error undefined reference to ifx_checkAPI). (Jani)
 7817: - Fixed bug #33433 (strtoll not available on Tru64). (Jani, Derick)
 7818: - Fixed bug #33427 (ext/odbc: check if unixODBC header file exists). (Jani)
 7819: - Fixed bug #33415 (strtotime() related bugs). (Derick)
 7820: - Fixed bug #33414 (Comprehensive list of incorrect days returned after
 7821:   strtotime() / date() tests). (Derick)
 7822: - Fixed bug #33389 (double free() when exporting a ReflectionClass). (Marcus)
 7823: - Fixed bug #33383 (crash when retrieving empty LOBs). (Tony)
 7824: - Fixed bug #33382 (array_reverse() fails after *sort()),  introduced by
 7825:   zend_hash_sort() optimizations in HEAD. (Tony)
 7826: - Fixed bug #33340 (CLI Crash when calling php:function from XSLT). (Rob)
 7827: - Fixed bug #33326 (Cannot build extensions with phpize on Macosx). (Jani)
 7828: - Fixed bug #33318 (throw 1; results in Invalid opcode 108/1/8). (Dmitry)
 7829: - Fixed bug #33312 (ReflectionParameter methods do not work correctly).
 7830:   (Dmitry)
 7831: - Fixed bug #33299 (php:function no longer handles returned dom objects).
 7832:   (Rob, Joe Orton)
 7833: - Fixed bug #33286 (nested array_walk() calls and user array compare functions
 7834:   broken; FCI cache). (Andrei, patch from m.bretz@metropolis-ag.de)
 7835: - Fixed bug #33277 (private method accessed by child class). (Dmitry)
 7836: - Fixed bug #33268 (iconv_strlen() works only with a parameter of < 3 in
 7837:   length). (Ilia)
 7838: - Fixed bug #33257 (array_splice() inconsistent when passed function instead of
 7839:   variable). (Dmitry)
 7840: - Fixed bug #33243 (ze1_compatibility_mode does not work as expected). (Dmitry)
 7841: - Fixed bug #33242 (Mangled error message when stream fails). (Derick)
 7842: - Fixed bug #33222 (segfault when CURL handle is closed in a callback). (Tony)
 7843: - Fixed bug #33214 (odbc_next_result does not signal SQL errors with
 7844:   2-statement SQL batches). (rich at kastle dot com, Tony)
 7845: - Fixed bug #33212 ([GCC 4]: 'zend_error_noreturn' aliased to external symbol
 7846:   'zend_error'). (Dmitry)
 7847: - Fixed bug #33210 (relax jpeg recursive loop protection). (Ilia)
 7848: - Fixed bug #33201 (Crash when fetching some data types). (Frank)
 7849: - Fixed bug #33200 (preg_replace(): magic_quotes_sybase=On makes 'e' modifier
 7850:   misbehave). (Jani)
 7851: - Fixed bug #33185 (--enable-session=shared does not build). (Jani)
 7852: - Fixed bug #33171 (foreach enumerates private fields declared in base
 7853:   classes). (Dmitry)
 7854: - Fixed bug #33167 (Possible crash inside pg_fetch_array()). (Ilia)
 7855: - Fixed bug #33164 (Soap extension incorrectly detects HTTP/1.1). (Ilia)
 7856: - Fixed bug #33156 (cygwin version of setitimer doesn't accept ITIMER_PROF).
 7857:   (Nuno)
 7858: - Fixed bug #33153 (crash in mssql_next result). (Frank)
 7859: - Fixed bug #33150 (shtool: insecure temporary file creation). (Jani)
 7860: - Fixed bug #33136 (method offsetSet in class extended from ArrayObject crash
 7861:   PHP). (Marcus)
 7862: - Fixed bug #33125 (imagecopymergegray() produces mosaic rainbow effect).
 7863:   (Pierre)
 7864: - Fixed bug #33116 (crash when assigning class name to global variable in
 7865:   __autoload). (Dmitry)
 7866: - Fixed bug #33090 (mysqli_prepare() doesn't return an error). (Georg)
 7867: - Fixed bug #33076 (str_ireplace() incorrectly counts result string length
 7868:   and may cause segfault). (Tony)
 7869: - Fixed bug #33072 (Add a safemode/open_basedir check for runtime
 7870:   "session.save_path" change using session_save_path() function). (Rasmus)
 7871: - Fixed bug #33070 (Improved performance of bzdecompress() by several orders
 7872:   of magnitude). (Ilia)
 7873: - Fixed bug #33059 (crash when moving xml attribute set in dtd). (Ilia)
 7874: - Fixed bug #33057 (Don't send extraneous entity-headers on a 304 as per
 7875:   RFC 2616 section 10.3.5) (Rasmus, Choitel)
 7876: - Fixed bug #33019 (socket errors cause memory leaks in php_strerror()).
 7877:   (jwozniak23 at poczta dot onet dot pl, Tony).
 7878: - Fixed bug #33017 ("make distclean" gives an error with VPATH build). (Jani)
 7879: - Fixed bug #33013 ("next month" was handled wrong while parsing dates).
 7880:   (Derick)
 7881: - Fixed bug #32993 (implemented Iterator function current() don't throw
 7882:   exception). (Dmitry)
 7883: - Fixed bug #32981 (ReflectionMethod::getStaticVariables() causes apache2.0.54
 7884:   seg fault). (Dmitry)
 7885: - Fixed bug #32956 (mysql_bind_result() doesn't support MYSQL_TYPE_NULL).
 7886:   (Georg)
 7887: - Fixed bug #32947 (Incorrect option for mysqli default password). (Georg)
 7888: - Fixed bug #32944 (Disabling session.use_cookies doesn't prevent reading
 7889:   session cookies). (Jani, Tony)
 7890: - Fixed bug #32941 (Sending structured SOAP fault kills a php). (Dmitry)
 7891: - Fixed bug #32937 (open_basedir looses trailing / in the limiter).
 7892:   (Adam Conrad)
 7893: - Fixed bug #32936 (http redirects URLs are not checked for control chars).
 7894:   (Ilia)
 7895: - Fixed bug #32933 (Cannot extend class "SQLiteDatabase"). (Marcus)
 7896: - Fixed bug #32932 (Oracle LDAP: ldap_get_entries(), invalid pointer). (Jani)
 7897: - Fixed bug #32930 (class extending DOMDocument doesn't clone properly). (Rob)
 7898: - Fixed bug #32924 (file included with "auto_prepend_file" can be included
 7899:   with require_once() or include_once()). (Stas)
 7900: - Fixed bug #32904 (pg_get_notify() ignores result_type parameter). (Tony)
 7901: - Fixed bug #32852 (Crash with singleton and __destruct when
 7902:   zend.ze1_compatibility_mode = On). (Dmitry)
 7903: - Fixed bug #32833 (Invalid opcode). (Dmitry)
 7904: - Fixed bug #32813 (parse_url() does not handle scheme-only urls properly).
 7905:   (Ilia)
 7906: - Fixed bug #32810 (temporary files not using plain file wrapper). (Ilia)
 7907: - Fixed bug #32809 (Missing T1LIB support on Windows). (Edin)
 7908: - Fixed bug #32802 (General cookie overrides more specific cookie). (Ilia)
 7909: - Fixed bugs #32800, #32830 (ext/odbc: Problems with 64bit systems). (Jani)
 7910: - Fixed bug #32799 (crash: calling the corresponding global var during the
 7911:   destruct). (Dmitry)
 7912: - Fixed bug #32776 (SOAP doesn't support one-way operations). (Dmitry)
 7913: - Fixed bug #32773 (GMP functions break when second parameter is 0). (Stas)
 7914: - Fixed bug #32759 (incorrect determination of default value (COM)). (Wez)
 7915: - Fixed bug #32758 (Cannot access safearray properties in VB6 objects). (Wez)
 7916: - Fixed bug #32755 (Segfault in replaceChild() when DocumentFragment has no
 7917:   children). (Rob)
 7918: - Fixed bug #32753 (Undefined constant SQLITE_NOTADB). (Ilia)
 7919: - Fixed bug #32742 (segmentation fault when the stream with a wrapper
 7920:   is not closed). (Tony, Dmitry)
 7921: - Fixed bug #32699 (pg_affected_rows() was defined when it was not available).
 7922:   (Derick)
 7923: - Fixed bug #32686 (Require/include file in destructor causes segfault).
 7924:   (Marcus)
 7925: - Fixed bug #32682 (ext/mssql: Error on module shutdown when called from
 7926:   activescript). (Frank)
 7927: - Fixed bug #32674 (exception in iterator causes crash). (Dmitry)
 7928: - Fixed bug #32660 (Assignment by reference causes crash when field access is
 7929:   overloaded (__get)). (Dmitry)
 7930: - Fixed bug #32647 (Using register_shutdown_function() with invalid callback
 7931:   can crash PHP). (Jani)
 7932: - Fixed bug #32615 (Segfault in replaceChild() using fragment when
 7933:   previousSibling is NULL). (Rob)
 7934: - Fixed bug #32613 (ext/snmp: use of snmp_shutdown() causes snmpapp.conf
 7935:   access errors). (Jani, ric at arizona dot edu)
 7936: - Fixed bug #32608 (html_entity_decode() converts single quotes even if
 7937:   ENT_NOQUOTES is given). (Ilia)
 7938: - Fixed bug #32596 (Segfault/Memory Leak by getClass (etc) in __destruct).
 7939:   (Dmitry)
 7940: - Fixed bug #32591 (ext/mysql: Unsatisfied symbol: ntohs with HP-UX). (Jani)
 7941: - Fixed bug #32589 (possible crash inside imap_mail_compose() function).
 7942:   (Ilia)
 7943: - Fixed bug #32589 (Possible crash inside imap_mail_compose, with charsets).
 7944:   (Ilia)
 7945: - Fixed bug #32587 (Apache2: errors sent to error_log do not include
 7946:   timestamps). (Jani)
 7947: - Fixed bug #32560 (configure looks for incorrect db2 library). (Tony)
 7948: - Fixed bug #32553 (mmap loads only the 1st 2000000 bytes on Win32). (Ilia)
 7949: - Fixed bug #32533 (proc_get_status() returns the incorrect process status).
 7950:   (Ilia)
 7951: - Fixed bug #32530 (chunk_split() does not append endstr if chunklen is
 7952:   longer then the original string). (Ilia)
 7953: - Fixed bug #32491 (File upload error - unable to create a temporary file).
 7954:   (Uwe Schindler)
 7955: - Fixed bug #32455 (wrong setting property to unset value). (Dmitry)
 7956: - Fixed bug #32429 (method_exists() always return TRUE if __call method
 7957:   exists). (Dmitry)
 7958: - Fixed bug #32428 (The @ warning error suppression operator is broken).
 7959:   (Dmitry)
 7960: - Fixed bug #32427 (Interfaces are not allowed 'static' access modifier).
 7961:   (Dmitry)
 7962: - Fixed bug #32405 (mysqli::fetch() returns bad data - 64bit problem).
 7963:   (Andrey)
 7964: - Fixed bug #32296 (get_class_methods() output has changed between 5.0.2 and
 7965:   5.0.3). (Dmitry)
 7966: - Fixed bug #32282 (Segfault in mysqli_fetch_array on 64-bit). (Georg)
 7967: - Fixed bug #32245 (xml_parser_free() in a function assigned to the xml
 7968:   parser gives a segfault). (Rob)
 7969: - Fixed bug #32179 (xmlrpc_encode() segfaults with recursive references).
 7970:   (Tony)
 7971: - Fixed bug #32171 (Userspace stream wrapper crashes PHP). (Tony, Dmitry)
 7972: - Fixed bug #32160 (copying a file into itself leads to data loss). (Ilia)
 7973: - Fixed bug #32139 (SOAP client does not auto-handle base64 encoding). (Ilia)
 7974: - Fixed bug #32109 ($_POST is not populated in multi-threaded environment).
 7975:   (Moriyoshi)
 7976: - Fixed bug #32080 (segfault when assigning object to itself with
 7977:   zend.ze1_compatibility_mode=On). (Dmitry)
 7978: - Fixed bug #32021 (Crash caused by range('', 'z')). (Derick)
 7979: - Fixed bug #32013 (ext/mysqli bind_result causes fatal error: memory limit).
 7980:   (Andrey)
 7981: - Fixed bug #32010 (Memory leak in mssql_fetch_batch). (fmk)
 7982: - Fixed bug #32009 (crash when mssql_bind() is called more than once). (Frank)
 7983: - Fixed bug #31971 (ftp_login fails on some SSL servers).
 7984:   (frantisek at augusztin dot com)
 7985: - Fixed bug #31887 (ISAPI: Custom 5xx error does not return correct HTTP
 7986:   response message). (Jani)
 7987: - Fixed bug #31828 (Crash with zend.ze1_compatibility_mode=On). (Dmitry)
 7988: - Fixed bug #31668 (multi_query works exactly every other time - multi query
 7989:   d/e flag global and not per connection). (Andrey)
 7990: - Fixed bug #31636 (another crash when echoing a COM object). (Wez)
 7991: - Fixed bug #31583 (php_std_date() uses short day names in non-y2k_compliance
 7992:   mode). (mike at php dot net)
 7993: - Fixed bug #31525 (object reference being dropped. $this getting lost).
 7994:  (Stas, Dmitry)
 7995: - Fixed bug #31502 (Wrong deserialization from session when using WDDX
 7996:   serializer). (Dmitry)
 7997: - Fixed bug #31478 (segfault with empty() / isset()). (Moriyoshi)
 7998: - Fixed bug #31465 (False warning in unpack() when working with *). (Ilia)
 7999: - Fixed bug #31363 (broken non-blocking flock()). (ian at snork dot net)
 8000: - Fixed bug #31358 (Older GCC versions do not provide portable va_copy()).
 8001:   (Jani)
 8002: - Fixed bug #31341 (escape on curly inconsistent). (Dmitry)
 8003: - Fixed bug #31256 (PHP_EVAL_LIBLINE configure macro does not handle
 8004:   -pthread). (Jani)
 8005: - Fixed bug #31213 (Side effects caused by fix of bug #29493). (Dmitry)
 8006: - Fixed bug #31177 (memory leaks and corruption because of incorrect
 8007:   refcounting). (Dmitry)
 8008: - Fixed bug #31158 (array_splice on $GLOBALS crashes). (Dmitry)
 8009: - Fixed bug #31054 (safe_mode & open_basedir checks only check first
 8010:   include_path value). (Ilia)
 8011: - Fixed bug #31033 (php:function(string, nodeset) with xsl:key crashes PHP).
 8012:   (Rob)
 8013: - Fixed bug #30961 (Wrong line number in ReflectionClass getStartLine()).
 8014:   (Dmitry)
 8015: - Fixed bug #30889 (Conflict between __get/__set and ++ operator). (Dmitry)
 8016: - Fixed bug #30833 (array_count_values() modifying input array). (Tony)
 8017: - Fixed bug #30828 (debug_backtrace() reports incorrect class in overridden
 8018:   methods). (Dmitry)
 8019: - Fixed bug #30820 (static member conflict with $this->member silently
 8020:   ignored). (Dmitry)
 8021: - Fixed bug #30819 (Better support for LDAP SASL bind). (Jani)
 8022: - Fixed bug #30791 (magic methods (__sleep/__wakeup/__toString) call
 8023:   __call if object is overloaded). (Dmitry)
 8024: - Fixed bug #30707 (Segmentation fault on exception in method).
 8025:   (Stas, Dmitry)
 8026: - Fixed bug #30702 (cannot initialize class variable from class constant).
 8027:   (Dmitry)
 8028: - Fixed bug #30578 (Output buffers flushed before calling __destruct()
 8029:   functions). (Jani)
 8030: - Fixed bug #30519 (Interface not existing says Class not found). (Dmitry)
 8031: - Fixed bug #30407 (Strange behavior of default arguments). (Dmitry)
 8032: - Fixed bug #30394 (Assignment operators yield wrong result with __get/__set).
 8033:   (Dmitry)
 8034: - Fixed bug #30332 (zend.ze1_compatibility_mode isn't fully compatible with
 8035:   array_push()). (Dmitry)
 8036: - Fixed bug #30162 (Catching exception in constructor causes lose of
 8037:   $this). (Dmitry)
 8038: - Fixed bug #30140 (Problem with array in static properties). (Dmitry)
 8039: - Fixed bug #30126 (Enhancement for error message for abstract classes).
 8040:   (Marcus)
 8041: - Fixed bug #30096 (gmmktime does not return the current time). (Derick)
 8042: - Fixed bug #30080 (Passing array or non array of objects). (Dmitry)
 8043: - Fixed bug #30052 (Crash on shutdown after odbc_pconnect()). (Edin)
 8044: - Fixed bug #29983 (PHP does not explicitly set mime type & charset). (Ilia)
 8045: - Fixed bug #29975 (memory leaks when set_error_handler() is used inside error
 8046:   handler). (Tony)
 8047: - Fixed bug #29971 (variables_order behavior). (Dmitry)
 8048: - Fixed bug #29944 (Function defined in switch, crashes). (Dmitry)
 8049: - Fixed bug #29896 (Backtrace argument list out of sync). (Dmitry)
 8050: - Fixed bug #29728 (Reflection API Feature: Default parameter value). (Marcus)
 8051: - Fixed bug #29689 (default value of protected member overrides default value
 8052:   of private and other private variable problems in inherited classes). (Stas)
 8053: - Fixed bug #29683 (headers_list() returns empty array). (Tony)
 8054: - Fixed bug #29583 (crash when echoing a COM object). (M.Sisolak, Wez)
 8055: - Fixed bug #29522 (accessing properties without connection). (Georg)
 8056: - Fixed bug #29361 (var_export() producing invalid code). (Derick)
 8057: - Fixed bug #29338 (unencoded spaces get ignored after certain tags). (Ilia)
 8058: - Fixed bug #29335 (fetch functions now use MYSQLI_BOTH as default). (Georg)
 8059: - Fixed bug #29334 (win32 mail() provides incorrect Date: header). (Jani)
 8060: - Fixed bug #29311 (calling parent constructor in mysqli). (Georg)
 8061: - Fixed bug #29268 (__autoload() not called with Reflection->getClass()).
 8062:   (Dmitry)
 8063: - Fixed bug #29256 (SOAP HTTP Error when envelop size is more than 24345
 8064:   bytes). (Dmitry, Wez)
 8065: - Fixed bug #29253 (array_diff with $GLOBALS argument fails). (Dmitry)
 8066: - Fixed bug #29236 (memory error when wsdl-cache is enabled). (Dmitry)
 8067: - Fixed bug #29210 (Function: is_callable - no support for private and
 8068:   protected classes). (Dmitry)
 8069: - Fixed bug #29109 (SoapFault exception: [WSDL] Out of memory). (Dmitry)
 8070: - Fixed bug #29104 (Function declaration in method doesn't work). (Dmitry)
 8071: - Fixed bug #29061 (soap extension segfaults). (Dmitry)
 8072: - Fixed bug #29015 (Incorrect behavior of member vars(non string ones)-numeric
 8073:   mem vars and others). (Dmitry)
 8074: - Fixed bug #28985 (__getTypes() returning nothing on complex WSDL). (Dmitry)
 8075: - Fixed bug #28969 (Wrong data encoding of special characters). (Dmitry)
 8076: - Fixed bug #28839 (SIGSEGV in interactive mode (php -a)).
 8077:   (kameshj at fastmail dot fm)
 8078: - Fixed bug #28605 (Need to use -[m]ieee option for Alpha CPUs). (Jani)
 8079: - Fixed bug #28568 (SAPI::known_post_content_types is not thread safe).
 8080:   (Moriyoshi)
 8081: - Fixed bug #28377 (debug_backtrace is intermittently passing args). (Dmitry)
 8082: - Fixed bug #28355 (glob wont error if dir is not readable). (Hartmut)
 8083: - Fixed bug #28072 (static array with some constant keys will be incorrectly
 8084:   ordered). (Dmitry)
 8085: - Fixed bug #27908 (xml default_handlers not being called). (Rob)
 8086: - Fixed bug #27598 (list() array key assignment causes HUGE memory leak).
 8087:   (Dmitry)
 8088: - Fixed bug #27268 (Bad references accentuated by clone). (Dmitry)
 8089: - Fixed bug #26456 (Wrong results from Reflection-API getDocComment() when
 8090:   called via STDIN). (Dmitry)
 8091: - Fixed bug #25922 (In error handler, modifying 5th arg (errcontext) may
 8092:   result in seg fault). (Dmitry)
 8093: - Fixed bug #25359 (array_multisort() doesn't work in a function if array is
 8094:   global or reference). (Dmitry)
 8095: - Fixed bug #22836 (returning reference to uninitialized variable). (Dmitry)
 8096: - Fixed bug #21306 (ext/sesssion: catch bailouts of write handler during
 8097:   RSHUTDOWN). (Jani, Xuefer at 21cn dot com)
 8098: - Fixed bug #15854 (boolean ini options may be incorrectly displayed as Off
 8099:   when they are On). (Tony)
 8100: - Fixed bugs #14561, #20382, #26090, #26320, #28024, #30532, #32086, #32270,
 8101:   #32555, #32588, #33056 (strtotime() related bugs). (Derick)
 8102: 
 8103: 31 Mar 2005, PHP 5.0.4
 8104: - Added SNMPv2 support. (harrie)
 8105: - Added Oracle Instant Client support. (cjbj at hotmail dot com, Tony)
 8106: - Added length and charsetnr for field array and object in mysqli. (Georg)
 8107: - Added checks for negative values to gmp_sqrt(), gmp_powm(), gmp_sqrtrem()
 8108:   and gmp_fact() to prevent SIGFPE. (Tony)
 8109: - Changed foreach() to throw an exception if IteratorAggregate::getIterator()
 8110:   does not return an Iterator. (Marcus)
 8111: - Changed phpize not to require libtool. (Jani)
 8112: - Updated bundled oniguruma library (used for multibyte regular expression)
 8113:   to 3.7.0. (Moriyoshi)
 8114: - Updated bundled libmbfl library (used for multibyte functions). (Moriyoshi)
 8115:   Fixed bugs:
 8116:   . Bug #32311 (mb_encode_mimeheader() does not properly escape characters)
 8117:   . Bug #32063 (mb_convert_encoding ignores named entity 'alpha')
 8118:   . Bug #31911 (mb_decode_mimeheader() is case-sensitive to hex escapes)
 8119:   . bug #30573 (compiler warnings in libmbfl due to invalid type cast)
 8120:   . Bug #30549 (incorrect character translations for some ISO8859 charsets).
 8121: - Fixed bug preventing from building oci8 as shared.
 8122:   (stanislav dot voroniy at portavita dot nl, Tony)
 8123: - Fixed a bug in mysql_affected_rows and mysql_stmt_affected_rows when the
 8124:   api function returns -1 (Georg)
 8125: - Fixed several leaks in ext/browscap and sapi/embed. (Andrei)
 8126: - Fixed several leaks in ext/filepro. (Tony)
 8127: - Fixed build system to always use bundled libtool files. (Jani)
 8128: - Fixed a bug in mysqli_stmt_execute() (type conversion with NULL values).
 8129:   (Georg)
 8130: - Fixed segfault in mysqli_fetch_field_direct() when invalid field offset
 8131:   is passed. (Tony)
 8132: - Fixed posix_getsid() & posix_getpgid() to return sid & pgid instead
 8133:   of true. (Tony)
 8134: - Fixed bug #32394 (offsetUnset() segfaults in a foreach). (Marcus)
 8135: - Fixed bug #32373 (segfault in bzopen() if supplied path to non-existent
 8136:   file). (Tony)
 8137: - Fixed bug #32326 (Check values of Connection/Transfer-Encoding
 8138:   case-incentively in SOAP extension). (Ilia)
 8139: - Fixed bug #32290 (call_user_func_array() calls wrong class method within
 8140:   child class). (Marcus)
 8141: - Fixed bug #32238 (spl_array.c: void function cannot return value). (Johannes)
 8142: - Fixed bug #32210 (proc_get_status() sets "running" always to true). (Ilia)
 8143: - Fixed bug #32200 (Prevent using both --with-apxs2 and --with-apxs2filter).
 8144:   (Jani)
 8145: - Fixed bug #32134 (Overloading offsetGet/offsetSet). (Marcus)
 8146: - Fixed bug #32130 (ArrayIterator::seek() does not throw an Exception on
 8147:   invalid index). (Marcus)
 8148: - Fixed bug #32115 (dateTime SOAP encoding of timezone incorrect). (Dmitry)
 8149: - Fixed bug #32081 (in mysqli default socket value is not being used). (Ilia)
 8150: - Fixed bug #32021 (Crash caused by range('', 'z')). (Derick)
 8151: - Fixed bug #32011 (Fragments which replaced Nodes are not globaly useable).
 8152:   (Rob)
 8153: - Fixed bug #32001 (xml_parse_into_struct() function exceeds maximum
 8154:   execution time). (Rob, Moriyoshi)
 8155: - Fixed bug #31980 (Unicode exif data not available on Windows). (Edin)
 8156: - Fixed bug #31960 (msql_fetch_row() and msql_fetch_array() dropping columns
 8157:   with NULL values). (Daniel Convissor)
 8158: - Fixed bug #31878 (Segmentation fault using clone keyword on nodes). (Rob)
 8159: - Fixed bug #31858 (--disable-cli does not force --without-pear). (Jani)
 8160: - Fixed bug #31842 (*date('r') does not return RFC2822 conforming date string).
 8161:   (Jani)
 8162: - Fixed bug #31832 (SOAP encoding problem with complex types in WSDL mode with
 8163:   multiple parts). (Dmitry)
 8164: - Fixed bug #31797 (exif_read_data() uses too low nesting limit). (Ilia)
 8165: - Fixed bug #31796 (readline completion handler does not handle empty return
 8166:   values). (Ilia)
 8167: - Fixed bug #31792 (getrusage() does not provide ru_nswap value). (Ilia)
 8168: - Fixed bug #31755 (Cannot create SOAP header in no namespace). (Dmitry)
 8169: - Fixed bug #31754 (dbase_open() fails for mode = 1). (Mehdi, Derick)
 8170: - Fixed bug #31751 (pg_parameter_status() missing on Windows). (Edin)
 8171: - Fixed bug #31747 (SOAP Digest Authentication doesn't work with
 8172:   "HTTP/1.1 100 Continue" response). (Dmitry)
 8173: - Fixed bug #31732 (mb_get_info() causes segfault when no parameters
 8174:   specified). (Tony)
 8175: - Fixed bug #31710 (Wrong return values for mysqli_autocommit/commit/rollback).
 8176:   (Georg)
 8177: - Fixed bug #31705 (parse_url() does not recognize http://foo.com#bar). (Ilia)
 8178: - Fixed bug #31695 (Cannot redefine endpoint when using WSDL). (Dmitry)
 8179: - Fixed bug #31684 (dio_tcsetattr(): misconfigured termios settings).
 8180:   (elod at itfais dot com)
 8181: - Fixed bug #31683 (changes to $name in __get($name) override future
 8182:   parameters) (Dmitry)
 8183: - Fixed bug #31699 (unserialize() float problem on non-English locales). (Ilia)
 8184: - Fixed bug #31562 (__autoload() problem with static variables). (Marcus)
 8185: - Fixed bug #31651 (ReflectionClass::getDefaultProperties segfaults with arrays).
 8186:   (Marcus)
 8187: - Fixed bug #31623 (OCILogin does not support password grace period).
 8188:   (daniel dot beet at accuratesoftware dot com, Tony)
 8189: - Fixed bug #31527 (crash in msg_send() when non-string is stored without
 8190:   being serialized). (Ilia)
 8191: - Fixed bug #31515 (Improve performance of scandir() by factor of 10 or so). (Ilia)
 8192: - Fixed bug #31514 (open_basedir uses path_translated rather then cwd for .
 8193:   translation). (Ilia)
 8194: - Fixed bug #31480 (Possible infinite loop in imap_mail_compose()). (Ilia)
 8195: - Fixed bug #31479 (Fixed crash in chunk_split(), when chunklen > strlen). (Ilia)
 8196: - Fixed bug #31454 (session_set_save_handler crashes PHP when supplied
 8197:   non-existent object ref). (Tony)
 8198: - Fixed bug #31444 (Memory leak in zend_language_scanner.c).
 8199:   (hexer at studentcenter dot org)
 8200: - Fixed bug #31442 (unserialize broken on 64-bit systems). (Marcus)
 8201: - Fixed bug #31440 ($GLOBALS can be overwritten via GPC when register_globals
 8202:   is enabled). (Ilia)
 8203: - Fixed bug #31422 (No Error-Logging on SoapServer-Side). (Dmitry)
 8204: - Fixed bug #31413 (curl POSTFIELDS crashes on 64-bit platforms). (Joe)
 8205: - Fixed bug #31396 (compile fails with gd 2.0.33 without freetype). (Jani)
 8206: - Fixed bug #31371 (highlight_file() trims new line after heredoc). (Ilia)
 8207: - Fixed bug #31361 (simplexml/domxml segfault when adding node twice). (Rob)
 8208: - Fixed bug #31348 (CachingIterator::rewind() leaks). (Marcus)
 8209: - Fixed bug #31346 (ArrayIterator::next segfaults). (Marcus)
 8210: - Fixed bug #31190 (Unexpected warning then exception is thrown from
 8211:   call_user_func_array()). (phpbugs at domain51 dot net, Dmitry)
 8212: - Fixed bug #31142 (imap_mail_compose() fails to generate correct output). (Ilia)
 8213: - Fixed bug #31139 (XML Parser Functions seem to drop &amp; when parsing). (Rob)
 8214: - Fixed bug #31398 (When magic_guotes_gpc are enabled filenames with ' get cutoff).
 8215:   (Ilia)
 8216: - Fixed bug #31288 (Possible crash in mysql_fetch_field(), if mysql_list_fields()
 8217:   was not called previously). (Ilia)
 8218: - Fixed bug #31107, #31110, #31111, #31249 (Compile failure of zend_strtod.c).
 8219:   (Jani)
 8220: - Fixed bug #31110 (PHP 4.3.10 does not compile on Tru64 UNIX 5.1B). (Derick)
 8221: - Fixed bug #31107 (Compile failure on Solaris 9 (Intel) and gcc 3.4.3). (Derick)
 8222: - Fixed bug #31103 (Better error message when c-client cannot be found). (Ilia)
 8223: - Fixed bug #31101 (missing kerberos header file path with --with-openssl). (Jani)
 8224: - Fixed bug #31098 (isset() / empty() incorrectly return true in dereference of
 8225:   a string type). (Moriyoshi)
 8226: - Fixed bug #31087 (broken php_url_encode_hash macro). (Ilia)
 8227: - Fixed bug #31072 (var_export() does not output an array element with an empty
 8228:   string key). (Derick)
 8229: - Fixed bug #31060 (imageftbbox() does not use linespacing parameter). (Jani)
 8230: - Fixed bug #31056 (php_std_date() returns invalid formatted date if
 8231:   y2k_compliance is On). (Ilia)
 8232: - Fixed bug #31055 (apache2filter: per request leak proportional to the full
 8233:   path of the request URI). (kameshj at fastmail dot fm)
 8234: - Fixed bug #30901 (can't send cookies with soap envelop). (Dmitry)
 8235: - Fixed bug #30871 (Misleading warning message for array_combine()). (Andrey)
 8236: - Fixed bug #30868 (evaluated pointer comparison in mbregex causes compile
 8237:   failure). (Moriyoshi)
 8238: - Fixed bug #30862 (Static array with boolean indexes). (Marcus)
 8239: - Fixed bug #30726 (-.1 like numbers are not being handled correctly). (Ilia)
 8240: - Fixed bug #30725 (PHP segfaults when an exception is thrown in getIterator()
 8241:   within foreach). (Marcus)
 8242: - Fixed bug #30609 (cURL functions bypass open_basedir). (Jani)
 8243: - Fixed bug #30446 (apache2handler: virtual() includes files out of sequence)
 8244: - Fixed bug #30430 (odbc_next_result() doesn't bind values and that results
 8245:   in segfault). (pdan-php at esync dot org, Tony)
 8246: - Fixed bug #30266 (Invalid opcode 137/1/8). (Marcus)
 8247: - Fixed bug #30120 imagettftext() and imagettfbbox() accept too many
 8248:   parameters). (Jani)
 8249: - Fixed bug #30106 (SOAP cannot not parse 'ref' element. Causes Uncaught
 8250:   SoapFault exception). (Dmitry)
 8251: - Fixed bug #29989 (type re_registers redefined in oniguruma.h). (Moriyoshi)
 8252: - Fixed bug #28803 (enabled debug causes bailout errors with CLI on AIX
 8253:   because of fflush() called on already closed filedescriptor). (Tony)
 8254: - Fixed bug #29767 (Weird behaviour of __set($name, $value)). (Dmitry)
 8255: - Fixed bug #29733 (printf() handles repeated placeholders wrong).
 8256:   (bugs dot php dot net at bluetwanger dot de, Ilia)
 8257: - Fixed bug #29424 (width and height inverted for JPEG2000 files). (Ilia)
 8258: - Fixed bug #29329 (configure for mysqli with shared doesn't work). (Georg)
 8259: - Fixed bug #29136 (make test - libtool failure on MacOSX). (Jani)
 8260: - Fixed bug #28976 (mail(): use "From:" from headers if sendmail_from is empty).
 8261:   (Jani)
 8262: - Fixed bug #28930 (PHP sources pick wrong header files generated by bison).
 8263:   (eggert at gnu dot org, Jani)
 8264: - Fixed bug #28840 (__destruct of a class that extends mysqli not called).
 8265:   (Marcus)
 8266: - Fixed bug #28804 (ini-file section parsing pattern is buggy).
 8267:   (wendland at scan-plus dot de)
 8268: - Fixed bug #28451 (corrupt EXIF headers have unlimited recursive IFD directory
 8269:   entries). (Andrei)
 8270: - Fixed bug #28444 (Cannot access undefined property for object with overloaded
 8271:   property access). (Dmitry)
 8272: - Fixed bug #28442 (Changing a static variables in a class changes it across
 8273:   sub/super classes.) (Marcus)
 8274: - Fixed bug #28324 (HTTP_SESSION_VARS appear when register_long_arrays is
 8275:   Off). (Tony)
 8276: - Fixed bug #28074 (FastCGI: stderr should be written in a FCGI stderr stream).
 8277:   (chris at ex-parrot dot com)
 8278: - Fixed bug #28067 (partially incorrect utf8 to htmlentities mapping). (Derick,
 8279:   Benjamin Greiner)
 8280: - Fixed bug #28041 (SOAP HTTP Digest Access Authentication). (Dmitry)
 8281: - Fixed bug #27633 (Double \r problem on ftp_get in ASCII mode on Win32). (Ilia)
 8282: - Fixed bug #18613 (Multiple OUs in x509 certificate not handled properly).
 8283:   (Jani)
 8284: 
 8285: 15 Dec 2004, PHP 5.0.3
 8286: - Added the %F modifier to *printf to render a non-locale-aware representation
 8287:   of a float with the . as decimal seperator. (Derick)
 8288: - Fixed error handling in mysqli_multi_query. (Georg)
 8289: - Extended the functionality of is_subclass_of() to accept either a class name
 8290:   or an object as first parameter. (Andrey)
 8291: - Fixed potential problems with unserializing invalid serialize data. (Marcus)
 8292: - Fixed bug #32076 (ReflectionMethod::isDestructor() always return true).
 8293:   (Derick, Tony)
 8294: - Fixed bug #31034 (Problem with non-existing iconv header file). (Derick)
 8295: - Fixed bug #30995 (snmp extension does not build with net-snmp 5.2). (Ilia)
 8296: - Fixed bug #30994 (SOAP server unable to handle request with references).
 8297:   (Dmitry)
 8298: - Fixed bug #30990 (allow popen() on *NIX to accept 'b' flag). (Ilia)
 8299: - Fixed bug #30967 (properties in extended mysqli classes don't work). (Georg)
 8300: - Fixed bug #30928 (When Using WSDL, SoapServer doesn't handle private or
 8301:   protected properties). (Dmitry)
 8302: - Fixed bug #30922 (reflective functions crash PHP when interfaces extend
 8303:   themselves). (Tony, Dmitry)
 8304: - Fixed bug #30904 (segfault when recording soapclient into session). (Tony,
 8305:   Dmitry)
 8306: - Fixed bug #30890 (MySQLi testsuite)
 8307: - Fixed bug #30856 (ReflectionClass::getStaticProperties segfaults). (Marcus)
 8308: - Fixed bug #30832 ("!" stripped off comments in xml parser). (Rob)
 8309: - Fixed bug #30799 (SoapServer doesn't handle private or protected properties).
 8310:   (Dmitry)
 8311: - Fixed bug #30783 (Apache crash when using ReflectionFunction::
 8312:   getStaticVariables()). (Marcus)
 8313: - Fixed bug #30750 (Meaningful error message when upload directory is not
 8314:   accessible). (Ilia)
 8315: - Fixed bug #30685 (Malformed SOAPClient http header reequest). (Dmitry)
 8316: - Fixed bug #30672 (Problem handling exif data in jpeg images at unusual
 8317:   places). (Marcus)
 8318: - Fixed bug #30658 (Ensure that temporary files created by GD are removed).
 8319:   (Ilia)
 8320: - Fixed bug #30645 (def. multi result set support for mysql_connect). (Georg)
 8321: - Fixed bug #30637 (compile with pear error). (Antony)
 8322: - Fixed bug #30587 (array_multisort doesn't separate zvals before
 8323:   changing them). (Tony)
 8324: - Fixed bug #30572 (crash when comparing SimpleXML attribute to a boolean).
 8325:   (Andi)
 8326: - Fixed bug #30566 (attribute namespace URIs are inconsistent when parsing).
 8327:   (Rob)
 8328: - Fixed bug #30490 (PEAR installation fails). (Antony)
 8329: - Fixed bug #30475 (curl_getinfo() may crash in some situations). (Ilia)
 8330: - Fixed bug #30442 (segfault when parsing ?getvariable[][ ). (Tony)
 8331: - Fixed bug #30388 (rename across filesystems loses ownership and
 8332:   permission info). (Tony)
 8333: - Fixed bug #30387 (stream_socket_client async connect was broken).
 8334:   (vnegrier at esds dot com, Wez).
 8335: - Fixed bug #30381 (Strange results with get_class_vars()). (Marcus)
 8336: - Fixed bug #30375 (cal_info() does not work without a parameter). (Ilia)
 8337: - Fixed bug #30362 (stream_get_line() not handling end string correctly).
 8338:   (Ilia)
 8339: - Fixed bug #30359 (SOAP client requests have no port in "Host" field).
 8340:   (Dmitry)
 8341: - Fixed bug #30356 (str_ireplace() does not work on all strings). (Ilia)
 8342: - Fixed bug #30344 (Reflection::getModifierNames() returns too long strings).
 8343:   (Marcus)
 8344: - Fixed bug #30329 (Error Fetching http body, No Content-Length, connection
 8345:   closed or chunked data). (Dmitry)
 8346: - Fixed bug #30282 (segfault when using unknown/unsupported
 8347:   session.save_handler and/or session.serialize_handler). (Tony)
 8348: - Fixed bug #30281 (Prevent non-wbmp images from being detected as such).
 8349:   (Ilia)
 8350: - Fixed bug #30276 (Possible crash in ctype_digit on large numbers). (Ilia)
 8351: - Fixed bug #30230 (exception handler not working with objects). (Marcus)
 8352: - Fixed bug #30224 (Sybase date strings are sometimes not null terminated).
 8353:   (Ilia)
 8354: - Fixed bug #30175 (SOAP results aren't parsed correctly). (Dmitry)
 8355: - Fixed bug #30147 (OO sqlite_fetch_object did not reset error handler). (Wez)
 8356: - Fixed bug #30133 (get_current_user() crashes on Windows). (Edin)
 8357: - Fixed bug #30061 (xml_set_start_namespace_decl_handler not called). (Rob)
 8358: - Fixed bug #30057 (did not detect IPV6 on FreeBSD 4.1). (Wez)
 8359: - Fixed bug #30042 (strtotime does not use second param). (Derick)
 8360: - Fixed bug #30027 (Possible crash inside ftp_get()).
 8361:   (cfield at affinitysolutions dot com)
 8362: - Fixed bug #29954 (array_reduce segfaults when initial value is array). (Tony)
 8363: - Fixed bug #29883 (isset gives invalid values on strings). (Tony, Dmitry)
 8364: - Fixed bug #29801 (Set limit on the size of mmapable data). (Ilia)
 8365: - Fixed bug #29557 (strtotime error). (Derick)
 8366: - Fixed bug #29418 (double free when openssl_csr_new fails).
 8367:   (Kamesh Jayachandran).
 8368: - Fixed bug #29385 (Soapserver always uses std class). (David, Dmitry)
 8369: - Fixed bug #29211 (SoapClient doesn't request wsdl through proxy). (Rob)
 8370: - Fixed bug #28817 (Var problem when extending domDocument). (Georg)
 8371: - Fixed bug #28599 (strtotime fails with zero base time). (Derick)
 8372: - Fixed bug #28598 (Lost support for MS Symbol fonts). (Pierre)
 8373: - Fixed bug #28220 (mb_strwidth() returns wrong width values for some hangul
 8374:   characters). (Moriyoshi)
 8375: - Fixed bug #28228 (NULL decimal separator is not being handled correctly).
 8376:   (Ilia)
 8377: - Fixed bug #28209 (strtotime("now")). (Derick)
 8378: - Fixed bug #27798 (private / protected variables not exposed by
 8379:   get_object_vars() inside class). (Marcus)
 8380: - Fixed bug #27728 (Can't return within a zend_try {} block or the previous
 8381:   bailout state isn't restored. (Andi)
 8382: - Fixed bug #27183 (Userland stream wrapper segfaults on stream_write).
 8383:   (Christian)
 8384: 
 8385: 23 Sep 2004, PHP 5.0.2
 8386: - Added new boolean (fourth) parameter to array_slice() that turns on the
 8387:   preservation of keys in the returned array. (Derick)
 8388: - Added the sorting flag SORT_LOCALE_STRING to the sort() functions which makes
 8389:   them sort based on the current locale. (Derick)
 8390: - Added interface_exists() and make class_exists() only return true for real
 8391:   classes. (Andrey)
 8392: - Added PHP_EOL constant that contains the OS way of representing newlines.
 8393:   (Paul Hudson, Derick)
 8394: - Implemented periodic PCRE compiled regexp cache cleanup, to avoid memory
 8395:   exhaustion. (Andrei)
 8396: - Renamed SoapClient->__call() to SoapClinet->__soapCall(). (Dmitry)
 8397: - Fixed bug with raw_post_data not getting set (Brian)
 8398: - Fixed a file-descriptor leak with phpinfo() and other 'special' URLs (Zeev)
 8399: - Fixed bug #30209 (ReflectionClass::getMethod() lowercases attribute).
 8400:   (Marcus)
 8401: - Fixed bug #30182 (SOAP module processing WSDL file dumps core). (Dmitry)
 8402: - Fixed bug #30045 (Cannot pass big integers (> 2147483647) in SOAP requests).
 8403:   (Dmitry)
 8404: - Fixed bug #29985 (unserialize()/ __PHP_Incomplete_class does not report
 8405:   correctly class name). (Marcus, Tony)
 8406: - Fixed bug #29945 (simplexml_load_file URL limitation 255 char). (Rob)
 8407: - Fixed bug #29873 (No defines around pcntl_*priority definitions). (Derick)
 8408: - Fixed bug #29844 (SOAP doesn't return the result of a valid SOAP request).
 8409:   (Dmitry)
 8410: - Fixed bug #29842 (soapclient return null value). (Dmitry)
 8411: - Fixed bug #29839 (incorrect convert (xml:lang to lang)). (Dmitry)
 8412: - Fixed bug #29830 (SoapServer::setClass() should not export non-public
 8413:   methods). (Dmitry)
 8414: - Fixed bug #29828 (Interfaces no longer work). (Marcus)
 8415: - Fixed bug #29821 (Fixed possible crashes in convert_uudecode() on invalid
 8416:   data). (Ilia)
 8417: - Fixed bug #29808 (array_count_values() breaks with numeric strings). (Ilia)
 8418: - Fixed bug #29805 (HTTP Authentication Issues). (Uwe Schindler)
 8419: - Fixed bug #29795 (SegFault with Soap and Amazon's Web Services). (Dmitry)
 8420: - Fixed bug #29737 (ip2long should return -1 if IP is 255.255.255.255 and FALSE
 8421:   on error). (Tony)
 8422: - Fixed bug #29711 (Changed ext/xml to default to UTF-8 output). (Rob)
 8423: - Fixed bug #29678 (opendir() with ftp:// wrapper segfaults if path does not
 8424:   have trailing slash). (Ilia)
 8425: - Fixed bug #29657 (xml_* functions throw non descriptive error).
 8426:   (Christian, Rob)
 8427: - Fixed bug #29656 (segfault on result and statement properties). (Georg)
 8428: - Fixed bug #29566 (foreach/string handling strangeness (crash)). (Dmitry)
 8429: - Fixed bug #29447 (Reflection API issues). (Marcus)
 8430: - Fixed bug #29296 (Added sslv2 and sslv3 transports). (Wez)
 8431: - Fixed bug #29283 (Invalid statement handle in mysqli on execute). (Georg)
 8432: - Fixed bug #29913 (parse_url() is now binary safe). (Ilia)
 8433: - Fixed bug #27994 (segfault with Soapserver when WSDL-Cache is enabled).
 8434:   (Dmitry)
 8435: - Fixed bug #27791 (Apache 2.0 SAPI build against Apache 2 HEAD). (Joe Orton,
 8436:   Derick)
 8437: - Fixed bug #26737 (private/protected properties not serialized when user
 8438:   declared method __sleep() exists). E_NOTICE thrown when __sleep() returns
 8439:   name of non-existing member. (Andrey, Curt)
 8440: 
 8441: 12 Aug 2004, PHP 5.0.1
 8442: - Changed destructor mechanism so that destructors are called prior to request
 8443:   shutdown. (Marcus)
 8444: - Rewritten UNIX and Windows install help files. (Documentation Team)
 8445: - Updated several libraries bundled with the windows release which now
 8446:   includes libxml2-2.6.11, libxslt-1.1.7 and iconv-1.9.1. (Rob, Edin)
 8447: - Improved and moved ActiveScript SAPI to PECL.  (Wez)
 8448: - Fixed bug #29606 (php_strip_whitespace() prints to stdout rather then
 8449:   returning the value). (Ilia)
 8450: - Fixed bug #29577 (MYSQLI_CLIENT_FOUND_ROWS undefined) (Georg)
 8451: - Fixed bug #29573 (Segmentation fault, when exception thrown within
 8452:   PHP function called from XSLT). (Christian)
 8453: - Fixed bug #29522 (accessing properties without connection) (Georg)
 8454: - Fixed bug #29505 (get_class_vars() severely broken when used with arrays).
 8455:   (Marcus)
 8456: - Fixed bug #29490 (.Net object instantiation failed). (Michael Sisolak).
 8457: - Fixed bug #29474 (win32: usleep() doesn't work). (Wez)
 8458: - Fixed bug #29449 (win32: feof() hangs on empty tcp stream). (Wez)
 8459: - Fixed bug #29437 (Possible crash inside array_walk_recursive()). (Ilia)
 8460: - Fixed bug #29431 (crash when parsing invalid address; invalid address
 8461:   returned by stream_socket_recvfrom(), stream_socket_getname()). (Wez)
 8462: - Fixed bug #29409 (Segfault in PHP functions called from XSLT). (Rob)
 8463: - Fixed unloading of dynamically loaded extensions.
 8464:   (Marcus, kameshj at fastmail dot fm)
 8465: - Fixed bug #29395 (sqlite_escape_string() returns bogus data on empty
 8466:   strings). (Ilia, Tony)
 8467: - Fixed bug #29392 (com_dotnet crashes when echo'ing an object). (Wez)
 8468: - Fixed bug #29368 (The destructor is called when an exception is thrown from
 8469:   the constructor). (Marcus)
 8470: - Fixed bug #29354 (Exception constructor marked as both public and protected).
 8471:   (Marcus)
 8472: - Fixed bug #29342 (strtotime() does not handle empty date string properly).
 8473:   (Ilia)
 8474: - Fixed bug #29340 (win32 build produces invalid php_ifx.dll). (Edin)
 8475: - Fixed bug #29335 (fetch functions now use MYSQLI_BOTH as default) (Georg)
 8476: - Fixed bug #29291 (get_class_vars() return names with NULLs). (Marcus)
 8477: - Fixed bug #29264 (gettext extension not working). (Edin)
 8478: - Fixed bug #29258 (variant_date_from_timestamp() does not honour
 8479:   timezone).  (Wez)
 8480: - Fixed bug #29256 (error when sending large packets on a socket). (Dmitry)
 8481: - Fixed bug #29236 (memory error when wsdl-cache is enabled). (Dmitry)
 8482: - Fixed bug #29147 (Compile Error in mnoGoSearch functions). (Sergey, Antony)
 8483: - Fixed bug #29132 ($_SERVER["PHP_AUTH_USER"] isn't defined). (Stefan)
 8484: - Fixed bug #29119 (html_entity_decode() misbehaves with UTF-8). (Moriyoshi)
 8485: - Fixed bug #29109 (SoapFault exception: [WSDL] Out of memory). (Dmitry)
 8486: - Fixed bug #29061 (soap extension segfaults). (Dmitry)
 8487: - Fixed bug #28985 (__getTypes() returning nothing on complex WSDL). (Dmitry)
 8488: - Fixed bug #28969 (Wrong data encoding of special characters). (Dmitry)
 8489: - Fixed bug #28895 (ReflectionClass::isAbstract always returns false). (Marcus)
 8490: - Fixed bug #28829 (Thread-unsafety in bcmath elementary values). (Sara)
 8491: - Fixed bug #28464 (catch() does not catch exceptions by interfaces). (Marcus)
 8492: - Fixed bug #27669 (PHP 5 didn't support all possibilities for calling static
 8493:   methods dynamically). (Dmitry)
 8494: - Fixed ReflectionClass::getMethod() and ReflectionClass::getProperty() to
 8495:   raise an ReflectionException instead of returning NULL on failure.
 8496:   (Sebastian)
 8497: - Fixed convert.* filters to consume remaining buckets_in on flush. (Sara)
 8498: - Fixed bug in mysqli->client_version. (Georg)
 8499: 
 8500: 13 Jul 2004, PHP 5.0.0
 8501: - Updated PCRE to provide better error handling in certain cases. (Andrei)
 8502: - Changed doc comments to require a single white space after '/**'. (Marcus)
 8503: - Fixed bug #29019 (Database not closing). (Marcus)
 8504: - Fixed bug #29008 (array_combine() does not handle non-numeric/string keys).
 8505:   (Ilia)
 8506: - Fixed bug #28999 (fixed behaviour of exec() to work as it did in 4.X). (Ilia)
 8507: - Fixed bug #28868 (Internal filter registry not thread safe). (Sara)
 8508: - Fixed bug #28851 (call_user_func_array has typo in error message). (Marcus)
 8509: - Fixed bug #28831 (ArrayObject::offsetGet() does the work of offsetUnset()).
 8510:   (Marcus)
 8511: - Fixed bug #28822 (ArrayObject::offsetExists() works inverted). (Marcus)
 8512: - Fixed bug #28789 (ReflectionProperty getValue() fails on public static
 8513:   members). (Marcus)
 8514: - Fixed bug #28771 (Segfault when using xslt and clone). (Rob)
 8515: - Fixed bug #28751 (SoapServer does not call _autoload()). (Dmitry)
 8516: - Fixed bug #28739 (array_*diff() and array_*intersect() not clearing the fci
 8517:   cache before work). (Andrey)
 8518: - Fixed bug #28721 (appendChild() and insertBefore() unset DOMText).(Rob)
 8519: - Fixed bug #28702 (SOAP does not parse WSDL service address correctly). (Dmitry)
 8520: - Fixed bug #28699 (Reflection api bugs). (Marcus)
 8521: - Fixed bug #28694 (ReflectionExtension::getFunctions() crashes PHP). (Marcus)
 8522: - Fixed bug #28512 (Allocate enough space to store MSSQL data). (Frank)
 8523: - Fixed strip_tags() to correctly handle '\0' characters. (Stefan)

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>