Skip to content

Instantly share code, notes, and snippets.

@mgng
Created September 14, 2011 05:45
Show Gist options
  • Save mgng/1215935 to your computer and use it in GitHub Desktop.
Save mgng/1215935 to your computer and use it in GitHub Desktop.
via: http://php.net/ChangeLog-5.php
--------Version 5.3.8
--------Version 5.3.7
Upgraded bundled SQLite to version 3.7.7.1. (Scott)
Upgraded bundled PCRE to version 8.12. (Scott)
Updated crypt_blowfish to 1.2. (CVE-2011-2483) (Solar Designer) (more info)
Removed warning when argument of is_a() or is_subclass_of() is not a known class. (Stas)
Added PHP_MANDIR constant telling where the manpages were installed into, and an --man-dir argument to php-config. (Hannes)
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 CURLOPT_MAX_SEND_SPEED_LARGE. FR Fixed bug #51815. (Pierrick)
Added 3rd parameter to filter_var_array() and filter_input_array() functions that allows disabling addition of empty elements. (Ilia)
Change E_ERROR to E_WARNING in mcrypt_create_iv when not enough data has been fetched (Windows). (Pierre)
Added oci_client_version() returning the runtime Oracle client library version (Chris Jones)
Added xml format to the status page. (fat)
Removed timestamp in logs written by children processes. (fat)
Added master rlimit_files and rlimit_core in the global configuration settings. (fat)
Removed pid in debug logs written by chrildren processes. (fat)
Added custom access log (also added per request %CPU and memory mesurement). (fat)
Added a real scoreboard and several improvements to the status page. (fat)
Changed socket_set_block() and socket_set_nonblock() so they emit warnings on error. (Gustavo)
--------Version 5.3.6
Upgraded bundled Sqlite3 to version 3.7.4. (Ilia)
Upgraded bundled PCRE to version 8.11. (Ilia)
Added options to debug backtrace functions. (Stas)
Added ability to connect to HTTPS sites through proxy with basic authentication using stream_context/http/header/Proxy-Authorization (Dmitry)
Changed default value of ini directive serialize_precision from 100 to 17. (Gustavo)
Added 'db' and 'catalog' keys to the field fetching functions (FR #39847). (Kalle)
Added SplFileInfo::getExtension(). FR #48767. (Peter Cowburn)
Added the filename into the return value of stream_get_meta_data(). (Hannes)
--------Version 5.3.5
--------Version 5.2.17
--------Version 5.2.16
--------Version 5.3.4
Upgraded bundled Sqlite3 to version 3.7.3. (Ilia)
Upgraded bundled PCRE to version 8.10. (Ilia)
Added stat support for zip stream. (Pierre)
Added follow_location (enabled by default) option for the http stream
Added a 3rd parameter to get_html_translation_table. It now takes a charset
Added new character sets to mysqlnd, which are available in MySQL 5.5
Added '-p/--prefix' to php-fpm to use a custom prefix and run multiple
Added custom process title for FPM. (fat)
Added '-t/--test' to php-fpm to check and validate FPM conf file. (fat)
Added statistics about listening socket queue length for FPM.
Changed the $context parameter on copy() to actually have an effect. (Kalle)
Changed deprecated ini options on startup from E_WARNING to E_DEPRECATED.
Added support for the ( and ) delimiters/separators to
Added Berkeley DB 5.1 support to the DBA extension. (Oracle Corp.)
Added support for formatting the timestamp stored in a DateTime object.
--------Version 5.2.15
--------Version 5.3.3
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 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 mcrypt_filter). (Stas)
Added full_special_chars filter to ext/filter. (Rasmus)
Added backlog socket context option for stream_socket_server(). (Mike)
Added fifth parameter to openssl_encrypt()/openssl_decrypt() (string $iv) to use non-NULL IV.
Added openssl_cipher_iv_length(). (Sara)
Added FastCGI Process Manager (FPM) SAPI. (Tony)
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. (Denis Gasparin, Ilia)
Added inTransaction() method to PDO, with specialized support for Postgres. (Ilia, Denis Gasparin)
Changed namespaced classes so that the ctor can only be named __construct now. (Stas)
--------Version 5.2.14
Updated timezone database to version 2010.5. (Derick)
Upgraded bundled PCRE to version 8.02. (Ilia)
--------Version 5.3.2
Upgraded bundled sqlite to version 3.6.22. (Ilia)
Upgraded bundled libmagic to version 5.03. (Mikko)
Upgraded bundled PCRE to version 8.00. (Scott)
Updated timezone database to version 2010.3. (Derick)
Changed gmp_strval() to use full range from 2 to 62, and -2 to -36. FR #50283 (David Soria Parra)
Changed "post_max_size" php.ini directive to allow unlimited post size by setting it to 0. (Rasmus)
Changed tidyNode class to disallow manual node creation. (Pierrick)
Removed automatic file descriptor unlocking happening on shutdown and/or stream close (on all OSes). (Tony, Ilia)
Added libpng 1.4.0 support. (Pierre)
Added support for DISABLE_AUTHENTICATOR for imap_open. (Pierre)
Added missing host validation for HTTP urls inside FILTER_VALIDATE_URL. (Ilia)
Added stream_resolve_include_path(). (Mikko)
Added INTERNALDATE support to imap_append. (nick at mailtrust dot com)
Added support for SHA-256 and SHA-512 to php's crypt. (Pierre)
Added realpath_cache_size() and realpath_cache_get() functions. (Stas)
Added FILTER_FLAG_STRIP_BACKTICK option to the filter extension. (Ilia)
Added protection for $_SESSION from interrupt corruption and improved "session.save_path" check. (Stas)
Added LIBXML_PARSEHUGE constant to override the maximum text size of a single text node when using libxml2.7.3+. (Kalle)
Added ReflectionMethod::setAccessible() for invoking non-public methods through the Reflection API. (Sebastian)
Added Collator::getSortKey for intl extension. (Stas)
Added support for CURLOPT_POSTREDIR. FR #49571. (Sriram Natarajan)
Added support for CURLOPT_CERTINFO. FR #49253. (Linus Nielsen Feltzing <[email protected]>)
Added client-side server name indication support in openssl. (Arnaud)
--------Version 5.2.13
Updated timezone database to version 2010.2. (Derick)
Upgraded bundled PCRE to version 7.9. (Ilia)
Removed automatic file descriptor unlocking happening on shutdown and/or stream close (on all OSes excluding Windows). (Tony, Ilia)
Changed tidyNode class to disallow manual node creation. (Pierrick)
Added missing host validation for HTTP urls inside FILTER_VALIDATE_URL. (Ilia)
--------Version 5.3.1
Added "max_file_uploads" INI directive, which can be set to limit the number of file uploads per-request to 20 by default, to prevent possible DOS via temporary file exhaustion. (Ilia)
Added missing sanity checks around exif processing. (Ilia)
Added error constant when json_encode() detects an invalid UTF-8 sequence. (Scott)
Added support for ACL on Windows for thread safe SAPI (Apache2 for example) and fix its support on NTS. (Pierre)
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 insensitive (garretts)
--------Version 5.3.0
Upgraded bundled PCRE to version 7.9. (Nuno)
Upgraded bundled sqlite to version 3.6.15. (Scott)
Removed the experimental RPL (master/slave) functions from mysqli. (Andrey)
Removed zend.ze1_compatibility_mode. (Dmitry)
Removed all zend_extension_* php.ini directives. Zend extensions are now
Removed special treatment of "/tmp" in sessions for open_basedir.
Removed shebang line check from CGI sapi (checked by scanner). (Dmitry)
Changed PCRE, Reflection and SPL extensions to be always enabled. (Marcus)
Changed md5() to use improved implementation. (Solar Designer, Dmitry)
Changed HTTP stream wrapper to accept any code between and including
Changed __call() to be invoked on private/protected method access, similar to
Changed dl() to be disabled by default. Enabled only when explicitly
Changed opendir(), dir() and scandir() to use default context when no context
Changed open_basedir to allow tightening in runtime contexts. (Sara)
Changed PHP/Zend extensions to use flexible build IDs. (Stas)
Changed error level E_ERROR into E_WARNING in Soap extension methods
Changed openssl info to show the shared library version number. (Scott)
Changed floating point behaviour to consistently use double precision on all
Changed round() to act more intuitively when rounding to a certain precision
Changed session_start() to return false when session startup fails. (Jani)
Changed property_exists() to check the existence of a property independent of
Changed array_reduce() to allow mixed $initial (Christian Seiler)
Added lambda functions and closures. (Christian Seiler, Dmitry)
Added "jump label" operator (limited "goto"). (Dmitry, Sara)
Added NOWDOC syntax. (Gwynne Raskind, Stas, Dmitry)
Added HEREDOC syntax with double quotes. (Lars Strojny, Felipe)
Added support for using static HEREDOCs to initialize static variables and
Added "?:" operator. (Marcus)
Added support for namespaces. (Dmitry, Stas, Gregory, Marcus)
Added support for Late Static Binding. (Dmitry, Etienne Kneuss)
Added support for __callStatic() magic method. (Sara)
Added forward_static_call(_array) to complete LSB. (Mike Lively)
Added support for dynamic access of static members using $foo::myFunc().
Added __DIR__ constant. (Lars Strojny)
Added new error modes E_USER_DEPRECATED and E_DEPRECATED.
Added "request_order" INI variable to control specifically $_REQUEST
Added support for exception linking. (Marcus)
Added ability to handle exceptions in destructors. (Marcus)
Removed direct executor recursion. (Dmitry)
Added garbage collector. (David Wang, Dmitry).
Changed exception handling. Now each op_array doesn't contain
Added ".htaccess" style user-defined php.ini files support for CGI/FastCGI.
Added support for special [PATH=/opt/httpd/www.example.com/] and
Added better error reporting for php.ini syntax errors.
Allowed using full path to load modules using "extension" directive.
Allowed "ini-variables" to be used almost everywhere ini php.ini files.
Allowed using alphanumeric/variable indexes in "array" ini options.
Added 3rd optional parameter to parse_ini_file() to specify the scanning
Added optional parameter to ini_get_all() to only retrieve the current
Added Windows support for stat(), touch(), filemtime(), filesize() and
Added inet_pton() and inet_ntop() also for Windows platforms.
Added mcrypt_create_iv() for Windows platforms. (Pierre)
Added ACL Cache support on Windows.
Added constants based on Windows' GetVersionEx information.
Added support for ACL (is_writable, is_readable, reports now correct
Added support for fnmatch() on Windows. (Pierre)
Added support for time_nanosleep() and time_sleep_until() on Windows.
Added support for symlink(), readlink(), linkinfo() and link() on Windows.
Added Windows support for stream_socket_pair(). (Kalle)
Added CGI SAPI -T option which can be used to measure execution
Added stream_supports_lock() function. (Benjamin Schulz)
Added context parameter for copy() function. (Sara)
Added "glob://" stream wrapper. (Marcus)
Added "params" as optional parameter for stream_context_create(). (Sara)
Added ability to use stream wrappers in include_path. (Gregory, Dmitry)
Added Windows support for dns_check_record(), dns_get_mx(), checkdnsrr() and
Added support for old style DNS functions (supports OSX and FBSD). (Scott)
Added a new "entries" array in dns_check_record() containing the TXT
Changed mhash to be a wrapper layer around the hash extension. (Scott)
Added hash_copy() function. (Tony)
Added sha224 hash algorithm to the hash extension. (Scott)
Added imap_gc() to clear the imap cache
Added imap_utf8_to_mutf7() and imap_mutf7_to_utf8()
Added "mbstring.http_output_conv_mimetypes" INI directive that allows
Added Database Resident Connection Pooling (DRCP) and Fast
Added support for Oracle External Authentication (not supported
Added SQLT_AFC (aka CHAR datatype) support to oci_bind_by_name.
Changed default value of oci8.default_prefetch from 10 to 100.
Added support for OpenSSL digest and cipher functions. (Dmitry)
Added access to internal values of DSA, RSA and DH keys. (Dmitry)
Added pcntl_signal_dispatch().
Added pcntl_sigprocmask().
Added pcntl_sigwaitinfo().
Added pcntl_sigtimedwait().
Added support for element names in context of XMLSchema's <any>. (Dmitry)
Added ability to use Traversable objects instead of plain arrays.
Added SPL to list of standard extensions that cannot be disabled. (Marcus)
Added ability to store associative information with objects in
Added ArrayAccess support to SplObjectStorage. (Marcus)
Added SplDoublyLinkedList, SplStack, SplQueue classes. (Etienne)
Added FilesystemIterator. (Marcus)
Added GlobIterator. (Marcus)
Added SplHeap, SplMinHeap, SplMaxHeap, SplPriorityQueue classes. (Etienne)
Added new parameter $prepend to spl_autoload_register(). (Etienne)
Added SplFixedArray. (Etienne, Tony)
Added delaying exceptions in SPL's autoload mechanism. (Marcus)
Added RecursiveTreeIterator. (Arnaud, Marcus)
Added MultipleIterator. (Arnaud, Marcus, Johannes)
Added "compact" handler for Zend MM storage. (Dmitry)
Added "+" and "*" specifiers to zend_parse_parameters(). (Andrei)
Added concept of "delayed early binding" that allows opcode caches to
Added Blowfish and extended DES support. (Using Blowfish implementation
Added new extensions:
Added Enchant extension as a way to access spell checkers. (Pierre)
Added fileinfo extension as replacement for mime_magic extension. (Derick)
Added intl extension for Internationalization. (Ed B., Vladimir I.,
Added mysqlnd extension as replacement for libmysql for ext/mysql, mysqli
Added phar extension for handling PHP Archives. (Greg, Marcus, Steph)
Added SQLite3 extension. (Scott)
Added new date/time functionality: (Derick)
Added compatibility mode in GD, imagerotate, image(filled)ellipse
Added array_replace() and array_replace_recursive() functions. (Matt)
Added ReflectionProperty::setAccessible() method that allows non-public
Added msg_queue_exists() function to sysvmsg extension. (Benjamin Schulz)
Added Firebird specific attributes that can be set via PDO::setAttribute()
Added gmp_testbit() function. (Stas)
Added icon format support to getimagesize(). (Scott)
Added LDAP_OPT_NETWORK_TIMEOUT option for ldap_set_option() to allow
Added optional escape character parameter to fgetcsv(). (David Soria Parra)
Added an optional parameter to strstr() and stristr() for retrieval of either
Added xsl->setProfiling() for profiling stylesheets. (Christian)
Added long-option feature to getopt() and made getopt() available also on
Added support for optional values, and = as separator, in getopt(). (Hannes)
Added lcfirst() function. (David C)
Added PREG_BAD_UTF8_OFFSET_ERROR constant. (Nuno)
Added native support for asinh(), acosh(), atanh(), log1p() and expm1().
Added LIBXML_LOADED_VERSION constant (libxml2 version currently used). (Rob)
Added JSON_FORCE_OBJECT flag to json_encode(). (Scott, Richard Quadling)
Added timezone_version_get() to retrieve the version of the used timezone
Added 'n' flag to fopen to allow passing O_NONBLOCK to the underlying
Added "dechunk" filter which can decode HTTP responses with chunked
Added support for CP850 encoding in mbstring extension.
Added stream_cast() and stream_set_options() to user-space stream wrappers,
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 str_getcsv() function. (Sara)
Added openssl_random_pseudo_bytes() function. (Scott)
Added ability to send user defined HTTP headers with SOAP request.
Added concatenation option to bz2.decompress stream filter.
Added support for using compressed connections with PDO_mysql. (Johannes)
Added the ability for json_decode() to take a user specified depth. (Scott)
Added support for the mysql_stmt_next_result() function from libmysql.
Added function preg_filter() that does grep and replace in one go. (Marcus)
Added system independent realpath() implementation which caches intermediate
Added optional clear_realpath_cache and filename parameters to
Added litespeed SAPI module. (George Wang)
Added ext/hash support to ext/session's ID generator. (Sara)
Added quoted_printable_encode() function. (Tony)
Added stream_context_set_default() function. (Davey Shafik)
Added optional "is_xhtml" parameter to nl2br() which makes the function
Added PHP_MAXPATHLEN constant (maximum length of a path). (Pierre)
Added support for SSH via libssh2 in cURL. (Pierre)
Added support for gray levels PNG image with alpha in GD extension. (Pierre)
Added support for salsa hashing functions in HASH extension. (Scott)
Added DOMNode::getLineNo to get line number of parsed node. (Rob)
Added table info to PDO::getColumnMeta() with SQLite. (Martin Jansen, Scott)
Added mail logging functionality that allows logging of mail sent via
Added json_last_error() to return any error information from json_decode().
Added gethostname() to return the current system host name. (Ilia)
Added shm_has_var() function. (Mike)
Added depth parameter to json_decode() to lower the nesting depth from the
Added pixelation support in imagefilter(). (Takeshi Abe, Kalle)
Added SplObjectStorage::addAll/removeAll. (Etienne)
--------Version 5.2.12
Added "max_file_uploads" INI directive, which can be set to limit the number of file uploads per-request to 20 by default, to prevent possible DOS via temporary file exhaustion. (Ilia)
Added protection for $_SESSION from interrupt corruption and improved "session.save_path" check, identified by Stefan Esser. (Stas)
Updated timezone database to version 2009.19 (2009s). (Derick)
Added LIBXML_PARSEHUGE constant to overrides the maximum text size of a single text node when using libxml2.7.3+. (Kalle)
Changed "post_max_size" php.ini directive to allow unlimited post size by setting it to 0. (Rasmus)
--------Version 5.2.11
Added missing sanity checks around exif processing. (Ilia)
Updated timezone database to version 2009.13 (2009m) (Derick)
--------Version 5.2.10
Updated timezone database to version 2009.9 (2009i) (Derick)
Added "ignore_errors" option to http fopen wrapper. (David Zulke, Sara)
Added new CURL options CURLOPT_REDIR_PROTOCOLS, CURLOPT_PROTOCOLS, and CURLPROTO_* for redirect fixes in CURL 7.19.4. (Yoram Bar Haim, Stas)
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 PHP 5.2.9. (Moriyoshi)
--------Version 5.2.9
Changed __call() to be invoked on private/protected method access, similar to properties and __get(). (Andrei)
Added optional sorting type flag parameter to array_unique(). Default is SORT_REGULAR. (Andrei)
--------Version 5.2.8
--------Version 5.2.7
Upgraded PCRE to version 7.8 (Fixes CVE-2008-2371) (Ilia)
Updated timezone database to version 2008.9. (Derick)
Upgraded bundled libzip to 0.9.0. (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 either disable or change the compile time ini scan directory (FR Fixed bug #45114). (Jani)
--------Version 5.2.6
Upgraded PCRE to version 7.6 (Nuno)
Added Reflection API metadata for the methods of the DOM classes. (Sebastian)
--------Version 5.2.5
Upgraded PCRE to version 7.3 (Nuno)
Added optional parameter $provide_object to debug_backtrace(). (Sebastian)
Added alpha support for imagefilter() IMG_FILTER_COLORIZE. (Pierre)
Added ability to control memory consumption between request using ZEND_MM_COMPACT environment variable. (Dmitry)
--------Version 5.2.4
Removed --enable-versioning configure option. (Jani)
Upgraded PCRE to version 7.2 (Nuno)
Updated timezone database to version 2007.6. (Derick)
Changed display_errors php.ini option to accept stderr as value which makes the error messages to be outputted to STDERR instead of STDOUT with CGI and CLI SAPIs (#22839). (Jani)
Changed error handler to send HTTP 500 instead of blank page on PHP errors. (Dmitry, Andrei Nigmatulin)
Changed mail() function to be always available. (Johannes)
Added check for unknown options passed to configure. (Jani)
Added persistent connection status checker to pdo_pgsql. (Elvis Pranskevichus, Ilia)
Added support for ATTR_TIMEOUT inside pdo_pgsql driver. (Ilia)
Added php_ini_loaded_file() function which returns the path to the actual php.ini in use. (Jani)
Added GD version constants GD_MAJOR_VERSION, GD_MINOR_VERSION GD_RELEASE_VERSION, GD_EXTRA_VERSION and GD_VERSION_STRING. (Pierre)
Added missing open_basedir checks to CGI. (anight at eyelinkmedia dot com, Tony)
Added missing format validator to unpack() function. (Ilia)
Added missing error check inside bcpowmod(). (Ilia)
Added CURLOPT_PRIVATE & CURLINFO_PRIVATE constants. (Andrey A. Belashkov, Tony)
Added missing MSG_EOR and MSG_EOF constants to sockets extension. (Jani)
Added PCRE_VERSION constant. (Tony)
Added ReflectionExtension::info() function to print the phpinfo() block for an extension. (Johannes)
--------Version 5.2.3
Added mysql_set_charset() to allow runtime altering of connection encoding.
Changed CGI install target to php-cgi and 'make install' to install CLI when CGI is selected. (Jani)
Changed JSON maximum nesting depth from 20 to 128. (Rasmus)
Upgraded bundled SQLite 3 to version 3.3.17. (Ilia)
Added "max_input_nesting_level" php.ini option to limit nesting level of input variables. Fix for MOPB-03-2007. (Stas)
Added a 4th parameter flag to htmlspecialchars() and htmlentities() that makes the function not encode existing html entities. (Ilia)
Added PDO::FETCH_KEY_PAIR mode that will fetch a 2 column result set into an associated array. (Ilia)
Added CURLOPT_TIMEOUT_MS and CURLOPT_CONNECTTIMEOUT_MS cURL constants. (Sara)
Added --ini switch to CLI that prints out configuration file names. (Marcus)
--------Version 5.2.2
Added missing open_basedir & safe_mode checks to zip:// and bzip:// wrappers. (MOPB-20, MOPB-21 by Stefan Esser). (Ilia)
Added imagegrabwindow and imagegrabscreen, capture a screen or a window using its handle (Pierre)
Added SplFileInfo::getBasename(), DirectoryIterator::getBasename().
Added SplFileInfo::getLinkTarget(), SplFileInfo::getRealPath().
Added ability to encode arrays with "SOAP-ENC:Array" type instead of WSDL type. To activate the ability use "feature"=>SOAP_USE_XSI_ARRAY_TYPE option in SoapClient/SoapServer constructors. (Rob, Dmitry)
Added GMP_VERSION constant. (Tony)
Added --ri switch to CLI which allows to check extension information. (Marcus)
Added tidyNode::getParent() method (John, Nuno)
Added openbasedir and safemode checks in zip:// stream wrapper and ZipArchive::open (Pierre)
Added php_pdo_sqlite_external.dll, a version of the PDO SQLite driver that links against an external sqlite3.dll. This provides Windows users to upgrade their sqlite3 version outside of the PHP release cycle. (Wez, Edin)
Added linenumbers to array returned by token_get_all(). (Johannes)
Upgraded SQLite 3 to version 3.3.16 (Ilia)
Upgraded libraries bundled in the Windows distribution. (Edin)
Upgraded PCRE to version 7.0 (Nuno)
Updated timezone database to version 2007.5. (Derick)
--------Version 5.2.1
Added CURLOPT_TCP_NODELAY constant to Curl extension. (Sara)
Added support for hex numbers of any size. (Matt)
Added function stream_socket_shutdown(). It is a wrapper for system shutdown() function, that shut downs part of a full-duplex connection. (Dmitry)
Added internal heap protection (Dmitry)
Added forward support for 'b' prefix in front of string literals. (Andrei)
Added three new functions to ext/xmlwriter (Rob, Ilia)
Added a meta tag to phpinfo() output to prevent search engines from indexing the page. (Ilia)
Added new function, sys_get_temp_dir(). (Hartmut)
Added missing object support to file_put_contents(). (Ilia)
Added support for md2, ripemd256 and ripemd320 algos to hash(). (Sara)
Added forward support for (binary) cast. (Derick)
Added optimization for imageline with horizontal and vertical lines (Pierre)
Removed dependency from SHELL32.DLL. (Dmitry)
Removed double "wrong parameter count" warnings in various functions. (Hannes)
Changed double-to-string utilities to use BSD implementation. (Dmitry, Tony)
Updated bundled libcURL to version 7.16.0 in the Windows distro. (Edin)
Updated timezone database to version 2006.16. (Derick)
Added addEmptyDir method
Added filter support for $_SERVER in cgi/apache2 sapis.
Added "default" option that allows a default value to be set for an invalid or missing value.
Added support for FastCGI environment variables. (Dmitry)
removed unnecessary checks for ISREG file and corresponding stat() calls
removed unnecessary ftell() calls (one call for each included PHP file)
--------Version 5.2.0
Updated bundled OpenSSL to version 0.9.8d in the Windows distro. (Edin)
Updated Postgresql client libraries to 8.1.4 in the Windows distro. (Edin)
Updated PCRE to version 6.7. (Ilia)
Updated libsqlite in ext/pdo_sqlite to 3.3.7. (Ilia)
Updated bundled MySQL client library to version 5.0.22 in the Windows distribution. (Edin)
Updated timezonedb to version 2006.14. (Derick)
Added ability to make SOAP call userspace PHP<->XML converters. (Dmitry)
Added support for character sets in pg_escape_string() for PostgreSQL 8.1.4 and higher. (Ilia)
Added support for character sets in PDO quote() method for PostgreSQL 8.1.4 and higher. (Ilia)
Added DSA key generation support to openssl_pkey_new(), FR #38731 (marci at balabit dot hu, Tony)
Added SoapServer::setObject() method (it is a simplified version of SoapServer::setClass() method). (Dmitry)
Added support for hexadecimal entity in imagettftext() for the bundled GD. (Pierre)
Added support for httpOnly flag for session extension and cookie setting functions. (Scott MacVicar, Ilia)
Added version specific registry keys to allow different configurations for different php version. (Richard, Dmitry)
Added "PHPINIDir" Apache directive to apache and apache_hooks SAPIs. (Dmitry)
Added an optional boolean parameter to memory_get_usage() and memory_get_peak_usage() to get memory size allocated by emalloc() or real size of memory allocated from system. (Dmitry)
Added Zip Archive extension. (Pierre)
Added RFC1867 fileupload processing hook. (Stefan E.)
Added JSON and Filter extensions. (Derick, Rasmus, Pierre, Ilia)
Added error messages to disk_free_space() and disk_total_space() functions. FR #37971 (Tony)
Added PATHINFO_FILENAME option to pathinfo() to get the filename. (Toby S. and Christian S.)
Added array_fill_keys() function. (Marcus, Matt Wilmas)
Added posix_initgroups() function. (Ilia)
Added an optional parameter to parse_url() to allow retrieval of distinct URL components. (Ilia)
Added optional parameter to http_build_query() to allow specification of string separator. (Ilia)
Added image_type_to_extension() function. (Hannes, Ilia)
Added allow_url_include ini directive to complement allow_url_fopen. (Rasmus)
Added automatic module globals management. (Dmitry)
Added RFC2397 (data: stream) support. (Marcus)
Added new error mode E_RECOVERABLE_ERROR. (Derick, Marcus, Tony)
Added support for getenv() input filtering. (Rasmus)
Added support for constructors in interfaces to force constructor signature checks in implementations. (Marcus)
Added memory_get_peak_usage() function for retrieving peak memory usage of a PHP script. (Ilia)
Added pg_field_table() function. (Edin)
Added SimpleXMLElement::saveXML() as an alias for SimpleXMLElement::asXML(). (Hannes)
Added DOMNode::getNodePath() for getting an XPath for a node. (Christian)
Added gmp_nextprime() function. (ants dot aasma at gmail dot com, Tony)
Added error_get_last() function. (Mike)
Removed current working directory from the php.ini search path for CLI and re-added it for other SAPIs (restore to pre 5.1.x behavior). (Edin)
Changed priority of PHPRC environment variable on win32 to be higher then value from registry. (Dmitry)
Changed __toString() to be called wherever applicable. (Marcus)
Changed E_ALL error reporting mode to include E_RECOVERABLE_ERROR. (Marcus)
Changed realpath cache to be disabled when "open_basedir" or "safe_mode" are enabled on per-request basis. (Ilia)
Added 2 new constants: SNMP_OID_OUTPUT_FULL and SNMP_OID_OUTPUT_NUMERIC
Added support for all supported algorithms in openssl_verify
Added openssl_pkey_get_details, returns the details of a key
Added x509 v3 extensions support
Added openssl_csr_get_subject() and openssl_csr_get_public_key()
Added 3 new constants OPENSSL_VERSION_TEXT and OPENSSL_VERSION_NUMBER and OPENSSL_KEYTYPE_EC
Removed unnecessary "--disable-zend-memory-manager" configure option.
Added "--enable-malloc-mm" configure option which is enabled by default in debug builds to allow using internal and external memory debuggers.
Allowed PHP to be an arbitrary filter in the chain and read the script from the Apache stream. (John)
Added support for apache2filter in the Windows build including binary support for both Apache 2.0.x (php5apache2_filter.dll) and Apache 2.2.x (php5apache2_2_filter.dll). (Edin)
Changed ap_set_content_type() to be called only once. (Mike)
Added support for Apache 2.2 handler in the Windows distribution. (Edin)
Removed source compatibility with libfcgi.
Allowed PHP_FCGI_MAX_REQUESTS=0 that assumes no limit.
Allowed PHP_FCGI_CHILDREN=0 that assumes no worker children. (FastCGI requests are handled by main process itself)
Added control character checks for "open_basedir" and "safe_mode" checks. (Ilia)
Added implementation of curl_multi_info_read(). (Brian)
Added run-time configurable backtracking/recursion limits.
Added preg_last_error(). (Andrei)
Added new attribute ATTR_DEFAULT_FETCH_MODE. (Pierre)
Added FETCH_PROPS_LATE. (Marcus)
Added RegExIterator and RecursiveRegExIterator.
Added full caching support and ArrayAccess to CachingIterator.
Added array functions to ArrayObject/ArrayIterator and made them faster.
Added support for reading csv and skipping empty lines in SplFileObject.
Added CachingIterator::TOSTRING_USE_INNER, calls inner iterator __toString.
Added ability to set the CSV separator per SplFileObject.
Added readInnerXml(), xmlReader::setSchema().
Added readInnerXML(), readOuterXML(), readString(), setSchema(). (2.6.20+)
Changed to passing libxml options when loading reader.
--------Version 5.1.6
--------Version 5.1.5
--------Version 5.1.4
Added "capture_peer_cert" and "capture_peer_cert_chain" context options for SSL streams. (Wez).
Added PDO::PARAM_EVT_* family of constants. (Sara)
--------Version 5.1.3
Updated bundled PCRE library to version 6.6. (Andrei)
Added SimpleXMLIterator::count().
Added SimpleXMLElement::getName() to retrieve name of element.
Added ability to create elements on the fly.
Added addChild() method for element creation supporting namespaces.
Added addAttribute() method for attribute creation supporting namespaces.
Added ability to delete specific elements and attributes by offset.
Added ReflectionClass::newInstanceArgs($args).
Added ability to analyze extension dependency.
Added ReflectionFunction::isDeprecated() and constant IS_DEPRECATED.
Added ReflectionParameter::getDeclaringClass().
Changed reflection constants to be prefixed with IS_. (Johannes)
Added curl_setopt_array() function that allows setting of multiple options via an associated array.
Added the ability to retrieve the request message sent to the server.
Added a weak/tolerant mode to the JPEG loader.
Added filtering mode option to imagepng() to allow reducing file size.
Changed get_headers() to retrieve headers also from non-200 responses. (Ilia)
Changed get_headers() to use the default context. (Ilia)
Changed SOAP extension to cache WSDL structure in memory and thus speed up SoapClient/SoapServer construction. (Andrei, Dmitry)
Added lchown() and lchgrp() to change user/group ownership of symlinks. (Derick)
Added support for exif date format in strtotime(). (Derick)
Added a check for special characters in the session name. (Ilia)
Added "consumed" stream filter. (Marcus)
Added new mysqli constants for BIT and NEW_DECIMAL field types: MYSQLI_TYPE_NEWDECIMAL and MYSQLI_TYPE_BIT. FR #36007. (Georg)
Added imap_savebody() that allows message body to be written to a file. (Mike)
Added overflow checks to wordwrap() function. (Ilia)
Added support for BINARY_DOUBLE and BINARY_FLOAT to PDO_OCI and OCI8 (also fixes bug #36764). (Tony)
Removed the E_STRICT deprecation notice from "var". (Ilia)
--------Version 5.1.2
Updated libsqlite in ext/sqlite to 2.8.17. (Ilia)
Updated libsqlite in ext/pdo_sqlite to 3.2.8. (Ilia)
Updated to libxml2-2.6.22 and libxslt-1.1.15 in the win32 bundle. (Rob)
Added new extensions: (Ilia, Wez)
Added PNG compression support to GD extension. (Pierre)
Added reflection constants as class constants. (Johannes)
Added --enable-gcov configure option to enable C-level code coverage. (John, Jani, Ilia, Marcus)
Added missing support for 'B' format identifier to date() function. (Ilia)
Changed reflection to be an extension. (Marcus)
Added class SplFileInfo as root class for DirectoryIterator and SplFileObject
Added SplTempFileObject
Added methods getNamespaces(), getDocNamespaces()
Upgraded pear to version 1.4.6. (Greg)
Added constants for libxslt and libexslt versions: LIBXSLT_VERSION, LIBXSLT_DOTTED_VERSION, LIBEXSLT_VERSION and LIBEXSLT_DOTTED_VERSION. (Pierre)
Changed errors to warnings in imagecolormatch(). (Pierre)
--------Version 5.1.1
Changed reflection constants be both PHP and class constants. (Johannes)
Added an additional field $frame['object'] to the result array of debug_backtrace() that contains a reference to the respective object when the frame was called from an object. (Sebastian)
--------Version 5.1.0
Added support for class constants and static members for internal classes. (Dmitry, Michael Wallner)
Added "new_link" parameter to mssql_connect() (Bug #34369). (Frank)
Added missing safe_mode checks for image* functions and cURL. (Ilia)
Added missing safe_mode/open_basedir checks for file uploads. (Ilia)
Added PDO_MYSQL_ATTR_USE_BUFFERED_QUERY parameter for pdo_mysql. (Ilia)
Added date_timezone_set() function to set the timezone that the date functions will use. (Derick)
Added pg_fetch_all_columns() function to fetch all values of a column from a result cursor. (Ilia)
Added support for LOCK_EX flag for file_put_contents(). (Ilia)
Added bindto socket context option. (Ilia)
Added offset parameter to the stream_copy_to_stream() function. (Ilia)
Added offset & length parameters to substr_count() function. (Ilia)
Added man pages for "phpize" and "php-config" scripts. (Jakub Vrana)
Added support for .cc files in extensions. (Brian)
Added PHP_INT_MAX and PHP_INT_SIZE as predefined constants. (Andrey)
Added user opcode API that allow overloading of opcode handlers. (Dmitry)
Added an optional remove old session parameter to session_regenerate_id(). (Ilia)
Added array type hinting. (Dmitry)
Added the tidy_get_opt_doc() function to return documentation for configuration options in tidy. (Patch by: [email protected])
Added support for .cc files in extensions. (Brian)
Added imageconvolution() function which can be used to apply a custom 3x3 matrix convolution to an image. (Pierre)
Added optional first parameter to XsltProcessor::registerPHPFunctions to only allow certain functions to be called from XSLT. (Christian)
Added the ability to override the autotools executables used by the buildconf script via the PHP_AUTOCONF and PHP_AUTOHEADER environmental variables. (Jon)
Added several new functions to support the PostgreSQL v3 protocol introduced in PostgreSQL 7.4. (Christopher)
Added optional fifth parameter "count" to preg_replace_callback() and preg_replace() to count the number of replacements made. FR #32275. (Andrey)
Added optional third parameter "charlist" to str_word_count() which contains characters to be considered as word part. FR #31560. (Andrey, Ilia)
Added interface Serializable. (Stanislav, Marcus)
Added pg_field_type_oid() PostgreSQL function. (mauroi at digbang dot com)
Added zend_declare_property_...() and zend_update_property_...() API functions for bool, double and binary safe strings. (Hartmut)
Added possibility to access INI variables from within .ini file. (Andrei)
Added variable $_SERVER['REQUEST_TIME'] containing request start time. (Ilia)
Added optional float parameter to gettimeofday(). (Ilia)
Added apache_reset_timeout() Apache1 function. (Rasmus)
Added sqlite_fetch_column_types() 3rd argument for arrays. (Ilia)
Added optional offset parameter to stream_get_contents() and file_get_contents(). (Ilia)
Added optional maxlen parameter to file_get_contents(). (Ilia)
Added SAPI hook to get the current request time. (Rasmus)
Added new functions:
Added DomDocument::$recover property for parsing not well-formed XML Documents. (Christian)
Added Cursor support for MySQL 5.0.x in mysqli (Georg)
Added proxy support to ftp wrapper via http. (Sara)
Added MDTM support to ftp_url_stat. (Sara)
Added zlib stream filter support. (Sara)
Added bz2 stream filter support. (Sara)
Added max_redirects context option that specifies how many HTTP redirects to follow. (Ilia)
Added support of parameter=>value arrays to xsl_xsltprocessor_set_parameter(). (Tony)
added constructor for mysqli_stmt and mysqli_result classes
added new function mysqli_get_charset()
added new function mysqli_set_charset()
added new class mysqli_driver
added new class mysqli_warning
added new class mysqli_exception
added new class mysqli_sql_exception
Added SplObjectStorage
added standard hierarchy of Exception classes
added interface Countable
added interfaces Subject and SplObserver
added spl_autoload*() functions
added class SplFileObject
added possibility to use a string with class_parents() and class_implements(). (Andrey)
Changed type hints to allow "null" as default value for class and array. (Marcus, Derick, Dmitry)
Changed SQLite extension to be a shared module in Windows distribution. (Edin)
Changed "instanceof" and "catch" operators, is_a() and is_subclass_of() functions to not call __autoload(). (Dmitry)
Changed sha1_file() and md5_file() functions to use streams instead of low level IO. (Uwe)
Changed abstract private methods to be not allowed anymore. (Stas)
Changed stream_filter_(ap|pre)pend() to return resource. (Sara)
Changed mysqli_exception and sqlite_exception to use RuntimeException as base if SPL extension is present. (Georg, Marcus)
Upgraded bundled libraries:
Upgraded bundled libraries in Windows distribution. (Edin)
Allowed return by reference from internal functions. (Marcus, Andi, Dmitry)
Removed php_check_syntax() function which never worked properly. (Ilia)
Removed garbage manager in Zend Engine which results in more aggressive freeing of data. (Dmitry, Andi)
--------Version 5.0.5
Upgraded PCRE library to version 5.0. (Andrei)
Removed php_check_syntax() function which never worked properly. (Ilia)
Added new function mysqli_set_charset(). (Georg)
Added man pages for "phpize" and "php-config" scripts. (Jakub Vrana)
Added support for .cc files in extensions. (Brian)
Added PHP_INT_MAX and PHP_INT_SIZE as predefined constants. (Andrey)
Changed sha1_file() and md5_file() functions to use streams instead of
Changed ming to support official 0.2a and 0.3 library versions. (Marcus)
--------Version 5.0.4
Added SNMPv2 support. (harrie)
Added Oracle Instant Client support. (cjbj at hotmail dot com, Tony)
Added length and charsetnr for field array and object in mysqli. (Georg)
Added checks for negative values to gmp_sqrt(), gmp_powm(), gmp_sqrtrem()
Changed foreach() to throw an exception if IteratorAggregate::getIterator()
Changed phpize not to require libtool. (Jani)
Updated bundled oniguruma library (used for multibyte regular expression)
Updated bundled libmbfl library (used for multibyte functions). (Moriyoshi)Fixed bugs:
--------Version 5.0.3
Added the %F modifier to *printf to render a non-locale-aware representation of a float with the . as decimal seperator. (Derick)
--------Version 5.0.2
--------Version 5.0.1
--------Version 5.0.0
Updated PCRE to provide better error handling in certain cases. (Andrei)
Changed doc comments to require a single white space after '/**'. (Marcus)
--------Version 5.0.0 Release Candidate 3
Added MySQL 4.1.2-alpha and 4.1.3-beta support to MySQLI extension. (Georg)
Added support for dumping private/protected properties to var_dump(). (Andrey)
Added count() support for COM arrays. (Wez)
Added Firebird/InterBase UDF source that allows PHP functions to be called from SQL (Ard)
Changed user error handler mechanism to relay to built-in error handler if it returns false. (Andrei)
Changed class type hints for function parameters to not allow the passing of NULL values. (Andi)
Changed tidy_node to tidyNode and removed tidy_exception. (John)
--------Version 5.0.0 Release Candidate 2
--------Version 5.0.0 Release Candidate 1
Changed __toString() to be called automatically only with print and echo
Added support for PHP 4 style object comparisons which is enabled in
Added support for PHP 4 style object conversion to long, double, and boolean
Changed prototype checks so that they aren't done on constructors. (Andi)
Changed prototype checks to output an E_STRICT message instead of
Changed Iterator::has_more() to Iterator::valid(). (Marcus)
Upgraded bundled oniguruma library to version 2.2.2. (Rui, Moriyoshi)
Added mb_list_encoding() to return an array with all mbstring supported
Added support for more ISO8601 datetime formats in strtotime(). (Moriyoshi)
--------Version 5.0.0 Beta 4
Changed exceptions so that they must now inherit from the built-in Exception
Added SPL extension. (Marcus, Derick)
Added checks for invalid characters in a cookie name and cookie data
Added support for ++ and += (and similar) to SimpleXML. (Andi, Zeev)
Added infrastructure for ++ and += (and similar) to object overloading
Added error message when trying to re-assign to $this variable. (Zeev, Andi)
Added support for an interface to extend another interface. (Zeev)
Added new pspell functions: (Brian)
Added new Interbase functions: (Ard)
Added context option "http"/"request_fulluri" to send entire URI in request
Added optional third parameter 'strict' to array_keys(). (Andrey)
Added stream_lock() method to userspace streams interface. (Hartmut, Wez)
Added xsltprocessor->registerPHPFunctions(). (Christian)
Upgraded bundled SQLite library to version 2.8.11. (Ilia, Wez)
--------Version 5.0.0 Beta 3
Upgraded PCRE library to version 4.5. (Andrei)
Added 'c' modifier to date() which returns the date in the ISO
Added an optional parameter to microtime() to get the time as
Added MacRoman encoding support to htmlentities(). (Derick,
Added possibility to call PHP functions as XSLT-functions.
Added possibility to prevent PHP from registering variables when
Added iconv stream filter (convert.iconv.*). (Moriyoshi)
Added EXSLT support in ext/xsl. (Christian)
Added qdbm handler for dba extension. (mg at iceni dot pl, Marcus)
Added new functions:
Added proxy support to http:// wrapper. (Sara)
Added rename(), rmdir() and mkdir() support to userstreams.
Added rename(), rmdir() and mkdir() support to ftp:// wrapper.
Changed rename(), rmdir() and mkdir() to be routed via streams
Changed stat() and family to be routed via streams API. (Sara)
--------Version 5.0.0 Beta 2
Added Iterators
Added Reflection API
Removed the not so working namespaces support
Removed support for expressions within constant declerations.
Added DBX_RESULT_UNBUFFERED flag for dbx_query().
Added dbx_fetch_row()
Added SQLite support.
Added support for multiple databases into ibase_trans()
Added support for CREATE DATABASE, SET TRANSACTION and EXECUTE
Added ibase_commit_ret() and ibase_rollback_ret()
Added ibase_drop_db()
Added ibase_gen_id()
Added ibase_name_result()
Added ibase_errcode()
Added ibase_affected_rows() and ibase_num_params()
Added ibase_param_info()
Added ibase_wait_event()
Added ibase_set_event_handler() and ibase_free_event_handler()
Added new COM extension with integrated .Net support. (Wez)
Added new functions:
Added "resume_pos" context option to "ftp://" wrapper. (Sara)
Added optional parameter to OCIWriteTemporaryLob() to specify
Added reflection API. (Andrei, George, Timm)
Changed length parameter in fgetcsv() to be optional. (Moriyoshi)
--------Version 5.0.0 Beta 1
Removed bundled expat
Removed the bundled MySQL client library. (Sterling)
Added context property to userspace streams object.
Added generic crypto interface for streams (supports dynamic loading of
Added lightweight streaming input abstraction to the Zend Engine scanners
Added 'string.base64' stream filter.
Added "ftp://" wrapper support to opendir(), stat() and unlink().
Added context options 'method', 'header' and 'content' for "http://" fopen
Changed the length parameter in fgetss() to be optional. (Moriyoshi)
Changed ini parser to allow for handling of quoted multi-line values. (Ilia)
Changed get_extension_funcs() to return list of the built-in Zend Engine
Changed array_search() to accept also objects as a needle. (Moriyoshi)
Changed ext/mcrypt to require libmcrypt version 2.5.6 or greater. (Derick)
Changed uniqid() parameters to be optional and allow any prefix length. (Marcus)
Added new iconv functions. (Moriyoshi)
Added misc. new functions:
Added optional parameter to get_browser() to make it return an array. (Jay)
Added optional parameter to openssl_sign() to specify the hashing algorithm.([email protected], Derick)
Added optional parameter to sha1(), sha1_file(), md5() and md5_file() which
Added optional parameter to mkdir() to make directory creation recursive. (Ilia)
Added optional parameter to file() which makes the result array not contain
Added new range() functionality:
Added an optional step parameter. (Jon)
Added encoding detection feature for expat XML parser. (Adam Dickmeiss, Moriyoshi)
Added missing multibyte (unicode) support and numeric entity support to
Added IPv6 support to ext/sockets. (Sara)
Added input filter support. See README.input_filter for more info. (Rasmus)
Added a replace count for str_[i]replace(), see #8218. (Sara)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment