. Added max_input_vars directive to prevent attacks based on hash collisions
(Dmitry).
. Fixed bug #60536 (Traits Segfault). (Laruence)
+ . Fixed bug #60362 (non-existent sub-sub keys should not have values).
+ (Laruence, alan_k, Stas)
- CLI SAPI:
. Fixed bug #60477 (Segfault after two multipart/form-data POST requests,
one 200 RQ and one 404). (Laruence)
- . Fixed bug #60523 (PHP Errors are not reported in browsers using built-in
+ . Fixed bug #60523 (PHP Errors are not reported in browsers using built-in
SAPI). (Laruence, Derick)
- OpenSSL:
- Pdo Firebird:
. Fixed bug #48877 ("bindValue" and "bindParam" do not work for PDO Firebird).
- (Mariuz)
+ (Mariuz)
08 Dec 2011, PHP 5.4.0 RC3
- Core:
(php at mickweiss dot com)
. Fixed bug #60240 (invalid read/writes when unserializing specially crafted
strings). (Mike)
- . Implement FR #54514 (Get php binary path during script execution).
+ . Implement FR #54514 (Get php binary path during script execution).
(Laruence)
- CLI SAPI:
- Intl:
. Added support for UTS #46. (Gustavo)
-
+
- OpenSSL:
. On error in openssl_random_pseudo_bytes() make sure we set strong result
to false. (Scott)
24 Nov 2011, PHP 5.4.0 RC2
- Core:
- . Fixed bug #60227 (header() cannot detect the multi-line header with
+ . Fixed bug #60227 (header() cannot detect the multi-line header with
CR(0x0D)). (rui)
. Fixed bug #60099 (__halt_compiler() works in braced namespaces). (Felipe)
. Fixed bug #55874 (GCC does not provide __sync_fetch_and_add on some archs).
(klightspeed at netspace dot net dot au)
. Fixed bug #52624 (tempnam() by-pass open_basedir with nonexistent
directory). (Felipe)
- . Fixed bug #55748 (multiple NULL Pointer Dereference with zend_strndup())
+ . Fixed bug #55748 (multiple NULL Pointer Dereference with zend_strndup())
(CVE-2011-4153). (Stas)
. Fixed invalid free in call_user_method() function. (Felipe)
-
+
- Zend Engine:
. Fixed bug #43200 (Interface implementation / inheritence not possible in
abstract classes). (Felipe)
- BCmath:
. Fixed bug #60377 (bcscale related crashes on 64bits platforms) (shm)
-
+
- Fileinfo:
. Fixed possible memory leak in finfo_open(). (Felipe)
. Fixed memory leak when calling the Finfo constructor twice. (Felipe)
-
+
- Intl:
. Fixed memory leak in several Intl locale functions. (Felipe)
-
+
- Mbstring
. Fixed bug #60306 (Characters lost while converting from cp936 to utf8).
(Laruence)
. Fixed possible crash in mb_ereg_search_init() using empty pattern. (Felipe)
-
+
- MS SQL:
. Fixed bug #60267 (Compile failure with freetds 0.91). (Felipe)
(Chris Jones)
- Output:
- . Fixed bug #60321 (ob_get_status(true) no longer returns an array when
+ . Fixed bug #60321 (ob_get_status(true) no longer returns an array when
buffer is empty). (Pierrick)
. Fixed bug #60282 (Segfault when using ob_gzhandler() with open buffers).
(Laruence)
-
+
- Reflection:
- . Fixed bug #60357 (__toString() method triggers E_NOTICE "Array to string
+ . Fixed bug #60357 (__toString() method triggers E_NOTICE "Array to string
conversion"). (Laruence)
-
+
- SOAP extension:
. Added new SoapClient option "keep_alive". FR #60329. (Pierrick)
-
+
- Tidy:
. Fixed bug #54682 (Tidy::diagnose() NULL pointer dereference).
(Maksymilian Arciemowicz, Felipe)
. Fixed bug #60189 (php logo can not be displayed). (Laruence)
- Core:
- . Fixed bug #60120 (proc_open's streams may hang with stdin/out/err when
+ . Fixed bug #60120 (proc_open's streams may hang with stdin/out/err when
the data exceeds or is equal to 2048 bytes). (Pierre, Pascal Borreli)
. Fixed bug #60174 (Notice when array in method prototype error).
(Laruence)
- . Fixed bug #60169 (Conjunction of ternary and list crashes PHP).
+ . Fixed bug #60169 (Conjunction of ternary and list crashes PHP).
(Laruence)
. Fixed bug #55475 (is_a() triggers autoloader, new optional 3rd argument to
- is_a and is_subclass_of). (alan_k)
-
+ is_a and is_subclass_of). (alan_k)
+
- Oracle Database extension (OCI8):
- . Increased maximum Oracle error message buffer length for new 11.2.0.3 size
+ . Increased maximum Oracle error message buffer length for new 11.2.0.3 size
(Chris Jones)
. Improve internal initalization failure error messages (Chris Jones)
argument via Reflection). (Peter)
- Tokenizer extension
- . Fixed bug #54089 (token_get_all with regards to __halt_compiler is
+ . Fixed bug #54089 (token_get_all with regards to __halt_compiler is
not binary safe). (Nikita Popov)
- SAPI:
20 Oct 2011, PHP 5.4.0 beta2
- General improvements:
- . Improve the warning message of incompatible arguments. (Laruence)
+ . Improve the warning message of incompatible arguments. (Laruence)
. Improve ternary operator performance when returning arrays. (Arnaud, Dmitry)
- Core:
- Openssl
. Revert r313616 (When we have a blocking SSL socket, respect the timeout
option, scottmac), breaks ssl support as described in bugs #55283 and #55848
-
+
- PDO DBlib driver:
. Fixed bug #60033 (Incorrectly merged PDO dblib patches break
uniqueidentifier column type). (warezthebeef at gmail dot com)
(Ilia, jeffhuang9999 at gmail dot com)
- Zlib:
- . Fixed bug #55544 (ob_gzhandler always conflicts with
+ . Fixed bug #55544 (ob_gzhandler always conflicts with
zlib.output_compression). (Mike)
- SPL:
. Added support for SORT_NATURAL and SORT_FLAG_CASE in array
sort functions (sort, rsort, ksort, krsort, asort, arsort and
array_multisort). FR#55158 (Arpad)
- . Disable windows CRT warning by default, can be enabled again using the ini
+ . Disable windows CRT warning by default, can be enabled again using the ini
directive windows_show_crt_warnings. (Pierre)
. Removed support for putenv("TZ=..") for setting the timezone. (Derick)
. Removed the timezone guessing algorithm in case the timezone isn't set with
. Added the ability to pass options to loadHTML (Chregu, fxmulder at gmail dot com)
- OpenSSL extension:
- . Use php's implementation for Windows Crypto API in
+ . Use php's implementation for Windows Crypto API in
openssl_random_pseudo_bytes. (Pierre)
20 Jun 2011, PHP 5.4.0 Alpha 1
. highlight.bg ini option. (Kalle)
. Session bug compatibility mode (session.bug_compat_42 and
session.bug_compat_warn ini options). (Kalle)
- . session_is_registered(), session_register() and session_unregister()
+ . session_is_registered(), session_register() and session_unregister()
functions. (Kalle)
. y2k_compliance ini option. (Kalle)
- Changed $_SERVER['REQUEST_TIME'] to include microsecond precision. (Ilia)
- Changed default value of "default_charset" php.ini option from ISO-8859-1 to
UTF-8. (Rasmus)
-- Changed array_combine() to return empty array instead of FALSE when both
+- Changed array_combine() to return empty array instead of FALSE when both
parameter arrays are empty. FR #34857. (joel.perras@gmail.com)
- Changed third parameter of preg_match_all() to optional. FR #53238. (Adam)
- Changed silent casting of null/''/false into an Object when adding
to truncation, e.g. through ftruncate(). FR #53888. (Gustavo)
- Improved Zend Engine memory usage: (Dmitry)
- . Replaced zend_function.pass_rest_by_reference by
+ . Replaced zend_function.pass_rest_by_reference by
ZEND_ACC_PASS_REST_BY_REFERENCE in zend_function.fn_flags.
. Replaced zend_function.return_reference by ZEND_ACC_RETURN_REFERENCE
in zend_function.fn_flags.
meaning) is represented by zend_internal_function_info structure.
. Moved zend_op_array.size, size_var, size_literal, current_brk_cont,
backpatch_count into CG(context) as they are used only during compilation.
- . Moved zend_op_array.start_op into EG(start_op) as it's used only for
+ . Moved zend_op_array.start_op into EG(start_op) as it's used only for
'interactive' execution of single top-level op-array.
. Replaced zend_op_array.done_pass_two by ZEND_ACC_DONE_PASS_TWO in
zend_op_array.fn_flags.
in zend_class_entry.ce_flags.
. Reduced the size of zend_class_entry by sharing the same memory space
by different information for internal and user classes.
- See zend_class_entry.info union.
+ See zend_class_entry.info union.
. Reduced size of temp_variable.
- Changed the structure of op_array.opcodes. The constant values are moved from
. Added JsonSerializable interface. (Sara)
. Added JSON_BIGINT_AS_STRING, extended json_decode() sig with $options.
(Sara)
- . Added support for JSON_NUMERIC_CHECK option in json_encode() that converts
+ . Added support for JSON_NUMERIC_CHECK option in json_encode() that converts
numeric strings to integers. (Ilia)
. Added new json_encode() option JSON_PRETTY_PRINT. FR #44331. (Adam)
. Added new json_encode() option JSON_UNESCAPED_SLASHES. FR #49366. (Adam)
- Improved MySQL extensions:
. MySQL: Deprecated mysql_list_dbs(). FR #50667. (Andrey)
. mysqlnd: Added named pipes support. FR #48082. (Andrey)
- . MySQLi: Added iterator support in MySQLi. mysqli_result implements
+ . MySQLi: Added iterator support in MySQLi. mysqli_result implements
Traversable. (Andrey, Johannes)
. PDO_mysql: Removed support for linking with MySQL client libraries older
than 4.1. (Johannes)
. Added CallbackFilterIterator and RecursiveCallbackFilterIterator. (Arnaud)
- Improved XSL extension:
- . Added XsltProcessor::setSecurityPrefs($options) and getSecurityPrefs() to
- define forbidden operations within XSLT stylesheets, default is not to
+ . Added XsltProcessor::setSecurityPrefs($options) and getSecurityPrefs() to
+ define forbidden operations within XSLT stylesheets, default is not to
enable write operations from XSLT. Bug #54446 (Chregu, Nicolas Gregoire)
- Improved ZLIB extension:
. Re-implemented non-file related functionality. (Mike)
- Improved SNMP extension (Boris Lytochkin):
- . Added OO API. FR #53594 (php-snmp rewrite).
+ . Added OO API. FR #53594 (php-snmp rewrite).
. Sanitized return values of existing functions. Now it returns FALSE on
failure.
. Allow ~infinite OIDs in GET/GETNEXT/SET queries. Autochunk them to max_oids
. Fixed bug #55509 (segfault on x86_64 using more than 2G memory). (Laruence)
. Fixed bug #55504 (Content-Type header is not parsed correctly on
HTTP POST request). (Hannes)
- . Fixed bug #52461 (Incomplete doctype and missing xmlns).
+ . Fixed bug #52461 (Incomplete doctype and missing xmlns).
(virsacer at web dot de, Pierre)
- Curl:
- SimpleXML:
. Reverted the SimpleXML->query() behaviour to returning empty arrays
- instead of false when no nodes are found as it was since 5.3.3
+ instead of false when no nodes are found as it was since 5.3.3
(bug #48601). (chregu, rrichards)
-
+
- String:
- . Fixed bug #55674 (fgetcsv & str_getcsv skip empty fields in some tab-separated
+ . Fixed bug #55674 (fgetcsv & str_getcsv skip empty fields in some tab-separated
records). (Laruence)
23 Aug 2011, PHP 5.3.8
(Pierrick, Felipe)
. Fixed bug #54624 (class_alias and type hint). (Felipe)
. Fixed bug #54585 (track_errors causes segfault). (Dmitry)
- . Fixed bug #54423 (classes from dl()'ed extensions are not destroyed).
+ . Fixed bug #54423 (classes from dl()'ed extensions are not destroyed).
(Tony, Dmitry)
. Fixed bug #54372 (Crash accessing global object itself returned from its
__get() handle). (Dmitry)
- Core
. Updated crypt_blowfish to 1.2. ((CVE-2011-2483) (Solar Designer)
- . Removed warning when argument of is_a() or is_subclass_of() is not
+ . Removed warning when argument of is_a() or is_subclass_of() is not
a known class. (Stas)
. Fixed crash in error_log(). (Felipe) Reported by Mateusz Kocielski.
. Added PHP_MANDIR constant telling where the manpages were installed into,
and an --man-dir argument to php-config. (Hannes)
. Fixed a crash inside dtor for error handling. (Ilia)
- . Fixed buffer overflow on overlog salt in crypt(). (Clément LECIGNE, Stas)
+ . Fixed buffer overflow on overlog salt in crypt(). (Clément LECIGNE, Stas)
. Implemented FR #54459 (Range function accuracy). (Adam)
. Fixed bug #55399 (parse_url() incorrectly treats ':' as a valid path).
(Dmitry)
. Fixed bug #55295 [NEW]: popen_ex on windows, fixed possible heap overflow
(Pierre)
- . Fixed bug #55258 (Windows Version Detecting Error).
+ . Fixed bug #55258 (Windows Version Detecting Error).
( xiaomao5 at live dot com, Pierre)
. Fixed bug #55187 (readlink returns weird characters when false result).
(Pierre)
(Pierrick, Dmitry)
. Fixed bug #50363 (Invalid parsing in convert.quoted-printable-decode
filter). (slusarz at curecanti dot org)
- . Fixed bug #48465 (sys_get_temp_dir() possibly inconsistent when using
+ . Fixed bug #48465 (sys_get_temp_dir() possibly inconsistent when using
TMPDIR on Windows). (Pierre)
- Apache2 Handler SAPI:
- cURL extension:
. Added ini option curl.cainfo (support for custom cert db). (Pierre)
. Added CURLINFO_REDIRECT_URL support. (Daniel Stenberg, Pierre)
- . Added support for CURLOPT_MAX_RECV_SPEED_LARGE and
+ . Added support for CURLOPT_MAX_RECV_SPEED_LARGE and
CURLOPT_MAX_SEND_SPEED_LARGE. FR #51815. (Pierrick)
- DateTime extension:
. Added 3rd parameter to filter_var_array() and filter_input_array()
functions that allows disabling addition of empty elements. (Ilia)
. Fixed bug #53037 (FILTER_FLAG_EMPTY_STRING_NULL is not implemented). (Ilia)
-
+
- Interbase extension:
. Fixed bug #54269 (Short exception message buffer causes crash). (Felipe)
-
+
- intl extension:
. Implemented FR #54561 (Expose ICU version info). (David Zuelke, Ilia)
. Implemented FR #54540 (Allow loading of arbitrary resource bundles when
(kevin at kevinlocke dot name)
- json extension:
- . Fixed bug #54484 (Empty string in json_decode doesn't reset
+ . Fixed bug #54484 (Empty string in json_decode doesn't reset
json_last_error()). (Ilia)
- LDAP extension:
- MCrypt extension:
. Change E_ERROR to E_WARNING in mcrypt_create_iv when not enough data
has been fetched (Windows). (Pierre)
- . Fixed bug #55169 (mcrypt_create_iv always fails to gather sufficient random
+ . Fixed bug #55169 (mcrypt_create_iv always fails to gather sufficient random
data on Windows). (Pierre)
- mysqlnd
- PDO extension:
. Fixed bug #54929 (Parse error with single quote in sql comment). (Felipe)
- . Fixed bug #52104 (bindColumn creates Warning regardless of ATTR_ERRMODE
+ . Fixed bug #52104 (bindColumn creates Warning regardless of ATTR_ERRMODE
settings). (Ilia)
- PDO DBlib driver:
. Fixed bug #48607 (fwrite() doesn't check reply from ftp server before
exiting). (Ilia)
-
+
- Calendar extension:
. Fixed bug #53574 (Integer overflow in SdnToJulian, sometimes leading to
segfault). (Gustavo)
- DOM extension:
. Implemented FR #39771 (Made DOMDocument::saveHTML accept an optional DOMNode
like DOMDocument::saveXML). (Gustavo)
-
+
- DateTime extension:
. Fixed a bug in DateTime->modify() where absolute date/time statements had
no effect. (Derick)
. Fixed bug #53729 (DatePeriod fails to initialize recurrences on 64bit
big-endian systems). (Derick, rein@basefarm.no)
. Fixed bug #52808 (Segfault when specifying interval as two dates). (Stas)
- . Fixed bug #52738 (Can't use new properties in class extended from
+ . Fixed bug #52738 (Can't use new properties in class extended from
DateInterval). (Stas)
. Fixed bug #52290 (setDate, setISODate, setTime works wrong when DateTime
created from timestamp). (Stas)
- . Fixed bug #52063 (DateTime constructor's second argument doesn't have a
+ . Fixed bug #52063 (DateTime constructor's second argument doesn't have a
null default value). (Gustavo, Stas)
- Exif extension:
(Hannes)
- Gettext
- . Fixed bug #53837 (_() crashes on Windows when no LANG or LANGUAGE
+ . Fixed bug #53837 (_() crashes on Windows when no LANG or LANGUAGE
environment variable are set). (Pierre)
- IMAP extension:
. Implemented FR #53812 (get MIME headers of the part of the email). (Stas)
. Fixed bug #53377 (imap_mime_header_decode() doesn't ignore \t during long
MIME header unfolding). (Adam)
-
+
- Intl extension:
. Fixed bug #53612 (Segmentation fault when using cloned several intl
objects). (Gustavo)
. Fixed bug #53512 (NumberFormatter::setSymbol crash on bogus $attr values).
(Felipe)
- . Implemented clone functionality for number, date & message formatters.
+ . Implemented clone functionality for number, date & message formatters.
(Stas).
- JSON extension:
decodings). (Scott)
- mysqlnd
- . Fixed problem with always returning 0 as num_rows for unbuffered sets.
+ . Fixed problem with always returning 0 as num_rows for unbuffered sets.
(Andrey, Ulf)
- MySQL Improved extension:
- . Added 'db' and 'catalog' keys to the field fetching functions (FR #39847).
+ . Added 'db' and 'catalog' keys to the field fetching functions (FR #39847).
(Kalle)
. Fixed buggy counting of affected rows when using the text protocol. The
collected statistics were wrong when multi_query was used with mysqlnd
(Andrey)
- . Fixed bug #53795 (Connect Error from MySqli (mysqlnd) when using SSL).
+ . Fixed bug #53795 (Connect Error from MySqli (mysqlnd) when using SSL).
(Kalle)
- . Fixed bug #53503 (mysqli::query returns false after successful LOAD DATA
+ . Fixed bug #53503 (mysqli::query returns false after successful LOAD DATA
query). (Kalle, Andrey)
- . Fixed bug #53425 (mysqli_real_connect() ignores client flags when built to
+ . Fixed bug #53425 (mysqli_real_connect() ignores client flags when built to
call libmysql). (Kalle, tre-php-net at crushedhat dot com)
- OpenSSL extension:
- PDO MySQL driver:
. Fixed bug #53551 (PDOStatement execute segfaults for pdo_mysql driver).
(Johannes)
- . Implemented FR #47802 (Support for setting character sets in DSN strings).
+ . Implemented FR #47802 (Support for setting character sets in DSN strings).
(Kalle)
- PDO Oracle driver:
. Fixed bug #39199 (Cannot load Lob data with more than 4000 bytes on
ORACLE 10). (spatar at mail dot nnov dot ru)
-
+
- PDO PostgreSQL driver:
. Fixed bug #53517 (segfault in pgsql_stmt_execute() when postgres is down).
(gyp at balabit dot hu)
(CVE-2011-1153)
. Fixed bug #53541 (format string bug in ext/phar).
(crrodriguez at opensuse dot org, Ilia)
- . Fixed bug #53898 (PHAR reports invalid error message, when the directory
+ . Fixed bug #53898 (PHAR reports invalid error message, when the directory
does not exist). (Ilia)
- PHP-FPM SAPI:
(Mateusz Kocielski, Pierre)
- SPL extension:
- . Fixed memory leak in DirectoryIterator::getExtension() and
+ . Fixed memory leak in DirectoryIterator::getExtension() and
SplFileInfo::getExtension(). (Felipe)
. Fixed bug #53914 (SPL assumes HAVE_GLOB is defined). (Chris Jones)
. Fixed bug #53515 (property_exists incorrect on ArrayObject null and 0
(Hannes)
. Fixed bug #53568 (swapped memset arguments in struct initialization).
(crrodriguez at opensuse dot org)
- . Fixed bug #53166 (Missing parameters in docs and reflection definition).
+ . Fixed bug #53166 (Missing parameters in docs and reflection definition).
(Richard)
. Fixed bug #49072 (feof never returns true for damaged file in zip).
(Gustavo, Richard Quadling)
06 Jan 2011, PHP 5.3.5
-- Fixed Bug #53632 (infinite loop with x87 fpu). (CVE-2010-4645) (Scott,
+- Fixed Bug #53632 (infinite loop with x87 fpu). (CVE-2010-4645) (Scott,
Rasmus)
09 Dec 2010, PHP 5.3.4
- Upgraded bundled PCRE to version 8.10. (Ilia)
- Security enhancements:
- . Fixed crash in zip extract method (possible CWE-170).
+ . Fixed crash in zip extract method (possible CWE-170).
(Maksymilian Arciemowicz, Pierre)
. Paths with NULL in them (foo\0bar.txt) are now considered as invalid.
(Rasmus)
- . Fixed a possible double free in imap extension (Identified by Mateusz
+ . Fixed a possible double free in imap extension (Identified by Mateusz
Kocielski). (CVE-2010-4150). (Ilia)
. Fixed NULL pointer dereference in ZipArchive::getArchiveComment.
(CVE-2010-3709). (Maksymilian Arciemowicz)
- General improvements:
. Added stat support for zip stream. (Pierre)
- . Added follow_location (enabled by default) option for the http stream
+ . Added follow_location (enabled by default) option for the http stream
support. (Pierre)
. Improved support for is_link and related functions on Windows. (Pierre)
. Added a 3rd parameter to get_html_translation_table. It now takes a charset
hint, like htmlentities et al. (Gustavo)
-
+
- Implemented feature requests:
. Implemented FR #52348, added new constant ZEND_MULTIBYTE to detect
zend multibyte at runtime. (Kalle)
- . Implemented FR #52173, added functions pcntl_get_last_error() and
+ . Implemented FR #52173, added functions pcntl_get_last_error() and
pcntl_strerror(). (nick dot telford at gmail dot com, Arnaud)
. Implemented symbolic links support for open_basedir checks. (Pierre)
. Implemented FR #51804, SplFileInfo::getLinkTarget on Windows. (Pierre)
. Implemented FR #50692, not uploaded files don't count towards
max_file_uploads limit. As a side improvement, temporary files are not
opened for empty uploads and, in debug mode, 0-length uploads. (Gustavo)
-
+
- Improved MySQLnd:
. Added new character sets to mysqlnd, which are available in MySQL 5.5
(Andrey)
. Added '-t/--test' to php-fpm to check and validate FPM conf file. (fat)
. Added statistics about listening socket queue length for FPM.
(andrei dot nigmatulin at gmail dot com, fat)
-
+
- Core:
. Fixed extract() to do not overwrite $GLOBALS and $this when using
EXTR_OVERWRITE. (jorto at redhat dot com)
. Fixed bug #53304 (quot_print_decode does not handle lower-case hex digits).
(Ilia, daniel dot mueller at inexio dot net)
. Fixed bug #53248 (rawurlencode RFC 3986 EBCDIC support misses tilde char).
- (Justin Martin)
+ (Justin Martin)
. Fixed bug #53226 (file_exists fails on big filenames). (Adam)
. Fixed bug #53198 (changing INI setting "from" with ini_set did not have any
effect). (Gustavo)
decode " if ENT_NOQUOTES is given. (Gustavo)
. Fixed bug #52931 (strripos not overloaded with function overloading
enabled). (Felipe)
- . Fixed bug #52772 (var_dump() doesn't check for the existence of
+ . Fixed bug #52772 (var_dump() doesn't check for the existence of
get_class_name before calling it). (Kalle, Gustavo)
. Fixed bug #52534 (var_export array with negative key). (Felipe)
. Fixed bug #52327 (base64_decode() improper handling of leading padding in
of reported malformed sequences). (CVE-2010-3870) (Gustavo)
. Fixed bug #49407 (get_html_translation_table doesn't handle UTF-8).
(Gustavo)
- . Fixed bug #48831 (php -i has different output to php --ini). (Richard,
+ . Fixed bug #48831 (php -i has different output to php --ini). (Richard,
Pierre)
. Fixed bug #47643 (array_diff() takes over 3000 times longer than php 5.2.4).
(Felipe)
- . Fixed bug #47168 (printf of floating point variable prints maximum of 40
+ . Fixed bug #47168 (printf of floating point variable prints maximum of 40
decimal places). (Ilia)
. Fixed bug #46587 (mt_rand() does not check that max is greater than min).
(Ilia)
. Fixed bug #29085 (bad default include_path on Windows). (Pierre)
. Fixed bug #25927 (get_html_translation_table calls the ' ' instead of
'). (Gustavo)
-
+
- Zend engine:
. Reverted fix for bug #51176 (Static calling in non-static method behaves
like $this->). (Felipe)
- . Changed deprecated ini options on startup from E_WARNING to E_DEPRECATED.
+ . Changed deprecated ini options on startup from E_WARNING to E_DEPRECATED.
(Kalle)
. Fixed NULL dereference in lex_scan on zend multibyte builds where the script
had a flex incompatible encoding and there was no converter. (Gustavo)
. Fixed bug #52361 (Throwing an exception in a destructor causes invalid
catching). (Dmitry)
. Fixed bug #51008 (Zend/tests/bug45877.phpt fails). (Dmitry)
-
+
- Build issues:
. Fixed bug #52436 (Compile error if systems do not have stdint.h)
(Sriram Natarajan)
- Calendar extension:
. Fixed bug #52744 (cal_days_in_month incorrect for December 1 BCE).
(gpap at internet dot gr, Adam)
-
+
- cURL extension:
. Fixed bug #52828 (curl_setopt does not accept persistent streams).
(Gustavo, Ilia)
(CURLOPT_STDERR)). (Gustavo)
. Fixed bug #52202 (CURLOPT_PRIVATE gets corrupted). (Ilia)
. Fixed bug #50410 (curl extension slows down PHP on Windows). (Pierre)
-
+
- DateTime extension:
. Fixed bug #53297 (gettimeofday implementation in php/win32/time.c can return
1 million microsecs). (ped at 7gods dot org)
. Fixed bug #53492 (fix crash if anti-aliasing steps are invalid). (Pierre)
- GMP extension:
- . Fixed bug #52906 (gmp_mod returns negative result when non-negative is
+ . Fixed bug #52906 (gmp_mod returns negative result when non-negative is
expected). (Stas)
. Fixed bug #52849 (GNU MP invalid version match). (Adam)
headers). (Adam)
. Fixed bug #52599 (iconv output handler outputs incorrect content type
when flags are used). (Ilia)
- . Fixed bug #51250 (iconv_mime_decode() does not ignore malformed Q-encoded
+ . Fixed bug #51250 (iconv_mime_decode() does not ignore malformed Q-encoded
words). (Ilia)
- Intl extension:
(Stas)
. Fixed bug #50590 (IntlDateFormatter::parse result is limited to the integer
range). (Stas)
-
+
- Mbstring extension:
. Fixed bug #53273 (mb_strcut() returns garbage with the excessive length
parameter). (CVE-2010-4156) (Mateusz Kocielski, Pierre, Moriyoshi)
with the distribution) (Gustavo).
. Fixed bug #52681 (mb_send_mail() appends an extra MIME-Version header).
(Adam)
-
+
- MSSQL extension:
. Fixed possible crash in mssql_fetch_batch(). (Kalle)
. Fixed bug #52843 (Segfault when optional parameters are not passed in to
mssql_connect). (Felipe)
-
+
- MySQL extension:
- . Fixed bug #52636 (php_mysql_fetch_hash writes long value into int).
+ . Fixed bug #52636 (php_mysql_fetch_hash writes long value into int).
(Kalle, rein at basefarm dot no)
-
+
- MySQLi extension:
. Fixed bug #52891 (Wrong data inserted with mysqli/mysqlnd when using
mysqli_stmt_bind_param and value> PHP_INT_MAX). (Andrey)
(Andrey)
. Fixed bug #52221 (Misbehaviour of magic_quotes_runtime (get/set)). (Andrey)
. Fixed bug #45921 (Can't initialize character set hebrew). (Andrey)
-
+
- MySQLnd:
. Fixed bug #52613 (crash in mysqlnd after hitting memory limit). (Andrey)
-
+
- ODBC extension:
- Fixed bug #52512 (Broken error handling in odbc_execute).
(mkoegler at auto dot tuwien dot ac dot at)
. Fixed bug #51610 (Using oci_connect causes PHP to take a long time to
exit). Requires Oracle 11.2.0.2 client libraries (or Oracle bug fix
9891199) for this patch to have an effect. (Oracle Corp.)
-
+
- PCNTL extension:
. Fixed bug #52784 (Race condition when handling many concurrent signals).
(nick dot telford at gmail dot com, Arnaud)
-
+
- PCRE extension:
. Fixed bug #52971 (PCRE-Meta-Characters not working with utf-8). (Felipe)
. Fixed bug #52732 (Docs say preg_match() returns FALSE on error, but it
- PDO:
. Fixed bug #52699 (PDO bindValue writes long int 32bit enum).
- (rein at basefarm dot no)
+ (rein at basefarm dot no)
. Fixed bug #52487 (PDO::FETCH_INTO leaks memory). (Felipe)
-
+
- PDO DBLib driver:
. Fixed bug #52546 (pdo_dblib segmentation fault when iterating MONEY values).
(Felipe)
-
+
- PDO Firebird driver:
. Restored firebird support (VC9 builds only). (Pierre)
. Fixed bug #53335 (pdo_firebird did not implement rowCount()).
(preeves at ibphoenix dot com)
. Fixed bug #53323 (pdo_firebird getAttribute() crash).
(preeves at ibphoenix dot com)
-
+
- PDO MySQL driver:
. Fixed bug #52745 (Binding params doesn't work when selecting a date inside a
CASE-WHEN). (Andrey)
-
+
- PostgreSQL extension:
. Fixed bug #47199 (pg_delete() fails on NULL). (ewgraf at gmail dot com)
-
+
- Reflection extension:
. Fixed ReflectionProperty::isDefault() giving a wrong result for properties
obtained with ReflectionClass::getProperties(). (Gustavo)
getProperty()). (Felipe)
. Fixed bug #52854 (ReflectionClass::newInstanceArgs does not work for classes
without constructors). (Johannes)
-
+
- SOAP extension:
. Fixed bug #44248 (RFC2616 transgression while HTTPS request through proxy
with SoapClient object). (Dmitry)
-
+
- SPL extension:
. Fixed bug #53362 (Segmentation fault when extending SplFixedArray). (Felipe)
. Fixed bug #53279 (SplFileObject doesn't initialise default CSV escape
. Fixed bug #53144 (Segfault in SplObjectStorage::removeAll()). (Felipe)
. Fixed bug #53071 (SPLObjectStorage defeats gc_collect_cycles). (Gustavo)
. Fixed bug #52573 (SplFileObject::fscanf Segmentation fault). (Felipe)
- . Fixed bug #51763 (SplFileInfo::getType() does not work symbolic link
+ . Fixed bug #51763 (SplFileInfo::getType() does not work symbolic link
and directory). (Pierre)
. Fixed bug #50481 (Storing many SPLFixedArray in an array crashes). (Felipe)
. Fixed bug #50579 (RegexIterator::REPLACE doesn't work). (Felipe)
- SQLite3 extension:
. Fixed bug #53463 (sqlite3 columnName() segfaults on bad column_number).
(Felipe)
-
+
- Streams:
. Fixed forward stream seeking emulation in streams that don't support seeking
in situations where the read operation gives back less data than requested
- WDDX extension:
. Fixed bug #52468 (wddx_deserialize corrupts integer field value when left
empty). (Felipe)
-
+
- Zlib extension:
. Fixed bug #52926 (zlib fopen wrapper does not use context). (Gustavo)
- Upgraded bundled sqlite to version 3.6.23.1. (Ilia)
- Upgraded bundled PCRE to version 8.02. (Ilia)
-- Added support for JSON_NUMERIC_CHECK option in json_encode() that converts
+- Added support for JSON_NUMERIC_CHECK option in json_encode() that converts
numeric strings to integers. (Ilia)
- Added stream_set_read_buffer, allows to set the buffer for read operation.
(Pierre)
-- Added stream filter support to mcrypt extension (ported from
+- Added stream filter support to mcrypt extension (ported from
mcrypt_filter). (Stas)
- Added full_special_chars filter to ext/filter. (Rasmus)
- Added backlog socket context option for stream_socket_server(). (Mike)
Made implicit use of NULL IV a warning. (Sara)
- Added openssl_cipher_iv_length(). (Sara)
- Added FastCGI Process Manager (FPM) SAPI. (Tony)
-- Added recent Windows versions to php_uname and fix undefined windows
+- Added recent Windows versions to php_uname and fix undefined windows
version support. (Pierre)
- Added Berkeley DB 5 support to the DBA extension. (Johannes, Chris Jones)
-- Added support for copy to/from array/file for pdo_pgsql extension.
+- Added support for copy to/from array/file for pdo_pgsql extension.
(Denis Gasparin, Ilia)
- Added inTransaction() method to PDO, with specialized support for Postgres.
(Ilia, Denis Gasparin)
Reported by Stefan Esser. (Andrey)
- Fixed very rare memory leak in mysqlnd, when binding thousands of columns.
(Andrey)
-- Fixed a crash when calling an inexistent method of a class that inherits
+- Fixed a crash when calling an inexistent method of a class that inherits
PDOStatement if instantiated directly instead of doing by the PDO methods.
(Felipe)
(Dmitry)
- Fixed a possible memory corruption in pack(). Reported by Stefan Esser.
(Dmitry)
-- Fixed a possible memory corruption in substr_replace(). Reported by Stefan
+- Fixed a possible memory corruption in substr_replace(). Reported by Stefan
Esser. (Dmitry)
-- Fixed a possible memory corruption in addcslashes(). Reported by Stefan
+- Fixed a possible memory corruption in addcslashes(). Reported by Stefan
Esser. (Dmitry)
-- Fixed a possible stack exhaustion inside fnmatch(). Reported by Stefan
+- Fixed a possible stack exhaustion inside fnmatch(). Reported by Stefan
Esser. (Ilia)
- Fixed a possible dechunking filter buffer overflow. Reported by Stefan Esser.
(Pierre)
-- Fixed a possible arbitrary memory access inside sqlite extension. Reported
+- Fixed a possible arbitrary memory access inside sqlite extension. Reported
by Mateusz Kocielski. (Ilia)
- Fixed string format validation inside phar extension. Reported by Stefan
Esser. (Ilia)
- Fixed bug #52193 (converting closure to array yields empty array). (Felipe)
- Fixed bug #52183 (Reflectionfunction reports invalid number of arguments for
function aliases). (Felipe)
-- Fixed bug #52162 (custom request header variables with numbers are removed).
+- Fixed bug #52162 (custom request header variables with numbers are removed).
(Sriram Natarajan)
- Fixed bug #52160 (Invalid E_STRICT redefined constructor error). (Felipe)
- Fixed bug #52138 (Constants are parsed into the ini file for section names).
- Fixed bug #52082 (character_set_client & character_set_connection reset after
mysqli_change_user()). (Andrey)
- Fixed bug #52043 (GD doesn't recognize latest libJPEG versions).
- (php at group dot apple dot com, Pierre)
+ (php at group dot apple dot com, Pierre)
- Fixed bug #52041 (Memory leak when writing on uninitialized variable returned
from function). (Dmitry)
- Fixed bug #52060 (Memory leak when passing a closure to method_exists()).
(Felipe)
- Fixed bug #52057 (ReflectionClass fails on Closure class). (Felipe)
-- Fixed bug #52051 (handling of case sensitivity of old-style constructors
+- Fixed bug #52051 (handling of case sensitivity of old-style constructors
changed in 5.3+). (Felipe)
-- Fixed bug #52037 (Concurrent builds fail in install-programs). (seanius at
+- Fixed bug #52037 (Concurrent builds fail in install-programs). (seanius at
debian dot org, Kalle)
- Fixed bug #52019 (make lcov doesn't support TESTS variable anymore). (Patrick)
- Fixed bug #52010 (open_basedir restrictions mismatch on vacuum command).
- Fixed bug #52001 (Memory allocation problems after using variable variables).
(Dmitry)
- Fixed bug #51991 (spl_autoload and *nix support with namespace). (Felipe)
-- Fixed bug #51943 (AIX: Several files are out of ANSI spec). (Kalle,
+- Fixed bug #51943 (AIX: Several files are out of ANSI spec). (Kalle,
coreystup at gmail dot com)
- Fixed bug #51911 (ReflectionParameter::getDefaultValue() memory leaks with
constant array). (Felipe)
- Fixed bug #51435 (Missing ifdefs / logic bug in crypt code cause compile
errors). (Felipe)
- Fixed bug #51424 (crypt() function hangs after 3rd call). (Pierre, Sriram)
-- Fixed bug #51394 (Error line reported incorrectly if error handler throws an
+- Fixed bug #51394 (Error line reported incorrectly if error handler throws an
exception). (Stas)
- Fixed bug #51393 (DateTime::createFromFormat() fails if format string contains
timezone). (Adam)
- Fixed bug #51242 (Empty mysql.default_port does not default to 3306 anymore,
but 0). (Adam)
- Fixed bug #51237 (milter SAPI crash on startup). (igmar at palsenberg dot com)
-- Fixed bug #51213 (pdo_mssql is trimming value of the money column). (Ilia,
+- Fixed bug #51213 (pdo_mssql is trimming value of the money column). (Ilia,
alexr at oplot dot com)
-- Fixed bug #51190 (ftp_put() returns false when transfer was successful).
+- Fixed bug #51190 (ftp_put() returns false when transfer was successful).
(Ilia)
- Fixed bug #51183 (ext/date/php_date.c fails to compile with Sun Studio).
(Sriram Natarajan)
- Fixed bug #51176 (Static calling in non-static method behaves like $this->).
(Felipe)
-- Fixed bug #51171 (curl_setopt() doesn't output any errors or warnings when
+- Fixed bug #51171 (curl_setopt() doesn't output any errors or warnings when
an invalid option is provided). (Ilia)
- Fixed bug #51128 (imagefill() doesn't work with large images). (Pierre)
- Fixed bug #51096 ('last day' and 'first day' are handled incorrectly when
if defined in WSDL). (mephius at gmail dot com)
- Fixed bug #50731 (Inconsistent namespaces sent to functions registered with
spl_autoload_register). (Felipe)
-- Fixed bug #50563 (removing E_WARNING from parse_url). (ralph at smashlabs dot
+- Fixed bug #50563 (removing E_WARNING from parse_url). (ralph at smashlabs dot
com, Pierre)
- Fixed bug #50578 (incorrect shebang in phar.phar). (Fedora at FamilleCollet
dot com)
(vincent at optilian dot com)
- Fixed bug #43233 (sasl support for ldap on Windows). (Pierre)
- Fixed bug #35673 (formatOutput does not work with saveHTML). (Rob)
-- Fixed bug #33210 (getimagesize() fails to detect width/height on certain
+- Fixed bug #33210 (getimagesize() fails to detect width/height on certain
JPEGs). (Ilia)
04 Mar 2010, PHP 5.3.2
setting it to 0. (Rasmus)
- Changed tidyNode class to disallow manual node creation. (Pierrick)
-- Removed automatic file descriptor unlocking happening on shutdown and/or
+- Removed automatic file descriptor unlocking happening on shutdown and/or
stream close (on all OSes). (Tony, Ilia)
- Added libpng 1.4.0 support. (Pierre)
versions). (Derick)
- Fixed bug #50907 (X-PHP-Originating-Script adding two new lines in *NIX).
(Ilia)
-- Fixed bug #50859 (build fails with openssl 1.0 due to md2 deprecation).
+- Fixed bug #50859 (build fails with openssl 1.0 due to md2 deprecation).
(Ilia, hanno at hboeck dot de)
- Fixed bug #50847 (strip_tags() removes all tags greater then 1023 bytes
long). (Ilia)
and DomDocument). (Dmitry)
- Fixed bug #50508 (compile failure: Conflicting HEADER type declarations).
(Jani)
-- Fixed bug #50496 (Use of <stdbool.h> is valid only in a c99 compilation
+- Fixed bug #50496 (Use of <stdbool.h> is valid only in a c99 compilation
environment. (Sriram)
- Fixed bug #50464 (declare encoding doesn't work within an included file).
(Felipe)
(Ilia, Pierrick)
- Fixed bug #50285 (xmlrpc does not preserve keys in encoded indexed arrays).
(Felipe)
-- Fixed bug #50282 (xmlrpc_encode_request() changes object into array in
+- Fixed bug #50282 (xmlrpc_encode_request() changes object into array in
calling function). (Felipe)
- Fixed bug #50267 (get_browser(null) does not use HTTP_USER_AGENT). (Jani)
- Fixed bug #50266 (conflicting types for llabs). (Jani)
(tcallawa at redhat dot com)
- Fixed bug #50207 (segmentation fault when concatenating very large strings on
64bit linux). (Ilia)
-- Fixed bug #50196 (stream_copy_to_stream() produces warning when source is
+- Fixed bug #50196 (stream_copy_to_stream() produces warning when source is
not file). (Stas)
- Fixed bug #50195 (pg_copy_to() fails when table name contains schema. (Ilia)
- Fixed bug #50185 (ldap_get_entries() return false instead of an empty array
- Fixed bug #49990 (SNMP3 warning message about security level printed twice).
(Jani)
- Fixed bug #49985 (pdo_pgsql prepare() re-use previous aborted
- transaction). (ben dot pineau at gmail dot com, Ilia, Matteo)
+ transaction). (ben dot pineau at gmail dot com, Ilia, Matteo)
- Fixed bug #49938 (Phar::isBuffering() returns inverted value). (Greg)
- Fixed bug #49936 (crash with ftp stream in php_stream_context_get_option()).
(Pierrick)
- Fixed bug #49866 (Making reference on string offsets crashes PHP). (Dmitry)
- Fixed bug #49855 (import_request_variables() always returns NULL). (Ilia,
sjoerd at php dot net)
-- Fixed bug #49851, #50451 (http wrapper breaks on 1024 char long headers).
+- Fixed bug #49851, #50451 (http wrapper breaks on 1024 char long headers).
(Ilia)
- Fixed bug #49800 (SimpleXML allow (un)serialize() calls without warning).
(Ilia, wmeler at wp-sa dot pl)
- Upgraded bundled sqlite to version 3.6.19. (Scott)
- Updated timezone database to version 2009.17 (2009q). (Derick)
-- Changed ini file directives [PATH=](on Win32) and [HOST=](on all) to be case
+- Changed ini file directives [PATH=](on Win32) and [HOST=](on all) to be case
insensitive. (garretts)
- Restored shebang line check to CGI sapi (not checked by scanner anymore).
- Added support for ACL on Windows for thread safe SAPI (Apache2 for example)
and fix its support on NTS. (Pierre)
-- Improved symbolic, mounted volume and junctions support for realpath on
+- Improved symbolic, mounted volume and junctions support for realpath on
Windows. (Pierre)
- Improved readlink on Windows, suppress \??\ and use the drive syntax only.
(Pierre)
API. (Scott)
- Fixed crash in com_print_typeinfo when an invalid typelib is given. (Pierre)
-- Fixed a safe_mode bypass in tempnam() identified by Grzegorz Stachowiak.
+- Fixed a safe_mode bypass in tempnam() identified by Grzegorz Stachowiak.
(Rasmus)
-- Fixed a open_basedir bypass in posix_mkfifo() identified by Grzegorz
+- Fixed a open_basedir bypass in posix_mkfifo() identified by Grzegorz
Stachowiak. (Rasmus)
- Fixed certificate validation inside php_openssl_apply_verification_policy
(Ryan Sleevi, Ilia)
(Maksymilian Arciemowicz, Stas)
- Fixed signature generation/validation for zip archives in ext/phar. (Greg)
- Fixed memory leak in stream_is_local(). (Felipe, Tony)
-- Fixed BC break in mime_content_type(), removes the content encoding. (Scott)
+- Fixed BC break in mime_content_type(), removes the content encoding. (Scott)
- Fixed PECL bug #16842 (oci_error return false when NO_DATA_FOUND is raised).
(Chris Jones)
fclose). (Ilia)
- Fixed bug #49470 (FILTER_SANITIZE_EMAIL allows disallowed characters).
(Ilia)
-- Fixed bug #49447 (php engine need to correctly check for socket API
+- Fixed bug #49447 (php engine need to correctly check for socket API
return status on windows). (Sriram Natarajan)
- Fixed bug #49391 (ldap.c utilizing deprecated ldap_modify_s). (Ilia)
- Fixed bug #49372 (segfault in php_curl_option_curl). (Pierre)
- Fixed bug #49074 (private class static fields can be modified by using
reflection). (Jani)
- Fixed bug #49072 (feof never returns true for damaged file in zip). (Pierre)
-- Fixed bug #49065 ("disable_functions" php.ini option does not work on
+- Fixed bug #49065 ("disable_functions" php.ini option does not work on
Zend extensions). (Stas)
- Fixed bug #49064 (--enable-session=shared does not work: undefined symbol:
php_url_scanner_reset_vars). (Jani)
in a chunk). (andreas dot streichardt at globalpark dot com, Ilia)
- Fixed bug #49012 (phar tar signature algorithm reports as Unknown (0) in
getSignature() call). (Greg)
-- Fixed bug #49000 (PHP CLI in Interactive mode (php -a) crashes
+- Fixed bug #49000 (PHP CLI in Interactive mode (php -a) crashes
when including files from function). (Stas)
- Fixed bug #48994 (zlib.output_compression does not output HTTP headers when
set to a string value). (Jani)
- Fixed bug #48783 (make install will fail saying phar file exists). (Greg)
- Fixed bug #48774 (SIGSEGVs when using curl_copy_handle()).
(Sriram Natarajan)
-- Fixed bug #48771 (rename() between volumes fails and reports no error on
+- Fixed bug #48771 (rename() between volumes fails and reports no error on
Windows). (Pierre)
- Fixed bug #48768 (parse_ini_*() crash with INI_SCANNER_RAW). (Jani)
-- Fixed bug #48763 (ZipArchive produces corrupt archive). (dani dot church at
+- Fixed bug #48763 (ZipArchive produces corrupt archive). (dani dot church at
gmail dot com, Pierre)
- Fixed bug #48762 (IPv6 address filter still rejects valid address). (Felipe)
- Fixed bug #48757 (ReflectionFunction::invoke() parameter issues). (Kalle)
files that have been opened with r+). (Ilia)
- Fixed bug #48719 (parse_ini_*(): scanner_mode parameter is not checked for
sanity). (Jani)
-- Fixed bug #48718 (FILTER_VALIDATE_EMAIL does not allow numbers in domain
+- Fixed bug #48718 (FILTER_VALIDATE_EMAIL does not allow numbers in domain
components). (Ilia)
- Fixed bug #48681 (openssl signature verification for tar archives broken).
(Greg)
- Fixed bug #48189 (ibase_execute error in return param). (Kalle)
- Fixed bug #48182 (ssl handshake fails during asynchronous socket connection).
(Sriram Natarajan)
-- Fixed bug #48116 (Fixed build with Openssl 1.0). (Pierre,
+- Fixed bug #48116 (Fixed build with Openssl 1.0). (Pierre,
Al dot Smith at aeschi dot ch dot eu dot org)
- Fixed bug #48057 (Only the date fields of the first row are fetched, others
are empty). (info at programmiernutte dot net)
com, Kalle)
- Fixed bug #40013 (php_uname() does not return nodename on Netware (Guenter
Knauf)
-- Fixed bug #38091 (Mail() does not use FQDN when sending SMTP helo).
+- Fixed bug #38091 (Mail() does not use FQDN when sending SMTP helo).
(Kalle, Rick Yorgason)
- Fixed bug #28038 (Sent incorrect RCPT TO commands to SMTP server) (Garrett)
-- Fixed bug #27051 (Impersonation with FastCGI does not exec process as
+- Fixed bug #27051 (Impersonation with FastCGI does not exec process as
impersonated user). (Pierre)
value. (Hannes)
- Improved Windows support:
- . Update all libraries to their latest stable version. (Pierre, Rob, Liz,
+ . Update all libraries to their latest stable version. (Pierre, Rob, Liz,
Garrett).
. Added Windows support for stat(), touch(), filemtime(), filesize() and
related functions. (Pierre)
. Re-added socket_create_pair() for Windows in sockets extension. (Kalle)
- . Added inet_pton() and inet_ntop() also for Windows platforms.
+ . Added inet_pton() and inet_ntop() also for Windows platforms.
(Kalle, Pierre)
. Added mcrypt_create_iv() for Windows platforms. (Pierre)
. Added ACL Cache support on Windows.
(Kanwaljeet Singla, Pierre, Venkat Raman Don)
- . Added constants based on Windows' GetVersionEx information.
+ . Added constants based on Windows' GetVersionEx information.
PHP_WINDOWS_VERSION_* and PHP_WINDOWS_NT_*. (Pierre)
. Added support for ACL (is_writable, is_readable, reports now correct
results) on Windows. (Pierre, Venkat Raman Don, Kanwaljeet Singla)
DateInterval on each iteration, up to an end date or limited by maximum
number of occurences.
-- Added compatibility mode in GD, imagerotate, image(filled)ellipse
+- Added compatibility mode in GD, imagerotate, image(filled)ellipse
imagefilter, imageconvolution and imagecolormatch are now always enabled.
(Pierre)
- Added array_replace() and array_replace_recursive() functions. (Matt)
- Added support for CP850 encoding in mbstring extension.
(Denis Giffeler, Moriyoshi)
- Added stream_cast() and stream_set_options() to user-space stream wrappers,
- allowing stream_select(), stream_set_blocking(), stream_set_timeout() and
+ allowing stream_select(), stream_set_blocking(), stream_set_timeout() and
stream_set_write_buffer() to work with user-space stream wrappers. (Arnaud)
- Added header_remove() function. (chsc at peytz dot dk, Arnaud)
- Added stream_context_get_params() function. (Arnaud)
- Added optional parameter "new" to sybase_connect(). (Timm)
-- Added parse_ini_string() function. (grange at lemonde dot fr, Arnaud)
+- Added parse_ini_string() function. (grange at lemonde dot fr, Arnaud)
- Added str_getcsv() function. (Sara)
- Added openssl_random_pseudo_bytes() function. (Scott)
- Added ability to send user defined HTTP headers with SOAP request.
prepending functions). (Scott)
- Fixed bug #48215 (Calling a method with the same name as the parent class
calls the constructor). (Scott)
-- Fixed bug #48200 (compile failure with mbstring.c when
+- Fixed bug #48200 (compile failure with mbstring.c when
--enable-zend-multibyte is used). (Jani)
- Fixed bug #48188 (Cannot execute a scrollable cursors twice with PDO_PGSQL).
(Matteo)
- Fixed bug #46042 (memory leaks with reflection of mb_convert_encoding()).
(Ilia)
- Fixed bug #46039 (ArrayObject iteration is slow). (Arnaud)
-- Fixed bug #46033 (Direct instantiation of SQLite3stmt and SQLite3result cause
+- Fixed bug #46033 (Direct instantiation of SQLite3stmt and SQLite3result cause
a segfault.) (Scott)
- Fixed bug #45991 (Ini files with the UTF-8 BOM are treated as invalid).
(Scott)
- Added support for Sun CC (FR #46595 and FR #46513). (David Soria Parra)
- Changed default value of array_unique()'s optional sorting type parameter
- back to SORT_STRING to fix backwards compatibility breakage introduced in
+ back to SORT_STRING to fix backwards compatibility breakage introduced in
PHP 5.2.9. (Moriyoshi)
- Fixed memory corruptions while reading properties of zip files. (Ilia)
files). (Pierre)
- Fixed bug #48359 (Script hangs on snmprealwalk if OID is not increasing).
(Ilia, simonov at gmail dot com)
-- Fixed bug #48336 (ReflectionProperty::getDeclaringClass() does not work
+- Fixed bug #48336 (ReflectionProperty::getDeclaringClass() does not work
with redeclared property).
(patch by Markus dot Lidel at shadowconnect dot com)
- Fixed bug #48326 (constant MSG_DONTWAIT not defined). (Arnaud)
- Fixed bug #47969 (ezmlm_hash() returns different values depend on OS). (Ilia)
- Fixed bug #47946 (ImageConvolution overwrites background). (Ilia)
- Fixed bug #47940 (memory leaks in imap_body). (Pierre, Jake Levitt)
-- Fixed bug #47937 (system() calls sapi_flush() regardless of output
+- Fixed bug #47937 (system() calls sapi_flush() regardless of output
buffering). (Ilia)
- Fixed bug #47903 ("@" operator does not work with string offsets). (Felipe)
- Fixed bug #47893 (CLI aborts on non blocking stdout). (Arnaud)
- Fixed bug #45092 (header HTTP context option not being used when compiled
using --with-curlwrappers). (Jani)
- Fixed bug #44996 (xmlrpc_decode() ignores time zone on iso8601.datetime).
- (Ilia, kawai at apache dot org)
+ (Ilia, kawai at apache dot org)
- Fixed bug #44827 (define() is missing error checks for class constants).
(Ilia)
- Fixed bug #44214 (Crash using preg_replace_callback() and global variables).
- Added optional sorting type flag parameter to array_unique(). Default is
SORT_REGULAR. (Andrei)
-- Fixed a crash on extract in zip when files or directories entry names contain
+- Fixed a crash on extract in zip when files or directories entry names contain
a relative path. (Pierre)
- Fixed error conditions handling in stream_filter_append(). (Arnaud)
- Fixed zip filename property read. (Pierre)
- Added logging option for error_log to send directly to SAPI. (Stas)
- Added PHP_MAJOR_VERSION, PHP_MINOR_VERSION, PHP_RELEASE_VERSION,
PHP_EXTRA_VERSION, PHP_VERSION_ID, PHP_ZTS and PHP_DEBUG constants. (Pierre)
-- Added "PHP_INI_SCAN_DIR" environment variable which can be used to
+- Added "PHP_INI_SCAN_DIR" environment variable which can be used to
either disable or change the compile time ini scan directory (FR #45114).
(Jani)
-- Fixed missing initialization of BG(page_uid) and BG(page_gid),
+- Fixed missing initialization of BG(page_uid) and BG(page_gid),
reported by Maksymilian Arciemowicz. (Stas)
- Fixed memory leak inside sqlite_create_aggregate(). (Felipe)
- Fixed memory leak inside PDO sqlite's sqliteCreateAggregate() method.
- Fixed a bug inside dba_replace() that could cause file truncation
withinvalid keys. (Ilia)
- Fixed memory leak inside readline_callback_handler_install() function.(Ilia)
-- Fixed memory leak inside readline_completion_function() function. (Felipe)
+- Fixed memory leak inside readline_completion_function() function. (Felipe)
- Fixed stream_get_contents() when using $maxlength and socket is notclosed.
indeyets [at] php [dot] net on #46049. (Arnaud)
- Fixed stream_get_line() to behave as documented on non-blocking streams.
- Fixed bug #45765 (ReflectionObject with default parameters of self::xxx cause
an error). (Felipe)
- Fixed bug #45751 (Using auto_prepend_file crashes (out of scope stack address
- use)). (basant dot kukreja at sun dot com)
+ use)). (basant dot kukreja at sun dot com)
- Fixed bug #45722 (mb_check_encoding() crashes). (Moriyoshi)
- Fixed bug #45705 (rfc822_parse_adrlist() modifies passed address parameter).
(Jani)
01 May 2008, PHP 5.2.6
- Fixed two possible crashes inside posix extension (Tony)
-- Fixed incorrect heredoc handling when label is used within the block.
+- Fixed incorrect heredoc handling when label is used within the block.
(Matt)
- Fixed possible stack buffer overflow in FastCGI SAPI. (Andrei Nigmatulin)
- Fixed sending of uninitialized paddings which may contain some information. (Andrei Nigmatulin)
========================================
- The default_charset setting now defaults to UTF-8.
- It was ISO-88590-1 before, so if you were relying
+ It was ISO-88590-1 before, so if you were relying
on the default, you will need to add:
default_charset = iso-8859-1
to your php.ini to preserve pre-PHP5.4 behavior.
-- Deprecated ini directives will now throw an E_CORE_WARNING's
+- Deprecated ini directives will now throw an E_CORE_WARNING's
instead of the previous E_WARNING's.
The following directives are marked as deprecated:
- magic_quotes_runtime
- magic_quotes_sybase
-- The following directives, which indicates a removed feature
- in PHP will now throw an E_CORE_ERROR upon startup like the
+- The following directives, which indicates a removed feature
+ in PHP will now throw an E_CORE_ERROR upon startup like the
deprecation warnings.
The following directives are no longer available:
- the following new directives were added
- max_input_vars - specifies how many GET/POST/COOKIE input variables may be
- accepted. default value 1000.
+ accepted. default value 1000.
=============================
2. Reserved words and classes
{
public function __construct($bar) {}
}
-
+
Now emits a Fatal error due the incompatible declaration.
- In previous versions, names of superglobals could be used for parameter
$test = new StdClass;
$test->baz = 1;
-- Converting array to string now will cause E_NOTICE warning.
+- Converting array to string now will cause E_NOTICE warning.
+
+- Chained string offsets - e.g. $a[0][0] where $a is a string - now work.
-- Chained string offsets - e.g. $a[0][0] where $a is a string - now work, which
-means isset($a['foo']['bar']) now will return true due to automatic type conversion.
+- Non-numeric string offsets - e.g. $a['foo'] where $a is a string - now return
+ false on isset() and true on empty(), and produce warning if trying to use them.
+ Offsets of types double, bool and null produce notice. Numeric strings ($a['2'])
+ still work as before.
+ Note that offsets like '12.3' and '5 and a half' are considered non-numeric
+ and produce warning, but are converted to 12 and 5 respectively for BC reasons.
-- Changed E_ALL to include E_STRICT.
+- Changed E_ALL to include E_STRICT.
- Closures now support scopes and $this and can be rebound to
objects using Closure::bind() and Closure::bindTo().
- <?= is now always available regardless of the short_open_tag setting.
-- Parse error messages are changed to contain more information about the error.
+- Parse error messages are changed to contain more information about the error.
=====================================
4. Changes made to existing functions
- Added AES support to OpenSSL.
- openssl_csr_new() expects the textual data to be in UTF-8.
- Added no padding option to openssl_encrypt()/openssl_decrypt().
-- Added a "no_ticket" SSL context option to disable the SessionTicket TLS
+- Added a "no_ticket" SSL context option to disable the SessionTicket TLS
extension.
-- Added new json_encode() options: JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES,
+- Added new json_encode() options: JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES,
JSON_NUMERIC_CHECK, JSON_BIGINT_AS_STRING, JSON_UNESCAPED_UNICODE.
- Added Tokyo Cabinet and Berkley DB 5 support to DBA extension.
- Added support for CURLOPT_MAX_SEND_SPEED_LARGE and CURLOPT_MAX_RECV_SPEED_LARGE
to cURL.
-- Added optional argument to debug_backtrace() and debug_print_backtrace()
+- Added optional argument to debug_backtrace() and debug_print_backtrace()
to limit the amount of stack frames returned.
- Fixed crypt_blowfish handling of 8-bit characters. crypt() in Blowfish mode
- now supports hashes marked $2a$, $2x$, $2y$ and $2z$.
-- mbstring now supports following encodings: Shift_JIS/UTF-8 Emoji,
- JIS X0213:2004 (Shift_JIS-2004, EUC-JP-2004, ISO-2022-JP-2004),
+ now supports hashes marked $2a$, $2x$, $2y$ and $2z$.
+- mbstring now supports following encodings: Shift_JIS/UTF-8 Emoji,
+ JIS X0213:2004 (Shift_JIS-2004, EUC-JP-2004, ISO-2022-JP-2004),
MacJapanese (Shift_JIS), gb18030.
- Added encode/decode in hex format to mb_[en|de]code_numericentity().
-- Added support for SORT_NATURAL and SORT_FLAG_CASE in array sort functions
+- Added support for SORT_NATURAL and SORT_FLAG_CASE in array sort functions
(sort, rsort, ksort, krsort, asort, arsort and array_multisort).
- is_a() and is_subclass_of() now have third boolean parameter, which specifies
if the first argument can be a string class name. Default if false for is_a
5. Changes made to existing methods
===================================
-- DateTime::parseFromFormat() now has + modifier to allow trailing text in
+- DateTime::parseFromFormat() now has + modifier to allow trailing text in
the string to parse without throwing an error.
- Added the ability to pass options to DOMDocument::loadHTML().
- FilesystemIterator, GlobIterator and (Recursive)DirectoryIterator now use
a. removed features
- magic quotes
- . remove magic_quotes_gpc, magic_quotes_runtime,
- magic_quotes_sybase (calling ini_set('magic_....')
+ . remove magic_quotes_gpc, magic_quotes_runtime,
+ magic_quotes_sybase (calling ini_set('magic_....')
returns 0|false
. get_magic_quotes_gpc, get_magic_quotes_runtime are kept but
always return false
- PDO_mysql: Support for linking with MySQL client libraries older
than 4.1 is removed.
- The session extension now can hook into the file upload feature
- in order to provide upload progress information through session
+ in order to provide upload progress information through session
variables.
- SNMP extension
- - Functions in SNMP extension now returns FALSE on every error
+ - Functions in SNMP extension now returns FALSE on every error
condition including SNMP-related (no such instance, end of MIB,
etc). Thus, in patricular, breaks previous behaviour of get/walk
functions returning an empty string on SNMP-related errors.
- New constants added for use in snmp_set_oid_output_format()
function.
- Function snmp_set_valueretrieval() changed it's behaviour:
- SNMP_VALUE_OBJECT can be combined with one of
+ SNMP_VALUE_OBJECT can be combined with one of
SNMP_VALUE_PLAIN or SNMP_VALUE_LIBRARY resulting OID value
changes. When no SNMP_VALUE_PLAIN or SNMP_VALUE_LIBRARY
is supplied with SNMP_VALUE_OBJECT, SNMP_VALUE_LIBRARY is used.
- In sake of adding support for IPv6 DNS name resolution of
remote SNMP agent (peer) is done by extension now, not by Net-SNMP
library anymore.
-
+
- Date extension
- Setting the timezone with the TZ environment variable is no longer
supported, instead date.timezone and/or date_default_timezone_set()
- The REQUEST_TIME value inside server now returns a floating point number
indicating the time with microsecond precision. All SAPIs providing this
value should be returning float and not time_t.
-- apache_child_terminate(), getallheaders(), apache_request_headers()
+- apache_child_terminate(), getallheaders(), apache_request_headers()
and apache_response_headers() now supported on FastCGI.
- Added shortcut #inisetting=value to change ini settings at run-time.
- Changed shell not to terminate on fatal errors.
- Interactive shell works with shared readline extension.
-- Added command line option --rz <name> which shows information of the
+- Added command line option --rz <name> which shows information of the
named Zend extension.
- PHP-FPM now supports syslog value for error_log.
11. Changes in INI directives
=============================
-- Recommended production value for error_reporting changed to
+- Recommended production value for error_reporting changed to
E_ALL & ~E_DEPRECATED & ~E_STRICT.
-- Added session.upload_progress.enabled, session.upload_progress.cleanup,
- session.upload_progress.prefix, session.upload_progress.name,
+- Added session.upload_progress.enabled, session.upload_progress.cleanup,
+ session.upload_progress.prefix, session.upload_progress.name,
session.upload_progress.freq, session.upload_progress.min_freq.
- Added zend.multibyte directive as a replacement of PHP compile time
configuration option --enable-zend-multibyte. Now ZE always contains code for
three times.
- A new directive, called windows_show_crt_warning, has been introduced.
This directive shows the CRT warnings when enabled. These warnings were
- displayed by default until now. It is disabled by default.
+ displayed by default until now. It is disabled by default.
- Added cli.pager php.ini setting to set a pager for CLI output.
- Added cli.prompt php.ini setting to configure the CLI shell prompt.
- Added process.max to control the number of process FPM can fork.
}
class CanIGetHello {
- use HelloWorld;
+ use HelloWorld;
}
-
+
$hello = new CanIGetHello();
$hello->sayHello();
-
+
- Function call result array access:
e.g.
foo()[0]
- $str[1][0] where $str is a string is now a legal construct.
-- Anonymous functions now support using $this and class scope.
+- Anonymous functions now support using $this and class scope.
Anonymous function can be declared as "static" to ignore the scope.
- Class::{expr}() syntax is now supported:
- class A {
- static function foo() {
+ class A {
+ static function foo() {
echo "Hello world!\n";
}
- }
- $x = "f";
- $y = "o";
+ }
+ $x = "f";
+ $y = "o";
A::{$x.$y.$y}();
- Class member access on instantiation:
13. Windows support
===================
-- is_link now works properly for symbolic links on Windows Vista
+- is_link now works properly for symbolic links on Windows Vista
or later. Earlier systems do not support symbolic links.
===================
- transliterator_get_error_message()
- transliterator_list_ids()
- transliterator_transliterate()
-
+
- LDAP:
- ldap_control_paged_results()
- ldap_control_paged_results_response()
- libxml:
- libxml_set_external_entity_loader()
-
+
- mysqli:
- mysqli_error_list()
- mysqli_stmt_error_list()
-
+
- Session:
- session_register_shutdown()
- session_status()
-
+
- SPL
- class_uses()
- Reflection:
- ReflectionZendExtension
-
+
- Intl:
- Transliterator
- Spoofchecker
-
+
- JSON:
- JsonSerializable
- - Session:
+ - Session:
- SessionHandler
-
+
- SNMP:
- SNMP
d. New methods
- - Closure:
+ - Closure:
- Closure::bind()
- - Closure::bindTo()
+ - Closure::bindTo()
- Reflection:
- ReflectionClass::getTraitAliases()
- joaat
-
-
+
+