diff options
author | Andrei Zmievski <andrei@php.net> | 1999-10-07 19:53:33 +0000 |
---|---|---|
committer | Andrei Zmievski <andrei@php.net> | 1999-10-07 19:53:33 +0000 |
commit | cfec25f3b2bbf7f209bc186df64df29df85d3909 (patch) | |
tree | ec123e4af9987851f5e21d9424b6aa32a46ce85c | |
parent | 36ff78d2322707393c7b47a8d086293ea8f08527 (diff) | |
download | php-git-cfec25f3b2bbf7f209bc186df64df29df85d3909.tar.gz |
Some ChangeLog surgery.
-rw-r--r-- | ChangeLog.3 | 860 | ||||
-rw-r--r-- | TODO-LeftOver (renamed from ChangeLog.TODO) | 0 |
2 files changed, 0 insertions, 860 deletions
diff --git a/ChangeLog.3 b/ChangeLog.3 deleted file mode 100644 index 7e87251faf..0000000000 --- a/ChangeLog.3 +++ /dev/null @@ -1,860 +0,0 @@ -PHP 3.0 CHANGE LOG ChangeLog -||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| - -December 24 1998, Version 3.0.6 -- Fix GetImageSize() to work with non-standard jpg images -- Add Mersenne Twister functions (mt_rand, mt_srand, etc) -- Add str_replace() function -- Add chunk_split() function -- Fixed a bug in the memory limit code, in cases where $php_errormsg was - also used. -- Add iptcparse() function -- Adobe FDF supported -- getallheaders() NULL string fix <michale@utko.fee.vutbr.cz> -- Add all configuration directives to phpinfo() page -- Functions pack() and unpack() rewritten to be binary and buffer overrun - safe and behave like the Perl functions for all implemented format codes. -- Ensured that msql_error() will not return error messages generated by - previously-run scripts. -- Add base_convert() function -- Make sprintf() and printf() output binary safe -- Made gzgetc binary safe -- Add convert_cyr_string() and quoted_printable_decode() functions -- Fix ldap_free_result() core dump bug -- Add support for current OpenLDAP-2.0-devel library -- Add php3_asp_tags directive so it can be set from Apache config files -- Added UTF-8 support in the XML extension -- Make rand(min,max) safer on older platforms where the low-order bits have - short cycles. -- Added new pdf (Portable Document Format) module -- Added an XML parsing extension using James Clark's "expat" library -- Optimized parts of the token cache code. -- Terminate on out-of-memory errors. Until now, PHP could crash in out of - memory situations (clean-up, no real effect). -- Unterminated comments in include files were being reported with the wrong line - number. Fixed. -- Added ImageCopy() and ImageColorDeallocate(). ImageCopy() is about - 20% faster than ImageCopyResized(). ImageColorDeallocate() marks - palette entries free for reuse (by <mka@satama.com>). -- In the CGI version, it was impossible to access resources (e.g. SQL links, - images) from user-defined shutdown functions. Fixed. -- Added optional third parameter to strpos() to specify the offset to - start searching from. -- Fixed a crash bug in unset() when unsetting illegal variables (rare). -- Made ImageInterlace and ImageTransparentColor parameters optional, and made - them return the current/new settings. -- Optimized GetImageSize() <thies@digicol.de>. -- Made odbc_autocommit() without args return status -- Added connect workaround for OpenLink ODBC -- Added minimal InterBase support. Tested only on 4.0 & Linux. -- Fixed some memory leaks and bogus error messages in the URL handler of - the various file open functions. Should only affect error handling - in bad URLs. - -October 5 1998 Version 3.0.5 -- mysql_field_flags now reports all MySQL flags and the result is suitable - for automatic parsing. Compatibility warning: The result format has - changed. If you have scripts parsing the result of this function, you - may need to adapt them. -- Made nl2br() binary safe (not that it's of much use). -- Fixed a bug in the API function getThis(). It affected mostly the dir - functions, if nested within objects. -- Fixed a problem in require() in conjunction with switch(), and in some other - cases. Also fixed an identical problem with the call_user_function() API - function. -- Removed -lpthread when compiling with MySQL support. It caused various - serious problems when compiled into Apache. -- Add serialize() and unserialize() functions from jkl@njet.net -- Fix in_addr_t check for systems with in_addr_t in netinet/in.h -- Add atan2() function - -September 22 1998 Version 3.0.4 -- Added uksort() - array key sort using a user defined comparison function. -- Added 'j' support to date() - generates the day of the month, without - possible leading zeros. -- Added support for multiple crypt() encryptions if the system supports it -- Added optional support for ASP-style <% %> and <%= tags -- Fixed data loss problems with very large numeric array indices on 64-bit - platforms (e.g. DEC UNIX). -- 2 cursor_type parameters for ifx_query() and ifx_prepare changed - to 1 (bitmask). Added a few constants for use in Informix module. -- Added php3.ini option ifx.charasvarchar. If set, trailing blanks - are stripped from fixed-length char columns. (Makes life easier - for people using Informix SE.) -- Static SNMP module which compiles with ucd-snmp 3.5.2 -- fixed imap_header & header_info from crashing when a header line - is > 1024 characters. -- Added patch for rfc822_parse_adr to return an array of objects instead - of a single object. -- Informix Online 7.x & SE 7.x support now fairly complete and stable -- Add dbase_get_record_with_names() function -- Added a special case for open_basedir. When open_basedir is set to "." - the directory in which the script is stored will be used as basedir. -- Include alloca.c in the distribution for platforms without alloca(). -- Improved stripping of URL passwords from error messages - the length of the - username/password isn't obvious now, and all protocols are handled properly - (most importantly, http). -- Copying objects that had member functions with static variables produced - undetermined results. Fixed. -- Added function lstat() and cleaned up the status functions, - added tests for file status functions (this may break on some plattforms) -- Fixed is_link() - it was returning always false. -- Fixed apache_note() - it was corrupting memory. -- New Function. void get_meta_tags(string filename); Parses filename until - closing head tag and turns all meta tags into variables prefixed with 'meta_'. - The below meta tag would produce $meta_test="some string here" - <meta name="test" content="some string here"> -- Generalized some internal functions in order to better support calling - user-level functions from C code. Fixes a few sporadic problems related - to constructors inside eval() and more. -- Fixed an endless loop in explode(), strstr() and strpos() in case of an - invalid empty delimiter. -- rand() now accepts two optional arguments, which denote the requested range - of the generated number. E.g., rand(3,7) would generate a random number - between 3 and 7. -- Added M_PI constant. -- Added deg2rad() and rad2deg() for converting radians<->degrees. -- ImageArc() misbehaved when given negative angles, fixed. -- Fixed a bug in ereg() that may have caused buglets under some circumstances. -- Added imap_status -- Shutdown functions, registered via register_shutdown_function(), could never - generate output in the Apache module version. Fixed. -- Brought IMAP docs into sync with acutal imap code -- imap_fetchstructure now takes in optional flags -- Fix potential core dumps in imap_append and imap_fetchtext_full -- Fix problem in SetCookie() function related to long cookies -- Add uasort() function to go along with usort (like sort() and asort()) -- Add port number to Host header as per section 14.23 of the HTTP 1.1 RFC -- Fix imap_reopen to only take 2 arguments with an optional 3rd flags arg -- Add optional 2nd argument to imap_close -- Add CL_EXPUNGE flag to imap_open() flags -- Fix 4th arg on imap_append(). It was getting converted to a long by mistake. -- Fix shutdown warning in the LDAP module -- *COMPATIBILITY WARNING* imap_fetchstructure() "parametres" object and property - name changed to "parameters" to match the documentation and to be consistent - with the rest of the API. -- Delete uploaded temporary files automatically at the end of a request -- Add upload_max_filesize and correponsing php3_upload_max_filesize directive - to control the maximum size of an uploaded file. Setting this to 0 would - completely eliminate file uploads. -- Force $PHP_SELF to PATH_INFO value when running in CGI FORCE_CGI_REDIRECT mode -- Add apache_lookup_uri() function which does an internal sub-request lookup - and returns an object containing the request_rec fields for the URI. (Yes, - you have to be a bit of a gearhead to figure this one out) -- Fix a few signed char problems causing functions like ucfirst() not to work - correctly with non-English charsets -- md5() function not binary safe - fixed - -August 15 1998 Version 3.0.3 -- Changed the name of fopen_basedir to open_basedir, to be a little more - accurate about what it does. -- Added Hyperwave module -- Added config-option (php3_)enable_dl <on/off>. This enables/disables the - dl() function. In safe-mode dl() is always disabled. -- Auto-prepended files were crashing under some circumstances - fixed. -- Win32 mail fixes provided by walton@nordicdms.com -- Comparing between arrays and/or objects now generates a warning (it always - returns false, as it used to; no comparison is made) -- Fixed a bug in the syntax highlighting code, that made ending-double-quotes - appear twice under certain circumstances. -- Fix bug in filetype() function related to symlinks -- Started integrating Informix SE support to PHP configure/makefile setup. -- gdttf roundoff fixes from ellson@lucent.com -- Added initial Informix SE support files from Danny Heijl - This code still - needs to be integrated into the PHP configure/makefile setup and the code - itself needs more work. -- return in the global scope now terminates the execution of the current file. -- Added the ability to register shutdown function(s), via - register_shutdown_function($function_name). -- Clean up const warnings -- Add write support to ftp fopen wrappers -- Add strspn() and strcspn() functions -- On systems without strerror use Apache version if compiling as Apache module -- The PHP start tag was being ignored under some circumstances - fixed. -- The db, dbase and filepro functions are now Safe-Mode aware. -- Added config-option (php3_)fopen_basedir <path>. This limits the directory- - tree scripts can open files in to <path>. -- Fixed pg_loreadall that didn't always return all the contents in a PostgreSQL - large object. Also, doesn't pass through anything if method is HEAD. -- configure fix to create target Apache module dir -- Fix core dump in imageTTFtext() function -- Added static IMAP support -- Syntax highlighting was generating additional whitespace - fixed. -- Added ucwords. Works like ucfirst, but works on all words within a string. -- Added array_walk() - apply user function to every element of an array -- Added usort() - array sort that accepts a user defined comparison function! -- Added the ability to call user-level functions and object methods on demand - from the C source using a completely generalized, slick API function. - Miracles do happen every once in a while. -- Added constructors. Don't even squeek about destructors! :) (we mean that) -- Make pg_lowrite() binary safe -- Fixed mod_charset option in ./setup -- Fixed rewinddir() and dir()::rewind() under Win32 (they didn't work before). -- Add Win32 COM support! By-name referencing is supported using the IDispatch - interface (automation). Available functions - COM_Load(), COM_Invoke(), - COM_PropGet() and COM_PropSet(). - -July 20 1998 Version 3.0.2a -- Fix a quirk in the configuration file parser, the endless fountain of joy - and fun. -- Fix a bug in the API function add_method() that made dir() crash. - -July 18 1998 Version 3.0.2 -- Compile cleanups for *BSD -- Add support for the OpenLink ODBC Drivers -- Add PHP_SELF, PHP_AUTH_* and HTTP_*_VARS PHP variables to phpinfo() output -- Add workaround for broken makes -- Add Apache 1.3.1 support (some Apache header files were moved around) -- Added apache_note() function. -- Fix order of system libraries and detect libresolv correctly -- Fixed a bug in the Sybase-DB module. Several numeric field types were - getting truncated when having large values. -- Added testpages for unified odbc -- Fix php -s seg fault when filename was missing -- Made getdate() without args default to current time -- Added ImageColorResolve() and some fixes to the freetype support. -- Added strcasecmp() -- Added error_prepend_string and error_append_string .ini and .conf directives - to make it possible to configure the look of error messages displayed by PHP - to some extent -- Added E_ERROR, E_WARNING, E_NOTICE, E_PARSE and E_ALL constants, that can be - used in conjunction with error_reporting() - (e.g. error_reporting(E_ERROR|E_WARNING|E_NOTICE); -- Fixed a crash problem with classes that contained function(s) with default - values. -- Fixed a problem in the browscap module. Browscap files weren't being read - properly. -- Fix -L path in libphp4.module to make ApacheSSL compile without errors -- Fix StripSlashes so it correctly decodes a \0 to a NUL - -July 04 1998 Version 3.0.1 -- echo/print of empty strings don't trigger sending the header anymore. -- Implemented shift left and shift right operators (<< and >>) -- Compile fix for cc on HP-UX. -- Look for beta-version Solid libraries as well. -- Make GD module show more info in phpinfo(). -- Compile fix for NextStep 3.0. -- Fix for Oracle extension on OSF/1. -- Fix gd 1.3 bug in ImageColorAt(). -- pg_loread() hopefully handles binary data now. -- Turned off some warnings in dns.c -- Added ImageTTFBBox() and made ImageTTFText() return bounding box. -- Added constants for Ora_Bind()'s modes. -- Renamed all hash_*() routines to _php3_hash_*() to avoid clashes with other - libraries. -- Changed uodbc default LONG behaviour: longreadlen 4096 bytes, binmode 1. - The module now actually uses the php.ini settings. -- New PostgreSQL functions: pg_fetch_row(), pg_fetch_array() - and pg_fetch_object() -- Fix a segmentation fault when calling invalid functions in certain - circumstances -- Fix bug that caused link-related functions to not pay attention to - run-time safe mode setting (it was using whatever was set at compile time). -- Fix bug in exec() function when used in safe mode - -June 6 1998 Version 3.0 -- Add checkdnsrr function (check availability DNS records) -- Add getmxrr function (get MX hostnames and weights) -- Fixed bug in nl2br() function -- Fix for an RC5 related problem in the Sybase module, when dealing - with very long data types. -- Speed up string concatenation by roughly a factor of 2 -- Add escape-handling to date function -- Make base64 functions binary safe -- Add strrpos function to complement strpos function added in RC5 -- Add ltrim function (strips only at the start of string) -- Add rtrim as an alias to chop() for completeness sake -- Add trim function (similar to chop, except it strips at the start as well) -- Added 2 optional args to fsockopen function - errno and errstr -- Fixed bug in split() function related to leading matches -- Fixed problem in error_log() function (thanks to Jan Legenhausen) -- empty("0") was returning true - fixed -- Removed the old sybsql module. Use the new sybase_*() functions instead. -- Several fixes to the configuration file parser -- LDAP fixes - fixed return values on several functions - -May 23 1998 Version 3.0RC5 -- The BC math library functions now compile in by default. -- Fixed a bug in virtual() and other types of SSI's (e.g. <!--#exec). Under - certain circumstances, this used to result in random problems. -- Fixed a bug in virtual(). It was misbehaving if it was called before any - other output. -- Added mysql.default_port, mysql.default_host, mysql.default_user and - mysql.default_password ini-file directives. -- Improved handling of the MySQL default port. It now honors /etc/services - and $MYSQL_TCP_PORT. -- Fixed a crash in opening of broken ftp:// URLs, and improved error reporting - in opening of URLs. -- Fixed several non-critical scanner issues with syntax highlighting mode and - the <script language=php> tag. -- Fixed fseek on windows. (windows only): fseek will not return proper results - on files opened as text mode. PHP uses binary mode as the default for file - operations, but this can be overiden by fopen. Do not open files in text - mode and use fseek on them! -- Add strpos() function -- Added zlib module, requires zlib >= 1.0.9 -- Improved the module API implementation. Dynamic modules may now register - persistent resources (not that it makes much sense, but at least PHP - won't crash). The API itself remains unchanged. -- bcmod() wasn't always behaving like modulus should behave (it was behaving - exactly like GNU bc's % operator). Fixed. -- Changed the Sybase-DB module to always return strings, instead of auto-typing - result sets. This was done for consistency with the other database modules, - and in order to avoid overflows due to the platform-dependant limitations - of the numeric data types of PHP. You can turn compatability mode on using - the sybase.compatability_mode directive in the php3.ini file. -- Fixed problems with the TINYINT field in the Sybase-CT module. -- Applied some small speed optimizations to the Sybase-DB module querying code. -- Added 'numeric' and 'type' properties to the object returned by - sybase_fetch_field(). -- The 'new' operator doesn't accept all expressions anymore. Instead, it - accepts a class name, or a variable reference (scalar, array element, etc). -- Add ora_numcols() function -- Add ora_do() and ora_fetch_into() functions to Oracle driver -- Add persistent connection support to Oracle driver -- Make Oracle driver clean up open connections and open cursors automatically -- Added fread() and fwrite() that properly handle binary data. -- Add Ora_ColumnSize() to Oracle code -- The string "0" means FALSE again. This was done in order to maintain type - conversion consistency. -- Added solid_fetch_prev() for fetching the previous result row from Solid. -- Huge integers are now automatically converted to floating point numbers - (that have a wider range). -- Floating point numbers are now displayed using scientific notation when - they're extremely big or extremely small. The 'precision' php3.ini directive - no longer designates the number of decimal digits, but rather, the maximum - number of significant digits required. -- Added support for scientific notation for floating point numbers (e.g. 1E7) - throughout the entire language. -- Fixed a potential/probable memory corruption problem with HEAD request - handling. -- Using un-encapsulated strings now generates a NOTICE-level warning - (e.g. $a = foo; instead of $a = "foo";) -- Added defined("name") function to check if a certain constant is defined - or not. -- Support new Apache mechanism for setting SERVER_SUBVERSION -- Added PHP_OS and PHP_VERSION constants -- Added the ability to define constants in runtime! Constants are script-wide, - (there's no scope, once the constant is defined, it's valid everywhere). - Syntax is define("name", $value [, $case_insensitive]). 'name' can be any name - that is a valid variable name, *without* the $ prefix. 'value' can be - any *scalar* value. If the optional 'case_insensitive' parameter is 1, - then the constant is created case-insensitive (the default is case - sensitive). Note: define() is currently *NOT* supported in preprocessed - scripts. -- Added general support for constants. The Syslog constants (e.g. - LOG_ERR, LOG_CRIT, etc.) should be accessed as constants from now on (that - is, without a $ prefix). You can still set define_syslog_variables to On - in the php3.ini file if you want to define the various $ variables. The - default for this directive in the php3.ini-dist file has been changed to - Off. -- The configuration file path variable now expands . and .. into their - respective directories. You can obtain the path of the php3.ini file - that was used by printing get_cfg_var("cfg_file_path"). -- Fixed a crash-recovery parser crash ($a=7; $a[3]+=5;) -- Add gmmktime() function -- Fixed a crash with implode() and empty arrays. -- Fixed a bug that, under fairly rare circumstances, caused PHP not to - recognize if(), require() and other statements as statements, and - to complain about them as being unsupported functions. -- Beautified php3.ini-dist and added more comments to it. Also changed - the behavior of the configuration file parser to be brighter about - the various constants (TRUE/FALSE/ON/OFF etc). -- Fixed a bug in openlog() - the specified device name was being mangled. -- Memory leaks were sometimes reported erroneously - fixed. -- Improved the convertor to handle some quirks of the PHP/FI 2 parser with - comments. -- Fixed number_format() to properly handle negative numbers, and optimized it - a bit. -- Fixed static variables inside class member functions. Note that using such - static variables inside member functions usually defeats the purpose of - objects, so it is not recommended. -- Fixed a bug in fpassthru() (the file was being closed twice). -- Added strftime(). -- Add set_socket_blocking() function to control blocking on socket fd's -- The sendmail_path in php3.ini was being ignored - fixed. -- Fixed a bug with file upload, with files that contained the MIME boundary - inside them. -- Fixed a bug with form variables of type array, with spaces in their - index (e.g. name="foo[bar bar]"). -- gd-1.3 autodetect and support -- Year 2000 compliance is now togglable from the php3.ini file. Setting PHP - to be y2k compliant effects the way it creates cookies, and means it'll - NOT work with many browsers out there that are not y2k compliant! For - that reason, the default for this option is off. -- safe mode / fix from monti@vesatec.com -- Integrated the FreeType support in the GD extension. -- Added --with-gd=DIR and --without-gd options to configure - -April 18 1998 Version 3.0 Release Candidate 4 -- Auto-prepended and auto-appended files were reporting the wrong filename - in errors and in __FILE__ - fixed. -- Fix GPC problem related to mixed scalar and array vars with the same name -- Made putenv() Apache-safe. Environment variables may no longer leak in - between requests. -- The trailing semicolon is no longer required in class declarations. -- Fixed a memory leak in the (array) and (object) operators under certain - conditions. -- <script> tags weren't working unless short tags were enabled - Fixed. -- Fixed a bug in certain array indices that weren't treated as numbers - even though they looked like numbers (e.g. "10", "20"). -- Changes to support renamed API functions in Apache-1.3 -- Fixed the -p and -e command line switches -- Fix a segfault when calling command line version without parameters -- Fix for feof() when used on a socket -- Fix off-by-one error in fgets() when used on a socket -- Fix bug in ImageSetPixel() (Thanks to ecain@Phosphor.net) - -March 31 1998 Version 3.0 Release Candidate 3 -- Tiny bugfix for magic_quotes_sybase -- Fix Apache build problems introduced in RC2 -- $a["0"]==$a[0] fix -- Apache-1.3 build changes to support 100% automatic builds and shared library - module builds. See INSTALL file. - -March 30 1998 Version 3.0 Release Candidate 2 -- Changed the socket implementation under UNIX to not use FILE pointers, in - order to work around the buggy Solaris libc (and possibly buggy libc's - in other platforms). -- Fixed a bug in min() and max() with certain arrays. -- *WARNING* Move Apache 1.3 php3 file install to src/modules/php4 instead of - src/modules/extra. Make sure you change your AddModule line correctly - in your Apache Configuration file. This change is to take advantage of - new Apache-1.3 configuration mechanism which makes it easier to build an - Apache server with PHP automatically enabled. It will also help building - a shared library module version of PHP soon. -- Fixed a crash bug with auto-appended files. -- Made --enable-discard-path work on all Unix servers #!/path/php CGI scripts - should now work everywhere. I have tested on Apache, WN and Netscape 2.0 -- Made $a["123"] and $a[123] be identical. $a["0123"] is still different, - though. -- Added 'precision' ini directive, to set the number of decimal digits - displayed for floating point numbers (default - 6). -- Made integer/integer divisions evaluate to floating point numbers when - applicable (e.g., 5/2==2.5(float), but 4/2==2(int)) -- Get rid of reliance on tied streams and move all socket reads and writes - to recv/send calls -- Cleaned up head.c a bit and fixed CGI SetCookie order problem -- Changed default variable parsing order to Get-Cookie-Post (GPC) -- Fixed setup so it has all configure options and defaults. -- Added optional decimal point and thousands seperator to number_format() - e.g., number_format(1500,2,',','.') == 1.500,00 -- Fixed cgi bug in windows that prevented files from being parsed on many - systems and servers. - -March 23 1998 Version 3.0 Release Candidate -- Added support for the Raima database (ALPHA) -- Fixed a bug in persistent PostgreSQL links and the connection-string method. -- Added EXTENSION_STATUS file, that specifies the stability and status of - every module in the distribution. -- Added optional parameters to user functions with default values, variables - that are forced to be passed by reference and variables that can be - optionally passed by reference. The ini file directive - 'ignore_missing_userfunc_args' is no longer supported. -- Added fhttpd support (by Alex Belits) -- Improved performance by approximately 20-30%. -- Added mysql_error(), mysql_errno() (if available) and msql_error(). - Errors coming back from the database backend no longer issue warnings. - Instead, use these functions to retreive the error. -- Patched count(), each(), prev(), next(), reset() and end() to work around - the implementation side effects of unset(). As far as the users are - concerned, this should be transparent now (even though it's slower now, - until it's thoroughly fixed in 3.1). -- Added number_format(). number_format(2499,2)=='2,499.00'. -- error_reporting() now sets the error reporting level to the supplied - argument, without any interpretations. -- Fixed a lookahead parser bug that occured under rare circumstances. -- Change the comparison operators to compare numeric strings as numbers. If - you want to compare them as strings, you can use the new C-like strcmp() -- Fixed Ora_GetColumn() bug when fetching strings -- Added Ora_ColumnName() and Ora_ColumnType() -- Preliminary LONG and LONG RAW support in Oracle extension -- Add \123 and \xAB style octal and hex escapes to "" and `` strings -- Add "-c" command line flag for specifying path to php3.ini file -- Improved list() so that elements can be skipped, for example: - list($name,,,$realname) = explode(":",fgets($passwd_file)); -- Fixed a tiny bug in the hash initialization which caused excessive use of - memory. Report and fix by short@k332.feld.cvut.cz -- Fixed strtolower() and strtoupper() to work with 8-bit chars -- Fixed to compile and run on SunOS 4.1 -- Fixed a crash in soundex() of an empty string -- Fixed parse_str() - it wasn't always defining the right variables, - and didn't work with arrays. -- Made [m,My]SQL create/drop database functions return success status -- Fixed some memory leak/crash problems in the Adabas module -- Added each() in order to allow for easy and correct array traversing. -- Make Apache module version respect LOCALE setting -- Add support for Apache 1.3b6+ ap_config.h file -- Fixed a nasty corruption bug in eval() and show_source() that resulted in - script termination (e.g. eval("exit();"). -- Fixed a syntax highlighting problem with keywords used as variable - names. -- Fixed a possible crash and/or file descriptor leak -- Fixed line number being off by one in #! shell style execution -- Made it possible to disable auto_prepend/append with "none" filename -- Allow safe CGI calling through #!php style scripts - -March 2 1998 Version 3.0b6 -- Made [s]printf handle %ld -- Changed CGI version to only open regular files as input script -- Added ignore_missing_userfunc_args directive to suppress warnings messages - about missing arguments to user-defined functions -- Added Postgres function - pg_cmdtuples(), by Vladimir Litovka -- Disabled command line options if used as CGI -- Changed CGI version to use PATH_TRANSLATED as the script file name -- Link with solid shared library instead of static one -- Fixed a crash with functions that aren't being called correctly -- Fixed file descriptor leak in auto-prepend/append -- Imap module is usable. See README in dl/imap. - -February 24 1998 Version 3.0b5 -- Made the URL aware file functions be enabled by default -- Fixed an unlikely crash bug in the parser, with uninitialized array elements - which are refered to as objects. -- Fixed several fields that were being incorrectly read in Sybase CT. -- Fix Apache-1.3 related SIGHUP problem which was preventing php3.ini from - getting re-read on a SIGHUP -- *** WARNING *** Downwards incompatible change: The plus operator (+) is not - longer overloaded as concatenation for strings. Instead, it converts its - arguments to numbers and performs numeric addition. -- Add Stig and Tin's bdf2gdfont script to extra/gd directory -- Added join() as an alias to implode() -- Made implode() accept arguments in the order used by explode() as well -- Made $php_errormsg local in function calls -- Fixed Apache configuration directive bugs -- Added a number of .ini directives to Apache .conf directive list -- Fixed a 'memory leak' with strtok() -- echo/print now handle binary data correctly. -- NEW now accepts any expression for the class name argument. -- Add ImageDashedLine() GD function -- Add arg_separator .ini directive so the '&' GET method separator can be - changed to ';' for example. Corresponding php3_arg_separator Apache .conf - directive works as well. -- Walked around an implementation side effect of switch(). <? switch(expr) { ?> - now works. -- Added memory caching, resulting in a significant performance boost -- Added support for for(): .. endfor; loops -- Added a new predicate - empty($var). Returns true if $var is not set, - or is FALSE. Returns false otherwise. -- Added is_integer() (same as is_long()) and is_real() (same as is_double()). -- Added sizeof() as an alias to the count() function -- Added --enable-force-cgi-redirect, to prevent the CGI from working if - someone directly accesses PHP not through Apache's CGI redirect - (off by default). -- Fixed marking of deleted dBase records. Noticed by Simon Gornall - <simon@oyster.co.uk>. -- Fixed fixed "%%" bug in [s]printf -- Fixed a UMR (initialized memory read) in the Oracle code -- Potential fix for mysql-related SIGPIPE problem which caused httpd to spin -- Made PHP responsive to the Apache link status (stop executing if the link - dies). -- Fixed a crash bug with StrongHold and secure pages -- Fixed StrongHold installation -- Optimized the function call sequence a bit. -- Fixed Sybase/CT date/datetime/money fields work to correctly. -- Fixed Apache module startup problems - php3_module_startup should only be - called once. -- Fixed ord() with characters >127 -- Fixed bug in file_exists() function -- Fixed stripslashes() to remove the escaping quote (instead of backslash) - in case magic_quotes_sybase is true. -- Also make echo and print automatically remove trailing decimal zeros. -- Added htmlentities(), currently handling only ISO-8859-1 entities -- "0" is no longer considered false, the only string which is false is the - empty string "". -- Added 'true' and 'false' keywords -- Added 'xor' (logical exclusive or) -- Automatic conversion from double to string removes decimal trailing zeros. -- Added arsort() and rsort() to sort in descending order. -- Turned on "XLATOPT_NOCNV" by default for uODBC/Solid. -- Added support for a port number in the mysql_(p)connect() functions -- Fixed a file descriptor leak in the configuration parser. -- Fixed a few buglets with syntax highlighting with certain language keywords -- Added functions to control minimum severity level of Sybase messages to - display. -- Added highlight_string() - behaves like highlight_file(), only instead - of highlighting a file, it syntax highlights the contents of its - argument. -- Renamed show_source() to highlight_file(). show_source() is still - supported for downwards compatability. -- Fixed a bug in class inheritence - member functions with upper case - letters in their names couldn't be redefined. -- Made chown(), chgrp() and chmod() return TRUE/FALSE instead of 0/-1. - -February 02 1998 Version 3.0b4 -- Fixed a segfault bug in one of the unified ODBC error messages. -- Set default file modes to binary on Win32 (solved a lot of bs) -- Fixed file copy on Win32 -- MIME file uploads fixed on Win32 -- Added contributed icons by Colin Viebrock (undex extra/icons) -- Fixed the debugger enough to call it "beta code". -- Fixed some leaks in the Oracle module, tidied up the code a bit. -- Added __FILE__ and __LINE__ which evaluate to the currently parsed file - and currently parsed line respectively. -- Added ImageColorAt(), ImageColorSet(), ImageColorsForIndex(), and - ImageColorsTotal() to allow manipulating the palette of GIF images. -- Rename '--enable-url-includes' option to '--enable-url-fopen-wrapper' to - better describe what it does, and pay attention to the setting. -- Added optional parameter to the file(), readfile() and fopen() functions - to look for files located in the include path. -- Fixed bug that allowed the file() and readfile() to open files in the - include path inadvertantly. -- Fixed a (documented) bug in printf()/sprintf() with hard limited strings - and alignment (e.g. %-.20s). -- Optimized several quoted string routines. -- Added error_log ini directive to select where errors get logged when - log_errors is turned on or the error_log() function is used. -- Added the ability to direct errors to log files instead of or in addition - to the script output. Use the new display_errors and log_errors - php3.ini directives. -- Made environment variables uneraseable by POST/GET/Cookie variables. -- Fixed a bug in the elseif() construct. The expression was being evaluated - even if a previous if/elseif already evaluated to true and got executed. -- Fixed a bug in the exit code parameter of system() -- Tighten up all exec() related functions in safe mode -- Added error_log() function to log messages to the server error log, or - stderr for the CGI version. -- Added support for a general memory limit of scripts. -- Fixed a segfault bug that occured under certain circumstances with shell - escapes ($foo = `...`) -- Made keywords be valid property names of objects. -- Fixed a segfault bug when creating new objects of an unknown class. -- Fixed a problem with the maximum execution time limit, that may have - prevented this feature from working on certain platforms. -- PHP would now warn you with E_NOTICE about unknown escape characters, - e.g. "\f". It would still be considered as a backslash followed by f, - but the proper way of writing this is "\\f" or '\f'. -- Added support for ${...} inside encapsulated strings. Supported: ${foo}, - ${foo[bar]}, ${foo[0]}, ${$foo[$bar]}, ${$foo->bar} and ${$foo} -- Fixed a bug in automatic persistent link reconnect of the Sybase/DB module. - Thanks to Steve Willer for finding that 'stealth' bug! -- Fixed a crash bug in the GET/POST/Cookie parser in case of regular - and array variables with the same name. -- Added round() function. -- Can't use encapsed strings as variable names anymore, ie. $"blah blah". -- Fixed bug in gethostby*() functions that resulted in a core dump. - (Noticed by torben@coastnet.com.) -- Fixed bug in dbase_get_record that prevented number and date fields - from being properly decoded. (Thanks again to colins@infofind.com.) -- Make dbase_get_record include a 'deleted' field that indicates whether - that record had been marked for deletion. -- Fixed bug in dbase library that stomped on the deleted flag of the first - record in the file if it was set. (Thanks to colins@infofind.com.) -- Fixed putenv() to not report a memory leak and possibly prevent a bug - from that memory being freed. -- Added setlocale() -- Added pg_fieldisnull() (by Stephan Duehr) -- Changed pg_exec() to always return a result identifier on succees -- Solid linking fixes (tries to find the right library) -- Fixed a but with date() and the 'w' element. -- Tried to eliminate unimportant memory leak notifications. -- Made min() and max() backwards compatible and able to handle doubles. -- Add fgetc() function -- Fixed bug in getmyuid(), getmyinode() and getlastmod(). Thanks to - khim@sch57.msk.ru for pointing this out. -- Fixed http:// URL includes with no path specified send request for /. -- Added GetAllHeaders() (Apache-only) -- Added workaround that made the Image text functions 8-bit clean -- Made snmp internally compilable for Win32 (not the unix one though), - only adds 2k to binary size, so no reason not to have it there. -- Fixed ldap loading on Win32 -- Fixed MySQL Info function on Win32 platform -- Fixed compilation of syntax highlighting mode - -January 17 1998 Version 3.0b3 -- Added mysql support under windows ;) happy happy joy joy -- Fixed dbase.dll for Win32 to actualy load now. -- Enhanced the convertor to recognize ?> as a php-close-block as well. -- Fixed potential SetCookie() core dumps -- Changed print to be an expression instead of a statement. That means you can - now do stuff like foobar() or print("Unable to foobar!"). echo has NOT been - changed. -- Removed the flex optimization flags to reduce the size of the scanner -- Added memory leak logging into apache log files (apache module only) -- Fixed a nasty bug in one of the internal stacks. This may have caused - random crashes in several occassions. -- Fixed bug in ImageGif() making it hang sometimes -- Added ImageLoadFont(), ImageFontWidth() and ImageFontHeight() -- error_reporting() now returns the old error reporting level -- Fixed url includes/opens not working under Win32 -- Fixed errorneous handling of multipart/form-data input -- Added rawurlencode(), rawurldecode() and changed urlencode() and urldecode() - a bit too. -- Fixed a bug in [s]printf, sign was forgotten for doubles. -- Fixed a segfault bug in pg_fieldprtlen(), and made it accept field names - in addition to field offsets. -- Made the setup script a little more user-friendly. -- Added is_long(), is_double(), is_string(), is_array() and is_object() -- Fixed a bug in freeing of mSQL results. -- Improved pg_exec() to properly return true or false with queries that don't - return rows (i.e. insert, update, create, etc) -- Added get_cfg_var() to enable checking cfg file directives from within - a script. -- Fixed a bug with urlencode() and characters 0x80-0xff -- Changed the behaviour of ereg_replace to more intuitive. The - backslashes other than valid existing back references in the second - argument are no more evaluated as escape sequences. -- Fixed a bug in the configuration file loader and safe mode. -- Fixed a bug with configuration variables taken from the environment. -- Added <script language=php> </script> as PHP open/close tags, to allow - the use of editors such as Microsoft Frontpage. -- Fixed a bug in the default php3.ini directory - it wasn't defaulting to - /usr/local/lib properly. -- Added support for \r\n line endings -- Fixed a bug that may have prevented POST method variables from working - with certain scripts when using the CGI version. -- Convertor: Added support for single-quoted strings -- Fixed segfault bug in the Adabas module, with queries that don't return - rows (update, insert, etc). - -December 22 1997 Version 3.0b2 -- Changed variable type conversions that do not specify base to always use - base 10. "010" is no more 8, it is 10. Use intval ($x, 0) to get C-style - octal and hex numbers recognized. -- Fixed a possible segfault bug in several functions, when using the concat - operator and possibly other operators/functions. -- # is no longer accepted as a comment in php3.ini. Use ; instead. -- Added browscap support -- Configuration file directives are now case-sensitive -- Fixed msql_tablename() and msql_dbname() -- Added a PHP/FI 2.0 -> PHP 3.0 convertor -- Added support for shell/perl-style single quotes -- Added support for execution of external programs using backquotes ($a=`ls -l`) -- fixed mail() on windows, also fixed memory leaks in mail on windows -- added sendmail_from to handle return route on windows -- Changed the way the config file is searched. The file name is now - php3.ini (hardcoded), and it'll be looked for in: local directory, $PHPRC - and builtin path designated by ./configure under UNIX or Windows directory - under Windows. -- Fixed ereg_replace replacing empty matches and a one off buffer overflow -- Fixed File upload on windows platform -- Fixed a bug that caused 'HTTP/1.1 100 Continue' messages with - Internet Explorer 4.0 and certain scripts that receive POST variables -- Get/POST/Cookie data variables are from now *ALWAYS* strings. If you want - to use them in integer/real context, you must explicitly change their types. - This was done in order to avoid possible loss of data when doing these - conversions automatically. -- Variables named as keywords are now allowed (e.g. $function, $class, etc) -- Fixed a problem with msql() and mysql() with NULL fields -- Fixed a segfault bug with class declarations -- Fixed bugs with FOR loops and include() from within eval() -- Changed include() to be executed conditionally. PHP-3.0 efficient - unconditional include is now require() - -December 08 1997 Version 3.0b1 -- Switched to public beta test phase -- Generalized unset() and isset() to work on any type of variables, including - specific array indices or object properties (e.g., unset($a[4]) now works). -- Added support for object references inside encapsulated strings - (for example, 'echo "Username: $user->name"' now works) -- Added arbitary precision math support (basic operations with - unlimited range numbers, and support for unlimited decimal digits) -- Apache module can now handle preprocessed scripts (by using: - AddType application/x-httpd-php3-preprocessed .php3p - in the Apache configuration) -- Made settype() pass its first parameter by value. Improved it to be able - to convert to arrays and objects (originally by Steve Willer) -- Implemented CPU time limit on scripts when setitimer() is available -- Computed field names in the Sybase/CT and Sybase/DB modules are now named - computed, computed1, computed2, ... -- Added Sybase/CT client/server message handlers and updated the Sybase/DB ones -- Made the regexp function automatically take arguments by reference - when necessary -- Added builtin support for auto append and prepend in the parser level -- Improved the Sybase/CT sybase_query(). Should be more stable now, and - hopefully work with a wider range of queries. It's difficult to work - without docs, though, so it may still not be 100% right... -- Changed error messages to show error type, file and line with bold -- Added support for autoprepend and autoprepend -- Added some more warning flags if gcc is used - -December 03 1997 Version 3.0a4 -- Improved the internal functions API - no need to explicitly pass - parameters by reference to internal functions that specifically - require them, e.g. sort(), ksort(), reset(), count(), etc. - This is *STILL* downwards compatible with the previous alphas, - in the sense that you can explicitly pass the arguments by reference - if you want to. -- use srandom/random instead of srand/rand if available -- Added [m,My]sql_listfields() for downwards compatability -- -p now replaces .php3 extension with .php3p (otherwise it adds .php3p) -- Added C++ style comments (// comment) -- Fixed # commenting to terminate at a close PHP tag -- Added \0 back reference for full string match to *reg*_replace and - added backslash escaping to replace string -- Fixed a few bugs in the Sybase DB-library module. -- Added Sybase CT-library support. It should be considered experimental. - Syntax is identical to the one of the DB-library. Allows people to - connect to MS-SQL servers from Linux without having to pay for a - library! -- Beautified phpinfo() -- Add ImageColorClosest() and ImageColorExact() GD functions -- Make all .ini directives work as Apache .conf directives as well -- Added PHP2-like File() function with PHP3 URL support -- Upgraded the Sybase interface. It's practically MySQL compatible now! - Among other things, added sybase_fetch_array() and sybase_fetch_object(). -- Fixed problem in multi dimensional array handling and self modifying - operators (+=, -=, etc). -- Safe Mode file open implementation -- SVR3 portability problem fix - -November 23 1997 Version 3.0a3 -- Made the global statement behave like PHP 2 with undefined variables -- Added msql_fetch_object() and msql_fetch_array() -- Switched between the 1st and 2nd parameters to explode(), so that it acts - like split() -- Fixed passthru(), exec() and system() functions -- Implemented second optional parameter to intval() to specify conversion base - (The default is to assume you want to do a base 10 conversion.) -- Implemented SQL safe mode for MySQL -- Read UploadTmpDir from php3.ini instead of apache conf files -- Added mysql_fetch_object() and mysql_fetch_array() -- Changed function->old_function. function is now an alias to cfunction. -- Split the magic_quotes directive to get/post/data and other -- Added generic copy() function -- Added a $GLOBALS[] array, which contains all global variables -- Fix broken getimagesize() function -- Made mysql_fetch_field() and msql_fetch_field() optionally accept a 2nd argument -- Fixed mysql_data_seek() and msql_data_seek() -- Changed list assignment to list(...) and array init to array(...) -- Made <?php_track_vars?> work -- cgi when not in debug mode uses regular malloc(), free() functions now -- Added preliminary support for perl-style list assignments -- Fixed a bug in mysql_result() and msql_result() when specifying table -- renamed internal error-handling function and levels -- Added basename and dirname functions similar to sh counterparts -- Added base64_encode() and base64_decode() -- Support Basic authorization for http url includes -- Added parse_url() function to extract url components -- Made it possible to use anonymous ftp on URL includes -- Fixed url includes to handle different URLs better -- Fixed mysql_field*() functions -- Made mysql_connect() smarter, after a mysql_close() (applies to msql and pgsql too) - -November 6 1997 Version 3.0a2 -- Fixed a segfault bug caused by non-persistent connect in [m,My,Postgres]SQL modules -- Fix command line argument handling -- Made empty array list assignments work ($a=({});) -- Made '$' escaping optional when a variable name parsing isn't possible -- Added support for mysql_[p]connect(host) and mysql_[p]connect(host,user) -- New layout in phpinfo() -- Update Oracle extension to use php3_list functions -- Add includepath support -- Add #!php shell script escape support -- Change name of CGI/command line version from php3.cgi to php -- Add SNMP extension -- show_source() support -- Parsing of command-line args for CGI version -- Support for backreferences in ereg_replace -- Support for hexadecimal numbers directly at the scanner level -- Support octal numbers directly at the scanner level -- Fixed problem with huge html files (with little or no php code) -- Fix eval() empty string argument core dump -- renamed 'install' to 'setup' to be more accurate and avoid name conflict -- Fixed Oracle compilation -- Fixed mSQL 1.0 compilation -- Fixed a problem in the mSQL, MySQL and PostgresSQL drivers and NULL fields. -- Fixed the GLOBAL statement to be able to declare an array. - -October 29 1997 Version 3.0a1 -- Start with excellent new parser from Andi and Zeev diff --git a/ChangeLog.TODO b/TODO-LeftOver index 17b9223544..17b9223544 100644 --- a/ChangeLog.TODO +++ b/TODO-LeftOver |