Permalink
Cannot retrieve contributors at this time
Fetching contributors…
| PHP 4.0 NEWS | |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| | |
| 30 Apr 2001, Version 4.0.5 | |
| - IMPORTANT: removed /F modifier handling from preg_replace(). Instead | |
| one should use new preg_replace_callback() function. (Andrei) | |
| - Added new php.ini directive: arg_separator.input which is used to tell | |
| PHP which characters are considered as argument separators in URLs. | |
| Renamed php.ini directive: arg_separator -> arg_separator.output (Jani) | |
| - Added FastCGI SAPI module. (Ben Mansell) | |
| - Added array_reduce(), which allows iterative reduction of an array | |
| to a single value via a callback function. (Andrei) | |
| - The imageloadfont function of the gd extension should be not platform | |
| dependent after this fix. (alex@zend.com) | |
| - Fixed a compatibility problem in some file functions (fgets, fputs, fread, | |
| fwrite). The ANSI standard says that if a file is opened in read/write | |
| mode, fseek() should be called before switching from reading to writing | |
| and vice versa. (alex@zend.com) | |
| - Fixed argument checking for call_user_func* functions and allowed | |
| specifying array($obj, 'method') syntax for call_user_func_array. (Andrei) | |
| - Fixed parent::method() to also work with runtime bindings. | |
| (Zeev, Zend Engine) | |
| - Implemented high-performance zlib-based output compression - see | |
| zlib.output_compression INI directive. (Zeev) | |
| - Improved ob_gzhandler() to support chunked output buffering - it's | |
| recommended to use it with 4KB chunks. (Zeev) | |
| - Fixed chunked output buffering. (Zeev) | |
| - Forced call_user_method() and call_user_method_array() to take the | |
| object argument by reference. (Andrei) | |
| - Fixed binding of ROWIDs in OCI8. (Thies) | |
| - Added PEAR/Cache as a generic Caching System. (Sebastian, PEAR/Cache) | |
| - Added IMAP quota support (imap_set_quota, imap_get_quota), enabled/added via | |
| c-client2000. (kalowsky) | |
| - Upgraded PCRE to version 3.4. (Andrei) | |
| - Added array_search which works similar to in_array but returns | |
| the key instead of a boolean. (jason@php.net) | |
| - Fixed pgsql transaction support. (Stig, PEAR/DB) | |
| - Added new object VARIANT() to encapsulate values for use with | |
| the COM and DOTNET module. Therefore it is now possible to pass | |
| values by reference, convert php values to extended variant types (currency, | |
| date, idispatch, iunknown, ...) and define the codepage that should | |
| be used for unicode - conversion. | |
| - Improved overall speed of IRCG, added URL handling to message scanner. | |
| (Sascha) | |
| - Fixed some modules to allow using output-buffering. (Thies) | |
| - Added the chroot() function. (Derick) | |
| - PostgreSQL now does a rollback at the end of a request on every | |
| persistent connection. This is done by doing an "empty" transaction | |
| on the connection. This was advised by someone from the PostgreSQL | |
| core-team. (Thies) | |
| - Fixed PostgeSQL pg_connect() bug. We would sometimes close the default | |
| link by accident. (Patch by: aja@nlgroup.ca) | |
| - Improved OCI8 dead-session detection. (Patch by: George Schlossnagle) | |
| - Fixed get_meta_tags() multiline bug #4556. (Sean) | |
| - Prefer random() over *rand48(). (JimJag) | |
| - Sped up WDDX serialization 2x. (Andrei) | |
| - Added a new parameter to mail() which appends aditional command line | |
| parameters to the mail program. (Derick) | |
| - Added Udm_Clear_Search_Limits mnoGoSearch extension function. (gluke) | |
| - Fixed mnogosearch protos. Fixed mnogosearch functions return values. | |
| A bug with capital letters break search has been fixed. (gluke) | |
| - Static methods can now be called via call_user_method_* functions, e.g. | |
| call_user_method('method', 'class'), and also array('class', 'method') | |
| constructs (for array_walk(), for example). (Andrei, Zend Engine) | |
| - microtime() under Windows now returns accurate values. (James) | |
| - Added PREG_SPLIT_DELIM_CAPTURE flag to preg_split() that allows for Perl-like | |
| functionality of capturing parenthesized delimiter expression. (Andrei) | |
| - Fixed strip_tags() to not strip a lone > character. (Rasmus) | |
| - When using the ob_gzhandler() PHP now automagically also sets the | |
| Content-Lengh correctly which enables browsers to use the HTTP | |
| Keep-Alive feature. (Thies) | |
| - Improved handling of preg_replace() /F modifier so that it's possible to | |
| specify array($obj, 'method') construct as a replacement function. (Andrei) | |
| - Added mysql_get_client_info(), mysql_get_server_info(), | |
| mysql_get_proto_info(), and mysql_get_host_info() functions. (Sean) | |
| - Major change of the php pdf api. It could break some functions though | |
| backwards compatibility was tried to maintain. Adding some still | |
| missing functions as well. (Uwe) | |
| - Added mnoGoSearch extension - http://search.mnogo.ru. (Sergey K) | |
| - Allow URL encoding in DB usernames and passwords. (Stig, PEAR) | |
| - Added raiseError and setErrorHandling methods to PEAR class. (Stig, PEAR) | |
| - Added support for converting images from JPG/PNG on the fly with the GD | |
| extension, which is usefull for creating dynamic WAP-sites. (Derick) | |
| - Updated ext/mysql/libmysql to version 3.23.32; bug fixes. (tim@mysql.com) | |
| - Fixed possible crash in all (non-pcre) regex functions. (Thies) | |
| - Improved str_replace() to accept an array for any parameter - similar | |
| to preg_replace(). (Andrei) | |
| - Fixed extract() to properly prefix numeric keys when EXTR_PREFIX_ALL is | |
| used. (Andrei) | |
| - Added EXTR_PREFIX_INVALID flag to extract() to automatically prefix | |
| string keys that do not constitute valid variable names. (Andrei) | |
| - BeOS patch from svanegmond@bang.dhs.org, modified somewhat by Rasmus. | |
| - Fixed the Apache module to overwrite PATH_TRANSLATED with SCRIPT_FILENAME, | |
| only if PATH_TRANSLATED is not previously set. (Zeev) | |
| - Fixed crash bug in highlight_string(). (Rasmus) | |
| - Added URL support for getimagesize() function. (Jani) | |
| - Added xslt_set_scheme_handler() function. (carmelo@akooe.com) | |
| - Added the pg_lolseek and pg_lotell functions. (Derick) | |
| - Fixed wrong breaking with the wordwrap function. (Derick) | |
| - Fixed 'O' and 'r' flags of date() to have correct sign for timezone | |
| offset. (Andrei) | |
| - Changed 'Z' flag to date() to always return timezone offset with | |
| negative sign if it's west of UTC. (Andrei) | |
| - Added the HTML_Processor class which provides common functions for | |
| processing HTML. (Sterling) | |
| - Added localeconv() and strcoll() functions for localization. (Sean) | |
| - Added the xslt_set_base function. (Sterling) | |
| - Added support for Zeus 3.3.8. | |
| - Added odbc_error() and odbc_errormsg() functions. (Stig) | |
| - New extension for vpopmail - http://www.inter7.com/vpopmail, | |
| give it a try, but keep in mind that it is not ready for production | |
| environments. (David Croft, Boian Bonev) | |
| - Added sybase_get_last_message() to the Sybase CT module. (Jan Fedak) | |
| - Made ldap_list(), ldap_read() and ldap_search() do parallel search when | |
| first parameter is an array of link identifiers. (Stig Venaas) | |
| - Made fopen() of HTTP URL follow redirects, $http_response_header will | |
| contain all headers with empty string as delimiter. (Stig Venaas) | |
| - Added Console_Getopt class for parsing command-line args. (Andrei, PEAR) | |
| - Added an experimental version of the ZZipLib extension which provides the | |
| ability to read zip files. (Sterling) | |
| - Allow access to uploaded files in safe_mode. Beware that you can only | |
| read the file. If you copy it to new location the copy will not have the | |
| right UID and you script won't be able to access that copy. (Thies) | |
| - Changed extract() to check that prefixed name is a valid one. (Andrei) | |
| - Changed extract() to return the number of variables extracted. (Andrei) | |
| - Added ldap_rename() function. (Stig Venaas) | |
| - Made ldap_set_option() support controls. (Stig Venaas) | |
| - Changed ldap_search() and added functions ldap_parse_result(), | |
| ldap_first_reference(), ldap_next_reference() and ldap_parse_reference() | |
| to cope with LDAPv3 stuff like referrals and references. (Stig Venaas) | |
| - Fixed date('r') overflow. | |
| - Made the php.ini path reported in phpinfo() always point to the absolute | |
| path that was opened. (Zeev) | |
| - Made the INI mechanism thread safe. (Zeev, Zend Engine) | |
| - Changed setlocale() to use LC_* constants. (Jani) | |
| - ctype functions now follow the extension naming conventions. (Hartmut) | |
| - Added iconv() function (using libc or libiconv). (Stig) | |
| - Added ODBC_TYPE constant. (Stig) | |
| - Added the call_user_method_array function which allows you to call a method | |
| with an arbitrary number of parameters. (Sterling) | |
| - ext/odbc: IBM DB2 patch by Walter Franzini. <walter@sys-net.it> | |
| - Added extension for the cracklib library. (Alexander Feldman) | |
| 19 Dec. 2000, Version 4.0.4 | |
| - Allow assigning a newly created object by reference. This is needed only if | |
| your constructor makes other data structures reference the $this object (for | |
| example, $GLOBALS["foobar"] =& $this;) | |
| The new syntax is $obj =& new MyClass(); (Andi, Zend Engine) | |
| - Allow for three expression types to be sent to functions which are requesting | |
| the function argument to be passed by reference (only c. was previously | |
| supported): | |
| a. func(new myclass()); | |
| b. func(func2()); where func2() returns a reference, i.e. is defined as | |
| function &func2(...) | |
| { | |
| ... | |
| } | |
| c. func($var); where func() is defined as function func(&$var) {...} | |
| You CAN'T count on any other expressions to be passable by reference. | |
| (Andi, Zend Engine) | |
| - Made ldap_get_entries() return an array even if there are no entries | |
| in search result. (Jani) | |
| - Fixed bad mod_perl interaction which caused segfaults when using LFS (Sascha) | |
| - const CONSTNAME now gets recognized. Before the patch only @const CONSTNAME | |
| description was recognized. | |
| - Added the is_null() function that will return true if a variable is of | |
| type null. (Sterling) | |
| - Fixed a bug which made readdir() unusable in some systems. (Jani) | |
| - Added the get_defined_functions() function which returns a list of all | |
| currently defined functions. (Sterling) | |
| - Added the get_defined_vars() function which returns an associative array | |
| of all variables defined in the current scope and their subsequent values. | |
| (Sterling) | |
| - Added the call_user_func_array() function which gives you the ability to | |
| call a user function by passing an array of parameters as the second | |
| argument. (Sterling) | |
| - Added the constant() function which returns the value of a constant given | |
| the constant's name. (Sterling) | |
| - Implemented support for Perl-style matching regexp delimiters in PCRE. | |
| You can use <{[( and )]}> to delimit your expressions now. (Andrei) | |
| - Introduced new 'F' modifier in PCRE that lets you specify a function | |
| name in the replacement argument to preg_replace() that will be called | |
| at run-time to provide the replacement string. It is passed an array of | |
| matched pattern and subpatterns. (Andrei) | |
| - Put an end to BUG#4615 (kalowsky & Eric Veldhuyzen) | |
| - Added the IRCG extension (Sascha) | |
| - Fixed realpath() in Virtual Directory mode (Daniel) | |
| - Integrated the Phil Nelson's bc math library routines into PHP, now that | |
| the license allows it (Phil Nelson <phil@cs.wwu.edu>) | |
| - Added the xslt_set_error_handler() function to the Sablotron extension. | |
| (Sterling) | |
| - Improved Sablotron's error handling system allowing you to catch all | |
| errors before they are outputted to the screen. (Sterling) | |
| - Added OpenSSL extension (Stig Venaas) | |
| - Fixed/created support for Solid 3.0 databases (kalowsky) | |
| - Fixed support for Solid 2.3 databases (kalowsky) | |
| - quoted_printable_decode() function is made RFC-2045 compliant. (Kir) | |
| - Modified preg_grep() to always return the results with keys from the original | |
| array. (Andrei) | |
| - Modified preg_replace() to accept Perl-style $n backreferences in addition | |
| to \\n ones. (Andrei) | |
| - Modified preg_replace() to ignore backreferences that refer to | |
| non-existing subpatterns. (Andrei) | |
| - Fixed column-title buffer-overflow in OCIFetchStatement(). (Thies) | |
| - Added 'output_handler' INI directive (Zeev) | |
| - Fixed some buglets in the output buffering mechanism (Zeev) | |
| - Added transparent gzip compression support (Jade Nicoletti, Zeev) | |
| - Major overhaul of domxml. Added basic XPath support as well (Uwe) | |
| - Added 'r' flag to date() which generates an RFC822 formatted date, e.g. | |
| "Thu, 9 Nov 2000 16:33:01 -0500" (Colin) | |
| - In CGI mode, $HTTP_SERVER_VARS now includes all of the environment variables | |
| as well (Zeev) | |
| - Allow user to use mysql_use_result in mysql queries (Stas) | |
| - Fixed a memory leak that would occur when restarting Apache often | |
| (mookid@sigent.ru) | |
| - Fixed a bug that prevented $argv and $argc from being defined in the command | |
| line version of PHP (Stas) | |
| - Fixed a bug that prevented a changed compile-time extension_dir from | |
| affecting modules that were loaded via php.ini (Zeev) | |
| - Fixed a bug in ftp_mkdir() when used on ftp server which doesn't return | |
| the full path (Jani) | |
| - Added ImageCreateFromString() which creates an image stream out of | |
| e.g. a MySQL blob. (Mathieu) | |
| - Fixed a crash bug in imagewbmp() (Jani) | |
| - Changed the sablot configuration file so that if you use any version of | |
| Sablotron below 0.44 you must use Sablotron's built-in Expat libraries. | |
| (Sterling) | |
| - Added basic authentication support to thttpd (Sascha) | |
| - Added support for the Caudium webserver (http://caudium.net/). It's based | |
| on the Roxen SAPI module. Many bugs have been identified and fixed. (David) | |
| - Fixed mysql_close(), pg_close(), msql_close() and sybase_close() - they | |
| weren't properly closing the SQL connections (Zeev) | |
| - Fixed crypt() to supply random seed if none is given (Andi) | |
| - Made print_r() support recursive data structures, e.g. $GLOBALS. (Zeev) | |
| - Fixed a bug that caused PHP not to properly flush its output buffer, if more | |
| than one output buffer was used. (Zeev) | |
| - Fixed a bug that could draw the shutdown sequence of the PHP Apache module | |
| into an endless loop, under certain circumstances. It could cause Apache | |
| processes under Solaris to get stuck, especially when using output | |
| buffering. (Zeev) | |
| - Added support for serializing references (Stas) | |
| - Fixed conflict with OpenLDAP and Oracle 8.1.x (Jani) | |
| - parse_ini_file() supports a new optional 2nd argument that instructs it | |
| to divide the directives to arrays according to the sections in which they | |
| reside (Zeev) | |
| - parse_ini_file() is now thread-safe, and supported under Windows (Zeev) | |
| - Unified aborted-connection semantics of all SAPI modules (Sascha) | |
| - URL-opened files now store the HTTP response header in $http_response_header | |
| (Zeev) | |
| - Fixed array_rand() to shuffle results when the number of requested | |
| elements is the same as the number of elements in the array. (Andrei) | |
| - Added replace parameter to header() (Sascha) | |
| - Fixed handling of single quotes in transparent session-id mode (Sascha) | |
| - Fixed "php://*" fopen handler (Sascha) | |
| - Made rename work in threadsafe enviroments (Daniel) | |
| - Made session_destroy() close files before unlinking (Daniel) | |
| - Added array_sum() function. (Andrei) | |
| - Fixed a bug in session.c. The php_session_save_current_state did not check | |
| if mod_data is NULL and such situation is possible if the user calls | |
| session_module_name with a parameter. (alex@zend.com) | |
| - Added IIS Admin extension. (Frank) | |
| - OCIBindByName() now does better parameter-checking. (Thies) | |
| - Made read() binary-safe in sockets.c (Chris Vandomelen) | |
| - Made array_intersect() and array_diff() not alter order (Stig Venaas) | |
| - Made ldap_connect() accept URL in host parameter when using OpenLDAP | |
| 2.x. To use SSL, use ldaps://host/ as URL. (Stig Venaas) | |
| - Made resource type names visible, e.g. var_dump() and | |
| get_resource_type() display "file" for file resources. (Andrei) | |
| - Added the curl_getinfo() function to find out information about a CURL | |
| transfer. This function requires cURL 7.4.0 or above. (Sterling) | |
| - Added the CURLOPT_KRB4, CURLOPT_INTERFACE, CURLOPT_QUOTE, CURLOPT_POSTQUOTE, | |
| CURLOPT_QUOTE and CURLOPT_HTTPPROXYTUNNELL options. (Sterling) | |
| - Renamed the shm_* functions to shmop_* (Derick) | |
| - Updated ext/mysql/libmysql to version 3.23 (tim@mysql.com) | |
| - Added ldap_get_option() and ldap_set_option() functions (Stig Venaas) | |
| - Fixed a crash in CGI mode, in case no file was provided | |
| (Daniel Beulshausen& Zeev) | |
| - Fixed possible crash bug in imap_fetchstructure() (Jani) | |
| - Fixed possible crash bug in imap_open() (Jani & Mark Musone) | |
| - Added url_rewriter.tags configuration directive (Sascha) | |
| - Added CORBA client extension, ready for use (eriksson@php.net) | |
| - Fixed memory leak in x-httpd-source mode (Jason Greene) | |
| - Changed ext/gd not to be enabled by default (Jani) | |
| - Make increment of empty string ("") behave like in PHP 3 and result in "1" | |
| (Andi, Zend Engine) | |
| - Added POST handler for Adobe FDF format (Hartmut) | |
| - Added transparent read and write .gz-files on glibc based systems | |
| using the 'zlib:' fopen wrapper (Hartmut) | |
| - Fixed a problem in the configuration parser (two null bytes were added | |
| to each ENCAPSULATED TC_STRING) (alex@zend.com) | |
| - Added HMAC support in the mhash module (nmav@altera.gr) | |
| - Added module for Ovrimos sql server (nmav@altera.gr) | |
| 11 Oct 2000, Version 4.0.3 | |
| - Fixed a possible crash in -a interactive mode (Zeev, Zend Engine) | |
| - Added mysql_escape_string() (Peter A. Savitch and & Brian Wang) | |
| - Fixed many possible crash bugs with improper use of the printf() family of | |
| functions (Andi) | |
| - Fixed a problem that allowed users to override admin_value's and admin_flag's | |
| (Zeev) | |
| - Fixed PostgreSQL module to work when the link handle is omitted (Zeev) | |
| - Fixed returning of empty LOB fields in OCI8. (Thies) | |
| - Added Calendar module to default Win32 build (Andi) | |
| - Added FTP module to default Win32 build (Andi) | |
| - Fixed crash in the POSIX getrlimit() function (alex@zend.com) | |
| - Fixed dirname() under certain conditions (Andi) | |
| - Added --with-imap-ssl to support SSL'ized imap library in RH7 and others | |
| (Rasmus) | |
| - Fixed possible crash bug in parse_url() (Andi) | |
| - Added support for trans sid under Win32 (Daniel) | |
| - Added IPv6 support in fopen (Stig Venaas) | |
| - Added the shmop extension. It allows more general ways of shared memory | |
| access. (thanks to Ilia Alshanestky <iliaa@home.com> and Slava Poliakov | |
| <slavapl@mailandnews.com> (Derick) | |
| - Added the ability for CURLOPT_POSTFIELDS to accept an associative array of | |
| HTTP POST variables and values. (Sterling) | |
| - Added the CURLOPT_HTTPHEADER option to curl_setopt(). (Sterling) | |
| - Added the curl_error() and curl_errno() functions. (Sterling) | |
| - Changed ext/db not to be enabled by default (Jani) | |
| - Fixed building Apache SAPI module on SCO UnixWare (Sascha) | |
| - Fixed writing empty session sets to shared memory (tcarroll@chc-chimes.com) | |
| - Added support for BSD/OS make (Sascha) | |
| - Added improved URL rewriter (Sascha) | |
| - Fixed readdir_r() use on Solaris (Sascha) | |
| - Improved HTTP headers for private-caching (jon@csh.rit.edu, Sascha) | |
| - Added new function session_cache_limiter (jon@csh.rit.edu, Sascha) | |
| - Added ftp_exec to the ftp functions (thanks to <jhennebicq@i-d.net>) | |
| (Derick) | |
| - PEAR: add last executed query as debug info in DB errors (Stig) | |
| - PEAR: allow multiple modes in PEAR_Error (Stig) | |
| - Made the Sybase CT module thread safe (Zeev) | |
| - Added second argument to array_reverse() that indicatese whether | |
| the original array keys should be preserved. (Andrei) | |
| - Clean up htmlspecialchars/htmlentities inconsistencies. (Rasmus) | |
| - PEAR: renamed DB_GETMODE_* to DB_FETCHMODE_*, added setFetchMode() | |
| in DB_common to set the default mode, added some MySQL tests (Stig) | |
| - Made eval() and several other runtime-evaluated code portions report the | |
| nature and location of errors more accurately (Stas) | |
| - Added an optional parameter to wordwrap that cuts a string if the length of a | |
| word is longer than the maximum allowed. (Derick) | |
| - Added functions pg_put_line and pg_end_copy (Dirk Elmendorf) | |
| - Added second parameter for parse_str to save result (John Bafford) | |
| - Fixed bug with curl places extra data in the output. (medvitz@medvitz.net) | |
| - Added the pathinfo() function. (Sterling) | |
| - Updated sybase_ct module and its sybase_query to use high performance API. | |
| (Joey) | |
| - Added a more configurable error reporting interface to DB. (Stig) | |
| - Added is_uploaded_file() and move_uploaded_file() (Zeev) | |
| - Added several directives to php.ini - post_max_size, file_uploads, | |
| display_startup_errors - see php.ini-dist for further information (Zeev) | |
| - Worked around a bug in the libc5 implementation of readdir() (Stas) | |
| - Fixed some potential OpenBSD and NetBSD crash bugs when opening files. (Andi) | |
| - Added EscapeShellArg() function (Rasmus) | |
| - Added a php.ini option session.use_trans_sid to enable/disable trans-sid. | |
| (Sterling) | |
| - Added the Sablotron extension for XSL parsing. (Sterling) | |
| - Fixed a bug in checkdate() which caused < 1 years to be valid (Jani) | |
| - Added support for an optional output handler function for output | |
| buffering. This enables transparent rendering of XML through XSL, | |
| transparent compression, etc. (Zeev) | |
| - Added support for user defined 'tick' callback functions. This helps | |
| emulate background processing. (Andrei) | |
| - Fixed problem with having $this as the XML parser object. (Andrei) | |
| - Internal opened_path variable now uses the Zend memory manager so that full | |
| paths of files won't leak on unclean shutdown (Andi) | |
| - Removed support of print $obj automatically calling the __string_value() | |
| method. Instead define yourself a method such as toString() and use | |
| print $obj->toString() (Andi, Zend Engine) | |
| 29 Aug 2000, Version 4.0.2 | |
| - Added PHP API for Zend's ticks. (Stig) | |
| - PHP 3 regression testing framework re-born (Stig) | |
| - Added php_uname() function (Stig) | |
| - Made a minor change to allow building with OpenLDAP 2.0 (Stig Venaas) | |
| - Fixed a bug in preg_replace() that would truncate subject string if the | |
| first argument was en empty array. (Andrei) | |
| - Added ob_get_length function (Stig) | |
| - Fixed a bug that did not respect limit parameter in preg_replace() when | |
| using /e modifier. (Andrei) | |
| - Added ability for each xml_set_*_handler() function to take the | |
| array($obj, 'method') syntax for the handler argument as well | |
| as the normal function name. (Andrei) | |
| - Updated array_walk() to be able to accept array($obj, 'method') | |
| syntax for the walk function. (Andrei) | |
| - Fixed segfault with fgets(), fgetcsv(), fgetss(), and fread() when | |
| called with negative length argument. (Torben) | |
| - Fixed by-reference parameters passing for xml_ functions and for scanf | |
| functions (Stas) | |
| - Added experimental Oracle LDAP SDK support. 8.1.6 or later needed. Configure | |
| with something like --with-ldap=/usr/local/oracle/product/8.1.6 (Stig Venaas) | |
| - Fixed memory leaks in eval(); A script that used eval() extensively, could | |
| end up consuming very large amounts of memory during execution (Zeev, Zend | |
| Engine) | |
| - Fixed memory_limit feature, which did not work properly in previous versions | |
| (Zeev, Zend Engine) | |
| - Fixed stdout support with the swf extension. (Sterling) | |
| - Fixed byte order for ip2long and long2ip (Stas) | |
| - Fixed dbase_add_record. (Sterling) | |
| - Added support for libmcrypt 2.4.4 (Derick) | |
| - Added strncasecmp function (Andi, Zend Engine) | |
| - Fixed FTP module to accept multiline server replies (Jani) | |
| - Fixed switch which only has a single default rule. (Andi, Zend Engine) | |
| - Fixed problem with nested foreach()'s. (Andi, Zend Engine) | |
| - The CCVS module is now stable and compiling. It compiles as a CGI and into | |
| Apache cleanly without warnings. (Brendan W. McAdams) | |
| - Fixed mSQL_close(). (nick@loman.net) | |
| - Made return() in a require()'d file work like return() in an include()'d | |
| file (Andi & Zeev, Zend Engine) | |
| - Changed require_once() to work using the same table as include_once() | |
| (Andi & Zeev, Zend Engine) | |
| - Fixed PostgreSQL module to work when the link handle is omitted (Zeev) | |
| - Fixed the Sybase modules to work properly with PHP 4.0 (Zeev) | |
| - Fixed CLOB handling in OCI8 driver when using variable-width | |
| character sets. (Thies) | |
| - Added 4th optional parameter to sybase_[p]connect to specify the charset | |
| for the connection (alf@alpha.ulatina.ac.cr) | |
| - Fixed support for current thttpd releases. (Sascha) | |
| - Added support for kerberized IMAP library using --with-kerberos | |
| (Rasmus, Sascha) | |
| - Virtualize realpath, chmod, chown and utime (Stas) | |
| - Support content-encoding headers in file upload MIME parts | |
| (Ragnar Kjørstad) | |
| - Fixed warning when shutting down OCINLogon() connections. (Thies) | |
| - Fixed \n in session variables bug on Win32 (Stas) | |
| - OCIError() would sometimes not report failed connections. (Thies) | |
| - Fixed HEAD request bug on an Apache ErrorDocument redirect and preserve | |
| the status code across the redirect as well. (Rasmus) | |
| - Added Olympus-specific tags to read_exif_data() (Rasmus) | |
| - Fixed bug in imap_fetchheader() where using FT_PREFETCHTEXT didn't return | |
| the body. Bug #4447. (Jani) | |
| - Fixed exec() returning "\0" when output is empty | |
| - Added XML_Parser class in PEAR (Stig) | |
| - Added "make test" target in pear/ and added some regression tests (Stig) | |
| - Fixed bug in strip_tags function as per bug #5857 (Rasmus) | |
| - Fixed reading of IPTC via GetImageInfo() for certain JPEG files. (Thies) | |
| - Improved the output-buffering functions to be re-entrant (Zeev) | |
| - Made ldap_add(), ldap_modify(), ldap_mod_add(), ldap_mod_replace() | |
| binary-safe. Original patch: Terrence Miao <terrence_miao@email.com> (Jani) | |
| - CGI aka. command line version has now an option '-l' for syntax check | |
| without execution (Hartmut) | |
| - Fixed bug in ldap_get_values_len() which makes it NULL-safe. (Jani) | |
| - Bug-report and fix submitted by Michel Alexeline <alexel@dr15.cnrs.fr> | |
| - Make ext_skel create a Makefile.in set up to handle shared extension | |
| support automatically (Rasmus) | |
| - Fixed php_realpath not to die on non-existing files (needed for touch()) | |
| (Stas and china@thewrittenword.com) | |
| - Fixed get_browser() function (Stas) | |
| - Fixed symbol clash which caused a DSO problem on OpenBSD (Rob Black and | |
| anil@recoil.org) | |
| - Added new function: ldap_compare(). (Jani) | |
| - Fixed a bug in ldap_get_entries() and ldap_get_attributes(). (Jani) | |
| - Ported DB to new error reporting scheme in PEAR. (Stig) | |
| - Added sybase and ibase DB backends in PEAR. (Sterling) | |
| - New PEAR package Payment_Verisign for use with the Payflow Pro | |
| (pfpro) extension. (David Croft) | |
| - Added CURL support. (Sterling) | |
| - Catch users trying to set "compatibility" parameter in PDF, which is not | |
| supported from user-land. (Joey) | |
| - Fixed dbase_add_record. (Sterling) | |
| - Added new function wordwrap() to wordwrap long strings from Chris | |
| Russel <russel@yorku.ca> (David Croft) | |
| - Added four additional arguments: attrsonly, sizelimit, timelimit, deref which | |
| were missing in ldap_search(), ldap_list() and ldap_read() functions (Jani) | |
| - Fixed a bug in ldap_search/list/read() which prevented returning the partial | |
| results when 'Sizelimit exceeded' error occurred. (Jani Taskinen) | |
| - Fixed preg_replace() to automatically escape quotes in matched | |
| strings when using /e modifier. (Andrei) | |
| - Itanium patch (Steve Robb) | |
| - Set default include_path so PEAR files can be reached (Stig) | |
| - Added "pear" executable, requires CGI version installed (Stig) | |
| - Added extension ii for Ingres II native support. See README in ext/ingres_ii | |
| directory. (David H) | |
| - Added Win32 project for the Interbase module (Zeev) | |
| - Added ability to perform calls to the parent class without explicitly | |
| specifying its name, using parent::func_name(...) (Zeev, Zend Engine) | |
| - You can now call Ora_Error() without prameters to get the reason | |
| for a failed connection attempt. (Kirill Maximov) | |
| - New extension "pfpro" for interface with Verisign Payflow Pro (David Croft) | |
| - Added IMG_GIF, IMG_JPG, IMG_JPEG, IMG_PNG and IMG_WBMP constants for | |
| imagetypes() function (Rasmus) | |
| - Added ImageTypes() function which returns a bitfield with the supported | |
| image formats. 1=gif, 2=jpeg, 4=png and 8=wbmp (Rasmus) | |
| - Make it possible to specify an empty string as a thousands-seperator | |
| in number_format() (Rasmus) | |
| - Shared module support for LDAP extension (Troels Arvin) | |
| - Fixed a bug with imap_mail where apache would segfault if the rpath | |
| parameter was specified. | |
| - Use dashes and short day name in cookies since some browsers seem picky | |
| about this (Rasmus) | |
| - Added pspell module. (Vlad) | |
| - Added 3 additional arguments to the user-defined error handler - the file | |
| name and line number in which the error occured, and the context (local | |
| variables) of the code in which the error occured (Zeev, Zend Engine) | |
| - Improved the error handling code to handle an error in a user-defined error | |
| handling function (Zeev, Zend Engine) | |
| - Fixed leak when using string offsets in the array() construct. | |
| (Andi, Zend Engine) | |
| - Fixed corruption problem when changing deeply nested values in objects. | |
| (Andi & Zeev, Zend Engine) | |
| - Improved array_multisort() to be able to specify sort type as well sort | |
| order. Incidentally, it can be used to sort multi-dimensional arrays | |
| as well. (Andrei) | |
| - Fixed a possible data corruption in case of a huge amount of aborted requests | |
| (Zeev) | |
| - Apache module would sometimes close a wrong file-descriptor. (Sascha) | |
| - Fixed use of alternative storage handlers in the session module. (Sascha) | |
| - Updated str_pad() to be able to pad on left/right/both sides. (Andrei) | |
| - Fixed crash in gzopen(). (Thies) | |
| - Multiple character set support in gdttf.c (Rob Goodwin) | |
| - When using HTTP auth from PHP, fill in the %u custom log field so the | |
| authenticated used id will get logged in the Apache access_log (Rasmus) | |
| - Support for pdflib 3.01. (Uwe) | |
| - FDF Data is handled properly and can be accessed by reading | |
| HTTP_RAW_POST_DATA. (Uwe) | |
| - Added new 'O' format modifier that will output the GMT offset as "[+-]HHMM" | |
| (eg: Pacific time is -0700). This is useful for things such as Date: mail | |
| headers. (Mike W) | |
| - Fixed crash on OCI?Logon() failure. (Thies) | |
| - Make the special Header("http/...") response be case insensitive like 3.0 | |
| (Rasmus) | |
| - Allow cybercash to compile as a DL module. (Sterling) | |
| - Fixed the dbase_create function. (Sterling) | |
| - Fixed a problem under some versions of Windows that could cause PHP to hang | |
| on startup if errors occured, e.g. in the php.ini file (Zeev) | |
| - Fixed opendir() again. It should actually work well continuously now (Zeev) | |
| - Added three additional arguments to be sent to a user-defined error handler - | |
| the filename and line number in which the error occured, and the context | |
| (the local variables) of the error (Zeev, Zend Engine) | |
| - Improved the error handling code to handle an error in a user-defined error | |
| handling function (Zeev, Zend Engine) | |
| - Added an optional parameter to preg_replace() that can be used to | |
| specify how many replacements to make. (Andrei) | |
| 28 Jun 2000, Version 4.0.1 | |
| - Fixed a possible crash in the LDAP modify code. (Eric Kilfoil) | |
| - Fixed a bug in opendir(), which prevented readdir() from working properly if | |
| the $dir argument wasn't explicitly specified (Zeev) | |
| - Made --enable-discard-path work again. (Andi) | |
| - Removed 8KB limit on line length of the file() function (Zeev) | |
| - Disabled dl() when PHP is being used as a module inside a multithreaded web | |
| server - it didn't work before, and caused weird results (Zeev) | |
| - Added the ImageColorClosestHWB(), ImageCopyMerge() and ImagePaletteCopy() | |
| functions. (Sterling) | |
| - Added ImageCreateFromWBMP() function. (Jouni) | |
| - Fixed problems with POST requests under the NSAPI module. (Roberto Biancardi) | |
| - Added spliti() function. (Thies) | |
| - Fixed serializer behaviour with regards to serializing objects whose class | |
| definition was not available in the deserializing context. (Sascha) | |
| - Improve memory cache performance and increase cache size. (Stas, Zend Engine) | |
| - Added a crc32 checksum function - used by the UdmSearch search engine | |
| and currently run through a system call. This will speed up the UdmSearch | |
| php frontend significantly. (Rasmus) | |
| - Modified in_array() to not touch array pointer. (Andrei) | |
| - Added restore_error_handler(). (Zeev, Zend engine) | |
| - Fixed erroneous file names and line numbers in error situations under the | |
| multithreaded version of PHP - most noticeably Win32 (Zeev, Zend Engine) | |
| - Fixed problem with CGI crashing on certain servers especially Windows Apache | |
| & O'Reilly website (Andi) | |
| - Added Pi3Web SAPI module; run ./configure --with-pi3web to enable this. | |
| (Holger; zimpel@t-online.de) | |
| - Enhanced WDDX functions to call __sleep() and __wakeup() when working on | |
| objects. (Andrei) | |
| - Changed WDDX to serialize arrays as structs only if needed. (Thies) | |
| - Implemented max_execution_time under Win32 (Zeev) | |
| - Updated strtotime() to handle many more formats. It now has complete | |
| feature parity with GNU date command. (Andrei) | |
| - Added support for multiple arguments in unset(). (Faisal, Zend Engine) | |
| - Functions that expect a resource but are passed something else now return | |
| NULL instead of FALSE. (Thies, Zend Engine) | |
| - Fixed gmmktime(), on certain systems it incorrectly adjusted for the timezone | |
| offset and daylight savings time. (Andrei) | |
| - Moved VC++ Win32 project and workspace files to the win32 directory | |
| (Zeev) | |
| - Fixed checkdate() to not return true on non-numeric arguments (Rasmus) | |
| - Added --enable-c9x-inline option for compilers which support the new C9x | |
| standard. If you encounter undefined references to i_zend_is_true and | |
| other symbols, you should enable this. (Sascha, Zend Library) | |
| - Fixed a problem in ldap_add() and ldap_modify(), sometimes added trailing | |
| garbage to the values (Stig Venaas) | |
| - Fixed a problem with dbmopen() not handing 'c' correctly with dbm/db/ndbm | |
| databases. (JimJag) | |
| - Fixed a crash in number_format() when used with locales. (Andrei) | |
| - Fixed an initialization problem in the MS-SQL problem that could cause | |
| a crash in mssql_query() (Zeev) | |
| - Upgraded PCRE to version 3.2 and fixed a bug when anchored pattern | |
| matched an empty string. (Andrei) | |
| - Fixed a bug that prevented PHP from paying attention to the extension_dir | |
| directive with extensions that were loaded from the php.ini file (Zeev) | |
| - Changed set_error_handler() to return the name of the previously defined | |
| error handler, if any (Zeev, Zend Engine) | |
| - Declared <?php_track_vars?> officially dead. It didn't work in PHP 4.0.0 | |
| either, but now it's gone for good (Zeev) | |
| - Make convert_cyr_string() binary safe and stop it from corrupting other | |
| PHP variables. (Andi) | |
| - Added functions array_unique, array_intersect and array_diff (Stig Venaas) | |
| - Fixed problem when using uninitialized values in comparisons with strings. | |
| They behave as empty strings again just like in PHP 3. | |
| (Andi & Zeev, Zend Engine) | |
| - Fixed 'Z' flag in date() to adjust for daylight savings time. (Andrei) | |
| - Fixed var_dump() not to modify the internal order of array elements (Zeev) | |
| - Fixed stripcslashes() to remove to strip \ in unknown escapes instead of | |
| leaving it. (Andrei) | |
| - Changed WDDX to always serialize arrays as structs. (Andrei) | |
| - Fixed include_once() to issue a warning in case the supplied file name is | |
| not found (Zeev, Zend Engine) | |
| - Fixed a bug in get_declared_classes() which could return the same class | |
| multiple times under certain circumstances (Zeev, Zend Engine) | |
| - Fixed a bug in rawurldecode() that would cause in rawurldecode() corrupting | |
| its argument (Zeev) | |
| - Parse errors (or other errors) in the php.ini files under Windows will no | |
| longer mess up the HTTP headers in CGI mode and are now displayed in a | |
| message box (Zeev) | |
| - Fixed a crash in OCIFetchStatement() when trying to read after all data | |
| has already been read. (Thies) | |
| - fopen_wrappers() are now extensible via modules (Hartmut Holzgraefe) | |
| - Make trim strip \0 to match php 3 (Rasmus) | |
| - Added function imagecreatefromxbm(). (Jouni) | |
| - Added function imagewbmp(). (Jouni, based on patch from Rune Nordbøe | |
| Skillingstad) | |
| - Added str_pad() for padding a string with an arbitrary string on left or | |
| right. (Andrei) | |
| - Made the short_tags, asp_tags and allow_call_time_pass_reference INI | |
| directives work on a per-directory basis as well, e.g. from .htaccess | |
| files. (Zeev) | |
| - Added fflush() function. (Eric Huss) | |
| - Fixed a problem with static variables, default function arguments and class | |
| member variables, that contained array values. (Andi & Zeev, Zend Engine) | |
| - Fixed virtual() when used with output buffering (Marc Pohl) | |
| - Clean up constants in flock() function and add optional 3rd arg which | |
| is set to true on EWOULDBLOCK (Rasmus) | |
| - Added functions pg_loimport(), pg_loexport(). (Jouni) | |
| - Added SWF support to getimagesize() function (Derick Rethans) | |
| - Added support for both indexed and non-indexed arrays of file uploads | |
| eg. name="file[]" type="file" (Rasmus) | |
| - Added create_function(), which gives the ability to create functions | |
| on-the-fly (Zeev, Zend Engine) | |
| - Added support for comparisons of arrays (with arrays) and objects (with | |
| objects); The equality operator (==) performs an unordered comparison, | |
| whereas the identity operator (===) performs an ordered comparison (Zeev, | |
| Zend Engine) | |
| - Allow all functions that receive user-defined function callbacks to accept | |
| an array that contains an object and a method name, in place of a function | |
| name, e.g. usort($array, array($obj, "ObjSort")) (Zeev, Zend Engine) | |
| - Added set_error_handler() to allow custom error handling functions, | |
| instead of the built-in error handling code (Zeev, Zend Engine) | |
| - Renamed user_error() to trigger_error(); user_error() remains | |
| defined for compatibility (Zeev, Zend Engine) | |
| - Fixed the global/static statements to require a trailing terminating | |
| semi-colon ';'. (Andi, Zend Engine) | |
| - Cleaned up PCRE extension and made it binary-safe. (Andrei) | |
| - Added third argument to in_array(). If it's true, then in_array() | |
| will use strict comparison instead of the default one. (Andrei) | |
| - Added pg_trace() and pg_untrace (Dominic J. Eidson & Zeev) | |
| - ignore_user_abort=Off is now default. (Thies) | |
| - Added array_merge_recursive() that will recursively merge values | |
| under the same keys. (Andrei) | |
| - fixed crash in OCIParse when parsing invalid SQL. (Thies) | |
| - Fixed a bug in mysql_connect() that made it ignore the socket argument, in | |
| case of non-persistent connects (Zeev) | |
| - Added disable_functions php.ini directive, to allow administrators to disable | |
| certain functions for security reasons (Zeev) | |
| - Fixed sessions on Win32. When setting the directory depth parameter in | |
| save_path you need to now delimit it with a ';' instead of ':', e.g | |
| "5;/tmp" instead of "5:/tmp" (Andi) | |
| - Changed the Apache handler's return status to 'Declined' when a requested | |
| PHP file could not be found. Returning 'Not Found' caused problems | |
| in the ErrorDocument handler stage in that $REDIRECT_REDIRECT_ERROR_NOTES | |
| was not getting set at all. Moving to 'Declined' should fix this and I | |
| can't see any other side effects. (Rasmus) | |
| - Fixed scanning decimal numbers in internationalized environments. They should | |
| always be in standard US format e.g. 23.3. (Andi, Zend Engine) | |
| - Added second argument to preg_quote() which allows quoting of | |
| one additional character, usually the regex delimiter. (Andrei) | |
| - Uncommitted outstanding OCI8 transactions are now rolled back | |
| before the connection is closed. (Thies) | |
| - ignore_user_abort() & friends should now work in CGI mode as well. | |
| (Patch by daniel.braun@ercom.fr) | |
| - Added extension YAZ (dickmeiss). | |
| - Fixed a crash bug triggered by certain cases of class redeclarations | |
| (Stas & Zeev, Zend Engine) | |
| - Fixed min()/max() segfault. (Andrei) | |
| - New module for reading EXIF header data from JPEG files. Most digital | |
| cameras will embed all sorts of information about a picture inside the | |
| jpeg images it generates. (Rasmus) | |
| - Fixed basename() bug where "file.ext///" would not return the same | |
| as "/path/file.ext///" (Rasmus) | |
| - Added the swf_ortho function. (Sterling) | |
| - Moved to virtual current working directory support. This highly improves the | |
| functionality and stability of multi-threaded versions of PHP (Andi, Sascha) | |
| 22 May 2000, Version 4.0.0 Release | |
| - Allow the writing of flash files to stdout. | |
| - Fixed a crash bug in .phps syntax-highlighted files (Andi) | |
| - Improved round() to allow specification of rounding precision. | |
| (Andrei, Todd Kirby <kirbyt@yahoo.com>) | |
| - Added SORT_REGULAR, SORT_NUMERIC, SORT_STRING flags that can be used with | |
| non-user sort functions for precise sorting behavior. (Andrei) | |
| - Fixed two 64-bit issues (startup crash, gethostbyaddr). (Sascha) | |
| - NULL values are now preserved in the return value of mysql_fetch_array() | |
| and mysql_fetch_object(). (Andrei) | |
| - Ported InterBase module finally from PHP 3 to PHP 4. Full support for | |
| InterBase 6. (Jouni) | |
| - Added swf_definepoly for drawing polygons to the SWF functions. (Sterling) | |
| - Ported imagegammacorrect from PHP3 to PHP4. (Sterling) | |
| - Added array_rand() function. (Andrei) | |
| 8 May 2000, Version 4.0 Release Candidate 2 | |
| - NSAPI WIN32 Module compilable, untested (Shane) | |
| - Apache WIN32 Module compilable and lightly tested. (Shane) | |
| - Enabled assert() by default in php.ini-dist. (Andrei) | |
| - Put in safeguards in case dynamic code evaluation in assert() and | |
| preg_replace() with /e modifier fails. (Andrei) | |
| - Fixed infinite recursion when serializing $GLOBALS[] in WDDX. (Andrei) | |
| - Made WDDX serialization properly escape <, >, and &. Also speeded up | |
| the serialization in general. (Andrei) | |
| - Moved install-local to install-sapi for clarity. (Joey) | |
| - Improved extension build framework. Refer to README.SELF-CONTAINED-EXTENSIONS | |
| for an introduction. (Sascha) | |
| - ImagePolygon() is no longer limited by a maximum number of polygons. | |
| (Marc Pohl) | |
| - Added configure time checking for bcmath package. (Joey, Sascha) | |
| - Added get_declared_classes(). (Andrei, Zend Engine) | |
| - Added initial NSAPI module from Jayakumar Muthukumarasamy. (Rasmus) | |
| - Added the SWF module which allows you to create Macromedia Flash files via | |
| libswf. (Sterling) | |
| - Improved UNIX build system to support more vendor make tools (Sascha) | |
| - Updated natural comparison/sorting algorithm by Martin Pool | |
| <mbp@humbug.org.au>. (Andrei) | |
| - Fixed a crash in array_multisort() that happened when empty arrays | |
| were passed to it. (Andrei) | |
| - Added substr_count() from Peter Kovacs. (Andrei) | |
| - Added an optional third argument to fseek to indicate where to seek from. | |
| (Andrei) | |
| - OCIBindByName() will no longer complain about bindlength beeing zero. (Thies) | |
| - Converted the IMAP module to the high performance API (Zeev) | |
| - The fgetcsv() function now handles embedded end-of-line in a quoted field | |
| (Nick Talbott) | |
| - Added user_error(), to allow explicitly generate error messages from scripts | |
| (Zeev, Zend Engine) | |
| - Fixed a problem in long2ip() that occasionally returned incorrect IP address. | |
| (Evan, Andrei) | |
| - Fixed many memory leaks in the IMAP module (Stas, Andi, Zeev) | |
| - Fixed bug in number_format (Jon Forsberg) | |
| - Make error_prepend_string and error_append_string work (Rasmus) | |
| - array_walk() now automatically resets the array. (Andrei) | |
| - Added natural comparison/sorting routines strnatcmp(), strnatcasecmp(), | |
| natsort(), and natcasesort(). These are useful for comparing and sorting | |
| strings that contain numbers. Based on the code from Martin Pool | |
| <mbp@humbug.org.au>. See http://www.linuxcare.com.au/projects/natsort/ | |
| for more info on natural sorting. (Andrei) | |
| - Zeus Webserver support (version 3.3.6+) for ISAPI (Ben Mansell) | |
| - Fixed several problems with the PATH_TRANSLATED and PHP_SELF under Apache | |
| (Paul Gregg & Zeev) | |
| - Ported ldap_get_values_len() function from PHP3 to PHP4. (Sterling) | |
| - Fixed a problem in include_once() with non constant arguments (Andi & Zeev, | |
| Zend Engine) | |
| - Added php.ini-optimized (Zeev) | |
| - Ported ldap_errno(), ldap_err2str() and ldap_error() from PHP3 to PHP4. | |
| (Sterling) | |
| - WDDX now defaults to ISO-8859-1. (Thies) | |
| - Fixed crash resulting from IMAP's error handling (Stas) | |
| - Added $HTTP_POST_FILES[filename][tmp_name] - it was previously impossible to | |
| retrieve the temporary name of an uploaded file using $HTTP_POST_FILES[] | |
| (Zeev) | |
| - Made the IMAP and LDAP modules compilable under Windows and thread-safe | |
| (Zeev) | |
| - Fixed a problem when dealing with large POST blocks in CGI mode (Zeev) | |
| - Added session_get_cookie_params() function. (Sterling) | |
| - Fixed return of stristr() to no longer always be lowercased. (Andrei) | |
| - Changed the Windows version of PHP so that a php.ini file is no | |
| longer mandatory (Zeev) | |
| - session_start() is now more verbose if headers cannot be send. (Thies) | |
| - Fixed a memory leak when using assign-op bitwise operators on strings (Zeev, | |
| Zend Engine) | |
| - Added support for reading properties that require arguments in the COM | |
| module - writing to them will only be supported in PHP 4.1 (Zeev) | |
| - Fixed a very old legacy memory leak in the COM module (Zeev) | |
| - Fixed problems with object-overloading support - noteably, COM and Java | |
| (Zeev, Zend Engine) | |
| - Fixed an overrun in WDDX. (Thies) | |
| - Fixed a crash bug with modules loaded through dl() not properly freeing their | |
| resources (Zeev, Zend Engine) | |
| - Added localtime() function. (Sterling) | |
| - Added the 'I' format option for the date function, this option will return | |
| true or false depending on whether or not daylight savings time is in effect. | |
| (Sterling) | |
| - Added gmstrftime() function. (Sterling) | |
| - snmp_walkoid is now an alias for snmp_realwalk. (Sterling) | |
| - Fixed a bug that could cause a crash when using 'global' inside large include | |
| files (Stas, Zend Engine) | |
| - Added --enable-libgcc switch to force linking against libgcc (Sascha) | |
| - Fixed dynamic loading where extension_dir had no trailing slash (Sascha) | |
| - Fixed dynamic loading on OpenBSD (Sascha) | |
| - Improved POSIX threads check. ZTS works now on at least Linux, Solaris, | |
| FreeBSD and OpenBSD (Sascha, TSRM) | |
| - Added !== operator support. (Torben, Zend Engine) | |
| 27 March 2000, Version 4.0 Release Candidate 1 | |
| - Added support for UCD-SNMP 4.1.x (Sascha) | |
| - Fixed a data corruption bug in mysql_result(), if used in table.fieldname | |
| mode (Zeev) | |
| - Fixed a crash problem in func_num_args(), func_get_arg() and func_get_args() | |
| when used as function arguments (Andi, Zend Engine) | |
| - Added get_class_methods(string classname) function. (Andrei) | |
| - Added 'I' switch to test whether or not DST is active. (Sterling) | |
| - Fixed a data corruption bug in mysql_result(), if used in table.fieldname | |
| mode (Zeev) | |
| - Modified the registry INI entry reader (Win32) to work with drive letters. | |
| For example, if you wish to wish to specify INI entries for C:\foo\bar, you | |
| should create HKLM\PHP\Per Directory Values\C\foo\bar in the registry, and add | |
| string values for each directive you want to override in this directory (Zeev) | |
| - Fixed extract() for EXTR_PREFIX_SAME and EXTR_SKIP cases. (Andrei) | |
| - stristr() no longer modifies it's arguments. (Thies) | |
| - Don't default to iso-8859-1 since this confuses some browsers. (Rasmus) | |
| - Make it possible to specify both a port and a socket | |
| in mysql_[p]connect. (Rasmus) | |
| - Added --disable-pic for disabling generating PIC for shared objects | |
| on platforms which support it (i.e. Linux) (Sascha) | |
| - serialize()/unserialize() now call __sleep() and __wakeup() when | |
| working on objects. (Thies) | |
| - renamed to_string() method to __string_value() for consistency. | |
| (Thies, Zend Engine) | |
| - Fixed a bug in the third argument to define() | |
| - Added is_numeric() that returns true if the argument is a number | |
| or a numeric string. (Andrei) | |
| - domxml now supports libxml 2.0 Beta and drops support for older versions, | |
| due to massive changes in libxml | |
| - fixed possible crash in unserialize() if serialized data was | |
| corrupted. (Thies) | |
| - Changed $HTTP_STATE_VARS to $HTTP_SESSION_VARS. Use only the latter | |
| version now! (Andrei) | |
| - Added GD-JPEG Support (Rasmus) | |
| - Prevent from loading dynamic PHP modules which were compiled with different | |
| debug and thread safety modes than PHP, which resulted in a crash (Andi) | |
| - connection_aborted() and friends work again (Thies) | |
| - Upgraded to libtool 1.3.4 (Sascha) | |
| - UNIX configure creates config.nice in the build directory now which allows | |
| easy reuse of configuration options (Sascha) | |
| - Added support for embedded MySQL client library. Unless you specify a path | |
| to --with-mysql, the bundled MySQL client library will be used (Sascha) | |
| - Added include_once() and require_once() functionality (Andi, Zend Engine) | |
| - Removed support for pdflib < 3.0 (Uwe) | |
| - Added auto-registration of everything in $HTTP_SESSION_VARS[] if | |
| register_globals is turned off. (Andrei) | |
| - Cleaned up extension namespace (Stig) | |
| - OCINLogon() sessions are now closed again. (Thies) | |
| - Added ip2long() and long2ip(), | |
| courtesy of Faisal Nasim <faisal@nasim.org> (Andrei) | |
| - Added ftruncate() and fstat(), | |
| courtesy of Faisal Nasim <faisal@nasim.org> (Andrei) | |
| - Added parse_ini_file(). Currently implemented in non thread safe version | |
| of PHP, and currently lacks section support (Zeev) | |
| - "none" is now equivalent with "" in Apache config directives (Stig) | |
| - OCINLogon no longer crashes. (Thies) | |
| - Fixed comparisons of (string) "nan" with (string) "nan". (Thies, Zend Engine) | |
| - Switched back to the old $HTTP_*_VARS[] behavior - $HTTP_GET_VARS["foo"] | |
| and $foo are no longer references to each other, but separate variables | |
| like they were prior to PHP 4.0 Beta 4 (Zeev) | |
| - Fixed Sybase-DB compilation (Zeev) | |
| - Fixed a (fairly common) situation where error_reporting values would not be | |
| properly restored after a call to error_reporting(), in between requests | |
| (Zeev) | |
| - The various $HTTP_*_VARS[] are now protected, and cannot be manipulated by | |
| user input (Zeev) | |
| - Added ini_set() as an alias to ini_alter() (Zeev) | |
| - The string None is now recognized as a keyword by the php.ini processor, and | |
| can be used to denote an empty string (Zeev) | |
| - Added get_class_vars(string class_name) and get_object_vars(object obj) | |
| functions. (Andrei, Zend Engine) | |
| - Added pdf_set_parameter(), pdf_skew(), pdf_show_boxed() (Uwe) | |
| - Fixed comparison of (string) "inf" with (string) "inf", which was erroneously | |
| returning false (Zeev) | |
| - Implemented default_charset and default_mimetype config directives (Stig) | |
| - Ported T1lib support from PHP3. (Jouni) | |
| - Fixed -DEAPI inheritance from APXS. (Sascha) | |
| - Fixed possible crash in module-shutdown. (Thies) | |
| - Fixed safe_mode_protected_env_vars INI directive (Zeev) | |
| - Fixed getrusage() (Sascha) | |
| - Fixed OCI8 crash when returning cursors from stored-procedures. (Thies) | |
| 21 February 2000 Version 4.0 Beta 4 patch level 1 | |
| - Fixed crash when magic_quotes were switched off. (Thies) | |
| - Support for pdflib 2.30 (Uwe) | |
| 20 February 2000, Version 4.0 Beta 4 | |
| - Introduced $HTTP_POST_FILES[], that contains information about files uploaded | |
| through HTTP upload (Zeev) | |
| - Made PHP work under Microsoft Personal Web Server, under both Windows NT | |
| workstation and Windows 95 (Zeev) | |
| - Made multipart/form-data content obey to the variables_order directive (Zeev) | |
| - Updated the browscap module to work with PHP 4.0 (Zeev) | |
| - Recover gracefully in ISAPI after the client prematurely presses STOP (Andi) | |
| - Fixed bug in unset() on array offsets which are referenced more than once | |
| (Andi, Zend Engine) | |
| - Improved ISAPI module - it should no longer be necessary to set PHP as | |
| an ISAPI filter, only as an ISAPI extension, unless you wish to perform | |
| authentication using PHP. This didn't yet get enough testing, but it | |
| should work (Zeev) | |
| - Fixed RFC1867 file upload under Windows (Zeev) | |
| - Initital support for pdflib 2.20 (Uwe) | |
| - Added PostgreSQL support for DB (Rui Hirokawa <louis@cityfujisawa.ne.jp>) | |
| - Re-introduced "none" for disabling auto_prepend/append_file (Stig) | |
| - Added DB/storage (Stig, PEAR) | |
| - Introduced DB warnings (Stig, PEAR) | |
| - Fixed overrun in strip_tags (Stas) | |
| - Fixed crash in strip_tags() and related functions. (Thies) | |
| - Workaround for bogus POST-Data from IE/Mac. (Thies) | |
| Patch by Alain Malek <alain@virtua.ch> | |
| - Finished the server abstraction layer; All of the PHP code is now shared | |
| across different servers (Apache, CGI, IIS, etc.), except for thin | |
| interface modules (Zeev) | |
| - Added NULL-support in gettype(). (Thies) | |
| - base64_decode() will decode POST data correct. (Thies) | |
| Patch submitted by: Turadg Aleahmad <turadg@wise.berkeley.edu> | |
| - Much more work on domxml. Build xml tree, create xml doc works (Uwe) | |
| - Made foreach() work on objects. (Thies, Zend Engine) | |
| - Added domxml extension based on libxml, still little functionality (Uwe) | |
| - Fixed memory corruption in fgetss(), strip_tags() and gzgetss() (Zeev) | |
| - Updated calendar dynamic library to work with PHP 4. (Evan) | |
| - Added strncmp() function, courtesy of Walter. (Andrei) | |
| - Made the output of var_dump() more informative. (Thies) | |
| - Fixed some OCIBindByName() problems. (Thies) | |
| - Protect the ISAPI module against exceptions. Stack overflows in scripts are | |
| now nicely detected and handled (Zeev) | |
| - Fixed possible buffer-overflow in base64_decode. (Thies) | |
| - Fixed possible buffer-overflow in setcookie(). (Thies) | |
| - Fixed signal() bug that could cause the Apache master process to | |
| die. (Thies) | |
| - Added session_set_cookie_params() function. (Andrei) | |
| - If header information is sent after output has already been sent, the warning | |
| message will now state the filename and line number at which the first output | |
| was made (Zeev) | |
| - Added the XML Expat library to the standard PHP source distribution thanks | |
| to its author James Clark (Andi & Zeev) | |
| - Added XML support to the default Win32 build (Andi & Zeev) | |
| - Added socket_get_status() function. Renamed: | |
| set_socket_timeout() -> socket_set_timeout() | |
| set_socket_blocking() -> socket_set_blocking(). (Andrei) | |
| - Added realpath() function. (Andrei) | |
| - mktime interprets years in the range 0-70 now as 2000-2070. You can | |
| continue to specify the complete year (i.e. 1920) (Sascha) | |
| - Added the ability to control the environment variables the user is allowed | |
| to change in Safe Mode, using INI directives (Zeev) | |
| - Fixed a crash bug in strtr() working on large input strings (Zeev) | |
| - Ora_GetColumn()/Ora_FetchInto() now return NULL for NULL-Columns. (Thies) | |
| - OCI8 now supports binding of NULL-values. Module cleanups. (Thies) | |
| - Added ability to set timeout on socket read operations through | |
| set_socket_timeout() function. (Andrei) | |
| - Added implicit_flush INI directive (Zeev) | |
| - Added implicit_flush() to control whether flush() should be called | |
| implicitly after any output (Zeev) | |
| - Fixed a crash in pfsockopen() (Zeev) | |
| - Fixed a possible crash in phpinfo() (Zeev) | |
| - Added register_argc_argv INI directive, to allow to selectively disable | |
| the declaration of the $argv and $argc variables for increased | |
| performance (Zeev) | |
| - Added $HTTP_ENV_VARS[] and $HTTP_SERVER_VARS[] support, which similarly | |
| to $HTTP_GET_VARS[], contain environment and server variables. Setting | |
| register_globals to Off will now also prevent registration of the | |
| environment and server variables into the global scope (Zeev) | |
| - Renamed gpc_globals INI directive to register_globals (Zeev) | |
| - Introduced variables_order that deprecates gpc_order, and allows control | |
| over the server and environment variables, in addition to GET/POST/Cookies | |
| (Zeev) | |
| - new function cpdf_set_document_limits() (Uwe) | |
| - Applied safe-mode patch to popen(). (Patch by Kristian Köhntopp) | |
| - str_repeat() now returns correct length. (Thies) | |
| - Don't assume libz and libpng are installed for the GD checks (Rasmus) | |
| - Implemented support for <boolean> and <null> types according | |
| to WDDX version 1.0 (Andrei) | |
| - Made var_dump()/serialize()/unserialize() NULL aware. (Thies) | |
| - Added new NULL constant (Zeev, Zend Engine) | |
| - Fixed -c support in the standalone CGI binary (Zeev) | |
| - Increased PHP's performance by 5-15% using a new memory cache (Andi & Zeev, | |
| Zend Engine) | |
| - Improved the php.ini reader to support constants and bitwise operators (Zeev) | |
| - Fixed strrev() to no longer modify arg1. (Thies) | |
| - Fixed buffer overruns in iptcembed(). (Thies) | |
| - Fixed a bug in ODBC error reporting (Zeev) | |
| - Added PHP_Logo_GUID() and Zend_Logo_GUID() functions, that return the GUIDs | |
| of the PHP and Zend logos used in phpinfo() (Zeev) | |
| - Added GNU Pth support (Sascha, TSRM library) | |
| - Removed select(), fd_set() and fd_isset() - will be reimplemented soon! (Thies) | |
| - Improved Win32 performance significantly by using different mutexes (Zeev, | |
| TSRM library) | |
| - Made quotemeta() and preg_quote() binary-safe. (Andrei) | |
| - Added UDP support in fsockopen(). (Evan) | |
| - Added --disable-pear option (Andrei) | |
| - Renamed libzend repository to Zend (Zeev) | |
| - Added support for thttpd (Sascha) | |
| - Added session.cache_limiter and cache_expire options (Sascha) | |
| - Restored the PHP_VERSION and PHP_OS constants (Zeev) | |
| - Added get_loaded_extensions(), extension_loaded(), and | |
| get_extension_funcs() functions. (Andrei) | |
| - Added date/time stamping to PHP error log file. (Andrei, Joey) | |
| - Added is_subclass_of() function (Andrei, Zend Engine) | |
| - Implemented count_chars(). (Thies) | |
| - Added class_exists() function (Andrei, Zend Engine) | |
| - Made strspn() and strcspn() binary-safe. (Andrei) | |
| - Added array_multisort() function. (Andrei) | |
| - Made pageinfo.c thread-safe (Sascha) | |
| - Made implode() binary-safe (Andrei) | |
| - Made strstr(), stristr(), and ucwords() binary-safe() (Andrei) | |
| - Made strtoupper(), strtolower(), substr_replace() binary-safe. (Andrei) | |
| - Fixed a crash in the Apache syntax highlighting mode (Zeev) | |
| - Report all ODBC error's not just the one on the top of the stack (lurcher) | |
| - OCI8 now returns NULL values in LONG columns correct. (Thies) | |
| - Added support for a C-like assert() function. (Thies) | |
| - Added CyberCash support. (Evan) | |
| - Made explode() binary-safe. (Thies) | |
| - Made strpos() binary-safe. (Thies) | |
| - Added XML_Set_Object() function, now you can use the XML-Parser from | |
| within an object. (Thies) | |
| - Session vars are now decoded into $HTTP_STATE_VARS[] array and the | |
| globals, depending on track_vars and gpc_globals settings (Andrei) | |
| - Added get_used_files() function - returns a hash mapping the use()'d files | |
| to their full path (Zeev) | |
| - PHP 4 scripts will now obey the max_execution_time setting and actually | |
| time out (Rasmus) | |
| - Added configure command to phpinfo() output (Stig) | |
| - Added optional socket path to the mysql_?connect() functions (Rasmus) | |
| - Made mysql and gd work as shared extensions again (Stig) | |
| - Make the global GET/POST/Cookie variables and their $HTTP_*_VARS[] counterparts | |
| be references to each other (Zeev) | |
| - Added support for the 'use' keyword - behaves like 'require', but will not | |
| use the same file more than once (Andi & Zeev, Zend Engine) | |
| - Added check to see if a persistent connection is still valid with the | |
| ODBC interface before reusing (nick@easysoft.com) | |
| - Added DBMaker support (patch by Pax Tsai <paxtsai@lion.syscom.com.tw>) | |
| - Renamed "PECL" to "PEAR" (PHP Extension and Add-on Repository) (Stig) | |
| - buildconf now uses build.mk (Stig) | |
| - Disable symlinks to urls (Rasmus) | |
| - Informix driver now reflects version of ESQL/C used (Danny) | |
| - Modified session_register() to take variable number of arguments (Andrei) | |
| - Fixed file descriptor leak in thread safe mode (Zeev, Zend Engine) | |
| - Added select(), fd_set() and fd_isset() (Evan) | |
| - cpdf support has been ported from php3, needs ClibPDF 2.x (Uwe) | |
| - Fixed a leak when using automatic output buffering (Zeev) | |
| - Introduced PECL - PHP Extension and Code Library | |
| (prounounced "pickle") (Stig) | |
| - Fixed inconsistencies in the implementation of here-docs (Andi & Zeev, Zend | |
| library) | |
| - Fixed a problem with constant class-member initializations (Andi & Zeev, | |
| Zend Engine) | |
| - Fixed float-compare in min(),max(),a[r]sort(),[r]sort() (Thies) | |
| - Implemented get_html_translation_table() function (Thies) | |
| - Implemented array_flip() function. Returns input-array with key, value | |
| flipped (Thies) | |
| - Added Berkeley DB3 support in DBA (Sascha) | |
| - Implemented 2-Arg version of strtr($str,$translation_array). This can be used | |
| to revert what htmlspecialchars() did (Thies) | |
| - Fixed mem-overwrite in XML_Parse_Into_Struct (Thies) | |
| - Added substr_replace() function (Andrei) | |
| November 16 1999, Version 4.0 Beta 3 | |
| - ucfirst()/ucwords() no longer modify arg1 (Thies) | |
| - Fixed strtr() not to modify arg1 (Thies) | |
| - Added Win32 build files for Informix driver and make it | |
| compile with ZTS (danny) | |
| - Added tmpfile() function (Stig) | |
| - Upgraded regex library to alpha3.8 (Sascha) | |
| - Fixed selecting nested-tables in OCI8. (Thies) | |
| - RFC-854 fix for internal FTP-Code. Commands have to end in "\r\n" (Thies) | |
| - Fixed OpenLink ODBC support (Stig) | |
| - min(),max(),a[r]sort(),[r]sort(),k[r]sort() now work consistent with the | |
| language-core. (Thies) | |
| - tempnam() now uses mkstemp() if available (Stig) | |
| - serialize() and var_dump() now honor the precision as set in php.ini | |
| for doubles. (Thies) | |
| - Improved the Win32 COM module to support [out] parameters (Boris Wedl) | |
| - Fixed garbage returned at the end of certain Sybase-Columns (Thies) | |
| Patch submitted by: neal@wanlink.com | |
| - Added Microsoft SQL Server module for Win32 (Frank) | |
| - Added support for forcing a variable number of internal function arguments | |
| by reference. (Andi & Zeev, Zend Engine) | |
| - Implemented getprotoby{name,number} (Evan) | |
| - Added array_pad() function. (Andrei) | |
| - Added new getservby{name,port} functions. (Evan) | |
| - Added session.cookie_path and session.cookie_domain (Sascha) | |
| - Continue processing PHP_INI_SYSTEM knownDirectives after extension= | |
| (Sam Ruby) | |
| - Enable IBM DB2 support - Tested against DB2 6.1 UDB on Linux (Rasmus) | |
| - Added new str_repeat() function. (Andrei) | |
| - Output-Buffering system is now Thread-Safe. (Thies) | |
| - implemented OCI8 $lob->WriteToFile() function - very useful for streaming | |
| large amounts of LOB-Data without to need of a huge buffer. (Thies) | |
| - Added session.use_cookies option (Sascha) | |
| - Added getcwd() function. (Thies) | |
| - XML_Parse_Into_Struct no longer eats data. (Thies) | |
| - Fixed parse_url('-') crash. (Thies) | |
| - added === operator support. (Andi & Thies, Zend Engine) | |
| - unserialize() now gives a notice when passed invalid data. (Thies) | |
| - Fixed shuffle() so that it no longer breaks on Solaris. (Andrei) | |
| - Added is_resource(), is_bool() functions. (Thies) | |
| - Cleaned up File-Module (Thies) | |
| - Upgraded math-funtions to use new Zend function API (Thies) | |
| - Fixed zombie problem in shell_exec() and $a = `some_command` | |
| constructs. (Thies) | |
| - Thies introduced ZEND_FETCH_RESOURCE2 (Danny). | |
| - Added Informix driver to list of maintained extensions. (Danny). | |
| - Informix driver : Changed ifx.ec to use the new high-performance | |
| ZEND API. (Danny) | |
| - IXF_LIBDIR environment variable specifies alternate Informix library | |
| path for configure (Danny). | |
| - Fixed gmmktime() so that the following should always be true: | |
| gmmktime([args]) == mktime([args]) + date('Z', mktime([args])) (Jouni) | |
| - setlocale doesn't anymore screw up things if you forgot to change it back | |
| to the original settings. (Jouni) | |
| - Switched to new system where ChangeLog is automagically updated from commit | |
| messages. NEWS file is now the place for public announcements. (Andrei) | |
| - Fixed refcount problem in XML module. (Thies) | |
| - Fixed crash in HTTP_RAW_POST_DATA handling (Thies) | |
| - You can use resources as array-indices again (Thies, Zend Engine) | |
| - Fixed pg_fetch_array() with three arguments (Sascha) | |
| Patch submitted by: brian@soda.berkeley.edu | |
| - Upgraded a lot internal functions to use new Zend function API (Thies) | |
| - fdf support ported; not completely tested with latest version 4.0 for | |
| glibc (Uwe) | |
| - OCI8 connections are now kept open as long as they are referenced (Thies) | |
| - Cleaned up Directory-Module (Thies) | |
| - Small fix in Ora_Close (Thies) | |
| - Ported range() and shuffle() from PHP 3 to PHP 4 (Andrei) | |
| - Fixed header("HTTP/..."); behaviour (Sascha) | |
| - Improved UNIX build system. Now utilizes libtool (Sascha) | |
| - Upgrade some more internal functions to use new Zend function API. (Thies, | |
| Zend Engine) | |
| - Fixed backwards incompatibility with ereg() (Thies) | |
| - Updated Zend garbage collection with a much more thorough method. | |
| (Andi, Zend Engine) | |
| - Added the ability to use variable references in the array() construct. | |
| For example, array("foo" => &$foo). (Andi, Zend Engine) | |
| - Added array_reverse() function (Andrei) | |
| - Some more XML fixes/cleanups (Thies) | |
| - Updated preg_replace() so that if any argument passed in is an array | |
| it will make a copy of each entry before converting it to string so that | |
| the original is intact. If the subject is an array then it will preserve | |
| the keys in the output as well (Andrei) | |
| - Updated OCI8 to use the new high-performance Zend function API. (Thies) | |
| - Configure speedup (Stig) | |
| - Fixed LOB/Persistent-Connection related OCI8-Crash (Thies) | |
| - Generalized server-API build procedure on UNIX (Stig) | |
| - Added '--disable-rpath' option (Sascha) | |
| - Added AOLserver SAPI module (Sascha) | |
| - Fixed XML Callbacks. (Thies) | |
| - Updated ODBC to use the new high-performance Zend function API (kara) | |
| - Updated zlib to use the new high-performance Zend function API. (Stefan) | |
| - Updated preg_split() to allow returning only non-empty pieces (Andrei) | |
| - Updated PCRE to use the new high-performance Zend function API (Andrei) | |
| - Updated session, dba, mhash, mcrypt, sysvshm, sysvsem, gettext modules to use | |
| the new high-performance Zend function API (Sascha) | |
| - Extended var_dump to handle resource type somewhat (Andrei) | |
| - Updated WDDX to use the new high-performance Zend function API (Andrei) | |
| - Updated XML to use the new high-performance Zend function API. (Thies) | |
| - Updated Oracle to use the new high-performance Zend function API. (Thies) | |
| - Improved the performance of the MySQL module significantly by using the new | |
| high-performance Zend function API. (Zeev) | |
| - Added support for the Easysoft ODBC-ODCB Bridge (martin@easysoft.com) | |
| - Fixed bug in odbc_setoption, getParameter call incorrect (martin@easysoft.com) | |
| - Ora_Fetch_Into now resets the returned array in all cases (Thies) | |
| - Fixed NULL-Column problem in Oracle-Driver (Thies) | |
| - Added extra metadata functions to ODBC, SQLTables etc (nick@easysoft.com) | |
| - Fixed SEGV in mcal make_event_object() and | |
| typo in mcal_list_alarms() (Andrew Skalski) | |
| - Fixed Ora_PLogon (Thies) | |
| - Resourcified Oracle (Thies) | |
| - Implemented object serialization/deserialization in WDDX (Andrei) | |
| - Added krsort() function (Thies) | |
| - Added func_num_args(), func_get_arg() and func_get_args() for standard | |
| access to variable number of arguments functions (Zeev) | |
| - Added FTP support (Andrew Skalski) | |
| - Added optional allowable_tags arguments to strip_tags(), gzgetss() and | |
| fgetss() to allow you to specify a string of tags that are not to be | |
| stripped (Rasmus) | |
| - Upgraded var_dump() to take multiple arguments (Andrei) | |
| - Resourcified XML (Thies) | |
| - Fixed a memory leak in the Apache per-directory directives handler (Zeev) | |
| - Added array_count_values() function. (Thies) | |
| - snmp, pgsql, mysql and gd modules can be built as dynamically loaded | |
| modules (Greg) | |
| - OCI8 fix for fetching empty LOBs (Thies) | |
| - Added user-level callbacks for session module (Sascha) | |
| - Added support for unknown POST content types (Zeev) | |
| - Added "wddx" serialization handler for session module (Sascha) | |
| (automatically enabled, if you compile with --with-wddx) | |
| - Fixed unserializing objects (Thies) | |
| - PHP 4.0 now serializes Objects as 'O' (not understood by PHP 3.0), but | |
| unserializes PHP 3.0 serialized objects as expected. (Thies) | |
| - Made serialize/unserialize work on classes. If the class is known at | |
| unserialize() time, you'll get back a fully working object! (Thies) | |
| - Reworked preg_* functions according to the new PCRE API, which also made | |
| them behave much more like Perl ones (Andrei) | |
| - Made it possible to specify external location of PCRE library (Andrei) | |
| - Updated bundled PCRE library to version 2.08 (Andrei) | |
| - count()/is_array/is_object... speedups. (Thies) | |
| - OCI8 supports appending and positioning when saving LOBs (Thies) | |
| - Added metaphone support (Thies) | |
| - OCI8 doesn't use define callbacks any longer. (Thies) | |
| - OCI8 Driver now supports LOBs like PHP 3.0. (Thies) | |
| - var_dump now dumps the properties of an object (Thies) | |
| - Rewrote the GET/POST/Cookie data reader to support multi-dimensional | |
| arrays! (Zeev) | |
| - Renamed allow_builtin_links to expose_php (defaults to On). This directive | |
| tells PHP whether it may expose its existence to the outside world, e.g. | |
| by adding itself to the Web server header (Zeev) | |
| - Added support for transparent session id propagation (Sascha) | |
| - Made WDDX serialize object properties properly (Andrei) | |
| - Fixed WDDX mem leak when undefined variable is passed in | |
| for serialization (Andrei) | |
| - Added session_unset() function (Andrei) | |
| - Fixed double session globals shutdown crash (Andrei) | |
| - Fixed crash related to ignore_user_abort ini entry (Andrei) | |
| - Added support for external entropy sources for session id creation | |
| (on Unices /dev/random and /dev/urandom) (Sascha) | |
| - Added gpc_globals variable directive to php.ini. By default it is On, but | |
| if it is set to Off, GET, POST and Cookie variables will not be inserted | |
| to the global scope. Mostly makes sense when coupled with track_vars (Zeev) | |
| - Added versioning support for shared library (Sascha) | |
| This allows concurrent use of PHP 3.0 and PHP 4.0 as Apache modules. See | |
| the end of the INSTALL file for more information. | |
| - Added second parameter to array_keys which specifies search value | |
| for which the key should be returned (Andrei) | |
| - Resourcified Informix driver (Danny) | |
| - New resource handling for odbc, renamed to php_odbc.[ch] | |
| - Make set_time_limit() work on Unix (Rasmus) | |
| - Added connection handling support (Rasmus) | |
| - Improved the Sybase-CT module to make use of resources (Zeev) | |
| - Improved the mSQL module to make use of resources (Zeev) | |
| - Changed mysql_query() and mysql_db_query() to return false in case of saving | |
| the result set data fails (Zeev) | |
| - Improved the resource mechanism - resources were not getting freed as soon | |
| as they could (Zeev) | |
| - Added shared memory module for session data storage (Sascha) | |
| - Fixed session.auto_start (Sascha) | |
| - Fixed several problems with output buffering and HEAD requests (Zeev) | |
| - Fixed HTTP Status code issue with ISAPI module (Zeev) | |
| - Fixed a problem that prevented $GLOBALS from working properly (Zeev, Zend | |
| library) | |
| - Ported newest GetImageSize (Thies) | |
| - Added session compile support in Win32 (Andi) | |
| - Added -d switch to the CGI binary that allows overriding php.ini values | |
| from the command line (Zeev) | |
| - Fixed a crash that would occur if wddx_deserialize did not receive | |
| a valid packet (Andrei) | |
| - Fixed a bugglet when redefining a class at run-time (Andi, Zend Engine) | |
| - Fixed sem_get() on AIX (Sascha) | |
| - Fixed fopen() to work with URL's in Win32 (Andi & Zeev) | |
| - Fixed include_path for Win32 (Andi, Zend Engine) | |
| - Fixed bug in ISAPI header sending function (Charles) | |
| - Fixed memory leak when using undefined values (Andi & Zeev, Zend Engine) | |
| - Added output_buffering directive to php.ini, to enable output buffering | |
| for all PHP scripts - default is off (Zeev). | |
| - Fixed some more class inheritance issues (Zeev, Zend Engine) | |
| - Fixed Apache build wrt to shared modules on FreeBSD/Linux (Sascha) | |
| - Added session.extern_referer_chk which checks whether session ids were | |
| referred to by an external site and eliminates them (Sascha) | |
| - Improved session id generation (Sascha) | |
| - Improved speed of uniqid() by using the combined LCG and removing | |
| the extra usleep() (Sascha) | |
| - Introduced general combined linear congruential generator (Sascha) | |
| - Made ldap_close back into an alias for ldap_unbind (Andrei) | |
| - OciFetchInto now resets the returned array in all cases (Thies) | |
| - Fixed mysql_errno() to work with recent versions of MySQL (Zeev) | |
| - Fixed a problem with define() and boolean values (Zeev) | |
| - Fixed inclusion of gd/freetype functions (Sascha) | |
| - Fixed persistency of MHASH_* constants (Sascha) | |
| - Oracle is now ZTS-Safe (Thies) | |
| - Fixed flushing of cached information to disk in DBA's DB2 module (Sascha) | |
| - OCI8 is now ZTS-Safe (Thies) | |
| - Fixed is_writeable/is_writable problem; they are both defined now (Andrei) | |
| - Imported PHP 3.0 diskfreespace() function (Thies) | |
| - Fixed thread-safety issues in the MySQL module (Zeev) | |
| - Fixed thread-safe support for dynamic modules (Zeev) | |
| - Fixed Sybase CT build process (Zeev) | |
| August 9 1999, Version 4.0 Beta 2 | |
| - Fixed a problem when sending HTTP/1.x header lines using header() (Zeev) | |
| - Win32 builds now include the ODBC module built-in (Zeev) | |
| - Fixed SYSV-SHM interface (Thies). | |
| - Updated hyperwave module, made it thread safe | |
| - Updated pdflib module, version 0.6 of pdflib no longer supported | |
| - Updated fdf module | |
| - Built-in phpinfo() links are now turned off by default. They can be turned | |
| on using the allow_builtin_links INI directive (Zeev) | |
| - Changed phpinfo() to list modules that have no info function (Zeev) | |
| - Modified array_walk() function so that the userland callback is passed | |
| a key and possible user data in addition to the value (Andrei) | |
| - Fixed ldap_search(), ldap_read() and ldap_list() (Zeev) | |
| - Fixed Apache information in phpinfo() (sam@breakfree.com) | |
| - Improved register_shutdown_function() - you may now supply arguments that | |
| will be passed to the shutdown function (Zeev) | |
| - Improved call_user_func() and call_user_method() - they now support passing | |
| arguments by reference (Zeev) | |
| - Fixed usort() and uksort() (Zeev) | |
| - Fixed md5() in the Apache module (Thies) | |
| - Introduced build process for dynamic modules (Stig) | |
| - Improved ISAPI module to supprt large server variables (Zeev) | |
| - Imported PHP 3.0 fixes for problem with PHP as a dynamic module and Redhat | |
| libc2.1 in zlib module (Stefan) | |
| - Fixed sybase_fetch_object() (Zeev) | |
| - Made the IMAP module work with PHP 4.0 (Zeev) | |
| - Fixed a problem with include()/require() of URLs (Sascha, Zeev) | |
| - Fixed a bug in implode() that caused it to corrupt its arguments (Zeev) | |
| - Added get_class($obj), get_parent_class($obj) and method_exists($obj,"name") | |
| (Andi & Zeev) | |
| - Fixed various inheritance problems (Andi & Zeev, Zend Engine) | |
| - Children now inherit their parent's constructor, if they do not supply a | |
| constructor of their own. | |
| - Fixed runtime inheritance of classes (parent methods/properties were | |
| overriding their children) (Zeev, Zend Engine) | |
| - Fixed backwards incompatibility with the "new" operator (Andi, Zend Engine) | |
| - Fixed bugs in uksort() and ksort() sort ordering (Andrei) | |
| - Fixed a memory leak when using assignment-op operators with lvalue of type | |
| string (Zeev, Zend Engine) | |
| - Fixed a problem in inheritance from classes that are defined in include()d | |
| files (Zeev, Zend Engine) | |
| - Fixed a problem with the PHP error handler that could result in a crash | |
| on certain operating systems (Zeev) | |
| - Apache php_flag values only recognized 'On' (case sensitive) - changed | |
| to case insensitive (Zeev) | |
| - Fixed a memory leak with switch statement containing return statements | |
| (Andi & Zeev, Zend Engine) | |
| - Fixed a crash problem in switch statements that had a string offset | |
| as a conditional (Andi & Zeev, Zend Engine) | |
| - Imported PHP 3.0 fixes for rand() and mt_rand() (Rasmus) | |
| - Added function entries for strip_tags() and similar_text() (Andrei) | |
| - Fixed a bug in WDDX that would cause a crash if a number was passed in | |
| instead of a variable name (Andrei) | |
| - Ported strtotime() function from PHP 3.0 (Andrei) | |
| - Merged in gdttf stuff from PHP 3.0 (Sascha) | |
| - buildconf now checks your installation (Stig) | |
| - XML module now built dynamically with --with-xml=shared (Stig) | |
| - Added a check for freetype.h - fixed build on RedHat 6.0 (Zeev) | |
| - Fixed array_walk() to work in PHP 4.0 (Andrei) | |
| - Ported all remaining date() format options from PHP 3.0 (Andrei) | |
| - $php_errormsg now works (Andrei) | |
| - Added locale support for Perl Compatible Regexp functions (Andrei) | |
| - Informix module ported (Danny) | |
| - Removed --with-shared-apache (Sascha) | |
| - Added patch for reverse lookup table in base64_decode (Sascha) | |
| Submitted by bfranklin@dct.com | |
| - Merged in PHP 3.0 version of str_replace (Sascha) | |
| - Added DBA module (Sascha) | |
| - Added session id detection within REQUEST_URI (Sascha) | |
| - Merged in HP-UX/ANSI compatibility switch from PHP 3.0 (Sascha) | |
| - Fixed rpath handling for utilitites built during Apache build (Sascha) | |
| - Added missing E_ error level constants (Zeev, Zend Engine) | |
| - Fixed a bug in sending multiple HTTP Cookies under Apache (Zeev) | |
| - Fixed implicit connect on the MySQL, mSQL, PostgreSQL and Sybase | |
| modules (Zeev) | |
| - Gave PHP 4.0's SNMP extension all the functionality of PHP 3.0.12 (SteveL) | |
| July 19 1999, Version 4.0 Beta 1 | |
| - First public beta of PHP 4.0 |