PHP 4.0 CHANGE LOG ChangeLog ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ?? 1999, Version 4.0 Beta 3 - 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 PHP3. (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 (Andrey) - Fixed WDDX mem leak when undefined variable is passed in for serialization (Andrey) - Added session_unset() function (Andrey) - Fixed double session globals shutdown crash (Andrey) - Fixed crash related to ignore_user_abort ini entry (Andrey) - 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 PHP3 and PHP4 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 (Andrey) - 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 (Andrey) - Fixed a bugglet when redefining a class at run-time (Andi, Zend library) - Fixed sem_get() on AIX (Sascha) - Fixed fopen() to work with URL's in Win32 (Andi & Zeev) - Fixed include_path for Win32 (Andi, Zend library) - Fixed bug in ISAPI header sending function (Charles) - Fixed memory leak when using undefined values (Andi & Zeev, Zend library) - 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 library) - 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 (Andrey) - 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-Save (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 (Andrey) - 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 (Andrey) - 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 library) - 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 library) - Fixed backwards incompatibility with the "new" operator (Andi, Zend library) - Fixed bugs in uksort() and ksort() sort ordering (Andrey) - Fixed a memory leak when using assignment-op operators with lvalue of type string (Zeev, Zend library) - Fixed a problem in inheritance from classes that are defined in include()d files (Zeev, Zend library) - 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 library) - Fixed a crash problem in switch statements that had a string offset as a conditional (Andi & Zeev, Zend library) - Imported PHP 3.0 fixes for rand() and mt_rand() (Rasmus) - Added function entries for strip_tags() and similar_text() (Andrey) - Fixed a bug in WDDX that would cause a crash if a number was passed in instead of a variable name (Andrey) - Ported strtotime() function from PHP 3.0 (Andrey) - Merged in gdttf stuff from php3 (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 (Andrey) - Ported all remaining date() format options from PHP 3.0 (Andrey) - $php_errormsg now works (Andrey) - Added locale support for Perl Compatible Regexp functions (Andrey) - 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 php3 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 php3 (Sascha) - Fixed rpath handling for utilitites built during Apache build (Sascha) - Added missing E_ error level constants (Zeev, Zend library) - 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