PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 20 Jun 2011, PHP 5.4.0 Alpha 1 - autoconf 2.59+ is now supported (and required) for generating the configure script with ./buildconf. Autoconf 2.60+ is desirable otherwise the configure help order may be incorrect. (Rasmus, Chris Jones) - Removed legacy features: . break/continue $var syntax. (Dmitry) . Safe mode and all related ini options. (Kalle) . register_globals and register_long_arrays ini options. (Kalle) . import_request_variables(). (Kalle) . allow_call_time_pass_reference. (Pierrick) . define_syslog_variables ini option and its associated function. (Kalle) . highlight.bg ini option. (Kalle) . Session bug compatibility mode (session.bug_compat42 and session.bug_compat_warn ini options). (Kalle) . session_is_registered(), session_register() and session_unregister() functions. (Kalle) . y2k_compliance ini option. (Kalle) - Moved extensions to PECL: (Johannes) . ext/sqlite. - 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 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 a property into a warning. (Scott) - which shows information of the named Zend extension. . Interactive readline shell improvements: . Added "cli.pager" php.ini setting to set a pager for output. . Added "cli.prompt" php.ini setting to configure the shell prompt. . 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. FR #53878. - Improved FastCGI SAPI: (Dmitry) . Added apache compatible functions: apache_child_terminate(), getallheaders(), apache_request_headers() and apache_response_headers() . Improved performance of FastCGI request parsing. - Improved core functions: . number_format() no longer truncates multibyte decimal points and thousand separators to the first byte. FR #53457. (Adam) . Added hex2bin() function. (Scott) - Improved CURL extension: . Added support for CURLOPT_MAX_RECV_SPEED_LARGE and CURLOPT_MAX_SEND_SPEED_LARGE. FR #51815. (Pierrick) - Improved Date extension: . Added the + modifier to parseFromFormat to allow trailing text in the string to parse without throwing an error. (Stas, Derick) - Improved DBA extension: . Added Tokyo Cabinet abstract DB support. (Michael Maclean) . Added Berkeley DB 5 support. (Johannes, Chris Jones) - Improved filesystem functions: . scandir() now accepts SCANDIR_SORT_NONE as a possible sorting_order value. FR #53407. (Adam) - Improved HASH extension: . Added Jenkins's one-at-a-time hash support. (Martin Jansen) . Added FNV-1 hash support. (Michael Maclean) . Made Adler32 algorithm faster. FR #53213. (zavasek at yandex dot ru) - Improved intl extension: . Added Spoofchecker, allows checking for visibly confusable characters and other security issues. (Scott) - Improved JSON extension: . 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 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 LDAP extension: . Added paged results support. FR #42060. (ando@OpenLDAP.org, iarenuno@eteo.mondragon.edu, jeanseb@au-fil-du.net, remy.saissy@gmail.com) - 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 Traversable. (Andrey, Johannes) . PDO_mysql: Removed support for linking with MySQL client libraries older than 4.1. (Johannes) - Improved OpenSSL extension: . Added AES support. FR #48632. (yonas dot y at gmail dot com, Pierre) . Added a "no_ticket" SSL context option to disable the SessionTicket TLS extension. FR #53447. (Adam) . Added no padding option to openssl_encrypt()/openssl_decrypt(). (Scott) - Improved PDO DB-LIB: (Stanley) . Added nextRowset support. . Fixed bug #50755 (PDO DBLIB Fails with OOM). - Improved PostgreSQL extension: . Added support for "extra" parameter for PGNotify(). (r dot i dot k at free dot fr, Ilia) - Improved Reflection extension: (Johannes) . Added ReflectionExtension::isTemporary() and ReflectionExtension::isPersistent() methods. . Added ReflectionZendExtension class. . Added ReflectionClass::isCloneable(). (Felipe) - Improved Session extension: . Added support for storing upload progress feedback in session data. (Arnaud) . Changed session.entropy_file to default to /dev/urandom or /dev/arandom if either is present at compile time. (Rasmus) - Improved SPL extension: . Added RegexIterator::getRegex() method. (Joshua Thijssen) . Added SplObjectStorage::getHash() hook. (Etienne) . Added CallbackFilterIterator and RecursiveCallbackFilterIterator. (Arnaud) - Improved ZLIB extension: . Re-implemented non-file related functionality. (Mike) - Improved SNMP extension (Boris Lytochkin): . 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 upon request. . Introducing unit tests for extension with ~full coverage. . Fixed bugs . #44193 (snmp v3 noAuthNoPriv doesn't work) . #45893 (Snmp buffer limited to 2048 char) . #46065 (snmp_set_quick_print() persists between requests) . #51336 (snmprealwalk (snmp v1) does not handle end of OID tree correctly) . #53862 (snmp_set_oid_output_format does not allow returning to default) ## UNSORTED ## - Fixed PDO objects binary incompatibility. (Dmitry) - Fixed bug #52211 (iconv() returns part of string on error). (Felipe)