. Fixed bug #65066 (Cli server not responsive when responding with 422 http
status code). (Adam)
- . Implemented FR #63472 (Setting SO_BINDTODEVICE with socket_set_option).
+- GD
+ . Fixed #65070 (bgcolor does not use the same format as the input image with
+ imagerotate). (Pierre)
+ . Fixed Bug #65060 (imagecreatefrom... crashes with user streams). (Remi)
+ . Fixed Bug #65084 (imagecreatefromjpeg fails with URL). (Remi)
+
+ - Sockets:
-?? ??? 2013, PHP 5.4.17
++ . Implemented FR #63472 (Setting SO_BINDTODEVICE with socket_set_option).
+ (Damjan Cvetko)
+
+20 Jun 2013, PHP 5.5.0
- Core:
+ . Added Zend Opcache extension and enable building it by default.
+ More details here: https://wiki.php.net/rfc/optimizerplus. (Dmitry)
+ . Added generators and coroutines (https://wiki.php.net/rfc/generators).
+ (Nikita Popov)
+ . Added "finally" keyword (https://wiki.php.net/rfc/finally). (Laruence)
+ . Added simplified password hashing API
+ (https://wiki.php.net/rfc/password_hash). (Anthony Ferrara)
+ . Added support for constant array/string dereferencing. (Laruence)
+ . Added array_column function which returns a column in a multidimensional
+ array. https://wiki.php.net/rfc/array_column. (Ben Ramsey)
+ . Added boolval(). (Jille Timmermans)
+ . Added "Z" option to pack/unpack. (Gustavo)
+ . Added Generator::throw() method. (Nikita Popov)
+ . Added Class Name Resolution As Scalar Via "class" Keyword.
+ (Ralph Schindler, Nikita Popov, Lars)
+ . Added optional second argument for assert() to specify custom message. Patch
+ by Lonny Kapelushnik (lonny@lonnylot.com). (Lars)
+ . Added support for using empty() on the result of function calls and
+ other expressions (https://wiki.php.net/rfc/empty_isset_exprs).
+ (Nikita Popov)
+ . Added support for non-scalar Iterator keys in foreach
+ (https://wiki.php.net/rfc/foreach-non-scalar-keys). (Nikita Popov)
+ . Added support for list in foreach (https://wiki.php.net/rfc/foreachlist).
+ (Laruence)
+ . Added support for changing the process's title in CLI/CLI-Server SAPIs.
+ The implementation is more robust that the proctitle PECL module. More
+ details here: https://wiki.php.net/rfc/cli_process_title. (Keyur)
+ . Added ARMv7/v8 versions of various Zend arithmetic functions that are
+ implemented using inline assembler (Ard Biesheuvel)
+ . Added systemtap support by enabling systemtap compatible dtrace probes on
+ linux. (David Soria Parra)
+ . Optimized access to temporary and compiled VM variables. 8% less memory
+ reads. (Dmitry)
+ . The VM stacks for passing function arguments and syntaticaly nested calls
+ were merged into a single stack. The stack size needed for op_array
+ execution is calculated at compile time and preallocated at once. As result
+ all the stack push operatins don't require checks for stack overflow
+ any more. (Dmitry)
+ . Improve set_exception_handler while doing reset. (Laruence)
+ . Return previous handler when passing NULL to set_error_handler and
+ set_exception_handler. (Nikita Popov)
+ . Remove php_logo_guid(), php_egg_logo_guid(), php_real_logo_guid(),
+ zend_logo_guid(). (Adnrew Faulds)
+ . Drop Windows XP and 2003 support. (Pierre)
+ . Implemented FR #64175 (Added HTTP codes as of RFC 6585). (Jonh Wendell)
+ . Implemented FR #60738 (Allow 'set_error_handler' to handle NULL).
+ (Laruence, Nikita Popov)
+ . Implemented FR #60524 (specify temp dir by php.ini). (ALeX Kazik).
+ . Implemented FR #46487 (Dereferencing process-handles no longer waits on
+ those processes). (Jille Timmermans)
+ . Fixed bug #65051 (count() off by one inside unset()). (Nikita)
. Fixed bug #64988 (Class loading order affects E_STRICT warning). (Laruence)
. Fixed bug #64966 (segfault in zend_do_fcall_common_helper_SPEC). (Laruence)
. Fixed bug #64960 (Segfault in gc_zval_possible_root). (Laruence)
REGISTER_LONG_CONSTANT("SO_SNDTIMEO", SO_SNDTIMEO, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("SO_RCVTIMEO", SO_RCVTIMEO, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("SO_TYPE", SO_TYPE, CONST_CS | CONST_PERSISTENT);
+#ifdef SO_FAMILY
+ REGISTER_LONG_CONSTANT("SO_FAMILY", SO_FAMILY, CONST_CS | CONST_PERSISTENT);
+#endif
REGISTER_LONG_CONSTANT("SO_ERROR", SO_ERROR, CONST_CS | CONST_PERSISTENT);
+ #ifdef SO_BINDTODEVICE
+ REGISTER_LONG_CONSTANT("SO_BINDTODEVICE", SO_BINDTODEVICE, CONST_CS | CONST_PERSISTENT);
+ #endif
REGISTER_LONG_CONSTANT("SOL_SOCKET", SOL_SOCKET, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("SOMAXCONN", SOMAXCONN, CONST_CS | CONST_PERSISTENT);
#ifdef TCP_NODELAY
#endif
break;
}
+ #ifdef SO_BINDTODEVICE
+ case SO_BINDTODEVICE: {
+ if (Z_TYPE_PP(arg4) == IS_STRING) {
+ opt_ptr = Z_STRVAL_PP(arg4);
+ optlen = Z_STRLEN_PP(arg4);
+ } else {
+ opt_ptr = "";
+ optlen = 0;
+ }
+ break;
+ }
+ #endif
default:
+default_case:
convert_to_long_ex(arg4);
ov = Z_LVAL_PP(arg4);