PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-?? ??? 2012, PHP 5.3.16
+?? ??? 2012, PHP 5.4.8
- Core:
+ . Added optional second argument for assert() to specify custom message. Patch
+ by Lonny Kapelushnik (lonny@lonnylot.com). (Lars)
. Fixed bug #62976 (Notice: could not be converted to int when comparing
some builtin classes). (Laruence)
- . Fixed bug (segfault while build with zts and GOTO vm-kind). (Laruence)
. Fixed bug #62955 (Only one directive is loaded from "Per Directory Values"
Windows registry). (aserbulov at parallels dot com)
- . Fixed bug #62763 (register_shutdown_function and extending class).
- (Laruence)
- . Fixed bug #62744 (dangling pointers made by zend_disable_class). (Laruence)
- . Fixed bug #62716 (munmap() is called with the incorrect length).
- (slangley@google.com)
- . Fixed bug #62460 (php binaries installed as binary.dSYM). (Reeze Xia)
+ . Fixed bug #62907 (Double free when use traits). (Dmitry)
+ . Fixed bug #61767 (Shutdown functions not called in certain error
+ situation). (Dmitry)
- . Fixed bug #60194 (--with-zend-multibyte and --enable-debug reports LEAK
- with run-test.php). (Laruence)
+ . Fixed bug #60909 (custom error handler throwing Exception + fatal error
+ = no shutdown function). (Dmitry)
+- SOAP
+ . Fixed bug #50997 (SOAP Error when trying to submit 2nd Element of a choice).
+ (Dmitry)
+
+- SPL:
+ . Bug #62987 (Assigning to ArrayObject[null][something] overrides all
+ undefined variables). (Laruence)
+
+- mbstring:
+ . Allow passing null as a default value to mb_substr() and mb_strcut(). Patch
+ by Alexander Moskaliov via GitHub PR #133. (Lars)
+
+- Filter extension:
+ . Bug #49510: Boolean validation fails with FILTER_NULL_ON_FAILURE with empty
+ string or false. (Lars)
+
+?? ??? 2012, PHP 5.4.7
+
+- Core:
+ . Fixed bug (segfault while build with zts and GOTO vm-kind). (Laruence)
+ . Fixed bug #62844 (parse_url() does not recognize //). (Andrew Faulds).
+ . Fixed bug #62829 (stdint.h included on platform where HAVE_STDINT_H is not
+ set). (Felipe)
+ . Fixed bug #62763 (register_shutdown_function and extending class).
+ (Laruence)
+ . Fixed bug #62725 (Calling exit() in a shutdown function does not return
+ the exit value). (Laruence)
+ . Fixed bug #62744 (dangling pointers made by zend_disable_class). (Laruence)
+ . Fixed bug #62716 (munmap() is called with the incorrect length).
+ (slangley@google.com)
+ . Fixed bug #62358 (Segfault when using traits a lot). (Laruence)
+ . Fixed bug #62328 (implementing __toString and a cast to string fails)
+ (Laruence)
+ . Fixed bug #51363 (Fatal error raised by var_export() not caught by error
+ handler). (Lonny Kapelushnik)
+ . Fixed bug #40459 (Stat and Dir stream wrapper methods do not call
+ constructor). (Stas)
+
- CURL:
+ . Fixed bug #62912 (CURLINFO_PRIMARY_* AND CURLINFO_LOCAL_* not exposed).
+ (Pierrick)
. Fixed bug #62839 (curl_copy_handle segfault with CURLOPT_FILE). (Pierrick)
- . Fixed bug #62499 (curl_setopt($ch, CURLOPT_COOKIEFILE, "") returns false).
- (r.hampartsumyan@gmail.com, Laruence)
- DateTime:
. Fixed bug #62852 (Unserialize invalid DateTime causes crash).
zend_stack object_stack;
zend_stack declare_stack;
zend_stack list_stack;
- zend_stack labels_stack;
+ zend_stack context_stack;
TSRMLS_FETCH();
+ /* Report about uncaught exception in case of fatal errors */
+ if (EG(exception)) {
+ switch (type) {
+ case E_CORE_ERROR:
+ case E_ERROR:
+ case E_RECOVERABLE_ERROR:
+ case E_PARSE:
+ case E_COMPILE_ERROR:
+ case E_USER_ERROR:
+ if (zend_is_executing(TSRMLS_C)) {
+ error_lineno = zend_get_executed_lineno(TSRMLS_C);
+ }
+ zend_exception_error(EG(exception), E_WARNING TSRMLS_CC);
+ EG(exception) = NULL;
+ if (zend_is_executing(TSRMLS_C) && EG(opline_ptr)) {
+ active_opline->lineno = error_lineno;
+ }
+ break;
+ default:
+ break;
+ }
+ }
+
/* Obtain relevant filename and lineno */
switch (type) {
case E_CORE_ERROR: