PHP  
SVN Instructions  
/[svn]/php/php-src/branches/PHP_5_3/NEWS Main trees: PHP 5.2 | PHP 5.3 | PHP 6 | pecl | pear | pear-core  

Parent Directory Parent Directory | Revision Log Revision Log


Revision 290306 - (show annotations) (download)
Thu Nov 5 13:29:34 2009 UTC (2 days, 19 hours ago) by iliaa
File size: 251028 byte(s)
Make sure that max_file_uploads is set to 20 by-default in all places
1 PHP NEWS
2 |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3 ?? ??? 20??, PHP 5.3.2
4 - Upgraded bundled PCRE to version 8.00. (Scott)
5
6 - Added "max_file_uploads" INI directive, which can be set to limit the
7 number of file uploads per-request to 20 by default, to prevent possible
8 DOS via temporary file exhaustion. (Ilia)
9 - Added ReflectionMethod::setAccessible() for invoking non-public methods
10 through the Reflection API. (Sebastian)
11 - Added Collator::getSortKey for intl extension. (Stas)
12
13 - Implemented FR #49571 (CURLOPT_POSTREDIR not implemented). (Sriram Natarajan)
14 - Implemented FR #49253 (added support for libcurl's CERTINFO option).
15 (Linus Nielsen Feltzing <linus@haxx.se>)
16
17 - Fixed unnecessary invokation of setitimer when timeouts have been disabled.
18 (Arvind Srinivasan)
19 - Fixed memory leak in extension loading when an error occurs on Windows.
20 (Pierre)
21
22 - Fixed bug #50073 (parse_url() incorrect when ? in fragment). (Ilia)
23 - Fixed bug #50023 (pdo_mysql doesn't use PHP_MYSQL_UNIX_SOCK_ADDR). (Ilia)
24 - Fixed bug #49908 (throwing exception in __autoload crashes when interface
25 is not defined). (Felipe)
26 - Fixed bug #49719 (ReflectionClass::hasProperty returns true for a private
27 property in base class). (Felipe)
28 - Fixed bug #49142 (crash when exception thrown from __tostring()).
29 (David Soria Parra)
30 - Fixed bug #49990 (SNMP3 warning message about security level printed twice).
31 (Jani)
32 - Fixed bug #49985 (pdo_pgsql prepare() re-use previous aborted
33 transaction). (ben dot pineau at gmail dot com, Ilia, Matteo)
34 - Fixed bug #49921 (Curl post upload functions changed). (Ilia)
35 - Fixed bug #49855 (import_request_variables() always returns NULL). (Ilia,
36 sjoerd at php dot net)
37 - Fixed bug #49800 (SimpleXML allow (un)serialize() calls without warning).
38 (Ilia, wmeler at wp-sa dot pl)
39 - Fixed bug #49647 (DOMUserData does not exist). (Rob)
40 - Fixed bug #49244 (Floating point NaN cause garbage characters). (Sjoerd)
41 - Fixed bug #49224 (Compile error due to old DNS functions on AIX systems).
42 (Scott)
43
44 ?? ??? 2009, PHP 5.3.1
45 # Will be merged in from branches/PHP_5_3_1 once released
46 # Pleas add stuff under 5.3.2
47
48 30 Jun 2009, PHP 5.3.0
49 - Upgraded bundled PCRE to version 7.9. (Nuno)
50 - Upgraded bundled sqlite to version 3.6.15. (Scott)
51
52 - Moved extensions to PECL (Derick, Lukas, Pierre, Scott):
53 . ext/dbase
54 . ext/fbsql
55 . ext/fdf
56 . ext/ncurses
57 . ext/mhash (BC layer is now entirely within ext/hash)
58 . ext/ming
59 . ext/msql
60 . ext/sybase (not maintained anymore, sybase_ct has to be used instead)
61
62 - Removed the experimental RPL (master/slave) functions from mysqli. (Andrey)
63 - Removed zend.ze1_compatibility_mode. (Dmitry)
64 - Removed all zend_extension_* php.ini directives. Zend extensions are now
65 always loaded using zend_extension directive. (Derick)
66 - Removed special treatment of "/tmp" in sessions for open_basedir.
67 Note: This undocumented behaviour was introduced in 5.2.2. (Alexey)
68 - Removed shebang line check from CGI sapi (checked by scanner). (Dmitry)
69
70 - Changed PCRE, Reflection and SPL extensions to be always enabled. (Marcus)
71 - Changed md5() to use improved implementation. (Solar Designer, Dmitry)
72 - Changed HTTP stream wrapper to accept any code between and including
73 200 to 399 as successful. (Mike, Noah Fontes)
74 - Changed __call() to be invoked on private/protected method access, similar to
75 properties and __get(). (Andrei)
76 - Changed dl() to be disabled by default. Enabled only when explicitly
77 registered by the SAPI. Currently enabled with cli, cgi and embed SAPIs.
78 (Dmitry)
79 - Changed opendir(), dir() and scandir() to use default context when no context
80 argument is passed. (Sara)
81 - Changed open_basedir to allow tightening in runtime contexts. (Sara)
82 - Changed PHP/Zend extensions to use flexible build IDs. (Stas)
83 - Changed error level E_ERROR into E_WARNING in Soap extension methods
84 parameter validation. (Felipe)
85 - Changed openssl info to show the shared library version number. (Scott)
86 - Changed floating point behaviour to consistently use double precision on all
87 platforms and with all compilers. (Christian Seiler)
88 - Changed round() to act more intuitively when rounding to a certain precision
89 and round very large and very small exponents correctly. (Christian Seiler)
90 - Changed session_start() to return false when session startup fails. (Jani)
91 - Changed property_exists() to check the existence of a property independent of
92 accessibility (like method_exists()). (Felipe)
93 - Changed array_reduce() to allow mixed $initial (Christian Seiler)
94
95 - Improved PHP syntax and semantics:
96 . Added lambda functions and closures. (Christian Seiler, Dmitry)
97 . Added "jump label" operator (limited "goto"). (Dmitry, Sara)
98 . Added NOWDOC syntax. (Gwynne Raskind, Stas, Dmitry)
99 . Added HEREDOC syntax with double quotes. (Lars Strojny, Felipe)
100 . Added support for using static HEREDOCs to initialize static variables and
101 class members or constants. (Matt)
102 . Improved syntax highlighting and consistency for variables in double-quoted
103 strings and literal text in HEREDOCs and backticks. (Matt)
104 . Added "?:" operator. (Marcus)
105 . Added support for namespaces. (Dmitry, Stas, Gregory, Marcus)
106 . Added support for Late Static Binding. (Dmitry, Etienne Kneuss)
107 . Added support for __callStatic() magic method. (Sara)
108 . Added forward_static_call(_array) to complete LSB. (Mike Lively)
109 . Added support for dynamic access of static members using $foo::myFunc().
110 (Etienne Kneuss)
111 . Improved checks for callbacks. (Marcus)
112 . Added __DIR__ constant. (Lars Strojny)
113 . Added new error modes E_USER_DEPRECATED and E_DEPRECATED.
114 E_DEPRECATED is used to inform about stuff being scheduled for removal
115 in future PHP versions. (Lars Strojny, Felipe, Marcus)
116 . Added "request_order" INI variable to control specifically $_REQUEST
117 behavior. (Stas)
118 . Added support for exception linking. (Marcus)
119 . Added ability to handle exceptions in destructors. (Marcus)
120
121 - Improved PHP runtime speed and memory usage:
122 . Substitute global-scope, persistent constants with their values at compile
123 time. (Matt)
124 . Optimized ZEND_SIGNED_MULTIPLY_LONG(). (Matt)
125 . Removed direct executor recursion. (Dmitry)
126 . Use fastcall calling convention in executor on x86. (Dmitry)
127 . Use IS_CV for direct access to $this variable. (Dmitry)
128 . Use ZEND_FREE() opcode instead of ZEND_SWITCH_FREE(IS_TMP_VAR). (Dmitry)
129 . Lazy EG(active_symbol_table) initialization. (Dmitry)
130 . Optimized ZEND_RETURN opcode to not allocate and copy return value if it is
131 not used. (Dmitry)
132 . Replaced all flex based scanners with re2c based scanners.
133 (Marcus, Nuno, Scott)
134 . Added garbage collector. (David Wang, Dmitry).
135 . Improved PHP binary size and startup speed with GCC4 visibility control.
136 (Nuno)
137 . Improved engine stack implementation for better performance and stability.
138 (Dmitry)
139 . Improved memory usage by moving constants to read only memory.
140 (Dmitry, Pierre)
141 . Changed exception handling. Now each op_array doesn't contain
142 ZEND_HANDLE_EXCEPTION opcode in the end. (Dmitry)
143 . Optimized require_once() and include_once() by eliminating fopen(3) on
144 second usage. (Dmitry)
145 . Optimized ZEND_FETCH_CLASS + ZEND_ADD_INTERFACE into single
146 ZEND_ADD_INTERFACE opcode. (Dmitry)
147 . Optimized string searching for a single character.
148 (Michal Dziemianko, Scott)
149 . Optimized interpolated strings to use one less opcode. (Matt)
150
151 - Improved php.ini handling: (Jani)
152 . Added ".htaccess" style user-defined php.ini files support for CGI/FastCGI.
153 . Added support for special [PATH=/opt/httpd/www.example.com/] and
154 [HOST=www.example.com] sections. Directives set in these sections can
155 not be overridden by user-defined ini-files or during runtime.
156 . Added better error reporting for php.ini syntax errors.
157 . Allowed using full path to load modules using "extension" directive.
158 . Allowed "ini-variables" to be used almost everywhere ini php.ini files.
159 . Allowed using alphanumeric/variable indexes in "array" ini options.
160 . Added 3rd optional parameter to parse_ini_file() to specify the scanning
161 mode of INI_SCANNER_NORMAL or INI_SCANNER_RAW. In raw mode option values
162 and section values are treated as-is.
163 . Fixed get_cfg_var() to be able to return "array" ini options.
164 . Added optional parameter to ini_get_all() to only retrieve the current
165 value. (Hannes)
166
167 - Improved Windows support:
168 . Update all libraries to their latest stable version. (Pierre, Rob, Liz,
169 Garrett).
170 . Added Windows support for stat(), touch(), filemtime(), filesize() and
171 related functions. (Pierre)
172 . Re-added socket_create_pair() for Windows in sockets extension. (Kalle)
173 . Added inet_pton() and inet_ntop() also for Windows platforms.
174 (Kalle, Pierre)
175 . Added mcrypt_create_iv() for Windows platforms. (Pierre)
176 . Added ACL Cache support on Windows.
177 (Kanwaljeet Singla, Pierre, Venkat Raman Don)
178 . Added constants based on Windows' GetVersionEx information.
179 PHP_WINDOWS_VERSION_* and PHP_WINDOWS_NT_*. (Pierre)
180 . Added support for ACL (is_writable, is_readable, reports now correct
181 results) on Windows. (Pierre, Venkat Raman Don, Kanwaljeet Singla)
182 . Added support for fnmatch() on Windows. (Pierre)
183 . Added support for time_nanosleep() and time_sleep_until() on Windows.
184 (Pierre)
185 . Added support for symlink(), readlink(), linkinfo() and link() on Windows.
186 They are available only when the running platform supports them. (Pierre)
187 . the GMP extension now relies on MPIR instead of the GMP library. (Pierre)
188 . Added Windows support for stream_socket_pair(). (Kalle)
189 . Drop all external dependencies for the core features. (Pierre)
190 . Drastically improve the build procedure (Pierre, Kalle, Rob):
191 . VC9 (Visual C++ 2008) or later support
192 . Initial experimental x64 support
193 . MSI installer now supports all recent Windows versions, including
194 Windows 7. (John, Kanwaljeet Singla)
195
196 - Improved and cleaned CGI code:
197 . FastCGI is now always enabled and cannot be disabled.
198 See sapi/cgi/CHANGES for more details. (Dmitry)
199 . Added CGI SAPI -T option which can be used to measure execution
200 time of script repeated several times. (Dmitry)
201
202 - Improved streams:
203 . Fixed confusing error message on failure when no errors are logged. (Greg)
204 . Added stream_supports_lock() function. (Benjamin Schulz)
205 . Added context parameter for copy() function. (Sara)
206 . Added "glob://" stream wrapper. (Marcus)
207 . Added "params" as optional parameter for stream_context_create(). (Sara)
208 . Added ability to use stream wrappers in include_path. (Gregory, Dmitry)
209
210 - Improved DNS API
211 . Added Windows support for dns_check_record(), dns_get_mx(), checkdnsrr() and
212 getmxrr(). (Pierre)
213 . Added support for old style DNS functions (supports OSX and FBSD). (Scott)
214 . Added a new "entries" array in dns_check_record() containing the TXT
215 elements. (Felipe, Pierre)
216
217 - Improved hash extension:
218 . Changed mhash to be a wrapper layer around the hash extension. (Scott)
219 . Added hash_copy() function. (Tony)
220 . Added sha224 hash algorithm to the hash extension. (Scott)
221
222 - Improved IMAP support (Pierre):
223 . Added imap_gc() to clear the imap cache
224 . Added imap_utf8_to_mutf7() and imap_mutf7_to_utf8()
225
226 - Improved mbstring extension:
227 . Added "mbstring.http_output_conv_mimetypes" INI directive that allows
228 common non-text types such as "application/xhtml+xml" to be converted
229 by mb_output_handler(). (Moriyoshi)
230
231 - Improved OCI8 extension (Chris Jones/Oracle Corp.):
232 . Added Database Resident Connection Pooling (DRCP) and Fast
233 Application Notification (FAN) support.
234 . Added support for Oracle External Authentication (not supported
235 on Windows).
236 . Improve persistent connection handling of restarted DBs.
237 . Added SQLT_AFC (aka CHAR datatype) support to oci_bind_by_name.
238 . Fixed bug #45458 (Numeric keys for associative arrays are not
239 handled properly)
240 . Fixed bug #41069 (Segmentation fault with query over DB link).
241 . Fixed define of SQLT_BDOUBLE and SQLT_BFLOAT constants with Oracle
242 10g ORACLE_HOME builds.
243 . Changed default value of oci8.default_prefetch from 10 to 100.
244 . Fixed PECL Bug #16035 (OCI8: oci_connect without ORACLE_HOME defined causes
245 segfault) (Chris Jones/Oracle Corp.)
246 . Fixed PECL Bug #15988 (OCI8: sqlnet.ora isn't read with older Oracle
247 libraries) (Chris Jones/Oracle Corp.)
248 . Fixed PECL Bug #14268 (Allow "pecl install oci8" command to "autodetect" an
249 Instant Client RPM install) (Chris Jones/Oracle Corp.)
250 . Fixed PECL bug #12431 (OCI8 ping functionality is broken).
251 . Allow building (e.g from PECL) the PHP 5.3-based OCI8 code with
252 PHP 4.3.9 onwards.
253 . Provide separate extensions for Oracle 11g and 10g on Windows.
254 (Pierre, Chris)
255
256 - Improved OpenSSL extension:
257 . Added support for OpenSSL digest and cipher functions. (Dmitry)
258 . Added access to internal values of DSA, RSA and DH keys. (Dmitry)
259 . Fixed a memory leak on openssl_decrypt(). (Henrique)
260 . Fixed segfault caused by openssl_pkey_new(). (Henrique)
261 . Fixed bug caused by uninitilized variables in openssl_pkcs7_encrypt() and
262 openssl_pkcs7_sign(). (Henrique)
263 . Fixed error message in openssl_seal(). (Henrique)
264
265 - Improved pcntl extension: (Arnaud)
266 . Added pcntl_signal_dispatch().
267 . Added pcntl_sigprocmask().
268 . Added pcntl_sigwaitinfo().
269 . Added pcntl_sigtimedwait().
270
271 - Improved SOAP extension:
272 . Added support for element names in context of XMLSchema's <any>. (Dmitry)
273 . Added ability to use Traversable objects instead of plain arrays.
274 (Joshua Reese, Dmitry)
275 . Fixed possible crash bug caused by an uninitialized value. (Zdash Urf)
276
277 - Improved SPL extension:
278 . Added SPL to list of standard extensions that cannot be disabled. (Marcus)
279 . Added ability to store associative information with objects in
280 SplObjectStorage. (Marcus)
281 . Added ArrayAccess support to SplObjectStorage. (Marcus)
282 . Added SplDoublyLinkedList, SplStack, SplQueue classes. (Etienne)
283 . Added FilesystemIterator. (Marcus)
284 . Added GlobIterator. (Marcus)
285 . Added SplHeap, SplMinHeap, SplMaxHeap, SplPriorityQueue classes. (Etienne)
286 . Added new parameter $prepend to spl_autoload_register(). (Etienne)
287 . Added SplFixedArray. (Etienne, Tony)
288 . Added delaying exceptions in SPL's autoload mechanism. (Marcus)
289 . Added RecursiveTreeIterator. (Arnaud, Marcus)
290 . Added MultipleIterator. (Arnaud, Marcus, Johannes)
291
292 - Improved Zend Engine:
293 . Added "compact" handler for Zend MM storage. (Dmitry)
294 . Added "+" and "*" specifiers to zend_parse_parameters(). (Andrei)
295 . Added concept of "delayed early binding" that allows opcode caches to
296 perform class declaration (early and/or run-time binding) in exactly
297 the same order as vanilla PHP. (Dmitry)
298
299 - Improved crypt() function: (Pierre)
300 . Added Blowfish and extended DES support. (Using Blowfish implementation
301 from Solar Designer).
302 . Made crypt features portable by providing our own implementations
303 for crypt_r and the algorithms which are used when OS does not provide
304 them. PHP implementations are always used for Windows builds.
305
306 - Deprecated session_register(), session_unregister() and
307 session_is_registered(). (Hannes)
308 - Deprecated define_syslog_variables(). (Kalle)
309 - Deprecated ereg extension. (Felipe)
310
311 - Added new extensions:
312 . Added Enchant extension as a way to access spell checkers. (Pierre)
313 . Added fileinfo extension as replacement for mime_magic extension. (Derick)
314 . Added intl extension for Internationalization. (Ed B., Vladimir I.,
315 Dmitry L., Stanislav M., Vadim S., Kirti V.)
316 . Added mysqlnd extension as replacement for libmysql for ext/mysql, mysqli
317 and PDO_mysql. (Andrey, Johannes, Ulf)
318 . Added phar extension for handling PHP Archives. (Greg, Marcus, Steph)
319 . Added SQLite3 extension. (Scott)
320
321 - Added new date/time functionality: (Derick)
322 . date_parse_from_format(): Parse date/time strings according to a format.
323 . date_create_from_format()/DateTime::createFromFormat(): Create a date/time
324 object by parsing a date/time string according to a given format.
325 . date_get_last_errors()/DateTime::getLastErrors(): Return a list of warnings
326 and errors that were found while parsing a date/time string through:
327 . strtotime() / new DateTime
328 . date_create_from_format() / DateTime::createFromFormat()
329 . date_parse_from_format().
330 . support for abbreviation and offset based timezone specifiers for
331 the 'e' format specifier, DateTime::__construct(), DateTime::getTimeZone()
332 and DateTimeZone::getName().
333 . support for selectively listing timezone identifiers by continent or
334 country code through timezone_identifiers_list() /
335 DateTimezone::listIdentifiers().
336 . timezone_location_get() / DateTimezone::getLocation() for retrieving
337 location information from timezones.
338 . date_timestamp_set() / DateTime::setTimestamp() to set a Unix timestamp
339 without invoking the date parser. (Scott, Derick)
340 . date_timestamp_get() / DateTime::getTimestamp() to retrieve the Unix
341 timestamp belonging to a date object.
342 . two optional parameters to timezone_transitions_get() /
343 DateTimeZone::getTranstions() to limit the range of transitions being
344 returned.
345 . support for "first/last day of <month>" style texts.
346 . support for date/time strings returned by MS SQL.
347 . support for serialization and unserialization of DateTime objects.
348 . support for diffing date/times through date_diff() / DateTime::diff().
349 . support for adding/subtracting weekdays with strtotime() and
350 DateTime::modify().
351 . DateInterval class to represent the difference between two date/times.
352 . support for parsing ISO intervals for use with DateInterval.
353 . date_add() / DateTime::add(), date_sub() / DateTime::sub() for applying an
354 interval to an existing date/time.
355 . proper support for "this week", "previous week"/"last week" and "next week"
356 phrases so that they actually mean the week and not a seven day period
357 around the current day.
358 . support for "<xth> <weekday> of" and "last <weekday> of" phrases to be used
359 with months - like in "last saturday of februari 2008".
360 . support for "back of <hour>" and "front of <hour>" phrases that are used in
361 Scotland.
362 . DatePeriod class which supports iterating over a DateTime object applying
363 DateInterval on each iteration, up to an end date or limited by maximum
364 number of occurences.
365
366 - Added compatibility mode in GD, imagerotate, image(filled)ellipse
367 imagefilter, imageconvolution and imagecolormatch are now always enabled.
368 (Pierre)
369 - Added array_replace() and array_replace_recursive() functions. (Matt)
370 - Added ReflectionProperty::setAccessible() method that allows non-public
371 property's values to be read through ::getValue() and set through
372 ::setValue(). (Derick, Sebastian)
373 - Added msg_queue_exists() function to sysvmsg extension. (Benjamin Schulz)
374 - Added Firebird specific attributes that can be set via PDO::setAttribute()
375 to control formatting of date/timestamp columns: PDO::FB_ATTR_DATE_FORMAT,
376 PDO::FB_ATTR_TIME_FORMAT and PDO::FB_ATTR_TIMESTAMP_FORMAT. (Lars W)
377 - Added gmp_testbit() function. (Stas)
378 - Added icon format support to getimagesize(). (Scott)
379 - Added LDAP_OPT_NETWORK_TIMEOUT option for ldap_set_option() to allow
380 setting network timeout (FR #42837). (Jani)
381 - Added optional escape character parameter to fgetcsv(). (David Soria Parra)
382 - Added an optional parameter to strstr() and stristr() for retrieval of either
383 the part of haystack before or after first occurrence of needle.
384 (Johannes, Felipe)
385 - Added xsl->setProfiling() for profiling stylesheets. (Christian)
386 - Added long-option feature to getopt() and made getopt() available also on
387 win32 systems by adding a common getopt implementation into core.
388 (David Soria Parra, Jani)
389 - Added support for optional values, and = as separator, in getopt(). (Hannes)
390 - Added lcfirst() function. (David C)
391 - Added PREG_BAD_UTF8_OFFSET_ERROR constant. (Nuno)
392 - Added native support for asinh(), acosh(), atanh(), log1p() and expm1().
393 (Kalle)
394 - Added LIBXML_LOADED_VERSION constant (libxml2 version currently used). (Rob)
395 - Added JSON_FORCE_OBJECT flag to json_encode(). (Scott, Richard Quadling)
396 - Added timezone_version_get() to retrieve the version of the used timezone
397 database. (Derick)
398 - Added 'n' flag to fopen to allow passing O_NONBLOCK to the underlying
399 open(2) system call. (Mikko)
400 - Added "dechunk" filter which can decode HTTP responses with chunked
401 transfer-encoding. HTTP streams use this filter automatically in case
402 "Transfer-Encoding: chunked" header is present in response. It's possible to
403 disable this behaviour using "http"=>array("auto_decode"=>0) in stream
404 context. (Dmitry)
405 - Added support for CP850 encoding in mbstring extension.
406 (Denis Giffeler, Moriyoshi)
407 - Added stream_cast() and stream_set_options() to user-space stream wrappers,
408 allowing stream_select(), stream_set_blocking(), stream_set_timeout() and
409 stream_set_write_buffer() to work with user-space stream wrappers. (Arnaud)
410 - Added header_remove() function. (chsc at peytz dot dk, Arnaud)
411 - Added stream_context_get_params() function. (Arnaud)
412 - Added optional parameter "new" to sybase_connect(). (Timm)
413 - Added parse_ini_string() function. (grange at lemonde dot fr, Arnaud)
414 - Added str_getcsv() function. (Sara)
415 - Added openssl_random_pseudo_bytes() function. (Scott)
416 - Added ability to send user defined HTTP headers with SOAP request.
417 (Brian J.France, Dmitry)
418 - Added concatenation option to bz2.decompress stream filter.
419 (Keisial at gmail dot com, Greg)
420 - Added support for using compressed connections with PDO_mysql. (Johannes)
421 - Added the ability for json_decode() to take a user specified depth. (Scott)
422 - Added support for the mysql_stmt_next_result() function from libmysql.
423 (Andrey)
424 - Added function preg_filter() that does grep and replace in one go. (Marcus)
425 - Added system independent realpath() implementation which caches intermediate
426 directories in realpath-cache. (Dmitry)
427 - Added optional clear_realpath_cache and filename parameters to
428 clearstatcache(). (Jani, Arnaud)
429 - Added litespeed SAPI module. (George Wang)
430 - Added ext/hash support to ext/session's ID generator. (Sara)
431 - Added quoted_printable_encode() function. (Tony)
432 - Added stream_context_set_default() function. (Davey Shafik)
433 - Added optional "is_xhtml" parameter to nl2br() which makes the function
434 output <br> when false and <br /> when true (FR #34381). (Kalle)
435 - Added PHP_MAXPATHLEN constant (maximum length of a path). (Pierre)
436 - Added support for SSH via libssh2 in cURL. (Pierre)
437 - Added support for gray levels PNG image with alpha in GD extension. (Pierre)
438 - Added support for salsa hashing functions in HASH extension. (Scott)
439 - Added DOMNode::getLineNo to get line number of parsed node. (Rob)
440 - Added table info to PDO::getColumnMeta() with SQLite. (Martin Jansen, Scott)
441 - Added mail logging functionality that allows logging of mail sent via
442 mail() function. (Ilia)
443 - Added json_last_error() to return any error information from json_decode().
444 (Scott)
445 - Added gethostname() to return the current system host name. (Ilia)
446 - Added shm_has_var() function. (Mike)
447 - Added depth parameter to json_decode() to lower the nesting depth from the
448 maximum if required. (Scott)
449 - Added pixelation support in imagefilter(). (Takeshi Abe, Kalle)
450 - Added SplObjectStorage::addAll/removeAll. (Etienne)
451
452 - Implemented FR #41712 (curl progress callback: CURLOPT_PROGRESSFUNCTION).
453 (sdteffen[at]gmail[dot].com, Pierre)
454 - Implemented FR #47739 (Missing cURL option do disable IPv6). (Pierre)
455 - Implemented FR #39637 (Missing cURL option CURLOPT_FTP_FILEMETHOD). (Pierre)
456
457 - Fixed an issue with ReflectionProperty::setAccessible().
458 (Sebastian, Roman Borschel)
459 - Fixed html_entity_decode() incorrectly converting numeric html entities
460 to different characters with cp1251 and cp866. (Scott)
461 - Fixed an issue in date() where a : was printed for the O modifier after a P
462 modifier was used. (Derick)
463 - Fixed exec() on Windows to not eat the first and last double quotes. (Scott)
464 - Fixed readlink on Windows in thread safe SAPI (apache2.x etc.). (Pierre)
465 - Fixed a bug causing miscalculations with the "last <weekday> of <n> month"
466 relative time string. (Derick)
467 - Fixed bug causing the algorithm parameter of mhash() to be modified. (Scott)
468 - Fixed invalid calls to free when internal fileinfo magic file is used. (Scott)
469 - Fixed memory leak inside wddx_add_vars() function. (Felipe)
470 - Fixed check in recode extension to allow builing of recode and mysql
471 extensions when using a recent libmysql. (Johannes)
472
473 - Fixed PECL bug #12794 (PDOStatement->nextRowset() doesn't work). (Johannes)
474 - Fixed PECL bug #12401 (Add support for ATTR_FETCH_TABLE_NAMES). (Johannes)
475
476 - Fixed bug #48696 (ldap_read() segfaults with invalid parameters). (Felipe)
477 - Fixed bug #48643 (String functions memory issue). (Dmitry)
478 - Fixed bug #48641 (tmpfile() uses old parameter parsing).
479 (crrodriguez at opensuse dot org)
480 - Fixed bug #48624 (.user.ini never gets parsed). (Pierre)
481 - Fixed bug #48620 (X-PHP-Originating-Script assumes no trailing CRLF in
482 existing headers). (Ilia)
483 - Fixed bug #48578 (Can't build 5.3 on FBSD 4.11). (Rasmus)
484 - Fixed bug #48535 (file_exists returns false when impersonate is used).
485 (Kanwaljeet Singla, Venkat Raman Don)
486 - Fixed bug #48493 (spl_autoload_register() doesn't work correctly when
487 prepending functions). (Scott)
488 - Fixed bug #48215 (Calling a method with the same name as the parent class
489 calls the constructor). (Scott)
490 - Fixed bug #48200 (compile failure with mbstring.c when
491 --enable-zend-multibyte is used). (Jani)
492 - Fixed bug #48188 (Cannot execute a scrollable cursors twice with PDO_PGSQL).
493 (Matteo)
494 - Fixed bug #48185 (warning: value computed is not used in
495 pdo_sqlite_stmt_get_col line 271). (Matteo)
496 - Fixed bug #48087 (call_user_method() invalid free of arguments). (Felipe)
497 - Fixed bug #48060 (pdo_pgsql - large objects are returned as empty). (Matteo)
498 - Fixed bug #48034 (PHP crashes when script is 8192 (8KB) bytes long). (Dmitry)
499 - Fixed bug #48004 (Error handler prevents creation of default object). (Dmitry)
500 - Fixed bug #47880 (crashes in call_user_func_array()). (Dmitry)
501 - Fixed bug #47856 (stristr() converts needle to lower-case). (Ilia)
502 - Fixed bug #47851 (is_callable throws fatal error). (Dmitry)
503 - Fixed bug #47816 (pcntl tests failing on NetBSD). (Matteo)
504 - Fixed bug #47779 (Wrong value for SIG_UNBLOCK and SIG_SETMASK constants).
505 (Matteo)
506 - Fixed bug #47771 (Exception during object construction from arg call calls
507 object's destructor). (Dmitry)
508 - Fixed bug #47767 (include_once does not resolve windows symlinks or junctions)
509 (Kanwaljeet Singla, Venkat Raman Don)
510 - Fixed bug #47757 (rename JPG to JPEG in phpinfo). (Pierre)
511 - Fixed bug #47745 (FILTER_VALIDATE_INT doesn't allow minimum integer). (Dmitry)
512 - Fixed bug #47714 (autoloading classes inside exception_handler leads to
513 crashes). (Dmitry)
514 - Fixed bug #47671 (Cloning SplObjectStorage instances). (Etienne)
515 - Fixed bug #47664 (get_class returns NULL instead of FALSE). (Dmitry)
516 - Fixed bug #47662 (Support more than 127 subpatterns in preg_match). (Nuno)
517 - Fixed bug #47596 (Bus error on parsing file). (Dmitry)
518 - Fixed bug #47572 (Undefined constant causes segmentation fault). (Felipe)
519 - Fixed bug #47560 (explode()'s limit parameter odd behaviour). (Matt)
520 - Fixed bug #47549 (get_defined_constants() return array with broken array
521 categories). (Ilia)
522 - Fixed bug #47535 (Compilation failure in ps_fetch_from_1_to_8_bytes()).
523 (Johannes)
524 - Fixed bug #47534 (RecursiveDiteratoryIterator::getChildren ignoring
525 CURRENT_AS_PATHNAME). (Etienne)
526 - Fixed bug #47443 (metaphone('scratch') returns wrong result). (Felipe)
527 - Fixed bug #47438 (mysql_fetch_field ignores zero offset). (Johannes)
528 - Fixed bug #47398 (PDO_Firebird doesn't implements quoter correctly). (Felipe)
529 - Fixed bug #47390 (odbc_fetch_into - BC in php 5.3.0). (Felipe)
530 - Fixed bug #47359 (Use the expected unofficial mimetype for bmp files). (Scott)
531 - Fixed bug #47343 (gc_collect_cycles causes a segfault when called within a
532 destructor in one case). (Dmitry)
533 - Fixed bug #47320 ($php_errormsg out of scope in functions). (Dmitry)
534 - Fixed bug #47318 (UMR when trying to activate user config). (Pierre)
535 - Fixed bug #47243 (OCI8: Crash at shutdown on Windows) (Chris Jones/Oracle
536 Corp.)
537 - Fixed bug #47231 (offsetGet error using incorrect offset). (Etienne)
538 - Fixed bug #47229 (preg_quote() should escape the '-' char). (Nuno)
539 - Fixed bug #47165 (Possible memory corruption when passing return value by
540 reference). (Dmitry)
541 - Fixed bug #47087 (Second parameter of mssql_fetch_array()). (Felipe)
542 - Fixed bug #47085 (rename() returns true even if the file in PHAR does not
543 exist). (Greg)
544 - Fixed bug #47050 (mysqli_poll() modifies improper variables). (Johannes)
545 - Fixed bug #47045 (SplObjectStorage instances compared with ==). (Etienne)
546 - Fixed bug #47038 (Memory leak in include). (Dmitry)
547 - Fixed bug #47031 (Fix constants in DualIterator example). (Etienne)
548 - Fixed bug #47021 (SoapClient stumbles over WSDL delivered with
549 "Transfer-Encoding: chunked"). (Dmitry)
550 - Fixed bug #46994 (OCI8: CLOB size does not update when using CLOB IN OUT param
551 in stored procedure) (Chris Jones/Oracle Corp.)
552 - Fixed bug #46979 (use with non-compound name *has* effect). (Dmitry)
553 - Fixed bug #46957 (The tokenizer returns deprecated values). (Felipe)
554 - Fixed bug #46944 (UTF-8 characters outside the BMP aren't encoded correctly).
555 (Scott)
556 - Fixed bug #46897 (ob_flush() should fail to flush unerasable buffers).
557 (David C.)
558 - Fixed bug #46849 (Cloning DOMDocument doesn't clone the properties). (Rob)
559 - Fixed bug #46847 (phpinfo() is missing some settings). (Hannes)
560 - Fixed bug #46844 (php scripts or included files with first line starting
561 with # have the 1st line missed from the output). (Ilia)
562 - Fixed bug #46817 (tokenizer misses last single-line comment (PHP 5.3+, with
563 re2c lexer)). (Matt, Shire)
564 - Fixed bug #46811 (ini_set() doesn't return false on failure). (Hannes)
565 - Fixed bug #46763 (mb_stristr() wrong output when needle does not exist).
566 (Henrique M. Decaria)
567 - Fixed bug #46755 (warning: use statement with non-compound name). (Dmitry)
568 - Fixed bug #46746 (xmlrpc_decode_request outputs non-suppressable error when
569 given bad data). (Ilia)
570 - Fixed bug #46738 (Segfault when mb_detect_encoding() fails). (Scott)
571 - Fixed bug #46731 (Missing validation for the options parameter of the
572 imap_fetch_overview() function). (Ilia)
573 - Fixed bug #46711 (cURL curl_setopt leaks memory in foreach loops). (magicaltux
574 [at] php [dot] net)
575 - Fixed bug #46701 (Creating associative array with long values in the key fails
576 on 32bit linux). (Shire)
577 - Fixed bug #46681 (mkdir() fails silently on PHP 5.3). (Hannes)
578 - Fixed bug #46653 (can't extend mysqli). (Johannes)
579 - Fixed bug #46646 (Restrict serialization on some internal classes like Closure
580 and SplFileInfo using exceptions). (Etienne)
581 - Fixed bug #46623 (OCI8: phpinfo doesn't show compile time ORACLE_HOME with
582 phpize) (Chris Jones/Oracle Corp.)
583 - Fixed bug #46578 (strip_tags() does not honor end-of-comment when it
584 encounters a single quote). (Felipe)
585 - Fixed bug #46546 (Segmentation fault when using declare statement with
586 non-string value). (Felipe)
587 - Fixed bug #46542 (Extending PDO class with a __call() function doesn't work as
588 expected). (Johannes)
589 - Fixed bug #46421 (SplFileInfo not correctly handling /). (Etienne)
590 - Fixed bug #46347 (parse_ini_file() doesn't support * in keys). (Nuno)
591 - Fixed bug #46268 (DateTime::modify() does not reset relative time values).
592 (Derick)
593 - Fixed bug #46241 (stacked error handlers, internal error handling in general).
594 (Etienne)
595 - Fixed bug #46238 (Segmentation fault on static call with empty string method).
596 (Felipe)
597 - Fixed bug #46192 (ArrayObject with objects as storage serialization).
598 (Etienne)
599 - Fixed bug #46185 (importNode changes the namespace of an XML element). (Rob)
600 - Fixed bug #46178 (memory leak in ext/phar). (Greg)
601 - Fixed bug #46160 (SPL - Memory leak when exception is thrown in offsetSet).
602 (Felipe)
603 - Fixed Bug #46147 (after stream seek, appending stream filter reads incorrect
604 data). (Greg)
605 - Fixed bug #46127 (php_openssl_tcp_sockop_accept forgets to set context on
606 accepted stream) (Mark Karpeles, Pierre)
607 - Fixed bug #46115 (Memory leak when calling a method using Reflection).
608 (Dmitry)
609 - Fixed bug #46110 (XMLWriter - openmemory() and openuri() leak memory on
610 multiple calls). (Ilia)
611 - Fixed bug #46108 (DateTime - Memory leak when unserializing). (Felipe)
612 - Fixed bug #46106 (Memory leaks when using global statement). (Dmitry)
613 - Fixed bug #46099 (Xsltprocessor::setProfiling - memory leak). (Felipe, Rob).
614 - Fixed bug #46087 (DOMXPath - segfault on destruction of a cloned object).
615 (Ilia)
616 - Fixed bug #46048 (SimpleXML top-level @attributes not part of iterator).
617 (David C.)
618 - Fixed bug #46044 (Mysqli - wrong error message). (Johannes)
619 - Fixed bug #46042 (memory leaks with reflection of mb_convert_encoding()).
620 (Ilia)
621 - Fixed bug #46039 (ArrayObject iteration is slow). (Arnaud)
622 - Fixed bug #46033 (Direct instantiation of SQLite3stmt and SQLite3result cause
623 a segfault.) (Scott)
624 - Fixed bug #45991 (Ini files with the UTF-8 BOM are treated as invalid).
625 (Scott)
626 - Fixed bug #45989 (json_decode() doesn't return NULL on certain invalid
627 strings). (magicaltux, Scott)
628 - Fixed bug #45976 (Moved SXE from SPL to SimpleXML). (Etienne)
629 - Fixed bug #45928 (large scripts from stdin are stripped at 16K border).
630 (Christian Schneider, Arnaud)
631 - Fixed bug #45911 (Cannot disable ext/hash). (Arnaud)
632 - Fixed bug #45907 (undefined reference to 'PHP_SHA512Init'). (Greg)
633 - Fixed bug #45826 (custom ArrayObject serialization). (Etienne)
634 - Fixed bug #45820 (Allow empty keys in ArrayObject). (Etienne)
635 - Fixed bug #45791 (json_decode() doesn't convert 0e0 to a double). (Scott)
636 - Fixed bug #45786 (FastCGI process exited unexpectedly). (Dmitry)
637 - Fixed bug #45757 (FreeBSD4.11 build failure: failed include; stdint.h).
638 (Hannes)
639 - Fixed bug #45743 (property_exists fails to find static protected member in
640 child class). (Felipe)
641 - Fixed bug #45717 (Fileinfo/libmagic build fails, missing err.h and getopt.h).
642 (Derick)
643 - Fixed bug #45706 (Unserialization of classes derived from ArrayIterator
644 fails). (Etienne, Dmitry)
645 - Fixed bug #45696 (Not all DateTime methods allow method chaining). (Derick)
646 - Fixed bug #45682 (Unable to var_dump(DateInterval)). (Derick)
647 - Fixed bug #45447 (Filesystem time functions on Vista and server 2008).
648 (Pierre)
649 - Fixed bug #45432 (PDO: persistent connection leak). (Felipe)
650 - Fixed bug #45392 (ob_start()/ob_end_clean() and memory_limit). (Ilia)
651 - Fixed bug #45384 (parse_ini_file will result in parse error with no trailing
652 newline). (Arnaud)
653 - Fixed bug #45382 (timeout bug in stream_socket_enable_crypto). (vnegrier at
654 optilian dot com, Ilia)
655 - Fixed bug #45044 (relative paths not resolved correctly). (Dmitry)
656 - Fixed bug #44861 (scrollable cursor don't work with pgsql). (Matteo)
657 - Fixed bug #44842 (parse_ini_file keys that start/end with underscore).
658 (Arnaud)
659 - Fixed bug #44575 (parse_ini_file comment # line problems). (Arnaud)
660 - Fixed bug #44409 (PDO::FETCH_SERIALIZE calls __construct()). (Matteo)
661 - Fixed bug #44173 (PDO->query() parameter parsing/checking needs an update).
662 (Matteo)
663 - Fixed bug #44154 (pdo->errorInfo() always have three elements in the returned
664 array). (David C.)
665 - Fixed bug #44153 (pdo->errorCode() returns NULL when there are no errors).
666 (David C.)
667 - Fixed bug #44135 (PDO MySQL does not support CLIENT_FOUND_ROWS). (Johannes,
668 chx1975 at gmail dot com)
669 - Fixed bug #44100 (Inconsistent handling of static array declarations with
670 duplicate keys). (Dmitry)
671 - Fixed bug #43831 ($this gets mangled when extending PDO with persistent
672 connection). (Felipe)
673 - Fixed bug #43817 (opendir() fails on Windows directories with parent directory
674 unaccessible). (Dmitry)
675 - Fixed bug #43069 (SoapClient causes 505 HTTP Version not supported error
676 message). (Dmitry)
677 - Fixed bug #43008 (php://filter uris ignore url encoded filternames and can't
678 handle slashes). (Arnaud)
679 - Fixed bug #42362 (HTTP status codes 204 and 304 should not be gzipped).
680 (Scott, Edward Z. Yang)
681 - Fixed bug #41874 (separate STDOUT and STDERR in exec functions). (Kanwaljeet
682 Singla, Venkat Raman Don, Pierre)
683 - Fixed bug #41534 (SoapClient over HTTPS fails to reestablish connection).
684 (Dmitry)
685 - Fixed bug #38802 (max_redirects and ignore_errors). (patch by
686 datibbaw@php.net)
687 - Fixed bug #35980 (touch() works on files but not on directories). (Pierre)
688
689 17 Jun 2009, PHP 5.2.10
690 - Updated timezone database to version 2009.9 (2009i) (Derick)
691
692 - Added "ignore_errors" option to http fopen wrapper. (David Zulke, Sara)
693 - Added new CURL options CURLOPT_REDIR_PROTOCOLS, CURLOPT_PROTOCOLS,
694 and CURLPROTO_* for redirect fixes in CURL 7.19.4. (Yoram Bar Haim, Stas)
695 - Added support for Sun CC (FR #46595 and FR #46513). (David Soria Parra)
696
697 - Changed default value of array_unique()'s optional sorting type parameter
698 back to SORT_STRING to fix backwards compatibility breakage introduced in
699 PHP 5.2.9. (Moriyoshi)
700
701 - Fixed memory corruptions while reading properties of zip files. (Ilia)
702 - Fixed memory leak in ob_get_clean/ob_get_flush. (Christian)
703 - Fixed segfault on invalid session.save_path. (Hannes)
704 - Fixed leaks in imap when a mail_criteria is used. (Pierre)
705 - Fixed missing erealloc() in fix for Bug #40091 in spl_autoload_register. (Greg)
706
707 - Fixed bug #48562 (Reference recursion causes segfault when used in
708 wddx_serialize_vars()). (Felipe)
709 - Fixed bug #48557 (Numeric string keys in Apache Hashmaps are not cast to
710 integers). (David Zuelke)
711 - Fixed bug #48518 (curl crashes when writing into invalid file handle). (Tony)
712 - Fixed bug #48514 (cURL extension uses same resource name for simple and
713 multi APIs). (Felipe)
714 - Fixed bug #48469 (ldap_get_entries() leaks memory on empty search
715 results). (Patrick)
716 - Fixed bug #48456 (CPPFLAGS not restored properly in phpize.m4). (Jani,
717 spisek at kerio dot com)
718 - Fixed bug #48448 (Compile failure under IRIX 6.5.30 building cast.c).
719 (Kalle)
720 - Fixed bug #48441 (ldap_search() sizelimit, timelimit and deref options
721 persist). (Patrick)
722 - Fixed bug #48434 (Improve memory_get_usage() accuracy). (Arnaud)
723 - Fixed bug #48416 (Force a cache limit in ereg() to stop excessive memory
724 usage). (Scott)
725 - Fixed bug #48409 (Crash when exception is thrown while passing function
726 arguments). (Arnaud)
727 - Fixed bug #48378 (exif_read_data() segfaults on certain corrupted .jpeg
728 files). (Pierre)
729 - Fixed bug #48359 (Script hangs on snmprealwalk if OID is not increasing).
730 (Ilia, simonov at gmail dot com)
731 - Fixed bug #48336 (ReflectionProperty::getDeclaringClass() does not work
732 with redeclared property).
733 (patch by Markus dot Lidel at shadowconnect dot com)
734 - Fixed bug #48326 (constant MSG_DONTWAIT not defined). (Arnaud)
735 - Fixed bug #48313 (fgetcsv() does not return null for empty rows). (Ilia)
736 - Fixed bug #48309 (stream_copy_to_stream() and fpasstru() do not update
737 stream position of plain files). (Arnaud)
738 - Fixed bug #48307 (stream_copy_to_stream() copies 0 bytes when $source is a
739 socket). (Arnaud)
740 - Fixed bug #48273 (snmp*_real_walk() returns SNMP errors as values).
741 (Ilia, lytboris at gmail dot com)
742 - Fixed bug #48256 (Crash due to double-linking of history.o).
743 (tstarling at wikimedia dot org)
744 - Fixed bug #48248 (SIGSEGV when access to private property via &__get).
745 (Felipe)
746 - Fixed bug #48247 (Crash on errors during startup). (Stas)
747 - Fixed bug #48240 (DBA Segmentation fault dba_nextkey). (Felipe)
748 - Fixed bug #48224 (Incorrect shuffle in array_rand). (Etienne)
749 - Fixed bug #48221 (memory leak when passing invalid xslt parameter).
750 (Felipe)
751 - Fixed bug #48207 (CURLOPT_(FILE|WRITEHEADER options do not error out when
752 working with a non-writable stream). (Ilia)
753 - Fixed bug #48206 (Iterating over an invalid data structure with
754 RecursiveIteratorIterator leads to a segfault). (Scott)
755 - Fixed bug #48204 (xmlwriter_open_uri() does not emit warnings on invalid
756 paths). (Ilia)
757 - Fixed bug #48203 (Crash when CURLOPT_STDERR is set to regular file). (Jani)
758 - Fixed bug #48202 (Out of Memory error message when passing invalid file
759 path) (Pierre)
760 - Fixed bug #48156 (Added support for lcov v1.7). (Ilia)
761 - Fixed bug #48132 (configure check for curl ssl support fails with
762 --disable-rpath). (Jani)
763 - Fixed bug #48131 (Don't try to bind ipv4 addresses to ipv6 ips via bindto).
764 (Ilia)
765 - Fixed bug #48070 (PDO_OCI: Segfault when using persistent connection).
766 (Pierre, Matteo, jarismar dot php at gmail dot com)
767 - Fixed bug #48058 (Year formatter goes wrong with out-of-int range). (Derick)
768 - Fixed bug #48038 (odbc_execute changes variables used to form params array).
769 (Felipe)
770 - Fixed bug #47997 (stream_copy_to_stream returns 1 on empty streams). (Arnaud)
771 - Fixed bug #47991 (SSL streams fail if error stack contains items). (Mikko)
772 - Fixed bug #47981 (error handler not called regardless). (Hannes)
773 - Fixed bug #47969 (ezmlm_hash() returns different values depend on OS). (Ilia)
774 - Fixed bug #47946 (ImageConvolution overwrites background). (Ilia)
775 - Fixed bug #47940 (memory leaks in imap_body). (Pierre, Jake Levitt)
776 - Fixed bug #47937 (system() calls sapi_flush() regardless of output
777 buffering). (Ilia)
778 - Fixed bug #47903 ("@" operator does not work with string offsets). (Felipe)
779 - Fixed bug #47893 (CLI aborts on non blocking stdout). (Arnaud)
780 - Fixed bug #47849 (Non-deep import loses the namespace). (Rob)
781 - Fixed bug #47845 (PDO_Firebird omits first row from query). (Lars W)
782 - Fixed bug #47836 (array operator [] inconsistency when the array has
783 PHP_INT_MAX index value). (Matt)
784 - Fixed bug #47831 (Compile warning for strnlen() in main/spprintf.c).
785 (Ilia, rainer dot jung at kippdata dot de)
786 - Fixed bug #47828 (openssl_x509_parse() segfaults when a UTF-8 conversion
787 fails). (Scott, Kees Cook, Pierre)
788 - Fixed bug #47818 (Segfault due to bound callback param). (Felipe)
789 - Fixed bug #47801 (__call() accessed via parent:: operator is provided
790 incorrect method name). (Felipe)
791 - Fixed bug #47769 (Strange extends PDO). (Felipe)
792 - Fixed bug #47745 (FILTER_VALIDATE_INT doesn't allow minimum integer).
793 (Dmitry)
794 - Fixed bug #47721 (Alignment issues in mbstring and sysvshm extension).
795 (crrodriguez at opensuse dot org, Ilia)
796 - Fixed bug #47704 (PHP crashes on some "bad" operations with string
797 offsets). (Dmitry)
798 - Fixed bug #47695 (build error when xmlrpc and iconv are compiled against
799 different iconv versions). (Scott)
800 - Fixed bug #47667 (ZipArchive::OVERWRITE seems to have no effect).
801 (Mikko, Pierre)
802 - Fixed bug #47644 (Valid integers are truncated with json_decode()). (Scott)
803 - Fixed bug #47639 (pg_copy_from() WARNING: nonstandard use of \\ in a
804 string literal). (Ilia)
805 - Fixed bug #47616 (curl keeps crashing). (Felipe)
806 - Fixed bug #47598 (FILTER_VALIDATE_EMAIL is locale aware). (Ilia)
807 - Fixed bug #47566 (pcntl_wexitstatus() returns signed status).
808 (patch by james at jamesreno dot com)
809 - Fixed bug #47564 (unpacking unsigned long 32bit bit endian returns wrong
810 result). (Ilia)
811 - Fixed bug #47487 (performance degraded when reading large chunks after
812 fix of bug #44607). (Arnaud)
813 - Fixed bug #47468 (enable cli|cgi-only extensions for embed sapi). (Jani)
814 - Fixed bug #47435 (FILTER_FLAG_NO_PRIV_RANGE does not work with ipv6
815 addresses in the filter extension). (Ilia)
816 - Fixed bug #47430 (Errors after writing to nodeValue parameter of an absent
817 previousSibling). (Rob)
818 - Fixed bug #47365 (ip2long() may allow some invalid values on certain 64bit
819 systems). (Ilia)
820 - Fixed bug #47254 (Wrong Reflection for extends class). (Felipe)
821 - Fixed bug #47042 (cgi sapi is incorrectly removing SCRIPT_FILENAME).
822 (Sriram Natarajan, David Soria Parra)
823 - Fixed bug #46882 (Serialize / Unserialize misbehaviour under OS with
824 different bit numbers). (Matt)
825 - Fixed bug #46812 (get_class_vars() does not include visible private variable
826 looking at subclass). (Arnaud)
827 - Fixed bug #46386 (Digest authentication with SOAP module fails against MSSQL
828 SOAP services). (Ilia, lordelph at gmail dot com)
829 - Fixed bug #46109 (Memory leak when mysqli::init() is called multiple times).
830 (Andrey)
831 - Fixed bug #45997 (safe_mode bypass with exec/system/passthru (windows only)).
832 (Pierre)
833 - Fixed bug #45877 (Array key '2147483647' left as string). (Matt)
834 - Fixed bug #45822 (Near infinite-loops while parsing huge relative offsets).
835 (Derick, Mike Sullivan)
836 - Fixed bug #45799 (imagepng() crashes on empty image).
837 (Martin McNickle, Takeshi Abe)
838 - Fixed bug #45622 (isset($arrayObject->p) misbehaves with
839 ArrayObject::ARRAY_AS_PROPS set). (robin_fernandes at uk dot ibm dot com, Arnaud)
840 - Fixed bug #45614 (ArrayIterator::current(), ::key() can show 1st private prop
841 of wrapped object). (robin_fernandes at uk dot ibm dot com, Arnaud)
842 - Fixed bug #45540 (stream_context_create creates bad http request). (Arnaud)
843 - Fixed bug #45202 (zlib.output_compression can not be set with ini_set()).
844 (Jani)
845 - Fixed bug #45191 (error_log ignores date.timezone php.ini val when setting
846 logging timestamps). (Derick)
847 - Fixed bug #45092 (header HTTP context option not being used when compiled
848 using --with-curlwrappers). (Jani)
849 - Fixed bug #44996 (xmlrpc_decode() ignores time zone on iso8601.datetime).
850 (Ilia, kawai at apache dot org)
851 - Fixed bug #44827 (define() is missing error checks for class constants).
852 (Ilia)
853 - Fixed bug #44214 (Crash using preg_replace_callback() and global variables).
854 (Nuno, Scott)
855 - Fixed bug #43073 (TrueType bounding box is wrong for angle<>0).
856 (Martin McNickle)
857 - Fixed bug #42663 (gzinflate() try to allocate all memory with truncated
858 data). (Arnaud)
859 - Fixed bug #42414 (some odbc_*() functions incompatible with Oracle ODBC
860 driver). (jhml at gmx dot net)
861 - Fixed bug #42362 (HTTP status codes 204 and 304 should not be gzipped).
862 (Scott, Edward Z. Yang)
863 - Fixed bug #42143 (The constant NAN is reported as 0 on Windows)
864 (Kanwaljeet Singla, Venkat Raman Don)
865 - Fixed bug #38805 (PDO truncates text from SQL Server text data type field).
866 (Steph)
867
868 26 Feb 2009, PHP 5.2.9
869 - Changed __call() to be invoked on private/protected method access, similar to
870 properties and __get(). (Andrei)
871
872 - Added optional sorting type flag parameter to array_unique(). Default is
873 SORT_REGULAR. (Andrei)
874
875 - Fixed a crash on extract in zip when files or directories entry names contain
876 a relative path. (Pierre)
877 - Fixed error conditions handling in stream_filter_append(). (Arnaud)
878 - Fixed zip filename property read. (Pierre)
879 - Fixed explode() behavior with empty string to respect negative limit. (Shire)
880 - Fixed security issue in imagerotate(), background colour isn't validated
881 correctly with a non truecolour image. Reported by Hamid Ebadi,
882 APA Laboratory (Fixes CVE-2008-5498). (Scott)
883 - Fixed a segfault when malformed string is passed to json_decode(). (Scott)
884 - Fixed bug in xml_error_string() which resulted in messages being
885 off by one. (Scott)
886
887 - Fixed bug #47422 (modulus operator returns incorrect results on 64 bit
888 linux). (Matt)
889 - Fixed bug #47399 (mb_check_encoding() returns true for some illegal SJIS
890 characters). (for-bugs at hnw dot jp, Moriyoshi)
891 - Fixed bug #47353 (crash when creating a lot of objects in object
892 destructor). (Tony)
893 - Fixed bug #47322 (sscanf %d doesn't work). (Felipe)
894 - Fixed bug #47282 (FILTER_VALIDATE_EMAIL is marking valid email addresses
895 as invalid). (Ilia)
896 - Fixed bug #47220 (segfault in dom_document_parser in recovery mode). (Rob)
897 - Fixed bug #47217 (content-type is not set properly for file uploads). (Ilia)
898 - Fixed bug #47174 (base64_decode() interprets pad char in mid string as
899 terminator). (Ilia)
900 - Fixed bug #47165 (Possible memory corruption when passing return value by
901 reference). (Dmitry)
902 - Fixed bug #47152 (gzseek/fseek using SEEK_END produces strange results).
903 (Felipe)
904 - Fixed bug #47131 (SOAP Extension ignores "user_agent" ini setting). (Ilia)
905 - Fixed bug #47109 (Memory leak on $a->{"a"."b"} when $a is not an object).
906 (Etienne, Dmitry)
907 - Fixed bug #47104 (Linking shared extensions fails with icc). (Jani)
908 - Fixed bug #47049 (SoapClient::__soapCall causes a segmentation fault).
909 (Dmitry)
910 - Fixed bug #47048 (Segfault with new pg_meta_data). (Felipe)
911 - Fixed bug #47042 (PHP cgi sapi is removing SCRIPT_FILENAME for non
912 apache). (Sriram Natarajan)
913 - Fixed bug #47037 (No error when using fopen with empty string). (Cristian
914 Rodriguez R., Felipe)
915 - Fixed bug #47035 (dns_get_record returns a garbage byte at the end of a
916 TXT record). (Felipe)
917 - Fixed bug #47027 (var_export doesn't show numeric indices on ArrayObject).
918 (Derick)
919 - Fixed bug #46985 (OVERWRITE and binary mode does not work, regression
920 introduced in 5.2.8). (Pierre)
921 - Fixed bug #46973 (IPv6 address filter rejects valid address). (Felipe)
922 - Fixed bug #46964 (Fixed pdo_mysql build with older version of MySQL). (Ilia)
923 - Fixed bug #46959 (Unable to disable PCRE). (Scott)
924 - Fixed bug #46918 (imap_rfc822_parse_adrlist host part not filled in
925 correctly). (Felipe)
926 - Fixed bug #46889 (Memory leak in strtotime()). (Derick)
927 - Fixed bug #46887 (Invalid calls to php_error_docref()). (oeriksson at
928 mandriva dot com, Ilia)
929 - Fixed bug #46873 (extract($foo) crashes if $foo['foo'] exists). (Arnaud)
930 - Fixed bug #46843 (CP936 euro symbol is not converted properly). (ty_c at
931 cybozuy dot co dot jp, Moriyoshi)
932 - Fixed bug #46798 (Crash in mssql extension when retrieving a NULL value
933 inside a binary or image column type). (Ilia)
934 - Fixed bug #46782 (fastcgi.c parse error). (Matt)
935 - Fixed bug #46760 (SoapClient doRequest fails when proxy is used). (Felipe)
936 - Fixed bug #46748 (Segfault when an SSL error has more than one error).
937 (Scott)
938 - Fixed bug #46739 (array returned by curl_getinfo should contain
939 content_type key). (Mikko)
940 - Fixed bug #46699 (xml_parse crash when parser is namespace aware). (Rob)
941 - Fixed bug #46419 (Elements of associative arrays with NULL value are
942 lost). (Dmitry)
943 - Fixed bug #46282 (Corrupt DBF When Using DATE). (arne at bukkie dot nl)
944 - Fixed bug #46026 (bz2.decompress/zlib.inflate filter tries to decompress
945 after end of stream). (Greg)
946 - Fixed bug #46005 (User not consistently logged under Apache2). (admorten
947 at umich dot edu, Stas)
948 - Fixed bug #45996 (libxml2 2.7 causes breakage with character data in
949 xml_parse()). (Rob)
950 - Fixed bug #45940 (MySQLI OO does not populate connect_error property on
951 failed connect). (Johannes)
952 - Fixed bug #45923 (mb_st[r]ripos() offset not handled correctly). (Moriyoshi)
953 - Fixed bug #45327 (memory leak if offsetGet throws exception). (Greg)
954 - Fixed bug #45239 (Encoding detector hangs with mbstring.strict_detection
955 enabled). (Moriyoshi)
956 - Fixed bug #45161 (Reusing a curl handle leaks memory). (Mark Karpeles, Jani)
957 - Fixed bug #44336 (Improve pcre UTF-8 string matching performance). (frode
958 at coretrek dot com, Nuno)
959 - Fixed bug #43841 (mb_strrpos() offset is byte count for negative values).
960 (Moriyoshi)
961 - Fixed bug #37209 (mssql_execute with non fatal errors). (Kalle)
962 - Fixed bug #35975 (Session cookie expires date format isn't the most
963 compatible. Now matches that of setcookie()). (Scott)
964
965
966 08 Dec 2008, PHP 5.2.8
967 - Reverted bug fix #42718 that broke magic_quotes_gpc (Scott)
968
969 04 Dec 2008, PHP 5.2.7
970 - Upgraded PCRE to version 7.8 (Fixes CVE-2008-2371). (Ilia)
971 - Updated timezone database to version 2008.9. (Derick)
972 - Upgraded bundled libzip to 0.9.0. (Pierre)
973
974 - Added logging option for error_log to send directly to SAPI. (Stas)
975 - Added PHP_MAJOR_VERSION, PHP_MINOR_VERSION, PHP_RELEASE_VERSION,
976 PHP_EXTRA_VERSION, PHP_VERSION_ID, PHP_ZTS and PHP_DEBUG constants. (Pierre)
977 - Added "PHP_INI_SCAN_DIR" environment variable which can be used to
978 either disable or change the compile time ini scan directory (FR #45114).
979 (Jani)
980
981 - Fixed missing initialization of BG(page_uid) and BG(page_gid),
982 reported by Maksymilian Arciemowicz. (Stas)
983 - Fixed memory leak inside sqlite_create_aggregate(). (Felipe)
984 - Fixed memory leak inside PDO sqlite's sqliteCreateAggregate() method.
985 (Felipe)
986 - Fixed a crash inside gd with invalid fonts (Fixes CVE-2008-3658). (Pierre)
987 - Fixed a possible overflow inside memnstr (Fixes CVE-2008-3659).
988 (LaurentGaffie)
989 - Fixed incorrect php_value order for Apache configuration, reported by
990 Maksymilian Arciemowicz. (Stas)
991 - Fixed memory leak inside readline_callback_handler_remove() function.
992 (Felipe)
993 - Fixed sybase_fetch_*() to continue reading after CS_ROW_FAIL status (Timm)
994 - Fixed a bug inside dba_replace() that could cause file truncation
995 withinvalid keys. (Ilia)
996 - Fixed memory leak inside readline_callback_handler_install() function.(Ilia)
997 - Fixed memory leak inside readline_completion_function() function. (Felipe)
998 - Fixed stream_get_contents() when using $maxlength and socket is notclosed.
999 indeyets [at] php [dot] net on #46049. (Arnaud)
1000 - Fixed stream_get_line() to behave as documented on non-blocking streams.
1001 (Arnaud)
1002 - Fixed endless loop in PDOStatement::debugDumpParams().
1003 (jonah.harris at gmail dot com)
1004 - Fixed ability to use "internal" heaps in extensions. (Arnaud, Dmitry)
1005 - Fixed weekdays adding/subtracting algorithm. (Derick)
1006 - Fixed some ambiguities in the date parser. (Derick)
1007 - Fixed a bug with the YYYY-MM format not resetting the day correctly.
1008 (Derick)
1009 - Fixed a bug in the DateTime->modify() methods, it would not use the advanced
1010 relative time strings. (Derick)
1011 - Fixed extraction of zip files or directories when the entry name is a
1012 relative path. (Pierre)
1013 - Fixed read or write errors for large zip archives. (Pierre)
1014 - Fixed security issues detailed in CVE-2008-2665 and CVE-2008-2666.
1015 (Christian Hoffmann)
1016 - Fixed simplexml asXML() not to lose encoding when dumping entire
1017 document to file. (Ilia)
1018 - Fixed a crash inside PDO when trying instantiate PDORow manually.
1019 (Felipe)
1020 - Fixed build failure of ext/mysqli with libmysql 6.0 - missing
1021 rplfunctions. (Andrey)
1022 - Fixed a regression when using strip_tags() and < is within an
1023 attribute.(Scott)
1024 - Fixed a crash on invalid method in ReflectionParameter constructor.
1025 (Christian Seiler)
1026 - Reverted fix for bug #44197 due to behaviour change in minor version.
1027 (Felipe)
1028
1029 - Fixed bug #46732 (mktime.year description is wrong). (Derick)
1030 - Fixed bug #46696 (cURL fails in upload files with specified content-type).
1031 (Ilia)
1032 - Fixed bug #46673 (stream_lock call with wrong parameter). (Arnaud)
1033 - Fixed bug #46649 (Setting array element with that same array produces
1034 inconsistent results). (Arnaud)
1035 - Fixed bug #46626 (mb_convert_case does not handle apostrophe correctly).
1036 (Ilia)
1037 - Fixed bug #46543 (ibase_trans() memory leaks when using wrong parameters).
1038 (Felipe)
1039 - Fixed bug #46521 (Curl ZTS OpenSSL, error in config.m4 fragment).
1040 (jd at cpanel dot net)
1041 - Fixed bug #46496 (wddx_serialize treats input as ISO-8859-1). (Mark Karpeles)
1042 - Fixed bug #46427 (SoapClient() stumbles over its "stream_context" parameter).
1043 (Dmitry, Herman Radtke)
1044 - Fixed bug #46426 (offset parameter of stream_get_contents() does not
1045 workfor "0"). (Felipe)
1046 - Fixed bug #46406 (Unregistering nodeclass throws E_FATAL). (Rob)
1047 - Fixed bug #46389 (NetWare needs small patch for _timezone).
1048 (patch by guenter@php.net)
1049 - Fixed bug #46388 (stream_notification_callback inside of object destroys
1050 object variables). (Felipe)
1051 - Fixed bug #46381 (wrong $this passed to internal methods causes segfault).
1052 (Tony)
1053 - Fixed bug #46379 (Infinite loop when parsing '#' in one line file). (Arnaud)
1054 - Fixed bug #46366 (bad cwd with / as pathinfo). (Dmitry)
1055 - Fixed bug #46360 (TCP_NODELAY constant for socket_{get,set}_option).
1056 (bugs at trick dot vanstaveren dot us)
1057 - Fixed bug #46343 (IPv6 address filter accepts invalid address). (Ilia)
1058 - Fixed bug #46335 (DOMText::splitText doesn't handle multibyte characters).
1059 (Rob)
1060 - Fixed bug #46323 (compilation of simplexml for NetWare breaks).
1061 (Patch by guenter [at] php [dot] net)
1062 - Fixed bug #46319 (PHP sets default Content-Type header for HTTP 304
1063 response code, in cgi sapi). (Ilia)
1064 - Fixed bug #46313 (Magic quotes broke $_FILES). (Arnaud)
1065 - Fixed bug #46308 (Invalid write when changing property from inside getter).
1066 (Dmitry)
1067 - Fixed bug #46292 (PDO::setFetchMode() shouldn't requires the 2nd arg when
1068 using FETCH_CLASSTYPE). (Felipe)
1069 - Fixed bug #46274, #46249 (pdo_pgsql always fill in NULL for empty BLOB and
1070 segfaults when returned by SELECT). (Felipe)
1071 - Fixed bug #46271 (local_cert option is not resolved to full path). (Ilia)
1072 - Fixed bug #46247 (ibase_set_event_handler() is allowing to pass callback
1073 without event). (Felipe)
1074 - Fixed bug #46246 (difference between call_user_func(array($this, $method))
1075 and $this->$method()). (Dmitry)
1076 - Fixed bug #46222 (ArrayObject EG(uninitialized_var_ptr) overwrite).
1077 (Etienne)
1078 - Fixed bug #46215 (json_encode mutates its parameter and has some
1079 class-specific state). (Felipe)
1080 - Fixed bug #46206 (pg_query_params/pg_execute convert passed values to
1081 strings). (Ilia)
1082 - Fixed bug #46191 (BC break: DOMDocument saveXML() doesn't accept null).
1083 (Rob)
1084 - Fixed bug #46164 (stream_filter_remove() closes the stream). (Arnaud)
1085 - Fixed bug #46157 (PDOStatement::fetchObject prototype error). (Felipe)
1086 - Fixed bug #46147 (after stream seek, appending stream filter reads
1087 incorrect data). (Greg)
1088 - Fixed bug #46139 (PDOStatement->setFetchMode() forgets FETCH_PROPS_LATE).
1089 (chsc at peytz dot dk, Felipe)
1090 - Fixed bug #46127 (php_openssl_tcp_sockop_accept forgets to set context
1091 on accepted stream) (Mark Karpeles, Pierre)
1092 - Fixed bug #46110 (XMLWriter - openmemory() and openuri() leak memory on
1093 multiple calls). (Ilia)
1094 - Fixed bug #46088 (RegexIterator::accept - segfault). (Felipe)
1095 - Fixed bug #46082 (stream_set_blocking() can cause a crash in some
1096 circumstances). (Felipe)
1097 - Fixed bug #46064 (Exception when creating ReflectionProperty object
1098 on dynamicly created property). (Felipe)
1099 - Fixed bug #46059 (Compile failure under IRIX 6.5.30 building posix.c).
1100 (Arnaud)
1101 - Fixed bug #46053 (SplFileObject::seek - Endless loop). (Arnaud)
1102 - Fixed bug #46051 (SplFileInfo::openFile - memory overlap). (Arnaud)
1103 - Fixed bug #46047 (SimpleXML converts empty nodes into object with
1104 nested array). (Rob)
1105 - Fixed bug #46031 (Segfault in AppendIterator::next). (Arnaud)
1106 - Fixed bug #46029 (Segfault in DOMText when using with Reflection). (Rob)
1107 - Fixed bug #46026 (bzip2.decompress/zlib.inflate filter tries to decompress
1108 after end of stream). (Keisial at gmail dot com, Greg)
1109 - Fixed bug #46024 (stream_select() doesn't return the correct number).
1110 (Arnaud)
1111 - Fixed bug #46010 (warnings incorrectly generated for iv in ecb mode).
1112 (Felipe)
1113 - Fixed bug #46003 (isset on nonexisting node return unexpected results). (Rob)
1114 - Fixed bug #45956 (parse_ini_file() does not return false with syntax errors
1115 in parsed file). (Jani)
1116 - Fixed bug #45901 (wddx_serialize_value crash with SimpleXMLElement object).
1117 (Rob)
1118 - Fixed bug #45862 (get_class_vars is inconsistent with 'protected' and
1119 'private' variables). (ilewis at uk dot ibm dot com, Felipe)
1120 - Fixed bug #45860 (header() function fails to correctly replace all Status
1121 lines). (Dmitry)
1122 - Fixed bug #45805 (Crash on throwing exception from error handler). (Dmitry)
1123 - Fixed bug #45765 (ReflectionObject with default parameters of self::xxx cause
1124 an error). (Felipe)
1125 - Fixed bug #45751 (Using auto_prepend_file crashes (out of scope stack address
1126 use)). (basant dot kukreja at sun dot com)
1127 - Fixed bug #45722 (mb_check_encoding() crashes). (Moriyoshi)
1128 - Fixed bug #45705 (rfc822_parse_adrlist() modifies passed address parameter).
1129 (Jani)
1130 - Fixed bug #45691 (Some per-dir or runtime settings may leak into other
1131 requests). (Moriyoshi)
1132 - Fixed bug #45581 (htmlspecialchars() double encoding &#x hex items). (Arnaud)
1133 - Fixed bug #45580 (levenshtein() crashes with invalid argument). (Ilia)
1134 - Fixed bug #45575 (Segfault with invalid non-string as event handler callback).
1135 (Christian Seiler)
1136 - Fixed bug #45568 (ISAPI doesn't properly clear auth_digest in header).
1137 (Patch by: navara at emclient dot com)
1138 - Fixed bug #45556 (Return value from callback isn't freed). (Felipe)
1139 - Fixed bug #45555 (Segfault with invalid non-string as
1140 register_introspection_callback). (Christian Seiler)
1141 - Fixed bug #45553 (Using XPath to return values for attributes with a
1142 namespace does not work). (Rob)
1143 - Fixed bug #45529 (new DateTimeZone() and date_create()->getTimezone() behave
1144 different). (Derick)
1145 - Fixed bug #45522 (FCGI_GET_VALUES request does not return supplied values).
1146 (Arnaud)
1147 - Fixed bug #45486 (mb_send_mail(); header 'Content-Type: text/plain; charset='
1148 parsing incorrect). (Felipe)
1149 - Fixed bug #45485 (strip_tags and <?XML tag). (Felipe)
1150 - Fixed bug #45460 (imap patch for fromlength fix in imap_headerinfo doesn't
1151 accept lengths of 1024). (Felipe, andrew at lifescale dot com)
1152 - Fixed bug #45449 (filesize() regression using ftp wrapper).
1153 (crrodriguez at suse dot de)
1154 - Fixed bug #45423 (fastcgi parent process doesn't invoke php_module_shutdown
1155 before shutdown) (basant dot kukreja at sun dot com)
1156 - Fixed bug #45406 (session.serialize_handler declared by shared extension fails).
1157 (Kalle, oleg dot grenrus at dynamoid dot com)
1158 - Fixed bug #45405 (snmp extension memory leak).
1159 (Federico Cuello, Rodrigo Campos)
1160 - Fixed bug #45382 (timeout bug in stream_socket_enable_crypto). (Ilia)
1161 - Fixed bug #45373 (php crash on query with errors in params). (Felipe)
1162 - Fixed bug #45352 (Segmentation fault because of tick function on second
1163 request). (Dmitry)
1164 - Fixed bug #45312 (Segmentation fault on second request for array functions).
1165 (Dmitry)
1166 - Fixed bug #45303 (Opening php:// wrapper in append mode results in a warning).
1167 (Arnaud)
1168 - Fixed bug #45251 (double free or corruption with setAttributeNode()). (Rob)
1169 - Fixed bug #45226 and #18916 (xmlrpc_set_type() segfaults and wrong behavior
1170 with valid ISO8601 date string). (Jeff Lawsons)
1171 - Fixed bug #45220 (curl_read callback returns -1 when needs to return
1172 size_t (unsigned)). (Felipe)
1173 - Fixed bug #45181 (chdir() should clear relative entries in stat cache).
1174 (Arnaud)
1175 - Fixed bug #45178 (memory corruption on assignment result of "new" by
1176 reference). (Dmitry)
1177 - Fixed bug #45166 (substr() overflow changes). (Felipe)
1178 - Fixed bug #45151 (Crash with URI/file..php (filename contains 2 dots)).
1179 (Fixes CVE-2008-3660) (Dmitry)
1180 - Fixed bug #45139 (ReflectionProperty returns incorrect declaring class).
1181 (Felipe)
1182 - Fixed bug #45124 ($_FILES['upload']['size'] sometimes return zero and some
1183 times the filesize). (Arnaud)
1184 - Fixed bug #45028 (CRC32 output endianness is different between crc32() and
1185 hash()). (Tony)
1186 - Fixed bug #45004 (pg_insert() does not accept 4 digit timezone format).
1187 (Ilia)
1188 - Fixed bug #44991 (Compile Failure With freetds0.82).
1189 (jklowden at freetds dot org, matthias at dsx dot at)
1190 - Fixed bug #44938 (gettext functions crash with overly long domain).
1191 (Christian Schneider, Ilia)
1192 - Fixed bug #44925 (preg_grep() modifies input array). (Nuno)
1193 - Fixed bug #44900 (OpenSSL extension fails to link with OpenSSL 0.9.6).
1194 (jd at cpanel dot net, Pierre)
1195 - Fixed bug #44891 Memory leak using registerPHPFunctions and XSLT Variable
1196 as function parameter. (Rob)
1197 - Fixed bug #44882 (SOAP extension object decoding bug). (Dmitry)
1198 - Fixed bug #44830 (Very minor issue with backslash in heredoc). (Matt)
1199 - Fixed bug #44818 (php://memory writeable when opened read only). (Arnaud)
1200 - Fixed bug #44811 (Improve error message when creating a new SoapClient
1201 that contains invalid data). (Markus Fischer, David C)
1202 - Fixed bug #44798 (Memory leak assigning value to attribute). (Ilia)
1203 - Fixed bug #44716 (Progress notifications incorrect). (Hannes)
1204 - Fixed bug #44712 (stream_context_set_params segfaults on invalid arguments).
1205 (Hannes)
1206 - Fixed bug #44617 (wrong HTML entity output when substitute_character=entity).
1207 (Moriyoshi)
1208 - Fixed bug #44607 (stream_get_line unable to correctly identify the "ending"
1209 in the stream content). (Arnaud)
1210 - Fixed bug #44425 (Extending PDO/MySQL class with a __call() function doesn't
1211 work). (Johannes)
1212 - Fixed bug #44327 (PDORow::queryString property & numeric offsets / Crash).
1213 (Felipe)
1214 - Fixed bug #44251, #41125 (PDO + quote() + prepare() can result in segfault).
1215 (tsteiner at nerdclub dot net)
1216 - Fixed bug #44246 (closedir() accepts a file resource opened by fopen()).
1217 (Dmitry, Tony)
1218 - Fixed bug #44182 (extract($a, EXTR_REFS) can fail to split copy-on-write
1219 references). (robin_fernandes at uk dot ibm dot com)
1220 - Fixed bug #44181 (extract($a, EXTR_OVERWRITE|EXTR_REFS) can fail to create
1221 references to $a). (robin_fernandes at uk dot ibm dot com)
1222 - Fixed bug #44127 (UNIX abstract namespace socket connect does not work).
1223 (Jani)
1224 - Fixed bug #43993 (mb_substr_count() behaves differently to substr_count()
1225 with overlapping needles). (Moriyoshi)
1226 - Fixed Bug #43958 (class name added into the error message). (Dmitry)
1227 - Fixed bug #43941 (json_encode silently cuts non-UTF8 strings). (Stas)
1228 - Fixed bug #43925 (Incorrect argument counter in prepared statements with
1229 pgsql). (Felipe)
1230 - Fixed bug #43731 (socket_getpeername: cannot use on stdin with inetd).
1231 (Arnaud)
1232 - Fixed bug #43723 (SOAP not sent properly from client for <choice>). (Dmitry)
1233 - Fixed bug #43668 (Added odbc.default_cursortype to control the ODBCcursor
1234 model). (Patrick)
1235 - Fixed bug #43666 (Fixed code to use ODBC 3.52 datatypes for 64bit
1236 systems). (Patrick)
1237 - Fixed bug #43540 (rfc1867 handler newlength problem). (Arnaud)
1238 - Fixed bug #43452 (strings containing a weekday, or a number plus weekday
1239 behaved incorrect of the current day-of-week was the same as the one in the
1240 phrase). (Derick)
1241 - Fixed bug #43353 (wrong detection of 'data' wrapper causes notice).
1242 (gk at gknw dot de, Arnaud)
1243 - Fixed bug #43053 (Regression: some numbers shown in scientific notation).
1244 (int-e at gmx dot de)
1245 - Fixed bug #43045 (SOAP encoding violation on "INF" for type double/float).
1246 (Dmitry)
1247 - Fixed bug #42862 (IMAP toolkit crash: rfc822.c legacy routine buffer
1248 overflow). (Fixes CVE-2008-2829) (Dmitry)
1249 - Fixed bug #42855 (dns_get_record() doesn't return all text from TXT record).
1250 (a dot u dot savchuk at gmail dot com)
1251 - Fixed bug #42737 (preg_split('//u') triggers a E_NOTICE with newlines).
1252 (Nuno)
1253 - Fixed bug #42718 (FILTER_UNSAFE_RAW not applied when configured as default
1254 filter). (Arnaud)
1255 - Fixed bug #42604 ("make test" fails with --with-config-file-scan-dir=path).
1256 (Jani)
1257 - Fixed bug #42473 (ob_start php://output and headers). (Arnaud)
1258 - Fixed bug #42318 (problem with nm on AIX, not finding object files).
1259 (Dmitry)
1260 - Fixed bug #42294 (Unified solution for round() based on C99 round). (Ilia)
1261 - Fixed bug #42078 (pg_meta_data mix tables metadata from different schemas).
1262 (Felipe)
1263 - Fixed bug #41348 (OCI8: allow compilation with Oracle 8.1). (Chris Jones)
1264 - Fixed bug #41033 (enable signing with DSA keys.
1265 (gordyf at google dot com, Pierre)
1266 - Fixed bug #37100 (data is returned truncated with BINARY CURSOR). (Tony)
1267 - Fixed bug #30312 (crash in sybase_unbuffered_query() function). (Timm)
1268 - Fixed bug #24679 (pg_* functions doesn't work using schema). (Felipe)
1269 - Fixed bug #14962 (PECL) (::extractTo 2nd argument is not really optional)
1270 (Mark van Der Velden)
1271 - Fixed bug #14032 (Mail() always returns false but mail is sent). (Mikko)
1272
1273
1274 01 May 2008, PHP 5.2.6
1275 - Fixed two possible crashes inside posix extension (Tony)
1276 - Fixed incorrect heredoc handling when label is used within the block.
1277 (Matt)
1278 - Fixed possible stack buffer overflow in FastCGI SAPI. (Andrei Nigmatulin)
1279 - Fixed sending of uninitialized paddings which may contain some information. (Andrei Nigmatulin)
1280 - Fixed a bug in formatting timestamps when DST is active in the default timezone (Derick)
1281 - Properly address incomplete multibyte chars inside escapeshellcmd() (Ilia, Stefan Esser)
1282 - Fix integer overflow in printf(). (Stas, Maksymilian Aciemowicz)
1283 - Fixed security issue detailed in CVE-2008-0599. (Rasmus)
1284 - Fixed potential memleak in stream filter parameter for zlib filter. (Greg)
1285 - Added Reflection API metadata for the methods of the DOM classes. (Sebastian)
1286 - Fixed weird behavior in CGI parameter parsing. (Dmitry, Hannes Magnusson)
1287 - Fixed a safe_mode bypass in cURL identified by Maksymilian Arciemowicz.
1288 (Ilia)
1289 - Fixed a bug with PDO::FETCH_COLUMN|PDO::FETCH_GROUP mode when a column # by
1290 which to group by data is specified. (Ilia)
1291 - Fixed segfault in filter extension when using callbacks. (Arnar Mar Sig,
1292 Felipe)
1293 - Fixed faulty fix for bug #40189 (endless loop in zlib.inflate stream filter). (Greg)
1294 - Upgraded PCRE to version 7.6 (Nuno)
1295
1296 - Fixed bug #44742 (timezone_offset_get() causes segmentation faults). (Derick)
1297 - Fixed bug #44720 (Prevent crash within session_register()). (Scott)
1298 - Fixed bug #44703 (htmlspecialchars() does not detect bad character set argument). (Andy Wharmby)
1299 - Fixed bug #44673 (With CGI argv/argc starts from arguments, not from script) (Dmitry)
1300 - Fixed bug #44667 (proc_open() does not handle pipes with the mode 'wb' correctly). (Jani)
1301 - Fixed bug #44663 (Crash in imap_mail_compose if "body" parameter invalid). (Ilia)
1302 - Fixed bug #44650 (escaepshellscmd() does not check arg count). (Ilia)
1303 - Fixed bug #44613 (Crash inside imap_headerinfo()). (Ilia, jmessa)
1304 - Fixed bug #44603 (Order issues with Content-Type/Length headers on POST). (Ilia)
1305 - Fixed bug #44594 (imap_open() does not validate # of retries parameter). (Ilia)
1306 - Fixed bug #44591 (imagegif's filename parameter). (Felipe)
1307 - Fixed bug #44557 (Crash in imap_setacl when supplied integer as username) (Thomas Jarosch)
1308 - Fixed bug #44487 (call_user_method_array issues a warning when throwing an exception). (David Soria Parra)
1309 - Fixed bug #44478 (Inconsistent behaviour when assigning new nodes). (Rob, Felipe)
1310 - Fixed bug #44445 (email validator does not handle domains starting/ending with a -). (Ilia)
1311 - Fixed bug #44440 (st_blocks undefined under BeOS). (Felipe)
1312 - Fixed bug #44394 (Last two bytes missing from output). (Felipe)
1313 - Fixed bug #44388 (Crash inside exif_read_data() on invalid images) (Ilia)
1314 - Fixed bug #44373 (PDO_OCI extension compile failed). (Felipe)
1315 - Fixed bug #44333 (SEGFAULT when using mysql_pconnect() with client_flags). (Felipe)
1316 - Fixed bug #44306 (Better detection of MIPS processors on Windows). (Ilia)
1317 - Fixed bug #44242 (metaphone('CMXFXM') crashes PHP). (Felipe)
1318 - Fixed bug #44233 (MSG_PEEK undefined under BeOS R5). (jonathonfreeman at gmail dot com, Ilia)
1319 - Fixed bug #44216 (strftime segfaults on large negative value). (Derick)
1320 - Fixed bug #44209 (strtotime() doesn't support 64 bit timestamps on 64 bit platforms). (Derick)
1321 - Fixed bug #44206 (OCI8 selecting ref cursors leads to ORA-1000 maximum open cursors reached). (Oracle Corp.)
1322 - Fixed bug #44200 (A crash in PDO when no bound targets exists and yet bound parameters are present). (Ilia)
1323 - Fixed bug #44197 (socket array keys lost on socket_select). (Felipe)
1324 - Fixed bug #44191 (preg_grep messes up array index). (Felipe)
1325 - Fixed bug #44189 (PDO setAttribute() does not properly validate values for native numeric options). (Ilia)
1326 - Fixed bug #44184 (Double free of loop-variable on exception). (Dmitry)
1327 - Fixed bug #44171 (Invalid FETCH_COLUMN index does not raise an error). (Ilia)
1328 - Fixed bug #44166 (Parameter handling flaw in PDO::getAvailableDrivers()). (Ilia)
1329 - Fixed bug #44159 (Crash: $pdo->setAttribute(PDO::STATEMENT_ATTR_CLASS, NULL)). (Felipe)
1330 - Fixed bug #44152 (Possible crash with syslog logging on ZTS builds). (Ilia)
1331 - Fixed bug #44141 (private parent constructor callable through static function). (Dmitry)
1332 - Fixed bug #44113 (OCI8 new collection creation can fail with OCI-22303). (Oracle Corp.)
1333 - Fixed bug #44069 (Huge memory usage with concatenation using . instead of .=). (Dmitry)
1334 - Fixed bug #44046 (crash inside array_slice() function with an invalid by-ref offset). (Ilia)
1335 - Fixed bug #44028 (crash inside stream_socket_enable_crypto() when enabling encryption without crypto type). (Ilia)
1336 - Fixed bug #44018 (RecursiveDirectoryIterator options inconsistancy). (Marcus)
1337 - Fixed bug #44008 (OCI8 incorrect usage of OCI-Lob->close crashes PHP). (Oracle Corp.)
1338 - Fixed bug #43998 (Two error messages returned for incorrect encoding for mb_strto[upper|lower]). (Rui)
1339 - Fixed bug #43994 (mb_ereg 'successfully' matching incorrect). (Rui)
1340 - Fixed bug #43954 (Memory leak when sending the same HTTP status code multiple times). (Scott)
1341 - Fixed bug #43927 (koi8r is missing from html_entity_decode()). (andy at demos dot su, Tony)
1342 - Fixed bug #43912 (Interbase column names are truncated to 31 characters). (Ilia)
1343 - Fixed bug #43875 (Two error messages returned for $new and $flag argument in mysql_connect()). (Hannes)
1344 - Fixed bug #43863 (str_word_count() breaks on cyrillic "ya" in locale cp1251). (phprus at gmail dot com, Tony)
1345 - Fixed bug #43841 (mb_strrpos offset is byte count for negative values). (Rui)
1346 - Fixed bug #43840 (mb_strpos bounds check is byte count rather than a character count). (Rui)
1347 - Fixed bug #43808 (date_create never fails (even when it should)). (Derick)
1348 - Fixed bug #43793 (zlib filter is unable to auto-detect gzip/zlib file headers). (Greg)
1349 - Fixed bug #43703 (Signature compatibility check broken). (Dmitry)
1350 - Fixed bug #43677 (Inconsistent behaviour of include_path set with php_value). (manuel at mausz dot at)
1351 - Fixed bug #43663 (Extending PDO class with a __call() function doesn't work). (David Soria Parra)
1352 - Fixed bug #43647 (Make FindFile use PATH_SEPARATOR instead of ";"). (Ilia)
1353 - Fixed bug #43635 (mysql extension ingores INI settings on NULL values passed to mysql_connect()). (Ilia)
1354 - Fixed bug #43620 (Workaround for a bug inside libcurl 7.16.2 that can result in a crash). (Ilia)
1355 - Fixed bug #43614 (incorrect processing of numerical string keys of array in arbitrary serialized data). (Dmitriy Buldakov, Felipe)
1356 - Fixed bug #43606 (define missing depencies of the exif extension). (crrodriguez at suse dot de)
1357 - Fixed bug #43589 (a possible infinite loop in bz2_filter.c). (Greg)
1358 - Fixed bug #43580 (removed bogus declaration of a non-existent php_is_url() function). (Ilia)
1359 - Fixed bug #43559 (array_merge_recursive() doesn't behave as expected with duplicate NULL values). (Felipe, Tony)
1360 - Fixed bug #43533 (escapeshellarg('') returns null). (Ilia)
1361 - Fixed bug #43527 (DateTime created from a timestamp reports environment timezone). (Derick)
1362 - Fixed bug #43522 (stream_get_line() eats additional characters). (Felipe, Ilia, Tony)
1363 - Fixed bug #43507 (SOAPFault HTTP Status 500 - would like to be able to set the HTTP Status). (Dmitry)
1364 - Fixed bug #43505 (Assign by reference bug). (Dmitry)
1365 - Fixed bug #43498 (file_exists() on a proftpd server got SIZE not allowed in ASCII mode). (Ilia, crrodriguez at suse dot de)
1366 - Fixed bug #43497 (OCI8 XML/getClobVal aka temporary LOBs leak UGA memory). (Chris)
1367 - Fixed bug #43495 (array_merge_recursive() crashes with recursive arrays). (Ilia)
1368 - Fixed bug #43493 (pdo_pgsql does not send username on connect when password is not available). (Ilia)
1369 - Fixed bug #43491 (Under certain conditions, file_exists() never returns). (Dmitry)
1370 - Fixed bug #43483 (get_class_methods() does not list all visible methods). (Dmitry)
1371 - Fixed bug #43482 (array_pad() does not warn on very small pad numbers). (Ilia)
1372 - Fixed bug #43457 (Prepared statement with incorrect parms doesn't throw exception with pdo_pgsql driver). (Ilia)
1373 - Fixed bug #43450 (Memory leak on some functions with implicit object __toString() call). (David C.)
1374 - Fixed bug #43386 (array_globals not reset to 0 properly on init). (Ilia)
1375 - Fixed bug #43377 (PHP crashes with invalid argument for DateTimeZone). (Ilia)
1376 - Fixed bug #43373 (pcntl_fork() should not raise E_ERROR on error). (Ilia)
1377 - Fixed bug #43364 (recursive xincludes don't remove internal xml nodes properly). (Rob, patch from ddb@bitxtender.de)
1378 - Fixed bug #43301 (mb_ereg*_replace() crashes when replacement string is invalid PHP expression and 'e' option is used). (Jani)
1379 - Fixed bug #43295 (crash because of uninitialized SG(sapi_headers).mimetype). (Dmitry)
1380 - Fixed bug #43293 (Multiple segfaults in getopt()). (Hannes)
1381 - Fixed bug #43279 (pg_send_query_params() converts all elements in 'params' to strings). (Ilia)
1382 - Fixed bug #43276 (Incomplete fix for bug #42739, mkdir() under safe_mode). (Ilia)
1383 - Fixed bug #43248 (backward compatibility break in realpath()). (Dmitry)
1384 - Fixed bug #43221 (SimpleXML adding default namespace in addAttribute). (Rob)
1385 - Fixed bug #43216 (stream_is_local() returns false on "file://"). (Dmitry)
1386 - Fixed bug #43201 (Crash on using uninitialized vals and __get/__set). (Dmitry)
1387 - Fixed bug #43182 (file_put_contents() LOCK_EX does not work properly on file truncation). (Ilia)
1388 - Fixed bug #43175 (__destruct() throwing an exception with __call() causes segfault). (Dmitry)
1389 - Fixed bug #43128 (Very long class name causes segfault). (Dmitry)
1390 - Fixed bug #43105 (PHP seems to fail to close open files). (Hannes)
1391 - Fixed bug #43092 (curl_copy_handle() crashes with > 32 chars long URL). (Jani)
1392 - Fixed bug #43003 (Invalid timezone reported for DateTime objects constructed using a timestamp). (Derick)
1393 - Fixed bug #42978 (mismatch between number of bound params and values causes a crash in pdo_pgsql). (Ilia)
1394 - Fixed bug #42945 (preg_split() swallows part of the string). (Nuno)
1395 - Fixed bug #42937 (__call() method not invoked when methods are called on parent from child class). (Dmitry)
1396 - Fixed bug #42841 (REF CURSOR and oci_new_cursor() crash PHP). (Chris)
1397 - Fixed bug #42838 (Wrong results in array_diff_uassoc) (Felipe)
1398 - Fixed bug #42779 (Incorrect forcing from HTTP/1.0 request to HTTP/1.1 response). (Ilia)
1399 - Fixed bug #42736 (xmlrpc_server_call_method() crashes). (Tony)
1400 - Fixed bug #42692 (Procedure 'int1' not present with doc/lit SoapServer). (Dmitry)
1401 - Fixed bug #42548 (mysqli PROCEDURE calls can't return result sets). (Hartmut)
1402 - Fixed bug #42505 (new sendmail default breaks on Netware platform) (Guenter Knauf)
1403 - Fixed bug #42369 (Implicit conversion to string leaks memory). (David C., Rob).
1404 - Fixed bug #42272 (var_export() incorrectly escapes char(0)). (Derick)
1405 - Fixed bug #42261 (Incorrect lengths for date and boolean data types). (Ilia)
1406 - Fixed bug #42190 (Constructing DateTime with TimeZone Indicator invalidates DateTimeZone). (Derick)
1407 - Fixed bug #42177 (Warning "array_merge_recursive(): recursion detected" comes again...). (Felipe)
1408 - Fixed bug #41941 (oci8 extension not lib64 savvy). (Chris)
1409 - Fixed bug #41828 (Failing to call RecursiveIteratorIterator::__construct() causes a sefault). (Etienne)
1410 - Fixed bug #41599 (setTime() fails after modify() is used). (Derick)
1411 - Fixed bug #41562 (SimpleXML memory issue). (Rob)
1412 - Fixed bug #40013 (php_uname() does not return nodename on Netware (Guenter Knauf)
1413 - Fixed bug #38468 (Unexpected creation of cycle). (Dmitry)
1414 - Fixed bug #32979 (OpenSSL stream->fd casts broken in 64-bit build) (stotty at tvnet dot hu)
1415
1416 08 Nov 2007, PHP 5.2.5
1417 - Upgraded PCRE to version 7.3 (Nuno)
1418 - Added optional parameter $provide_object to debug_backtrace(). (Sebastian)
1419 - Added alpha support for imagefilter() IMG_FILTER_COLORIZE. (Pierre)
1420 - Added ability to control memory consumption between request using
1421 ZEND_MM_COMPACT environment variable. (Dmitry)
1422
1423 - Improved speed of array_intersect_key(), array_intersect_assoc(),
1424 array_uintersect_assoc(), array_diff_key(), array_diff_assoc() and
1425 array_udiff_assoc(). (Dmitry)
1426
1427 - Fixed move_uploaded_file() to always set file permissions of resulting file
1428 according to UMASK. (Andrew Sitnikov)
1429 - Fixed possible crash in ext/soap because of uninitialized value. (Zdash Urf)
1430 - Fixed regression in glob() when enforcing safe_mode/open_basedir checks on
1431 paths containing '*'. (Ilia)
1432 - Fixed "mail.force_extra_parameters" php.ini directive not to be modifiable
1433 in .htaccess due to the security implications - reported by SecurityReason.
1434 (Stas)
1435 - Fixed PDO crash when driver returns empty LOB stream. (Stas)
1436 - Fixed dl() to only accept filenames - reported by Laurent Gaffie. (Stas)
1437 - Fixed dl() to limit argument size to MAXPATHLEN (CVE-2007-4887).
1438 (Christian Hoffmann)
1439 - Fixed iconv_*() functions to limit argument sizes as workaround to libc
1440 bug (CVE-2007-4783, CVE-2007-4840 by Laurent Gaffie).
1441 (Christian Hoffmann, Stas)
1442 - Fixed missing brackets leading to build warning and error in the log.
1443 Win32 code. (Andrey)
1444 - Fixed leaks with multiple connects on one mysqli object. (Andrey)
1445 - Fixed endianness detection on MacOS when building universal binary.
1446 (Uwe Schindler, Christian Speich, Tony)
1447 - Fixed possible triggering of buffer overflows inside glibc
1448 implementations of the fnmatch(), setlocale() and glob() functions.
1449 Reported by Laurent Gaffie. (Ilia)
1450 - Fixed imagerectangle regression with 1x1 rectangle (libgd #106). (Pierre)
1451 - Fixed htmlentities/htmlspecialchars not to accept partial multibyte
1452 sequences. (Stas)
1453
1454 - Fixed bug #43196 (array_intersect_assoc() crashes with non-array input).
1455 (Jani)
1456 - Fixed bug #43139 (PDO ignores ATTR_DEFAULT_FETCH_MODE in some cases with
1457 fetchAll()). (Ilia)
1458 - Fixed bug #43137 (rmdir() and rename() do not clear statcache). (Jani)
1459 - Fixed bug #43130 (Bound parameters cannot have - in their name). (Ilia)
1460 - Fixed bug #43099 (XMLWriter::endElement() does not check # of params).
1461 (Ilia)
1462 - Fixed bug #43020 (Warning message is missing with shuffle() and more
1463 than one argument). (Scott)
1464 - Fixed bug #42976 (Crash when constructor for newInstance() or
1465 newInstanceArgs() fails) (Ilia)
1466 - Fixed bug #42943 (ext/mssql: Move *timeout initialization from RINIT
1467 to connect time). (Ilia)
1468 - Fixed bug #42917 (PDO::FETCH_KEY_PAIR doesn't work with setFetchMode).
1469 (Ilia)
1470 - Fixed bug #42890 (Constant "LIST" defined by mysqlclient and c-client).
1471 (Andrey)
1472 - Fixed bug #42869 (automatic session id insertion adds sessions id to
1473 non-local forms). (Ilia)
1474 - Fixed bug #42818 ($foo = clone(array()); leaks memory). (Dmitry)
1475 - Fixed bug #42817 (clone() on a non-object does not result in a fatal
1476 error). (Ilia)
1477 - Fixed bug #42785 (json_encode() formats doubles according to locale rather
1478 then following standard syntax). (Ilia)
1479 - Fixed bug #42783 (pg_insert() does not accept an empty list for
1480 insertion). (Ilia)
1481 - Fixed bug #42773 (WSDL error causes HTTP 500 Response). (Dmitry)
1482 - Fixed bug #42772 (Storing $this in a static var fails while handling a cast
1483 to string). (Dmitry)
1484 - Fixed bug #42767 (highlight_string() truncates trailing comment). (Ilia)
1485 - Fixed bug #42739 (mkdir() doesn't like a trailing slash when safe_mode is
1486 enabled). (Ilia)
1487 - Fixed bug #42703 (Exception raised in an iterator::current() causes segfault
1488 in FilterIterator) (Marcus)
1489 - Fixed bug #42699 (PHP_SELF duplicates path). (Dmitry)
1490 - Fixed bug #42654 (RecursiveIteratorIterator modifies only part of leaves)
1491 (Marcus)
1492 - Fixed bug #42643 (CLI segfaults if using ATTR_PERSISTENT). (Ilia)
1493 - Fixed bug #42637 (SoapFault : Only http and https are allowed). (Bill Moran)
1494 - Fixed bug #42629 (Dynamically loaded PHP extensions need symbols exported
1495 on MacOSX). (jdolecek at NetBSD dot org)
1496 - Fixed bug #42627 (bz2 extension fails to build with -fno-common).
1497 (dolecek at netbsd dot org)
1498 - Fixed Bug #42596 (session.save_path MODE option does not work). (Ilia)
1499 - Fixed bug #42590 (Make the engine recognize \v and \f escape sequences).
1500 (Ilia)
1501 - Fixed bug #42587 (behavior change regarding symlinked .php files). (Dmitry)
1502 - Fixed bug #42579 (apache_reset_timeout() does not exist). (Jani)
1503 - Fixed bug #42549 (ext/mysql failed to compile with libmysql 3.23). (Scott)
1504 - Fixed bug #42523 (PHP_SELF duplicates path). (Dmitry)
1505 - Fixed bug #42512 (ip2long('255.255.255.255') should return 4294967295 on
1506 64-bit PHP). (Derick)
1507 - Fixed bug #42506 (php_pgsql_convert() timezone parse bug) (nonunnet at
1508 gmail dot com, Ilia)
1509 - Fixed bug #42496 (OCI8 cursor is not closed when using 2 clobs in a select
1510 query). (Oracle Corp.)
1511 - Fixed bug #42462 (Segmentation when trying to set an attribute in a
1512 DOMElement). (Rob)
1513 - Fixed bug #42453 (CGI SAPI does not shut down cleanly with -i/-m/-v cmdline
1514 options). (Dmitry)
1515 - Fixed bug #42452 (PDO classes do not expose Reflection API information).
1516 (Hannes)
1517 - Fixed bug #42468 (Write lock on file_get_contents fails when using a
1518 compression stream). (Ilia)
1519 - Fixed bug #42488 (SoapServer reports an encoding error and the error itself
1520 breaks). (Dmitry)
1521 - Fixed bug #42378 (mysqli_stmt_bind_result memory exhaustion). (Andrey)
1522 - Fixed bug #42359 (xsd:list type not parsed). (Dmitry)
1523 - Fixed bug #42326 (SoapServer crash). (Dmitry)
1524 - Fixed bug #42214 (SoapServer sends clients internal PHP errors). (Dmitry)
1525 - Fixed bug #42189 (xmlrpc_set_type() crashes php on invalid datetime
1526 values). (Ilia)
1527 - Fixed bug #42139 (XMLReader option constants are broken using XML()). (Rob)
1528 - Fixed bug #42086 (SoapServer return Procedure '' not present for WSIBasic
1529 compliant wsdl). (Dmitry)
1530 - Fixed bug #41822 (Relative includes broken when getcwd() fails). (Ab5602,
1531 Jani)
1532 - Fixed bug #41561 (Values set with php_admin_* in httpd.conf can be overwritten
1533 with ini_set()). (Stas, Jani)
1534 - Fixed bug #39651 (proc_open() append mode doesn't work on windows). (Nuno)
1535
1536 30 Aug 2007, PHP 5.2.4
1537 - Removed --enable-versioning configure option. (Jani)
1538
1539 - Upgraded PCRE to version 7.2 (Nuno)
1540 - Updated timezone database to version 2007.6. (Derick)
1541
1542 - Improved openssl_x509_parse() to return extensions in readable form. (Dmitry)
1543
1544 - Enabled changing the size of statement cache for non-persistent OCI8
1545 connections. (Chris Jones, Tony)
1546
1547 - Changed "display_errors" php.ini option to accept "stderr" as value which
1548 makes the error messages to be outputted to STDERR instead of STDOUT with
1549 CGI and CLI SAPIs (FR #22839). (Jani)
1550 - Changed error handler to send HTTP 500 instead of blank page on PHP errors.
1551 (Dmitry, Andrei Nigmatulin)
1552 - Changed mail() function to be always available. (Johannes)
1553
1554 - Added check for unknown options passed to configure. (Jani)
1555 - Added persistent connection status checker to pdo_pgsql.
1556 (Elvis Pranskevichus, Ilia)
1557 - Added support for ATTR_TIMEOUT inside pdo_pgsql driver. (Ilia)
1558 - Added php_ini_loaded_file() function which returns the path to the actual
1559 php.ini in use. (Jani)
1560 - Added GD version constants GD_MAJOR_VERSION, GD_MINOR_VERSION,
1561 GD_RELEASE_VERSION, GD_EXTRA_VERSION and GD_VERSION_STRING. (Pierre)
1562 - Added missing open_basedir checks to CGI.
1563 (anight at eyelinkmedia dot com, Tony)
1564 - Added missing format validator to unpack() function. (Ilia)
1565 - Added missing error check inside bcpowmod(). (Ilia)
1566 - Added CURLOPT_PRIVATE & CURLINFO_PRIVATE constants.
1567 (Andrey A. Belashkov, Tony)
1568 - Added missing MSG_EOR and MSG_EOF constants to sockets extension. (Jani)
1569 - Added PCRE_VERSION constant. (Tony)
1570 - Added ReflectionExtension::info() function to print the phpinfo()
1571 block for an extension. (Johannes)
1572
1573 - Implemented FR #41884 (ReflectionClass::getDefaultProperties() does not
1574 handle static attributes). (Tony)
1575
1576 - Fixed "Floating point exception" inside wordwrap().
1577 (Mattias Bengtsson, Ilia)
1578 - Fixed several integer overflows in ImageCreate(), ImageCreateTrueColor(),
1579 ImageCopyResampled() and ImageFilledPolygon() reported by Mattias Bengtsson.
1580 (Tony)
1581 - Fixed size calculation in chunk_split(). (Stas)
1582 - Fixed integer overflow in str[c]spn(). (Stas)
1583 - Fixed money_format() not to accept multiple %i or %n tokens.
1584 (Stas, Ilia)
1585 - Fixed zend_alter_ini_entry() memory_limit interruption
1586 vulnerability. (Ilia)
1587 - Fixed INFILE LOCAL option handling with MySQL extensions not to be
1588 allowed when open_basedir or safe_mode is active. (Stas)
1589 - Fixed session.save_path and error_log values to be checked against
1590 open_basedir and safe_mode (CVE-2007-3378) (Stas, Maksymilian Arciemowicz)
1591 - Fixed possible invalid read in glob() win32 implementation (CVE-2007-3806).
1592 (Tony)
1593 - Improved fix for MOPB-03-2007. (Ilia)
1594 - Corrected fix for CVE-2007-2872. (Ilia)
1595
1596 - Fixed possible crash in imagepsloadfont(), work around a bug in the pslib on
1597 Windows. (Pierre)
1598 - Fixed oci8 and PDO_OCI extensions to allow configuring with Oracle 11g
1599 client libraries. (Chris Jones)
1600 - Fixed EOF handling in case of reading from file opened in write only mode.
1601 (Dmitry)
1602 - Fixed var_export() to use the new H modifier so that it can generate
1603 parseable PHP code for floats, independent of the locale. (Derick)
1604 - Fixed regression introduced by the fix for the libgd bug #74. (Pierre)
1605 - Fixed SimpleXML's behavior when used with empty(). (Sara)
1606 - Fixed crash in OpenSSL extension because of non-string passphrase. (Dmitry)
1607
1608 - Fixed PECL Bug #11345 (PDO_OCI crash after National language Support "NLS"
1609 environment initialization error). (Chris Jones)
1610 - Fixed PECL bug #11216 (crash in ZipArchive::addEmptyDir when a directory
1611 already exists). (Pierre)
1612
1613 - Fixed bug #43926 (isInstance() isn't equivalent to instanceof operator). (Marcus)
1614 - Fixed bug #42368 (Incorrect error message displayed by pg_escape_string).
1615 (Ilia)
1616 - Fixed bug #42365 (glob() crashes and/or accepts way too many flags).
1617 (Jani)
1618 - Fixed Bug #42364 (Crash when using getRealPath with DirectoryIterator).
1619 (Johannes)
1620 - Fixed bug #42292 ($PHP_CONFIG not set for phpized builds). (Jani)
1621 - Fixed bug #42261 (header wrong for date field).
1622 (roberto at spadim dot com dot br, Ilia)
1623 - Fixed bug #42259 (SimpleXMLIterator loses ancestry). (Rob)
1624 - Fixed bug #42247 (ldap_parse_result() not defined under win32). (Jani)
1625 - Fixed bug #42243 (copy() does not output an error when the first arg is a
1626 dir). (Ilia)
1627 - Fixed bug #42242 (sybase_connect() crashes). (Ilia)
1628 - Fixed bug #42237 (stream_copy_to_stream returns invalid values for mmaped
1629 streams). (andrew dot minerd at sellingsource dot com, Ilia)
1630 - Fixed bug #42233 (Problems with æøå in extract()). (Jani)
1631 - Fixed bug #42222 (possible buffer overflow in php_openssl_make_REQ). (Pierre)
1632 - Fixed bug #42211 (property_exists() fails to find protected properties
1633 from a parent class). (Dmitry)
1634 - Fixed bug #42208 (substr_replace() crashes when the same array is passed
1635 more than once). (crrodriguez at suse dot de, Ilia)
1636 - Fixed bug #42198 (SCRIPT_NAME and PHP_SELF truncated when inside a userdir
1637 and using PATH_INFO). (Dmitry)
1638 - Fixed bug #42195 (C++ compiler required always). (Jani)
1639 - Fixed bug #42183 (classmap causes crash in non-wsdl mode). (Dmitry)
1640 - Fixed bug #42173 (oci8 INTERVAL and TIMESTAMP type fixes). (Chris)
1641 - Fixed bug #42151 (__destruct functions not called after catching a SoapFault
1642 exception). (Dmitry)
1643 - Fixed bug #42142 (substr_replace() returns FALSE when length > string length).
1644 (Ilia)
1645 - Fixed bug #42135 (Second call of session_start() causes creation of SID).
1646 (Ilia)
1647 - Fixed bug #42134 (oci_error() returns false after oci_new_collection() fails).
1648 (Tony)
1649 - Fixed bug #42119 (array_push($arr,&$obj) doesn't work with
1650 zend.ze1_compatibility_mode On). (Dmitry)
1651 - Fixed bug #42117 (bzip2.compress loses data in internal buffer).
1652 (Philip, Ilia)
1653 - Fixed bug #42112 (deleting a node produces memory corruption). (Rob)
1654 - Fixed bug #42107 (sscanf broken when using %2$s format parameters). (Jani)
1655 - Fixed bug #42090 (json_decode causes segmentation fault). (Hannes)
1656 - Fixed bug #42082 (NodeList length zero should be empty). (Hannes)
1657 - Fixed bug #42072 (No warning message for clearstatcache() with arguments).
1658 (Ilia)
1659 - Fixed bug #42071 (ini scanner allows using NULL as option name). (Jani)
1660 - Fixed bug #42027 (is_file() / is_dir() matches file/dirnames with wildcard char
1661 or trailing slash in Windows). (Dmitry)
1662 - Fixed bug #42019 (configure option --with-adabas=DIR does not work). (Jani)
1663 - Fixed bug #42015 (ldap_rename(): server error "DSA is unwilling to perform").
1664 (bob at mroczka dot com, Jani)
1665 - Fixed bug #42009 (is_a() and is_subclass_of() should NOT call autoload, in the
1666 same way as "instanceof" operator). (Dmitry)
1667 - Fixed bug #41989 (move_uploaded_file() & relative path in ZTS mode). (Tony)
1668 - Fixed bug #41984 (Hangs on large SoapClient requests). (Dmitry)
1669 - Fixed bug #41983 (Error Fetching http headers terminated by '\n'). (Dmitry)
1670 - Fixed bug #41973 (--with-ldap=shared fails with LDFLAGS="-Wl,--as-needed"). (Nuno)
1671 - Fixed bug #41971 (PDOStatement::fetch and PDOStatement::setFetchMode causes
1672 unexpected behavior). (Ilia)
1673 - Fixed bug #41964 (strtotime returns a timestamp for non-time string of
1674 pattern '(A|a) .+'). (Derick)
1675 - Fixed bug #41961 (Ensure search for hidden private methods does not stray from
1676 class hierarchy). (robin_fernandes at uk dot ibm dot com)
1677 - Fixed bug #41947 (SimpleXML incorrectly registers empty strings asnamespaces).
1678 (Rob)
1679 - Fixed bug #41929 (Foreach on object does not iterate over all visible properties).
1680 (Dmitry)
1681 - Fixed bug #41919 (crash in string to array conversion).
1682 (judas dot iscariote at gmail dot com, Ilia)
1683 - Fixed bug #41909 (var_export() is locale sensitive when exporting float
1684 values). (Derick)
1685 - Fixed bug #41908 (CFLAGS="-Os" ./configure --enable-debug fails).
1686 (christian at hoffie dot info, Tony)
1687 - Fixed bug #41904 (proc_open(): empty env array should cause empty environment
1688 to be passed to process). (Jani)
1689 - Fixed bug #41867 (SimpleXML: getName is broken). (Rob)
1690 - Fixed bug #41865 (fputcsv(): 2nd parameter is not optional). (Jani)
1691 - Fixed bug #41861 (SimpleXML: getNamespaces() returns the namespaces of a node's
1692 siblings). (Rob)
1693 - Fixed bug #41845 (pgsql extension does not compile with PostgreSQL <7.4). (Ilia)
1694 - Fixed bug #41844 (Format returns incorrect number of digits for negative years
1695 -0001 to -0999). (Derick)
1696 - Fixed bug #41842 (Cannot create years < 0100 & negative years with date_create
1697 or new DateTime). (Derick)
1698 - Fixed bug #41833 (addChild() on a non-existent node, no node created,
1699 getName() segfaults). (Rob)
1700 - Fixed bug #41831 (pdo_sqlite prepared statements convert resources to
1701 strings). (Ilia)
1702 - Fixed bug #41815 (Concurrent read/write fails when EOF is reached). (Sascha)
1703 - Fixed bug #41813 (segmentation fault when using string offset as an object).
1704 (judas dot iscariote at gmail dot com, Tony)
1705 - Fixed bug #41795 (checkdnsrr does not support DNS_TXT type).
1706 (lucas at facebook dot com, Tony)
1707 - Fixed bug #41773 (php_strip_whitespace() sends headers with errors
1708 suppressed). (Tony)
1709 - Fixed bug #41770 (SSL: fatal protocol error due to buffer issues). (Ilia)
1710 - Fixed bug #41765 (Recode crashes/does not work on amd64).
1711 (nexus at smoula dot net, Stas)
1712 - Fixed bug #41724 (libxml_get_last_error() - errors service request scope).
1713 (thekid at php dot net, Ilia)
1714 - Fixed bug #41717 (imagepolygon does not respect thickness). (Pierre)
1715 - Fixed bug #41713 (Persistent memory consumption on win32 since 5.2). (Dmitry)
1716 - Fixed bug #41711 (NULL temporary lobs not supported in OCI8).
1717 (Chris Jones, Tony)
1718 - Fixed bug #41709 (strtotime() does not handle 00.00.0000). (Derick)
1719 - Fixed bug #41698 (float parameters truncated to integer in prepared
1720 statements). (Ilia)
1721 - Fixed bug #41692 (ArrayObject shows weird behavior in respect to
1722 inheritance). (Tony)
1723 - Fixed bug #41691 (ArrayObject::exchangeArray hangs Apache). (Tony)
1724 - Fixed bug #41686 (Omitting length param in array_slice not possible). (Ilia)
1725 - Fixed bug #41685 (array_push() fails to warn when next index is
1726 already occupied). (Ilia)
1727 - Fixed bug #41655 (open_basedir bypass via glob()). (Ilia)
1728 - Fixed bug #41640 (get_class_vars produces error on class constants).
1729 (Johannes)
1730 - Fixed bug #41635 (SoapServer and zlib.output_compression with FastCGI
1731 result in major slowdown). (Dmitry)
1732 - Fixed bug #41633 (Crash instantiating classes with self-referencing
1733 constants). (Dmitry)
1734 - Fixed bug #41630 (segfault when an invalid color index is present in the
1735 image data). (Reported by Elliot <wccoder@gmail dot com>) (Pierre)
1736 - Fixed bug #41628 (PHP settings leak between Virtual Hosts in Apache 1.3).
1737 (Scott, manuel at mausz dot at)
1738 - Fixed bug #41608 (segfault on a weird code with objects and switch()).
1739 (Tony)
1740 - Fixed bug #41600 (url rewriter tags doesn't work with namespaced tags).
1741 (Ilia)
1742 - Fixed bug #41596 (Fixed a crash inside pdo_pgsql on some non-well-formed
1743 SQL queries). (Ilia)
1744 - Fixed bug #41594 (OCI8 statement cache is flushed too frequently). (Tony)
1745 - Fixed bug #41582 (SimpleXML crashes when accessing newly created element).
1746 (Tony)
1747 - Fixed bug #41576 (configure failure when using --without-apxs or some other
1748 SAPIs disabling options). (Jani)
1749 - Fixed bug #41567 (json_encode() double conversion is inconsistent with PHP).
1750 (Lucas, Ilia)
1751 - Fixed bug #41566 (SOAP Server not properly generating href attributes).
1752 (Dmitry)
1753 - Fixed bug #41555 (configure failure: regression caused by fix for #41265).
1754 (Jani)
1755 - Fixed bug #41527 (WDDX deserialize numeric string array key).
1756 (Matt, Ilia)
1757 - Fixed bug #41523 (strtotime('0000-00-00 00:00:00') is parsed as 1999-11-30).
1758 (Derick)
1759 - Fixed bug #41518 (file_exists() warns of open_basedir restriction on
1760 non-existent file). (Tony)
1761 - Fixed bug #41445 (parse_ini_file() has a problem with certain types of
1762 integer as sections). (Tony)
1763 - Fixed bug #41433 (DBA: configure fails to include correct db.h for db4).
1764 (Jani)
1765 - Fixed bug #41372 (Internal pointer of source array resets during array
1766 copying). (Dmitry)
1767 - Fixed bug #41350 (my_thread_global_end() error during request shutdown on
1768 Windows). (Scott, Andrey)
1769 - Fixed bug #41278 (get_loaded_extensions() should list Zend extensions).
1770 (Johannes)
1771 - Fixed bug #41127 (Memory leak in ldap_{first|next}_attribute functions).
1772 (Jani)
1773 - Fixed bug #40757 (get_object_vars get nothing in child class). (Dmitry)
1774 - Fixed bug #40705 (Iterating within function moves original array pointer).
1775 (Dmitry)
1776 - Fixed bug #40509 (key() function changed behaviour if global array is used
1777 within function). (Dmitry)
1778 - Fixed bug #40419 (Trailing slash in CGI request does not work). (Dmitry)
1779 - Fixed bug #39330 (apache2handler does not call shutdown actions before
1780 apache child die). (isk at ecommerce dot com, Gopal, Tony)
1781 - Fixed bug #39291 (ldap_sasl_bind() misses the sasl_authc_id parameter).
1782 (diafour at gmail dot com, Jani)
1783 - Fixed bug #37715 (array pointers resetting on copy). (Dmitry)
1784 - Fixed bug #37273 (Symlinks and mod_files session handler allow open_basedir
1785 bypass). (Ilia)
1786 - Fixed bug #36492 (Userfilters can leak buckets). (Sara)
1787 - Fixed bugs #36796, #36918, #41371 (stream_set_blocking() does not work).
1788 (Jani)
1789 - Fixed bug #35981 (pdo-pgsql should not use pkg-config when not present).
1790 (Jani)
1791 - Fixed bug #31892 (PHP_SELF incorrect without cgi.fix_pathinfo, but turning on
1792 screws up PATH_INFO). (Dmitry)
1793 - Fixed bug #21197 (socket_read() outputs error with PHP_NORMAL_READ).
1794 (Nuno, Jani)
1795
1796 31 May 2007, PHP 5.2.3
1797 - Changed CGI install target to php-cgi and 'make install' to install CLI
1798 when CGI is selected. (Jani)
1799 - Changed JSON maximum nesting depth from 20 to 128. (Rasmus)
1800
1801 - Improved compilation of heredocs and interpolated strings. (Matt, Dmitry)
1802 - Optimized out a couple of per-request syscalls. (Rasmus)
1803 - Optimized digest generation in md5() and sha1() functions. (Ilia)
1804 - Upgraded bundled SQLite 3 to version 3.3.17. (Ilia)
1805
1806 - Added "max_input_nesting_level" php.ini option to limit nesting level of
1807 input variables. Fix for MOPB-03-2007. (Stas)
1808 - Added a 4th parameter flag to htmlspecialchars() and htmlentities() that
1809 makes the function not encode existing html entities. (Ilia)
1810 - Added PDO::FETCH_KEY_PAIR mode that will fetch a 2 column result set into
1811 an associated array. (Ilia)
1812 - Added CURLOPT_TIMEOUT_MS and CURLOPT_CONNECTTIMEOUT_MS cURL constants. (Sara)
1813 - Added --ini switch to CLI that prints out configuration file names. (Marcus)
1814 - Added mysql_set_charset() to allow runtime altering of connection encoding.
1815 (Scott)
1816
1817 - Implemented FR #41416 (getColumnMeta() should also return table name). (Tony)
1818
1819 - Fixed an integer overflow inside chunk_split(). Identified by Gerhard Wagner.
1820 (Ilia)
1821 - Fixed SOAP extension's handler() to work even when
1822 "always_populate_raw_post_data" is off. (Ilia)
1823 - Fixed possible infinite loop in imagecreatefrompng. (libgd #86)
1824 (by Xavier Roche, CVE-2007-2756). (Pierre)
1825 - Fixed ext/filter Email Validation Vulnerability (MOPB-45 by Stefan Esser).
1826 (Ilia)
1827 - Fixed altering $this via argument named "this". (Dmitry)
1828 - Fixed PHP CLI usage of php.ini from the binary location. (Hannes)
1829 - Fixed segfault in strripos(). (Tony, Joxean Koret)
1830 - Fixed bug #41693 (scandir() allows empty directory names). (Ilia)
1831 - Fixed bug #41673 (json_encode breaks large numbers in arrays). (Ilia)
1832 - Fixed bug #41525 (ReflectionParameter::getPosition() not available). (Marcus)
1833 - Fixed bug #41511 (Compile failure under IRIX 6.5.30 building md5.c). (Jani)
1834 - Fixed bug #41504 (json_decode() incorrectly decodes JSON arrays with empty
1835 string keys). (Ilia)
1836 - Fixed bug #41492 (open_basedir/safe_mode bypass inside realpath()). (Ilia)
1837 - Fixed bug #41477 (no arginfo about SoapClient::__soapCall()). (Ilia)
1838 - Fixed bug #41455 (ext/dba/config.m4 pollutes global $LIBS and $LDFLAGS).
1839 (mmarek at suse dot cz, Tony)
1840 - Fixed bug #41442 (imagegd2() under output control). (Tony)
1841 - Fixed bug #41430 (Fatal error with negative values of maxlen parameter of
1842 file_get_contents()). (Tony)
1843 - Fixed bug #41423 (PHP assumes wrongly that certain ciphers are enabled in
1844 OpenSSL). (Pierre)
1845 - Fixed bug #41421 (Uncaught exception from a stream wrapper segfaults).
1846 (Tony, Dmitry)
1847 - Fixed bug #41403 (json_decode cannot decode floats if localeconv
1848 decimal_point is not '.'). (Tony)
1849 - Fixed bug #41401 (wrong unary operator precedence). (Stas)
1850 - Fixed bug #41394 (dbase_create creates file with corrupted header). (Tony)
1851 - Fixed bug #41390 (Clarify error message with invalid protocol scheme).
1852 (Scott)
1853 - Fixed bug #41378 (fastcgi protocol lacks support for Reason-Phrase in
1854 "Status:" header). (anight at eyelinkmedia dot com, Dmitry)
1855 - Fixed bug #41374 (whole text concats values of wrong nodes). (Rob)
1856 - Fixed bug #41358 (configure cannot determine SSL lib with libcurl >= 7.16.2).
1857 (Mike)
1858 - Fixed bug #41353 (crash in openssl_pkcs12_read() on invalid input). (Ilia)
1859 - Fixed bug #41351 (Invalid opcode with foreach ($a[] as $b)). (Dmitry, Tony)
1860 - Fixed bug #41347 (checkdnsrr() segfaults on empty hostname). (Scott)
1861 - Fixed bug #41337 (WSDL parsing doesn't ignore non soap bindings). (Dmitry)
1862 - Fixed bug #41326 (Writing empty tags with Xmlwriter::WriteElement[ns])
1863 (Pierre)
1864 - Fixed bug #41321 (downgrade read errors in getimagesize() to E_NOTICE).
1865 (Ilia)
1866 - Fixed bug #41304 (compress.zlib temp files left). (Dmitry)
1867 - Fixed bug #41293 (Fixed creation of HTTP_RAW_POST_DATA when there is no
1868 default post handler). (Ilia)
1869 - Fixed bug #41291 (FastCGI does not set SO_REUSEADDR).
1870 (fmajid at kefta dot com, Dmitry)
1871 - Fixed gd build when used with freetype 1.x (Pierre, Tony)
1872 - Fixed bug #41287 (Namespace functions don't allow xmlns definition to be
1873 optional). (Rob)
1874 - Fixed bug #41285 (Improved fix for CVE-2007-1887 to work with non-bundled
1875 sqlite2 lib). (Ilia)
1876 - Fixed bug #41283 (Bug with deserializing array key that are doubles or
1877 floats in wddx). (Ilia)
1878 - Fixed bug #41257 (lookupNamespaceURI does not work as expected). (Rob)
1879 - Fixed bug #41236 (Regression in timeout handling of non-blocking SSL
1880 connections during reads and writes). (Ilia)
1881 - Fixed bug #41134 (zend_ts_hash_clean not thread-safe).
1882 (marco dot cova at gmail dot com, Tony)
1883 - Fixed bug #41097 (ext/soap returning associative array as indexed without
1884 using WSDL). (Dmitry)
1885 - Fixed bug #41004 (minOccurs="0" and null class member variable). (Dmitry)
1886 - Fixed bug #39542 (Behavior of require/include different to < 5.2.0).
1887 (Dmitry)
1888
1889 03 May 2007, PHP 5.2.2
1890 - Improved bundled GD
1891 . Sync to 2.0.35
1892 . Added imagegrabwindow and imagegrabscreen, capture a screen or a
1893 window using its handle (Pierre)
1894 . colors allocated henceforth from the resulting image overwrite the palette
1895 colors (Rob Leslie)
1896 . Improved thread safety of the gif support (Roman Nemecek, Nuno, Pierre)
1897 . Use the dimension of the GIF frame to create the destination image (Pierre)
1898 . Load only once the local color map from a GIF data (Pierre)
1899 . Improved thread safety of the freetype cache (Scott MacVicar, Nuno, Pierre)
1900 . imagearc huge CPU usage with large angles, libgd bug #74 (Pierre)
1901 - Improved FastCGI SAPI to support external pipe and socket servers on win32.
1902 (Dmitry)
1903 - Improved Zend Memory Manager
1904 . guarantee of reasonable time for worst cases of best-fit free block
1905 searching algorithm. (Dmitry)
1906 . better cache usage and less fragmentation on erealloc() (Tony, Dmitry)
1907 - Improved SPL (Marcus)
1908 . Added SplFileInfo::getBasename(), DirectoryIterator::getBasename().
1909 . Added SplFileInfo::getLinkTarget(), SplFileInfo::getRealPath().
1910 . Made RecursiveFilterIterator::accept() abstract as stated in documentation.
1911 - Improved SOAP
1912 . Added ability to encode arrays with "SOAP-ENC:Array" type instead of WSDL
1913 type. To activate the ability use "feature"=>SOAP_USE_XSI_ARRAY_TYPE
1914 option in SoapClient/SoapServer constructors. (Rob, Dmitry)
1915
1916 - Added GMP_VERSION constant. (Tony)
1917 - Added --ri switch to CLI which allows to check extension information. (Marcus)
1918 - Added tidyNode::getParent() method (John, Nuno)
1919 - Added openbasedir and safemode checks in zip:// stream wrapper and
1920 ZipArchive::open (Pierre)
1921 - Added php_pdo_sqlite_external.dll, a version of the PDO SQLite driver that
1922 links against an external sqlite3.dll. This provides Windows users to upgrade
1923 their sqlite3 version outside of the PHP release cycle. (Wez, Edin)
1924 - Added linenumbers to array returned by token_get_all(). (Johannes)
1925
1926 - Upgraded SQLite 3 to version 3.3.16 (Ilia)
1927 - Upgraded libraries bundled in the Windows distribution. (Edin)
1928 . c-client (imap) to version 2006e
1929 . libpq (PostgreSQL) to version 8.2.3
1930 . libmysql (MySQL) to version 5.0.37
1931 . openssl to version 0.9.8e
1932 - Upgraded PCRE to version 7.0 (Nuno)
1933
1934 - Updated timezone database to version 2007.5. (Derick)
1935
1936 - Fixed commandline handling for CLI and CGI. (Marcus, Johannes)
1937 - Fixed iterator_apply() with a callback using __call(). (Johannes)
1938 - Fixed possible multi bytes issues in openssl csr parser (Pierre)
1939 - Fixed shmop_open() with IPC_CREAT|IPC_EXCL flags on Windows.
1940 (Vladimir Kamaev, Tony).
1941 - Fixed possible leak in ZipArchive::extractTo when safemode checks fails (Ilia)
1942 - Fixed possible relative path issues in zip_open and TS mode (old API) (Pierre)
1943 - Fixed zend_llist_remove_tail (Michael Wallner, Dmitry)
1944 - Fixed a thread safety issue in gd gif read code (Nuno, Roman Nemecek)
1945 - Fixed CVE-2007-1001, GD wbmp used with invalid image size (Pierre)
1946 - Fixed unallocated memory access/double free in in array_user_key_compare()
1947 (MOPB-24 by Stefan Esser) (Stas)
1948 - Fixed wrong length calculation in unserialize S type
1949 (MOPB-29 by Stefan Esser) (Stas)
1950
1951 - Fixed bug #41215 (setAttribute return code reversed). (Ilia)
1952 - Fixed bug #41192 (Per Directory Values only work for one key). (Dmitry)
1953 - Fixed bug #41175 (addAttribute() fails to add an attribute with an empty
1954 value). (Ilia)
1955 - Fixed bug #41159 (mysql_pconnect() hash does not account for connect
1956 flags). (Ilia)
1957 - Fixed bug #41121 (range() overflow handling for large numbers on 32bit
1958 machines). (Ilia)
1959 - Fixed bug #41118 (PHP does not handle overflow of octal integers). (Tony)
1960 - Fixed bug #41109 (recursiveiterator.inc says "implements" Iterator instead of
1961 "extends"). (Marcus)
1962 - Fixed bug #40130 (TTF usage doesn't work properly under Netware). (Scott,
1963 gk at gknw dot de)
1964 - Fixed bug #41093 (magic_quotes_gpc ignores first arrays keys). (Arpad, Ilia)
1965 - Fixed bug #41075 (memleak when creating default object caused exception).
1966 (Dmitry)
1967 - Fixed bug #41067 (json_encode() problem with UTF-16 input). (jp at df5ea
1968 dot net. Ilia)
1969 - Fixed bug #41063 (chdir doesn't like root paths). (Dmitry)
1970 - Fixed bug #41061 ("visibility error" in ReflectionFunction::export()).
1971 (Johannes)
1972 - Fixed bug #41043 (pdo_oci crash when freeing error text with persistent
1973 connection). (Tony)
1974 - Fixed bug #41037 (unregister_tick_function() inside the tick function crash PHP).
1975 (Tony)
1976 - Fixed bug #41034 (json_encode() ignores null byte started keys in arrays).
1977 (Ilia)
1978 - Fixed bug #41026 (segfault when calling "self::method()" in shutdown functions).
1979 (Tony)
1980 - Fixed bug #40999 (mcrypt_create_iv() not using random seed). (Ilia)
1981 - Fixed bug #40998 (long session array keys are truncated). (Tony)
1982 - Implement feature request #40947, allow a single filter as argument
1983 for filter_var_array (Pierre)
1984 - Fixed bug #40935 (pdo_mysql does not raise an exception on empty
1985 fetchAll()). (Ilia)
1986 - Fixed bug #40931 (open_basedir bypass via symlink and move_uploaded_file()).
1987 (Tony)
1988 - Fixed bug #40921 (php_default_post_reader crashes when post_max_size is
1989 exceeded). (trickie at gmail dot com, Ilia)
1990 - Fixed bug #40915 (addcslashes unexpected behavior with binary input). (Tony)
1991 - Fixed bug #40899 (memory leak when nesting list()). (Dmitry)
1992 - Fixed bug #40897 (error_log file not locked). (Ilia)
1993 - Fixed bug #40883 (mysql_query() is allocating memory incorrectly). (Tony)
1994 - Fixed bug #40872 (inconsistency in offsetSet, offsetExists treatment of
1995 string enclosed integers). (Marcus)
1996 - Fixed bug #40861 (strtotime() doesn't handle double negative relative time
1997 units correctly). (Derick, Ilia)
1998 - Fixed bug #40854 (imap_mail_compose() creates an invalid terminator for
1999 multipart e-mails). (Ilia)
2000 - Fixed bug #40848 (sorting issue on 64-bit Solaris). (Wez)
2001 - Fixed bug #40836 (Segfault in ext/dom). (Rob)
2002 - Fixed bug #40833 (Crash when using unset() on an ArrayAccess object retrieved
2003 via __get()). (Dmitry)
2004 - Fixed bug #40822 (pdo_mysql does not return rowCount() on select). (Ilia)
2005 - Fixed bug #40815 (using strings like "class::func" and static methods in
2006 set_exception_handler() might result in crash). (Tony)
2007 - Fixed bug #40809 (Poor performance of ".="). (Dmitry)
2008 - Fixed bug #40805 (Failure executing function ibase_execute()). (Tony)
2009 - Fixed bug #40800 (cannot disable memory_limit with -1). (Dmitry, Tony)
2010 - Fixed bug #40794 (ReflectionObject::getValues() may crash when used with
2011 dynamic properties). (Tony)
2012 - Fixed bug #40784 (Case sensitivity in constructor's fallback). (Tony)
2013 - Fixed bug #40770 (Apache child exits when PHP memory limit reached). (Dmitry)
2014 - Fixed bug #40764 (line thickness not respected for horizontal and vertical
2015 lines). (Pierre)
2016 - Fixed bug #40758 (Test fcgi_is_fastcgi() is wrong on windows). (Dmitry)
2017 - Fixed bug #40754 (added substr() & substr_replace() overflow checks). (Ilia)
2018 - Fixed bug #40752 (parse_ini_file() segfaults when a scalar setting is
2019 redeclared as an array). (Tony)
2020 - Fixed bug #40750 (openssl stream wrapper ignores default_stream_timeout).
2021 (Tony)
2022 - Fixed bug #40727 (segfault in PDO when failed to bind parameters). (Tony)
2023 - Fixed bug #40709 (array_reduce() behaves strange with one item stored arrays).
2024 (Ilia)
2025 - Fixed bug #40703 (Resolved a possible namespace conflict between libxmlrpc
2026 and MySQL's NDB table handler). (Ilia)
2027 - Fixed bug #40961 (Incorrect results of DateTime equality check). (Mike)
2028 - Fixed bug #40678 (Cross compilation fails). (Tony)
2029 - Fixed bug #40621 (Crash when constructor called inappropriately). (Tony)
2030 - Fixed bug #40609 (Segfaults when using more than one SoapVar in a request).
2031 (Rob, Dmitry)
2032 - Fixed bug #40606 (umask is not being restored when request is finished).
2033 (Tony)
2034 - Fixed bug #40598 (libxml segfault). (Rob)
2035 - Fixed bug #40591 (list()="string"; gives invalid opcode). (Dmitry)
2036 - Fixed bug #40578 (imagettftext() multithreading issue). (Tony, Pierre)
2037 - Fixed bug #40576 (double values are truncated to 6 decimal digits when
2038 encoding). (Tony)
2039 - Fixed bug #40560 (DIR functions do not work on root UNC path). (Dmitry)
2040 - Fixed bug #40548 (SplFileInfo::getOwner/getGroup give a warning on broken
2041 symlink). (Marcus)
2042 - Fixed bug #40546 (SplFileInfo::getPathInfo() throws an exception if directory
2043 is in root dir). (Marcus)
2044 - Fixed bug #40545 (multithreading issue in zend_strtod()). (Tony)
2045 - Fixed bug #40503 (json_encode() value corruption on 32bit systems with
2046 overflown values). (Ilia)
2047 - Fixed bug #40467 (Partial SOAP request sent when XSD sequence or choice
2048 include minOccurs=0). (Dmitry)
2049 - Fixed bug #40465 (Ensure that all PHP elements are printed by var_dump).
2050 (wharmby at uk dot ibm dot com, Ilia)
2051 - Fixed bug #40464 (session.save_path wont use default-value when safe_mode
2052 or open_basedir is enabled). (Ilia)
2053 - Fixed bug #40455 (proc_open() uses wrong command line when safe_mode_exec_dir
2054 is set). (Tony)
2055 - Fixed bug #40432 (strip_tags() fails with greater than in attribute). (Ilia)
2056 - Fixed bug #40431 (dynamic properties may cause crash in ReflectionProperty
2057 methods). (Tony)
2058 - Fixed bug #40451 (addAttribute() may crash when used with non-existent child
2059 node). (Tony)
2060 - Fixed bug #40442 (ArrayObject::offsetExists broke in 5.2.1, works in 5.2.0).
2061 (olivier at elma dot fr, Marcus)
2062 - Fixed bug #40428 (imagepstext() doesn't accept optional parameter). (Pierre)
2063 - Fixed bug #40417 (Allow multiple instances of the same named PDO token in
2064 prepared statement emulation code). (Ilia)
2065 - Fixed bug #40414 (possible endless fork() loop when running fastcgi).
2066 (Dmitry)
2067 - Fixed bug #40410 (ext/posix does not compile on MacOS 10.3.9). (Tony)
2068 - Fixed bug #40392 (memory leaks in PHP milter SAPI).
2069 (tuxracer69 at gmail dot com, Tony)
2070 - Fixed bug #40371 (pg_client_encoding() not working on Windows). (Edin)
2071 - Fixed bug #40352 (FCGI_WEB_SERVER_ADDRS function get lost). (Dmitry)
2072 - Fixed bug #40290 (strtotime() returns unexpected result with particular
2073 timezone offset). (Derick)
2074 - Fixed bug #40286 (PHP fastcgi with PHP_FCGI_CHILDREN don't kill children when
2075 parent is killed). (Dmitry)
2076 - Fixed bug #40261 (Extremely slow data handling due to memory fragmentation).
2077 (Dmitry)
2078 - Fixed bug #40236 (php -a function allocation eats memory). (Dmitry)
2079 - Fixed bug #40109 (iptcembed fails on non-jfif jpegs). (Tony)
2080 - Fixed bug #39965 (Latitude and longitude are backwards in date_sun_info()).
2081 (Derick)
2082 - Implement #39867 (openssl PKCS#12 support) (Marc Delling, Pierre)
2083 - Fixed bug #39836 (SplObjectStorage empty after unserialize). (Marcus)
2084 - Fixed bug #39416 (Milliseconds in date()). (Derick)
2085 - Fixed bug #39396 (stream_set_blocking crashes on Win32). (Ilia, maurice at
2086 iceblog dot de)
2087 - Fixed bug #39351 (relative include fails on Solaris). (Dmitry, Tony)
2088 - Fixed bug #39322 (proc_terminate() destroys process resource). (Nuno)
2089 - Fixed bug #38406 (crash when assigning objects to SimpleXML attributes). (Tony)
2090 - Fixed bug #37799 (ftp_ssl_connect() falls back to non-ssl connection). (Nuno)
2091 - Fixed bug #36496 (SSL support in imap_open() not working on Windows). (Edin)
2092 - Fixed bug #36226 (Inconsistent handling when passing nillable arrays).
2093 (Dmitry)
2094 - Fixed bug #35872 (Avoid crash caused by object store being referenced during
2095 RSHUTDOWN). (Andy)
2096 - Fixed bug #34794 (proc_close() hangs when used with two processes).
2097 (jdolecek at netbsd dot org, Nuno)
2098 - Fixed PECL bug #10194 (crash in Oracle client when memory limit reached in
2099 the callback). (Tony)
2100 - Fixed substr_compare and substr_count information leak (MOPB-14) (Stas, Ilia)
2101 - Fixed crash on op-assign where argument is string offset (Brian, Stas)
2102 - Fixed bug #38710 (data leakage because of nonexisting boundary checking in
2103 statements in mysqli) (Stas)
2104 - Fixed bug #37386 (autocreating element doesn't assign value to first node).
2105 (Rob)
2106 - Fixed bug #37013 (server hangs when returning circular object references).
2107 (Dmitry)
2108 - Fixed bug #33664 Console window appears when using exec()
2109 (Richard Quadling, Stas)
2110
2111
2112 08 Feb 2007, PHP 5.2.1
2113 - Added read-timeout context option "timeout" for HTTP streams. (Hannes, Ilia).
2114 - Added CURLOPT_TCP_NODELAY constant to Curl extension. (Sara)
2115 - Added support for hex numbers of any size. (Matt)
2116 - Added function stream_socket_shutdown(). It is a wrapper for system
2117 shutdown() function, that shut downs part of a full-duplex connection.
2118 (Dmitry)
2119 - Added internal heap protection (Dmitry)
2120 . memory-limit is always enabled (--enable-memory-limit removed)
2121 . default value if memory-limit is set to 128M
2122 . safe unlinking
2123 . cookies
2124 . canary protection (debug build only)
2125 . random generation of cookies and canaries
2126 - Added forward support for 'b' prefix in front of string literals. (Andrei)
2127 - Added three new functions to ext/xmlwriter (Rob, Ilia)
2128 . xmlwriter_start_dtd_entity()
2129 . xmlwriter_end_dtd_entity()
2130 . xmlwriter_write_dtd_entity()
2131 - Added a meta tag to phpinfo() output to prevent search engines from indexing
2132 the page. (Ilia)
2133 - Added new function, sys_get_temp_dir(). (Hartmut)
2134 - Added missing object support to file_put_contents(). (Ilia)
2135 - Added support for md2, ripemd256 and ripemd320 algos to hash(). (Sara)
2136 - Added forward support for (binary) cast. (Derick)
2137 - Added optimization for imageline with horizontal and vertical lines (Pierre)
2138
2139 - Removed dependency from SHELL32.DLL. (Dmitry)
2140 - Removed double "wrong parameter count" warnings in various functions.
2141 (Hannes)
2142 - Moved extensions to PECL:
2143 . ext/informix (Derick, Tony)
2144
2145 - Changed double-to-string utilities to use BSD implementation. (Dmitry, Tony)
2146 - Updated bundled libcURL to version 7.16.0 in the Windows distro. (Edin)
2147 - Updated timezone database to version 2006.16. (Derick)
2148 - cgi.* and fastcgi.* directives are moved to INI subsystem. The new directive
2149 cgi.check_shebang_line can be used to omitting check for "#! /usr/bin/php"
2150 line. (Dmitry).
2151 - Improved proc_open(). Now on Windows it can run external commands not
2152 through CMD.EXE. (Dmitry)
2153 - VCWD_REALPATH() is improved to use realpath cache without VIRTUAL_DIR.
2154 (Dmitry)
2155 - ext/bcmath initialization code is moved from request startup to module
2156 startup. (Dmitry)
2157 - Zend Memory Manager Improvements (Dmitry)
2158 . use HeapAlloc() instead of VirtualAlloc()
2159 . use "win32" storage manager (instead of "malloc") on Windows by default
2160 - Zip Extension Improvements (Pierre)
2161 . Fixed leak in statName and stateIndex
2162 . Fixed return setComment (Hannes)
2163 . Added addEmptyDir method
2164 - Filter Extension Improvements (Ilia, Pierre)
2165 . Fixed a bug when callback function returns a non-modified value.
2166 . Added filter support for $_SERVER in cgi/apache2 sapis.
2167 . Make sure PHP_SELF is filtered in Apache 1 sapi.
2168 . Fixed bug #39358 (INSTALL_HEADERS contains incorrect reference to
2169 php_filter.h).
2170 . Added "default" option that allows a default value to be set for an
2171 invalid or missing value.
2172 . Invalid filters fails instead of returning unsafe value
2173 . Fixed possible double encoding problem with sanitizing filters
2174 . Make use of space-strict strip_tags() function
2175 . Fixed whitespace trimming
2176 . Added support for FastCGI environment variables. (Dmitry)
2177 - PDO_MySQL Extension Improvements (Ilia)
2178 . Enabled buffered queries by default.
2179 . Enabled prepared statement emulation by default.
2180
2181 - Small optimization of the date() function. (Matt,Ilia)
2182 - Optimized the internal is_numeric_string() function. (Matt,Ilia)
2183 - Optimized array functions utilizing php_splice(). (Ilia)
2184 - Windows related optimizations (Dmitry, Stas)
2185 . COM initialization/deinitialization are done only if necessary
2186 . removed unnecessary checks for ISREG file and corresponding stat() calls
2187 . opendir() is reimplementation using GetFistFile/GetNextFile those are
2188 faster then _findfirst/_findnext
2189 . implemented registry cache that prevent registry lookup on each request.
2190 In case of modification of corresponding registry-tree PHP will reload it
2191 automatic
2192 . start timeout thread only if necessary
2193 . stat() is reimplementation using GetFileAttributesEx(). The new
2194 implementation is faster then implementation in MS VC CRT, but it doesn't
2195 support Windows 95.
2196 - Streams optimization (Dmitry)
2197 . removed unnecessary ftell() calls (one call for each included PHP file)
2198 . disabled calls to read() after EOF
2199
2200 - Fixed incorrect function names on FreeBSD where inet_pton() was named
2201 __inet_pton() and inet_ntop() was named __inet_ntop(). (Hannes)
2202 - Fixed FastCGI impersonation for persistent connections on Windows. (Dmitry)
2203 - Fixed wrong signature initialization in imagepng (Takeshi Abe)
2204 - Fixed ftruncate() with negative size on FreeBSD. (Hannes)
2205 - Fixed segfault in RegexIterator when given invalid regex. (Hannes)
2206 - Fixed segfault in SplFileObject->openFile()->getPathname(). (Hannes)
2207 - Fixed segfault in ZTS mode when OCI8 statements containing sub-statements
2208 are destroyed in wrong order. (Tony)
2209 - Fixed the validate email filter so that the letter "v" can also be used in
2210 the user part of the email address. (Derick)
2211 - Fixed bug #40297 (compile failure in ZTS mode when collections support is
2212 missing). (Tony)
2213 - Fixed bug #40285 (The PDO prepare parser goes into an infinite loop in
2214 some instances). (Ilia)
2215 - Fixed bug #40274 (Sessions fail with numeric root keys). (Ilia)
2216 - Fixed bug #40259 (ob_start call many times - memory error). (Dmitry)
2217 - Fixed bug #40231 (file_exists incorrectly reports false). (Dmitry)
2218 - Fixed bug #40228 (ZipArchive::extractTo does create empty directories
2219 recursively). (Pierre)
2220 - Fixed bug #40200 (The FastCgi version has different realpath results than
2221 thread safe version). (Dmitry)
2222 - Fixed bug #40191 (use of array_unique() with objects triggers segfault).
2223 (Tony)
2224 - Fixed bug #40189 (possible endless loop in zlib.inflate stream filter).
2225 (Greg, Tony)
2226 - Fixed bug #40169 (CURLOPT_TCP_NODELAY only available in curl >= 7.11.2).
2227 (Tony)
2228 - Fixed bug #40129 (iconv extension doesn't compile with CodeWarrior on
2229 Netware). (gk at gknw dot de, Tony)
2230 - Fixed bug #40127 (apache2handler doesn't compile on Netware).
2231 (gk at gknw dot de)
2232 - Fixed bug #40121 (PDO_DBLIB driver wont free statements). (Ilia)
2233 - Fixed bug #40098 (php_fopen_primary_script() not thread safe). (Ilia)
2234 - Fixed bug #40092 (chroot() doesn't clear realpath cache). (Dmitry)
2235 - Fixed bug #40091 (spl_autoload_register with 2 instances of the same class).
2236 (Ilia)
2237 - Fixed bug #40083 (milter SAPI functions always return false/null). (Tony)
2238 - Fixed bug #40079 (php_get_current_user() not thread safe).
2239 (Ilia, wharmby at uk dot ibm dot com)
2240 - Fixed bug #40078 (ORA-01405 when fetching NULL values using
2241 oci_bind_array_by_name()). (Tony)
2242 - Fixed bug #40076 (zend_alloc.c: Value of enumeration constant must be in
2243 range of signed integer). (Dmitry)
2244 - Fixed bug #40073 (exif_read_data dies on certain images). (Tony, Marcus)
2245 - Fixed bug #40036 (empty() does not work correctly with ArrayObject when
2246 using ARRAY_AS_PROPS). (Ilia)
2247 - Fixed bug #40012 (php_date.c doesn't compile on Netware).
2248 (gk at gknw dot de, Derick)
2249 - Fixed bug #40009 (http_build_query(array()) returns NULL). (Ilia)
2250 - Fixed bug #40002 (Try/Catch performs poorly). (Dmitry)
2251 - Fixed bug #39993 (tr_TR.UTF-8 locale has problems with PHP). (Ilia)
2252 - Fixed bug #39990 (Cannot "foreach" over overloaded properties). (Dmitry)
2253 - Fixed bug #39988 (type argument of oci_define_by_name() is ignored).
2254 (Chris Jones, Tony)
2255 - Fixed bug #39984 (redirect response code in header() could be ignored
2256 in CGI sapi). (Ilia)
2257 - Fixed bug #39979 (PGSQL_CONNECT_FORCE_NEW will causes next connect to
2258 establish a new connection). (Ilia)
2259 - Fixed bug #39971 (pg_insert/pg_update do not allow now() to be used
2260 for timestamp fields). (Ilia)
2261 - Fixed bug #39969 (ini setting short_open_tag has no effect when using
2262 --enable-maintainer-zts). (Dmitry)
2263 - Fixed bug #39952 (zip ignoring --with-libdir on zlib checks)
2264 (judas dot iscariote at gmail dot com)
2265 - Fixed bug #39944 (References broken). (Dmitry)
2266 - Fixed bug #39935 (Extensions tidy,mcrypt,mhash,pdo_sqlite ignores
2267 --with-libdir). (judas dot iscariote at gmail dot com, Derick)
2268 - Fixed bug #39903 (Notice message when executing __halt_compiler() more than
2269 once). (Tony)
2270 - Fixed bug #39898 (FILTER_VALIDATE_URL validates \r\n\t etc). (Ilia)
2271 - Fixed bug #39890 (using autoconf 2.6x and --with-layout=GNU breaks PEAR
2272 install path). (Tony)
2273 - Fixed bug #39884 (ReflectionParameter::getClass() throws exception for
2274 type hint self). (thekid at php dot net)
2275 - Fixed bug #39878 (CURL doesn't compile on Sun Studio Pro). (Ilia)
2276 - Fixed bug #39873 (number_format() breaks with locale & decimal points).
2277 (Ilia)
2278 - Fixed bug #39869 (safe_read does not initialize errno).
2279 (michiel at boland dot org, Dmitry)
2280 - Fixed bug #39850 (SplFileObject throws contradictory/wrong error messages
2281 when trying to open "php://wrong"). (Tony)
2282 - Fixed bug #39846 (Invalid IPv4 treated as valid). (Ilia)
2283 - Fixed bug #39845 (Persistent connections generate a warning in pdo_pgsql).
2284 (Ilia)
2285 - Fixed bug #39832 (SOAP Server: parameter not matching the WSDL specified
2286 type are set to 0). (Dmitry)
2287 - Fixed bug #39825 (foreach produces memory error). (Dmitry)
2288 - Fixed bug #39816 (apxs2filter ignores httpd.conf & .htaccess php config
2289 settings). (Ilia)
2290 - Fixed bug #39815 (SOAP double encoding is not locale-independent). (Dmitry)
2291 - Fixed bug #39797 (virtual() does not reset changed INI settings). (Ilia)
2292 - Fixed bug #39795 (build fails on AIX because crypt_r() uses different
2293 data struct). (Tony)
2294 - Fixed bug #39791 (Crash in strtotime() on overly long relative date
2295 multipliers). (Ilia)
2296 - Fixed bug #39787 (PHP doesn't work with Apache 2.3).
2297 (mv at binarysec dot com).
2298 - Fixed bug #39782 (setTime() on a DateTime constructed with a Weekday
2299 yields incorrect results). (Ilia)
2300 - Fixed bug #39780 (PNG image with CRC/data error raises fatal error) (Pierre)
2301 - Fixed bug #39779 (Enable AUTH PLAIN mechanism in underlying libc-client).
2302 (michael dot heimpold at s2000 dot tu-chemnitz dot de, Ilia)
2303 - Fixed bug #39775 ("Indirect modification ..." message is not shown).
2304 (Dmitry)
2305 - Fixed bug #39763 (magic quotes are applied twice by ext/filter in
2306 parse_str()). (Ilia)
2307 - Fixed bug #39760 (cloning fails on nested SimpleXML-Object). (Rob)
2308 - Fixed bug #39759 (Can't use stored procedures fetching multiple result
2309 sets in pdo_mysql). (Ilia)
2310 - Fixed bug #39754 (Some POSIX extension functions not thread safe).
2311 (Ilia, wharmby at uk dot ibm dot com)
2312 - Fixed bug #39751 (putenv crash on Windows). (KevinJohnHoffman at gmail.com)
2313 - Fixed bug #39732 (oci_bind_array_by_name doesn't work on Solaris 64bit).
2314 (Tony)
2315 - Fixed bug #39724 (Broken build due to spl/filter usage of pcre extension).
2316 (Tony, Ilia)
2317 - Fixed bug #39718 (possible crash if assert.callback is set in ini). (Ilia)
2318 - Fixed bug #39702 (php crashes in the allocator on linux-m68k). (Dmitry)
2319 - Fixed bug #39685 (iconv() - undefined function). (Hannes)
2320 - Fixed bug #39673 (file_get_contents causes bus error on certain offsets).
2321 (Tony)
2322 - Fixed bug #39663 (Memory leak in pg_get_notify() and a possible memory
2323 corruption on Windows in pgsql and pdo_pgsql extensions).
2324 (Ilia, matteo at beccati dot com)
2325 - Fixed bug #39662 (Segfault when calling asXML() of a cloned
2326 SimpleXMLElement). (Rob, Tony)
2327 - Fixed bug #39656 (crash when calling fetch() on a PDO statment object after
2328 closeCursor()). (Ilia, Tony)
2329 - Fixed bug #39653 (ext/dba doesn't check for db-4.5 and db-4.4 when db4
2330 support is enabled). (Tony)
2331 - Fixed bug #39652 (Wrong negative results from memory_get_usage()). (Dmitry)
2332 - Fixed bug #39648 (Implementation of PHP functions chown() and chgrp() are
2333 not thread safe). (Ilia, wharmby at uk dot ibm dot com)
2334 - Fixed bug #39640 (Segfault with "Allowed memory size exhausted"). (Dmitry)
2335 - Fixed bug #39625 (Apache crashes on importStylesheet call). (Rob)
2336 - Fixed bug #39623 (thread safety fixes on *nix for putenv() & mime_magic).
2337 (Ilia, wharmby at uk dot ibm dot com)
2338 - Fixed bug #39621 (str_replace() is not binary safe on strings with equal
2339 length). (Tony)
2340 - Fixed bug #39613 (Possible segfault in imap initialization due to missing
2341 module dependency). (wharmby at uk dot ibm dot com, Tony)
2342 - Fixed bug #39606 (Use of com.typelib_file in PHP.ini STILL causes A/V). (Rob)
2343 - Fixed bug #39602 (Invalid session.save_handler crashes PHP). (Dmitry)
2344 - Fixed bug #39596 (Creating Variant of type VT_ARRAY). (Rob)
2345 - Fixed bug #39583 (ftp_put() does not change transfer mode to ASCII). (Tony)
2346 - Fixed bug #39576 (array_walk() doesn't separate user data zval). (Tony)
2347 - Fixed bug #39575 (move_uploaded_file() no longer working (safe mode
2348 related)). (Tony)
2349 - Fixed bug #39571 (timeout ssl:// connections). (Ilia)
2350 - Fixed bug #39564 (PDO::errorInfo() returns inconsistent information when
2351 sqlite3_step() fails). (Tony)
2352 - Fixed bug #39548 (ZMSG_LOG_SCRIPT_NAME not routed to OutputDebugString()
2353 on Windows). (Dmitry)
2354 - Fixed bug #39538 (fgetcsv can't handle starting newlines and trailing odd
2355 number of backslashes). (David Soria Parra, Pierre)
2356 - Fixed bug #39534 (Error in maths to calculate of
2357 ZEND_MM_ALIGNED_MIN_HEADER_SIZE). (wharmby at uk dot ibm dot com, Dmitry)
2358 - Fixed bug #39527 (Failure to retrieve results when multiple unbuffered,
2359 prepared statements are used in pdo_mysql). (Ilia)
2360 - Fixed bug #39508 (imagefill crashes with small images 3 pixels or less).
2361 (Pierre)
2362 - Fixed bug #39506 (Archive corrupt with ZipArchive::addFile method). (Pierre)
2363 - Fixed bug #39504 (xmlwriter_write_dtd_entity() creates Attlist tag, not
2364 entity). (Hannes)
2365 - Fixed bug #39483 (Problem with handling of \ char in prepared statements).
2366 (Ilia, suhachov at gmail dot com)
2367 - Fixed bug #39458 (ftp_nlist() returns false on empty dirs). (Nuno)
2368 - Fixed bug #39454 (Returning a SOAP array segfaults PHP). (Dmitry)
2369 - Fixed bug #39450 (getenv() fills other super-globals). (Ilia, Tony)
2370 - Fixed bug #39449 (Overloaded array properties do not work correctly).
2371 (Dmitry)
2372 - Fixed bug #39445 (Calling debug_backtrace() in the __toString()
2373 function produces a crash). (Dmitry)
2374 - Fixed bug #39438 (Fatal error: Out of memory). (Dmitry)
2375 - Fixed bug #39435 ('foo' instanceof bar gives invalid opcode error). (Sara)
2376 - Fixed bug #39414 (Syntax error while compiling with Sun Workshop Complier).
2377 (Johannes)
2378 - Fixed bug #39398 (Booleans are not automatically translated to integers).
2379 (Ilia)
2380 - Fixed bug #39394 (Missing check for older variants of openssl). (Ilia)
2381 - Fixed bug #39367 (clearstatcache() doesn't clear realpath cache).
2382 (j at pureftpd dot org, Dmitry)
2383 - Fixed bug #39366 (imagerotate does not use alpha with angle > 45 degrees)
2384 (Pierre)
2385 - Fixed bug #39364 (Removed warning on empty haystack inside mb_strstr()).
2386 (Ilia)
2387 - Fixed bug #39362 (Added an option to imap_open/imap_reopen to control the
2388 number of connection retries). (Ilia)
2389 - Fixed bugs #39361 & #39400 (mbstring function overloading problem). (Seiji)
2390 - Fixed bug #39354 (Allow building of curl extension against libcurl
2391 7.16.0). (Ilia)
2392 - Fixed bug #39350 (crash with implode("\n", array(false))). (Ilia)
2393 - Fixed bug #39344 (Unnecessary calls to OnModify callback routine for
2394 an extension INI directive). (wharmby at uk dot ibm dot com, Dmitry)
2395 - Fixed bug #39320 (ZEND_HASH_APPLY_STOP causes deletion). (Marcus)
2396 - Fixed bug #39313 (spl_autoload triggers Fatal error). (Marcus)
2397 - Fixed bug #39300 (make install fails if wget is not available). (Tony)
2398 - Fixed bug #39297 (Memory corruption because of indirect modification of
2399 overloaded array). (Dmitry)
2400 - Fixed bug #39286 (misleading error message when invalid dimensions are
2401 given) (Pierre)
2402 - Fixed bug #39273 (imagecopyresized may ignore alpha channel) (Pierre)
2403 - Fixed bug #39265 (Fixed path handling inside mod_files.sh).
2404 (michal dot taborsky at gmail dot com, Ilia)
2405 - Fixed bug #39217 (serialNumber might be -1 when the value is too large).
2406 (Pierre, Tony)
2407 - Fixed bug #39215 (Inappropriate close of stdin/stdout/stderr). (Wez, Ilia)
2408 - Fixed bug #39201 (Possible crash in Apache 2 with 413 ErrorHandler). (Ilia)
2409 - Fixed bug #39151 (Parse error in recursiveiteratoriterator.php). (Marcus)
2410 - Fixed bug #39121 (Incorrect return array handling in non-wsdl soap client).
2411 (Dmitry)
2412 - Fixed bug #39090 (DirectoryFilterDots doxygen docs and example is wrong).
2413 (Marcus)
2414 - Fixed bug #38852 (XML-RPC Breaks iconv). (Hannes)
2415 - Fixed bug #38770 (unpack() broken with longs on 64 bit machines).
2416 (Ilia, David Soria Parra).
2417 - Fixed bug #38698 (for some keys cdbmake creates corrupted db and cdb can't
2418 read valid db). (Marcus)
2419 - Fixed bug #38680 (Added missing handling of basic types in json_decode).
2420 (Ilia)
2421 - Fixed bug #38604 (Fixed request time leak inside foreach() when iterating
2422 through virtual properties). (Dmitry)
2423 - Fixed bug #38602 (header( "HTTP/1.0 ..." ) does not change proto version).
2424 (Ilia)
2425 - Fixed bug #38542 (proc_get_status() returns wrong PID on windows). (Nuno)
2426 - Fixed bug #38536 (SOAP returns an array of values instead of an object).
2427 (Dmitry)
2428 - Fixed bug #38456 (Apache2 segfaults when virtual() is called in .php
2429 ErrorDocument). (Ilia)
2430 - Fixed bug #38325 (spl_autoload_register() gives wrong line for "class not
2431 found"). (Ilia)
2432 - Fixed bug #38319 (Remove bogus warnings from persistent PDO connections).
2433 (Ilia)
2434 - Fixed bug #38274 (Memlimit fatal error sent to "wrong" stderr when using
2435 fastcgi). (Dmitry)
2436 - Fixed bug #38252 (Incorrect PDO error message on invalid default fetch
2437 mode). (Ilia)
2438 - Fixed bug #37927 (Prevent trap when COM extension processes argument of
2439 type VT_DISPATCH|VT_REF) (Andy)
2440 - Fixed bug #37773 (iconv_substr() gives "Unknown error" when string
2441 length = 1"). (Ilia)
2442 - Fixed bug #37627 (session save_path check checks the parent directory).
2443 (Ilia)
2444 - Fixed bug #37619 (proc_open() closes stdin on fork() failure).
2445 (jdolecek at NetBSD dot org, Nuno)
2446 - Fixed bug #37588 (COM Property propputref converts to PHP function
2447 and can't be accesed). (Rob)
2448 - Fixed bug #36975 (natcasesort() causes array_pop() to misbehave).
2449 (Hannes)
2450 - Fixed bug #36812 (pg_execute() modifies input array). (Ilia)
2451 - Fixed bug #36798 (Error parsing named parameters with queries containing
2452 high-ascii chars). (Ilia)
2453 - Fixed bug #36644 (possible crash in variant_date_from_timestamp()). (Ilia)
2454 - Fixed bug #36427 (proc_open() / proc_close() leak handles on windows).
2455 (jdolecek at NetBSD dot org, Nuno)
2456 - Fixed bug #36392 (wrong number of decimal digits with %e specifier in
2457 sprintf). (Matt,Ilia)
2458 - Fixed bug #36214 (__get method works properly only when conditional
2459 operator is used). (Dmitry)
2460 - Fixed bug #35634 (Erroneous "Class declarations may not be nested"
2461 error raised). (Carl P. Corliss, Dmitry)
2462 - Fixed bug #35106 (nested foreach fails when array variable has a
2463 reference). (Dmitry)
2464 - Fixed bug #34564 (COM extension not returning modified "out" argument) (Andy)
2465 - Fixed bug #33734 (Something strange with COM Object). (Rob)
2466 - Fixed bug #33386 (ScriptControl only sees last function of class). (Rob)
2467 - Fixed bug #33282 (Re-assignment by reference does not clear the is_ref
2468 flag) (Ilia, Dmitry, Matt Wilmas)
2469 - Fixed bug #30074 (apparent symbol table error with
2470 extract($blah, EXTR_REFS)) (Brian)
2471 - Fixed bug #29840 (is_executable() does not honor safe_mode_exec_dir
2472 setting). (Ilia)
2473 - Fixed PECL bug #7295 (ORA-01405: fetched column value is NULL on LOB
2474 fields). (Tony)
2475
2476 02 Nov 2006, PHP 5.2.0
2477 - Updated bundled OpenSSL to version 0.9.8d in the Windows distro. (Edin)
2478 - Updated Postgresql client libraries to 8.1.4 in the Windows distro. (Edin)
2479 - Updated PCRE to version 6.7. (Ilia)
2480 - Updated libsqlite in ext/pdo_sqlite to 3.3.7. (Ilia)
2481 - Updated bundled MySQL client library to version 5.0.22 in the Windows
2482 distribution. (Edin)
2483 - Updated timezonedb to version 2006.7. (Derick)
2484
2485 - Added ability to make SOAP call userspace PHP<->XML converters. (Dmitry)
2486 - Added support for character sets in pg_escape_string() for PostgreSQL 8.1.4
2487 and higher. (Ilia)
2488 - Added support for character sets in PDO quote() method for PostgreSQL 8.1.4
2489 and higher. (Ilia)
2490 - Added DSA key generation support to openssl_pkey_new(), FR #38731 (marci
2491 at balabit dot hu, Tony)
2492 - Added SoapServer::setObject() method (it is a simplified version of
2493 SoapServer::setClass() method). (Dmitry)
2494 - Added support for hexadecimal entity in imagettftext() for the bundled GD.
2495 (Pierre)
2496 - Added support for httpOnly flag for session extension and cookie setting
2497 functions. (Scott MacVicar, Ilia)
2498 - Added version specific registry keys to allow different configurations for
2499 different php version. (Richard, Dmitry)
2500 - Added "PHPINIDir" Apache directive to apache and apache_hooks SAPIs.
2501 (Dmitry)
2502 - Added an optional boolean parameter to memory_get_usage() and
2503 memory_get_peak_usage() to get memory size allocated by emalloc() or real
2504 size of memory allocated from system. (Dmitry)
2505 - Added Zip Archive extension. (Pierre)
2506 - Added RFC1867 fileupload processing hook. (Stefan E.)
2507 - Added JSON and Filter extensions. (Derick, Rasmus)
2508 - Added error messages to disk_free_space() and disk_total_space() functions.
2509 FR #37971 (Tony)
2510 - Added PATHINFO_FILENAME option to pathinfo() to get the filename.
2511 (Toby S. and Christian S.)
2512 - Added array_fill_keys() function. (Marcus, Matt Wilmas)
2513 - Added posix_initgroups() function. (Ilia)
2514 - Added an optional parameter to parse_url() to allow retrieval of distinct
2515 URL components. (Ilia)
2516 - Added optional parameter to http_build_query() to allow specification of
2517 string separator. (Ilia)
2518 - Added image_type_to_extension() function. (Hannes, Ilia)
2519 - Added allow_url_include ini directive to complement allow_url_fopen. (Rasmus)
2520 - Added automatic module globals management. (Dmitry)
2521 - Added RFC2397 (data: stream) support. (Marcus)
2522 - Added new error mode E_RECOVERABLE_ERROR. (Derick, Marcus, Tony)
2523 - Added support for getenv() input filtering. (Rasmus)
2524 - Added support for constructors in interfaces to force constructor signature
2525 checks in implementations. (Marcus)
2526 - Added memory_get_peak_usage() function for retrieving peak memory usage of
2527 a PHP script. (Ilia)
2528 - Added pg_field_table() function. (Edin)
2529 - Added SimpleXMLElement::saveXML() as an alias for SimpleXMLElement::asXML().
2530 (Hannes)
2531 - Added DOMNode::getNodePath() for getting an XPath for a node. (Christian)
2532 - Added gmp_nextprime() function. (ants dot aasma at gmail dot com, Tony)
2533 - Added error_get_last() function. (Mike)
2534
2535 - Removed current working directory from the php.ini search path for CLI and
2536 re-added it for other SAPIs (restore to pre 5.1.x behavior). (Edin)
2537 - Moved extensions to PECL:
2538 . ext/filepro (Derick, Tony)
2539 . ext/hwapi (Derick, Tony)
2540 - Disabled CURLOPT_FOLLOWLOCATION in curl when open_basedir or
2541 safe_mode are enabled. (Stefan E., Ilia)
2542
2543 - Increased default memory limit to 16 megabytes to accommodate for a more
2544 accurate memory utilization measurement.
2545 - In addition to path to php.ini, PHPRC now may specify full file name.
2546 (Dmitry)
2547
2548 - Optimized array/HashTable copying. (Matt Wilmas, Dmitry)
2549 - Optimized zend_try/zend_catch macros by eliminating memcpy(3). (Dmitry)
2550 - Optimized require_once() and include_once() by eliminating fopen(3) on
2551 second usage. (Dmitry)
2552 - Optimized request shutdown sequence. Restoring ini directives now iterates
2553 only over modified directives instead of all. (Dmitry)
2554
2555 - Changed priority of PHPRC environment variable on win32 to be higher then
2556 value from registry. (Dmitry)
2557 - Changed __toString() to be called wherever applicable. (Marcus)
2558 - Changed E_ALL error reporting mode to include E_RECOVERABLE_ERROR. (Marcus)
2559 - Changed realpath cache to be disabled when "open_basedir" or "safe_mode"
2560 are enabled on per-request basis. (Ilia)
2561
2562 - Improved SNMP extension: (Jani)
2563 . Renamed snmp_set_oid_numeric_print() to snmp_set_oid_output_format().
2564 . Added 2 new constants: SNMP_OID_OUTPUT_FULL and SNMP_OID_OUTPUT_NUMERIC
2565 . Fixed bug #37564 (AES privacy encryption not possible due to net-snmp 5.2
2566 compatibility issue). (Patch: scott dot moynes+php at gmail dot com)
2567 - Improved OpenSSL extension: (Pierre)
2568 . Added support for all supported algorithms in openssl_verify
2569 . Added openssl_pkey_get_details, returns the details of a key
2570 . Added x509 v3 extensions support
2571 . Added openssl_csr_get_subject() and openssl_csr_get_public_key()
2572 . Added 3 new constants OPENSSL_VERSION_TEXT and OPENSSL_VERSION_NUMBER and
2573 OPENSSL_KEYTYPE_EC
2574 - Improved the Zend memory manager: (Dmitry)
2575 . Removed unnecessary "--disable-zend-memory-manager" configure option.
2576 . Added "--enable-malloc-mm" configure option which is enabled by default in
2577 debug builds to allow using internal and external memory debuggers.
2578 . Allow tweaking the memory manager with ZEND_MM_MEM_TYPE and ZEND_MM_SEG_SIZE
2579 environment variables.
2580 . For more information: Zend/README.ZEND_MM
2581 - Improved safe_mode check for the error_log() function. (Ilia)
2582 - Improved the error reporting in SOAP extension on request failure. (Ilia)
2583 - Improved crypt() on win32 to be about 10 times faster and to have friendlier
2584 license. (Frank, Dmitry)
2585 - Improved performance of the implode() function on associated arrays. (Ilia)
2586 - Improved performance of str_replace() when doing 1 char to 1 char or 1 char
2587 to many chars replacement. (Ilia)
2588 - Improved apache2filter SAPI:
2589 . Allowed PHP to be an arbitrary filter in the chain and read the script from
2590 the Apache stream. (John)
2591 . Added support for apache2filter in the Windows build including binary
2592 support for both Apache 2.0.x (php5apache2_filter.dll) and Apache 2.2.x
2593 (php5apache2_2_filter.dll). (Edin)
2594 - Improved apache2handler SAPI:
2595 . Changed ap_set_content_type() to be called only once. (Mike)
2596 . Added support for Apache 2.2 handler in the Windows distribution. (Edin)
2597 - Improved FastCGI SAPI: (Dmitry)
2598 . Removed source compatibility with libfcgi.
2599 . Optimized access to FastCGI environment variables by using HashTable
2600 instead of linear search.
2601 . Allowed PHP_FCGI_MAX_REQUESTS=0 that assumes no limit.
2602 . Allowed PHP_FCGI_CHILDREN=0 that assumes no worker children. (FastCGI
2603 requests are handled by main process itself)
2604 - Improved CURL:
2605 . Added control character checks for "open_basedir" and "safe_mode" checks.
2606 (Ilia)
2607 . Added implementation of curl_multi_info_read(). (Brian)
2608 - Improved PCRE: (Andrei)
2609 . Added run-time configurable backtracking/recursion limits.
2610 . Added preg_last_error(). (Andrei)
2611 - Improved PDO:
2612 . Added new attribute ATTR_DEFAULT_FETCH_MODE. (Pierre)
2613 . Added FETCH_PROPS_LATE. (Marcus)
2614 - Improved SPL: (Marcus)
2615 . Made most iterator code exception safe.
2616 . Added RegExIterator and RecursiveRegExIterator.
2617 . Added full caching support and ArrayAccess to CachingIterator.
2618 . Added array functions to ArrayObject/ArrayIterator and made them faster.
2619 . Added support for reading csv and skipping empty lines in SplFileObject.
2620 . Added CachingIterator::TOSTRING_USE_INNER, calls inner iterator __toString.
2621 . Added ability to set the CSV separator per SplFileObject.
2622 - Improved xmlReader: (Rob)
2623 . Added readInnerXml(), xmlReader::setSchema().
2624 . Added readInnerXML(), readOuterXML(), readString(), setSchema(). (2.6.20+)
2625 . Changed to passing libxml options when loading reader.
2626
2627 - Fixed invalid read in imagecreatefrompng when an empty file is given
2628 (Pierre, Tony)
2629 - Fixed infinite loop when a wrong color index is given to imagefill (Pierre)
2630 - Fixed mess with CGI/CLI -d option (now it works with cgi; constants are
2631 working exactly like in php.ini; with FastCGI -d affects all requests).
2632 (Dmitry)
2633 - Fixed missing open_basedir check inside chdir() function. (Ilia)
2634 - Fixed overflow on 64bit systems in str_repeat() and wordwrap(). (Stefan E.)
2635 - Fixed XSLTProcessor::importStylesheet() to return TRUE on success
2636 (Christian)
2637 - Fixed leaks in openssl_csr_sign and openssl_csr_new (Pierre)
2638 - Fixed phpinfo() cutoff of variables at \0. (Ilia)
2639 - Fixed a bug in the filter extension that prevented magic_quotes_gpc from
2640 being applied when RAW filter is used. (Ilia)
2641 - Fixed memory leaks in openssl streams context options. (Pierre)
2642 - Fixed handling of extremely long paths inside tempnam() function. (Ilia)
2643 - Fixed bug #39721 (Runtime inheritance causes data corruption). (Dmitry)
2644 - Fixed bug #39304 (Segmentation fault with list unpacking of string offset).
2645 (Dmitry)
2646 - Fixed bug #39192 (Not including nsapi.h properly with SJSWS 7). This will
2647 make PHP 5.2 compatible to new Sun Webserver. (Uwe)
2648 - Fixed bug #39140 (Uncaught exception may cause crash). (Dmitry)
2649 - Fixed bug #39125 (Memleak when reflecting non-existing class/method). (Tony)
2650 - Fixed bug #39067 (getDeclaringClass() and private properties). (Tony)
2651 - Fixed bug #39039 (SSL: fatal protocol error when fetching HTTPS from servers
2652 running Google web server). (Ilia)
2653 - Fixed bug #39035 (Compatibility issue between DOM and
2654 zend.ze1_compatibility_mode). (Rob)
2655 - Fixed bug #39034 (curl_exec() with return transfer returns TRUE on empty
2656 files). (Ilia)
2657 - Fixed bug #39032 (strcspn() stops on null character). (Tony)
2658 - Fixed bug #39020 (PHP in FastCGI server mode crashes). (Dmitry)
2659 - Fixed bug #39017 (foreach(($obj = new myClass) as $v); echo $obj;
2660 segfaults). (Dmitry)
2661 - Fixed bug #39004 (Fixed generation of config.nice with autoconf 2.60). (Ilia)
2662 - Fixed bug #39003 (__autoload() is called for type hinting). (Dmitry, Tony)
2663 - Fixed bug #39001 (ReflectionProperty returns incorrect declaring class for
2664 protected properties). (Tony)
2665 - Fixed bug #38996 (PDO_MYSQL doesn't check connections for liveness). (Tony)
2666 - Fixed bug #38993 (Fixed safe_mode/open_basedir checks for session.save_path,
2667 allowing them to account for extra parameters). (Ilia)
2668 - Fixed bug #38989 (Absolute path with slash at beginning doesn't work on win).
2669 (Dmitry)
2670 - Fixed bug #38985 (Can't cast COM objects). (Wez)
2671 - Fixed bug #38981 (using FTP URLs in get_headers() causes crash). (Tony)
2672 - Fixed bug #38963 (Fixed a possible open_basedir bypass in tempnam()). (Ilia)
2673 - Fixed bug #38961 (metaphone() results in segmentation fault on NetBSD).
2674 (Tony)
2675 - Fixed bug #38949 (Cannot get xmlns value attribute). (Rob)
2676 - Fixed bug #38942 (Double old-style-ctor inheritance). (Dmitry)
2677 - Fixed bug #38941 (imap extension does not compile against new version of the
2678 imap library). (Ilia)
2679 - Fixed bug #38934 (move_uploaded_file() cannot read uploaded file outside of
2680 open_basedir). (Ilia)
2681 - Fixed bug #38904 (apache2filter changes cwd to /). (Ilia, Hannes)
2682 - Fixed bug #38891 (get_headers() do not work with curl-wrappers). (Ilia)
2683 - Fixed bug #38882 (ldap_connect causes segfault with newer versions of
2684 OpenLDAP). (Tony)
2685 - Fixed bug #38859 (parse_url() fails if passing '@' in passwd). (Tony)
2686 - Fixed bug #38850 (lookupNamespaceURI doesn't return default namespace). (Rob)
2687 - Fixed bug #38844 (curl_easy_strerror() is defined only since cURL 7.12.0).
2688 (Tony)
2689 - Fixed bug #38813 (DOMEntityReference->__construct crashes when called
2690 explicitly). (Rob)
2691 - Fixed bug #38808 ("maybe ref" issue for current() and others). (Dmitry)
2692 - Fixed bug #38779 (engine crashes when require()'ing file with syntax error
2693 through userspace stream wrapper). (Tony, Dmitry)
2694 - Fixed bug #38772 (inconsistent overriding of methods in different visibility
2695 contexts). (Dmitry)
2696 - Fixed bug #38759 (PDO sqlite2 empty query causes segfault). (Tony)
2697 - Fixed bug #38721 (Invalid memory read in date_parse()). (Tony, Derick)
2698 - Fixed bug #38700 (SoapClient::__getTypes never returns). (Dmitry)
2699 - Fixed bug #38693 (curl_multi_add_handle() set curl handle to null). (Ilia)
2700 - Fixed bug #38687 (sockaddr local storage insufficient for all sock families).
2701 (Sara)
2702 - Fixed bug #38661 (mixed-case URL breaks url-wrappers). (Ilia)
2703 - Fixed bug #38653 (memory leak in ReflectionClass::getConstant()). (Tony)
2704 - Fixed bug #38649 (uninit'd optional arg in stream_socket_sendto()). (Sara)
2705 - Fixed bug #38637 (curl_copy_handle() fails to fully copy the cURL handle).
2706 (Tony, Ilia)
2707 - Fixed bug #38624 (Strange warning when incrementing an object property and
2708 exception is thrown from __get method). (Tony)
2709 - Fixed bug #38623 (leaks in a tricky code with switch() and exceptions).
2710 (Dmitry)
2711 - Fixed bug #38579 (include_once() may include the same file twice). (Dmitry)
2712 - Fixed bug #38574 (missing curl constants and improper constant detection).
2713 (Ilia)
2714 - Fixed bug #38543 (shutdown_executor() may segfault when memory_limit is too
2715 low). (Dmitry)
2716 - Fixed bug #38535 (memory corruption in pdo_pgsql driver on error retrieval
2717 inside a failed query executed via query() method). (Ilia)
2718 - Fixed bug #38534 (segfault when calling setlocale() in userspace session
2719 handler). (Tony)
2720 - Fixed bug #38524 (strptime() does not initialize the internal date storage
2721 structure). (Ilia)
2722 - Fixed bug #38511, #38473, #38263 (Fixed session extension request shutdown
2723 order to ensure it is shutdown before the extensions it may depend on).
2724 (Ilia)
2725 - Fixed bug #38488 (Access to "php://stdin" and family crashes PHP on win32).
2726 (Dmitry)
2727 - Fixed bug #38474 (getAttribute select attribute by order, even when
2728 prefixed). (Rob)
2729 - Fixed bug #38467 (--enable-versioning causes make fail on OS X). (Tony)
2730 - Fixed bug #38465 (ReflectionParameter fails if default value is an access
2731 to self::). (Johannes)
2732 - Fixed bug #38464 (array_count_values() mishandles numeric strings).
2733 (Matt Wilmas, Ilia)
2734 - Fixed bug #38461 (setting private attribute with __set() produces
2735 segfault). (Tony)
2736 - Fixed bug #38458, PECL bug #8944, PECL bug #7775 (error retrieving columns
2737 after long/text columns with PDO_ODBC). (Wez)
2738 - Fixed bug #38454 (warning upon disabling handler via
2739 xml_set_element_handler). (dtorop933 at gmail dot com, Rob)
2740 - Fixed bug #38451 (PDO_MYSQL doesn't compile on Solaris). (Tony)
2741 - Fixed bug #38450 (constructor is not called for classes used in userspace
2742 stream wrappers). (Tony)
2743 - Fixed bug #38438 (DOMNodeList->item(0) segfault on empty NodeList). (Ilia)
2744 - Fixed bug #38431 (xmlrpc_get_type() crashes PHP on objects). (Tony)
2745 - Fixed bug #38427 (unicode causes xml_parser to misbehave). (Rob)
2746 - Fixed bug #38424 (Different attribute assignment if new or existing). (Rob)
2747 - Fixed bug #38400 (Use of com.typelib_file may cause a crash). (Ilia)
2748 - Fixed bug #38394 (PDO fails to recover from failed prepared statement
2749 execution). (Ilia)
2750 - Fixed bug #38377 (session_destroy() gives warning after
2751 session_regenerate_id()). (Ilia)
2752 - Implemented #38357 (dbase_open can't open DBase 3 dbf file).
2753 (rodrigo at fabricadeideias dot com, Mike)
2754 - Fixed bug #38354 (Unwanted reformatting of XML when using AsXML). (Christian)
2755 - Fixed bug #38347 (Segmentation fault when using foreach with an unknown/empty
2756 SimpleXMLElement). (Tony)
2757 - Fixed bug #38322 (reading past array in sscanf() leads to arbitrary code
2758 execution). (Tony)
2759 - Fixed bug #38315 (Constructing in the destructor causes weird behavior).
2760 (Dmitry)
2761 - Fixed bug #38303 (spl_autoload_register() suppress all errors silently).
2762 (Ilia)
2763 - Fixed bug #38290 (configure script ignores --without-cdb,inifile,flatfile).
2764 (Marcus)
2765 - Fixed bug #38289 (segfault in session_decode() when _SESSION is NULL).
2766 (Tony)
2767 - Fixed bug #38287 (static variables mess up global vars). (Dmitry)
2768 - Fixed bug #38278 (session_cache_expire()'s value does not match phpinfo's
2769 session.cache_expire). (Tony)
2770 - Fixed bug #38276 (file_exists() works incorrectly with long filenames
2771 on Windows). (Ilia, Tony)
2772 - Fixed bug #38269 (fopen wrapper doesn't fail on invalid hostname with
2773 curlwrappers enabled). (Tony)
2774 - Fixed bug #38265 (heap corruption). (Dmitry)
2775 - Fixed bug #38261 (openssl_x509_parse() leaks with invalid cert) (Pierre)
2776 - Fixed bug #38255 (openssl possible leaks while passing keys) (Pierre)
2777 - Fixed bug #38253 (PDO produces segfault with default fetch mode). (Tony)
2778 - Fixed bug #38251 (socket_select() and invalid arguments). (Tony)
2779 - Fixed bug #38236 (Binary data gets corrupted on multipart/formdata POST).
2780 (Ilia)
2781 - Fixed bug #38234 (Exception in __clone makes memory leak). (Dmitry, Nuno)
2782 - Fixed bug #38229 (strtotime() does not parse YYYY-MM format). (Ilia)
2783 - Fixed bug #38224 (session extension can't handle broken cookies). (Ilia)
2784 - Fixed bug #38220 (Crash on some object operations). (Dmitry)
2785 - Fixed bug #38217 (ReflectionClass::newInstanceArgs() tries to allocate too
2786 much memory). (Tony)
2787 - Fixed bug #38214 (gif interlace output cannot work). (Pierre)
2788 - Fixed bug #38213, #37611, #37571 (wddx encoding fails to handle certain
2789 characters). (Ilia)
2790 - Fixed bug #38212 (Segfault on invalid imagecreatefromgd2part() parameters).
2791 (Pierre)
2792 - Fixed bug #38211 (variable name and cookie name match breaks script
2793 execution). (Dmitry)
2794 - Fixed bug #38199 (fclose() unable to close STDOUT and STDERR). (Tony)
2795 - Fixed bug #38198 (possible crash when COM reports an exception). (Ilia)
2796 - Fixed bug #38194 (ReflectionClass::isSubclassOf() returns TRUE for the
2797 class itself). (Ilia)
2798 - Fixed bug #38183 (disable_classes=Foobar causes disabled class to be
2799 called Foo). (Jani)
2800 - Fixed bug #38179 (imagecopy from a palette to a truecolor image loose alpha
2801 channel) (Pierre)
2802 - Fixed bug #38173 (Freeing nested cursors causes OCI8 to segfault). (Tony)
2803 - Fixed bug #38168 (Crash in pdo_pgsql on missing bound parameters). (Ilia)
2804 - Fixed bug #38161 (oci_bind_by_name() returns garbage when Oracle didn't set
2805 the variable). (Tony)
2806 - Fixed bug #38146 (Cannot use array returned from foo::__get('bar') in write
2807 context). (Dmitry)
2808 - Fixed bug #38132 (ReflectionClass::getStaticProperties() retains \0 in key
2809 names). (Ilia)
2810 - Fixed bug #38125 (undefined reference to spl_dual_it_free_storage). (Marcus)
2811 - Fixed bug #38112 (corrupted gif segfaults) (Pierre)
2812 - Fixed bug #38096 (large timeout values ignored on 32bit machines in
2813 stream_socket_accept() and stream_socket_client()). (Ilia)
2814 - Fixed bug #38086 (stream_copy_to_stream() returns 0 when maxlen is bigger
2815 than the actual length). (Tony)
2816 - Fixed bug #38072 (boolean arg for mysqli_autocommit() is always true on
2817 Solaris). (Tony)
2818 - Fixed bug #38067 (Parameters are not decoded from utf-8 when using encoding
2819 option). (Dmitry)
2820 - Fixed bug #38064 (ignored constructor visibility). (Marcus)
2821 - Fixed bug #38055 (Wrong interpretation of boolean parameters). (Dmitry)
2822 - Fixed bug #38047 ("file" and "line" sometimes not set in backtrace from
2823 inside error handler). (Dmitry)
2824 - Fixed bug #38019 (segfault extending mysqli class). (Dmitry)
2825 - Fixed bug #38005 (SoapFault faultstring doesn't follow encoding rules).
2826 (Dmitry)
2827 - Fixed bug #38004 (Parameters in SoapServer are decoded twice). (Dmitry)
2828 - Fixed bug #38003 (in classes inherited from MySQLi it's possible to call
2829 private constructors from invalid context). (Tony)
2830 - Fixed bug #37987 (invalid return of file_exists() in safe mode). (Ilia)
2831 - Fixed bug #37947 (zend_ptr_stack reallocation problem). (Dmitry)
2832 - Fixed bug #37945 (pathinfo() cannot handle argument with special characters
2833 like German "Umlaut"). (Mike)
2834 - Fixed bug #37931 (possible crash in OCI8 after database restart
2835 when using persistent connections). (Tony)
2836 - Fixed bug #37923 (Display constant value in reflection::export). (Johannes)
2837 - Fixed bug #37920 (compilation problems on z/OS). (Tony)
2838 - Fixed bug #37870 (pgo_pgsql tries to de-allocate unused statements).
2839 (Ilia, ce at netage dot bg)
2840 - Fixed bug #37864 (file_get_contents() leaks on empty file). (Hannes)
2841 - Fixed bug #37862 (Integer pointer comparison to numeric value).
2842 (bugs-php at thewrittenword dot com)
2843 - Fixed bug #37846 (wordwrap() wraps incorrectly). (ddk at krasn dot ru, Tony)
2844 - Fixed bug #37816 (ReflectionProperty does not throw exception when accessing
2845 protected attribute). (Marcus)
2846 - Fixed bug #37811 (define not using toString on objects). (Marcus)
2847 - Fixed bug #37807 (segmentation fault during SOAP schema import). (Tony)
2848 - Fixed bug #37806 (weird behavior of object type and comparison). (Marcus)
2849 - Fixed bug #37780 (memory leak trying to execute a non existing file (CLI)).
2850 (Mike)
2851 - Fixed bug #37779 (empty include_path leads to search for files inside /).
2852 (jr at terragate dot net, Ilia)
2853 - Fixed bug #37747 (strtotime segfaults when given "nextyear"). (Derick)
2854 - Fixed bug #37720 (merge_php_config scrambles values).
2855 (Mike, pumuckel at metropolis dot de)
2856 - Fixed bug #37709 (Possible crash in PDO::errorCode()). (Ilia)
2857 - Fixed bug #37707 (clone without assigning leaks memory). (Ilia, Nuno, Dmitri)
2858 - Fixed bug #37705 (Semaphore constants not available). (Ilia)
2859 - Fixed bug #37671 (MySQLi extension fails to recognize BIT column). (Ilia)
2860 - Fixed bug #37667 (Object is not added into array returned by __get). (Marcus)
2861 - Fixed bug #37635 (parameter of pcntl signal handler is trashed). (Mike)
2862 - Fixed bug #37632 (Protected method access problem). (Marcus)
2863 - Fixed bug #37630 (MySQL extensions should link against thread safe client
2864 libs if built with ZTS). (Mike)
2865 - Fixed bug #37620 (mysqli_ssl_set validation is inappropriate). (Georg)
2866 - Fixed bug #37616 (DATE_RFC822 does not product RFC 822 dates).
2867 (Hannes Magnusson, Derick)
2868 - Fixed bug #37614 (Class name lowercased in error message). (Johannes)
2869 - Fixed bug #37587 (var without attribute causes segfault). (Marcus)
2870 - Fixed bug #37586 (Bumped minimum PCRE version to 6.6, needed for recursion
2871 limit support). (Ilia)
2872 - Fixed bug #37581 (oci_bind_array_by_name clobbers input array when using
2873 SQLT_AFC, AVC). (Tony)
2874 - Fixed bug #37569 (WDDX incorrectly encodes high-ascii characters). (Ilia)
2875 - Fixed bug #37565 (Using reflection::export with simplexml causing a crash).
2876 (Marcus)
2877 - Fixed bug #37564 (AES privacy encryption not possible due to net-snmp 5.2
2878 compatibility issue). (Jani, patch by scott dot moynes+php at gmail dot com)
2879 - Fixed bug #37563 (array_key_exists performance is poor for &$array). (Ilia)
2880 - Fixed bug #37558 (timeout functionality doesn't work after a second PHP
2881 start-up on the same thread). (p dot desarnaud at wanadoo dot fr)
2882 - Fixed bug #37531 (oci8 persistent connection corruption). (Tony)
2883 - Fixed bug #37523 (namespaces added too late, leads to missing xsi:type
2884 attributes. Incompatibility with libxml2-2.6.24). (Dmitry)
2885 - Fixed bug #37514 (strtotime doesn't assume year correctly). (Derick)
2886 - Fixed bug #37510 (session_regenerate_id changes session_id() even on
2887 failure). (Hannes)
2888 - Fixed bug #37505 (touch() truncates large files). (Ilia)
2889 - Fixed bug #37499 (CLI segmentation faults during cleanup with sybase-ct
2890 extension enabled). (Tony)
2891 - Fixed bug #37496 (FastCGI output buffer overrun). (Piotr, Dmitry)
2892 - Fixed bug #37487 (oci_fetch_array() array-type should always default to
2893 OCI_BOTH). (Tony)
2894 - Fixed bug #37457 (Crash when an exception is thrown in accept() method of
2895 FilterIterator). (Marcus)
2896 - Fixed bug #37456 (DOMElement->setAttribute() loops forever). (Rob)
2897 - Fixed bug #37445 (Fixed crash in pdo_mysql resulting from premature object
2898 destruction). (Ilia)
2899 - Fixed bug #37428 (PHP crashes on windows if there are start-up errors and
2900 event log is used for logging them). (Edin)
2901 - Fixed bug #37418 (tidy module crashes on shutdown). (Tony)
2902 - Fixed bug #37416 (iterator_to_array() hides exceptions thrown in rewind()
2903 method). (Tony)
2904 - Fixed bug #37413 (Rejected versions of flex that don't work). (Ilia)
2905 - Fixed bug #37395 (recursive mkdir() fails to create nonexistent directories
2906 in root dir). (Tony)
2907 - Fixed bug #37394 (substr_compare() returns an error when offset equals
2908 string length). (Ilia)
2909 - Fixed bug #37392 (Unnecessary call to OCITransRollback() at the end of
2910 request). (Tony)
2911 - Fixed bug #37376 (fastcgi.c compile fail with gcc 2.95.4). (Ilia)
2912 - Fixed bug #37368 (Incorrect timestamp returned for strtotime()). (Derick)
2913 - Fixed bug #37363 (PDO_MYSQL does not build if no other mysql extension is
2914 enabled). (Mike)
2915 - Fixed bug #37348 (make PEAR install ignore open_basedir). (Ilia)
2916 - Fixed bug #37341 ($_SERVER in included file is shortened to two entries,
2917 if $_ENV gets used). (Dmitry)
2918 - Fixed bug #37313 (sigemptyset() used without including <signal.h>).
2919 (jdolecek)
2920 - Fixed bug #37306 (max_execution_time = max_input_time). (Dmitry)
2921 - Fixed bug #37278 (SOAP not respecting uri in __soapCall). (Dmitry)
2922 - Fixed bug #37265 (Added missing safe_mode & open_basedir checks to
2923 imap_body()). (Ilia)
2924 - Fixed bug #37262 (var_export() does not escape \0 character). (Ilia)