★ wanayoo — archive 1999 http://php.net/ChangeLog.php3Nouvelle recherche | Portail wanayoo

PHP Home Page

Downloads
Documentation
Quick Reference
Getting Help
PHP News last updated: Dec 23, 1999
Projects using PHP
PHP Links
Mirror sites
PHP 3.0 -> 3.0.14 Changes
View the source code for this pageSearch the site


January 11, 2000, Version 3.0.14

  • Fixed broken GD autoconf check - GIF support was not detected unless libpng and libz were both installed on the system (Rasmus)
  • Fix safe-mode problem in popen() (Kristian)
  • Fix safe-mode problem when resource had multiple consecutive /'s (Rasmus)
  • Remove written permission clause from license

    January 1, 2000, Version 3.0.13

    • Fixed timezone conflict on AIX (Sascha)
    • Fixed mysql_errno() problem when compiled against MySQL 3.23.x (Rasmus)
    • Fixed buffer overruns in iptcembed(). (Thies)
    • OCI8 now returns NULL values in LONG columns correct. (Thies)
    • Check for broken apxs (Rasmus)
    • explode() is now binary-safe. (Thies)
    • strpos() is now binary-safe. (Thies)
    • Add configure command to phpinfo() output (Stig)
    • added sketchy support for GNU recode 3.5 (Kristian)
    • Added tmpfile() function (Stig)
    • fixed trim(), chop(), ltrim(), etc. to remove NULL characters as well. (Colin Viebrock)
    • krsort() added, although someone forgot to mention it ... (Thies)
    • Upgraded regex library to alpha3.8 (Sascha)
    • RFC-854 fix for internal FTP-Code. Commands have to end in "\r\n" (Thies)
    • GD-1.7.x detection (Rasmus)
    • added patch to functions/mime.c so that form submit with lynx and old IE works properly (closes bug #2362, code by ash@ash.de)
    • tempnam() now uses mkstemp() if available (Stig)
    • serialize()/var_dump() now honor the precision set in php3.ini for double-values. (Thies)
    • Add mysql_change_user() function (Rasmus)
    • Fixed garbage returned at the end of certain Sybase-Columns (Thies) Patch submitted by: neal@wanlink.com
    • XML_Parse_Into_Struct() no longer eats data. (Thies)
    • Added portable access to stdio streams by using the "php://stream-name" syntax (Sascha)
    • Fixed zombie problem when using backquotes. eg: $x = `ls /`; (Thies)
    • Locale settings are restored correctly at request end if they were changed in the script (Jouni)
    • Fixed wrong values returned by gmmktime() and its inconsistent behaviour. Now gmmktime([args]) == mktime([args]) + date('Z', mktime([args])) should always be true (Jouni)
    • Proper handling of the slightly different behavior of Fdf Toolkit 4.0 (U. Steinmann)
    • Fixed LOB/Persistent-Connection related OCI8-Crash (Thies)
    • Added a function for applying a gamma correction to a GD image Example: imagegammacorrect($im,1.8,2.2); (markonen)
    • Added a function for applying a gamma correction to a HTML color value Example: $maccolor = gamma_correct_tag("#cccccc",2.2,1.8); (markonen)
    • Ora_Fetch_Into now resets the returned array in all cases (Thies)
    • Fixed SEGV in mcal make_event_object() and typo in mcal_list_alarms() (Andrew Skalski)
    • Fixed memory leak in pdf_open_memory_image() (Uwe Steinmann)
    • 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)
    • Fix longstanding Apache .conf nested directive problem (Rasmus)
    • OCI8 fix for fetching empty LOBs (Thies)
    • OCI8 supports appending and positioning when saving LOBs (Thies)
    • Added Mcal support (Mark Musone)
    • OCI8 doesn't use define callbacks any longer. (Thies)
    • Safe-Mode fix for oci8 savefile() function. (Thies)
    • Added ldap_get_values_len function (Stig Venaas)
    • Added more functions to posix module (Kristian).
    • Close loophole that allowed virtual() to be used on a PHP file without an error (Ken Coar)
    • Add versioning support for shared library (Sascha)
    • Fix bug with '%' in error_log() strings when run as Apache module (Ken Coar)
    • Return false from mysql_query() and mysql_db_query() in case saving the result set data fails (Zeev)
    • Make --with-apache --with-xml pick up Apache-bundled expat lib (Rasmus)
    • Carry special Apache CFLAGS into PHP build for apxs build This should fix any PHP/mod_ssl compile issues (Rasmus)
    • Fixed a crash that would occur if wddx_deserialize did not receive a valid packet (Andrey)
    • Fixed sem_get() on AIX (Sascha)
    • Removed --with-shared-apache to avoid problems with Apache 1.3.9 (Sascha)
    • Improved speed of uniqid() by using the combined LCG and removing the extra usleep() (Sascha)
    • Introduced general combined linear congruential generator (Sascha)
    • OciFetchInto now resets the returned array in all cases (Thies)
    • Fixed flushing of cached information to disk in DBA's DB2 module (Sascha)
    • DiskFreeSpace() fix (Thies)
    • pdflib 2.01 support (Uwe Steinmann)
    • fixed mem-leak in sysv-shm (Thies)
    • Add IMSP module (Chuck Hagenbuch)
    • Add gd-1.6.x PNG functions (Rasmus from drew@elysium.ltd.uk)
    • Fix [s]printf 0-padding issues (Rasmus)
    • Fix a crash bug in number_format(), in case of very large numbers (Zeev)

    July 28, 1999, Version 3.0.12

    • gmktime/mktime DST fix (RL and Jim)
    • Add imap_search (Chuck Hagenbuch)
    • Added locale support for Perl Compatible Regexp functions (Andrey)
    • fix crash on invalid URLs in fopen wrappers (Sascha)
    • Add support for gd1.6 (disables the ImageCreateFromGif and ImageGif functions because gd1.6 no longer supports GIF format files) (Jim)
    • Fixed popen and pclose functions on Windows. (Jim)
    • Fixed subprocess creation on Windows when used with IIS (Jim, Dave Cramer)
    • Support for Swatch(r) Beat(tm), also known as Internet Time. Use by including "B" in the date() or gmdate() format string. (markonen)
    • added gmstrftime() (like strftime() but prints out in GMT not local time) (David Sklar)
    • A hack to allow 4bit antialiasing by modifying Freetype2 source (markonen)
    • Initial Freetype2 support. You need to use the 1.2 compatibility API for now.. (markonen)
    • added strtotime() function from with some modifications (Andrey)
    • fix some problems in the socket buffering system (Sascha)
    • allow subsecond precision in timeout parameter to fsockopen (Sascha)
    • OCI8 - got rid of most Callback-Code (there's a bug in the Oracle Client-Libraries). (Thies)
    • OCI8 - added OCISetPrefetch($stmt,$rows) for automatic prefetching of data. (Thies)
    • make buildable on OS/2 (Brian Havard )
    • added Chad Cunningham's patches for Mac OS X Server compatibility (markonen)
    • added ldap_error(), ldap_errno() and ldap_err2str() functions (kk)
    • fix --with-shared-apache (Sascha) NOTE: Use of this is deprecated. Refer to INSTALL.DSO instead. Future releases do not support this option.
    • support for accessing the raw POST data when its content-type isn't already understood by PHP (Jim)
    • fix pgsql_fetch_array/pgsql_fetch_object (Sascha)
    • detect missing getrlimit function (Jim Jag.)
    • fix diskfreespace() on Windows post-OSR2 again (Jim)
    • added Chuck Hagenbuch's imap_getmailboxes(), imap_getsubscribed(), and imap error queues; added preliminary support for persistent IMAP connections. <askalski@chekinc.com>

    June 27, 1999, Version 3.0.11

    • detect missing getpgid function, fix posix_getsid (Jim)
    • fix diskspacefree() on Win95 pre-OSR2 (Jim)
    • fix APXS argument order (Sascha)
    • decrease lexer memory footprint (see #1600) (alanc@soar.berkeley.edu, Sascha)
    • add dbase_replace_record() (Greg , Sascha)
    • bringing preg_split() behavior in line with split() (Andrey)
    • fix APXS build on AIX (Rasmus)

    June 25, 1999, Version 3.0.10

    • fix base64_decode to match RFC 2045 semantics (Sascha & bfranklin@dct.com)
    • fix potential segfault in tempnam() (Sascha)
    • fix buffer overruns in dbase_get_record() (Sascha)
    • workaround for negative 1-digit numbers not returned correct via OCI8 (Thies)
    • fix APXS linking wrt to static libraries (Sascha)
    • OCIExecute would sometimes return true on error (Thies)
    • Made dba_open modes consistant with those from dbm_open. Specifically, 'w' is read/write but will NOT auto-create a non-existant file. To do this, use 'c' which is read/write and auto-create. (Jim Jagielski)
    • reverted split() to work the same way as pre 3.0.9 versions (Andrey)
    • moved easter_date and easter_days to the calendar extension (Jim)
    • fix VPATH APXS build process (Sascha)
    • make workaround for UCD SNMP deallocate problem optional (Sascha) (see the documentation for a more verbose description)
    • make fgetcsv() understand multi-line fields and embedded quotes (RL & Nick Talbott)
    • Add extension_loaded() function (Jim)
    • fix URL wrapper functions to play nicely with the socket code (Sascha)
    • fix persistent definitions of constants in the mcrypt module (Sascha)
    • Fix gmmktime() problems (RL and Cole Tuininga)
    • Added support for "localhost:/path/to/socket" syntax for mysql_connect (Thanks to Orion Poplawski .)
    • Added support for file-upload arrays and put file-upload vars into HTTP_POST_VARS (Brian)
    • fix a string allocation bug introduced in 3.0.8 in the MySQL module (Sascha)
    • overhaul of Hyperwave module, mainly code clean ups, some bug fixes
    • fixed a bug in preg_split() that would return nothing if nothing matched (Andrey)
    • fixed a bug in preg_replace() that had to do with "\\" at the end of the replacement string (Andrey)
    • open_basedir now resolves symlinks in the configuration (S. Steffann)
    • added 'Z' flag to date(): timezone offset in seconds (C. Viebrock)
    • added 'L' flag to date(): 1 if it's a leap year, 0 if it isn't (C. Viebrock)
    • fixed 't' flag in date() (J. Ahto)
    • added support for upcoming pdflib 2.0 (U. Steinmann)
    • mail() on Win32 will only add Date: and From: headers if not supplied by the caller. (F. Kromann)

    June 6 1999, Version 3.0.9

    • added preg_quote() function (Andrey)
    • fixed OCI8 crash for "Fetch out of sequence". (Thies)
    • fix deallocation bug in dba's db2 module (Sascha)
    • add "--enable-dmalloc" option (Sascha)
    • added workaround for 1-digit numbers not returned correct via OCI8 (Thies)
    • removed the limit for Ora_GetColumn/Ora_Fetch_Into again. (Thies C. Arntzen)
    • fix WDDX buffer bug (Sascha)
    • fixed Ora_GetColumn/Ora_Fetch_Into for LONG/LONG RAW (had to put in the 64K limit again). (Thies C. Arntzen)
    • added easter_date() function: returns timestamp of midnight on Easter of the given year (valid for years 1970-2037) (Colin Viebrock)
    • added easter_days() function: returns number of days after March 21 on which Easter falls for a given year (Colin Viebrock)
    • added 't' option to date() function: returns number of days in the current month (Colin Viebrock)
    • enabled warning when header() is used after the headers have been sent in in non-debug builds (Jim)
    • fixed connection and cursor shutdown in oracle-module (this is a fix for the previous fix). (Thies C. Arntzen)
    • fixed shutting down of statements in OCI8 if user logs-off. (Thies C. Arntzen)
    • fixed very rare crash in shutdown of oracle-cursors. (Thies C. Arntzen)
    • added Perl Compatible Regular Expressions support (Andrey Zmievski)
    • fixed a couple of bugs in split()
    • cpdf module now supports adding hyperlinks, annotations and outline. Some testing was suggesful. (U. Steinmann)
    • OCI8 now supports LONG/LONG RAW > 64K (Thies C. Arntzen)
    • add connection timeout to p?fsockopen (Sascha)
    • fix socket buffering subsystem for blocking sockets (Sascha)
    • fix fopen-wrappers.c for url's (danny)
    • fix fgets() semantics (Sascha)
    • fix segfault in wddx_serialize_value (Sascha)
    • add support for using PostScript Type 1 fonts for text in gd.c using T1lib (ftp://sunsite.unc.edu/pub/Linux/libs/graphics/t1lib-0.?.tar.gz) (Jouni Ahto)
    • add bin2hex (Sascha)
    • add mhash support (see http://sasweb.de/mhash/ ) (Sascha)

    May 22 1999, Version 3.0.8

    • OCI8 fix for RAW and LONG RAW (Binary data) - sorry currently limited to 64K (Thies C. Arntzen)
    • Added support for pdf creation lib from FastIO, www.fastio.com This has not been tested, yet (U. Steinmann)
    • Rewrite socket buffering subsystem (Sascha)
    • Fix semaphore support on glibc-2.1 systems (Sascha)
    • Add headers_sent() function which returns true if the http headers have been sent out already
    • Ora_GetColumn and Ora_Fetch_Into can now return "LONG" and "LONG RAW" columns > 64K (Thies C. Arntzen)
    • Another str_replace() fix to check for a 0-length haystack (RL)
    • Add range() and shuffle() functions (Jim)
    • Fix glibc-2.1.x (RH6) related crashes (ssb)
    • Fix md5 on 64-bit platforms (Sascha)
    • Let exit/die set exit status in CGI version (Sascha)
    • Make substr() binary-safe (RL)
    • OCIError can now be called without any arguments to check the error of a failed OCILogon. (Thies C. Arntzen)
    • added XML_Parse_Into_Struct. Parse XML without using callbacks - This makes life far easier when using the XML-Parser from classes etc. (Thies C. Arntzen)
    • Small fix in configure.in: doesn't try to add in Informix support anymore if INFORMIXDIR is set but --with-informix not specified (Jouni Ahto)
    • add mcrypt module (Sascha)
    • added REFCURSOR (including nested table) handling for OCI8. (Thies C. Arntzen)
    • finalized new behaviour of hw_modifyobject() (U. Steinmann)
    • added OCINLogon function (New-Logon) - if you need you "own-private" transaction context. (Thies C. Arntzen)
    • GetImageSize now also returns the bits/sample ("bits") and samples/pixel ("cannels") -> currently only works for JPEGs (Thies C. Arntzen)
    • changed parameter evaluation of hw_modifyobject() (see docs) (U. Steinmann)
    • fixed a sporadic crash when shutting down a request that used the ora_** calls. (Thies C. Arntzen)
    • Add fgetcsv() function (RL from Nick Talbott)
    • fixed mem-leak in ora_bind (Thies C. Arntzen)
    • fixed length of bound variables returned from ora_bind. (Thies C. Arntzen)
    • Added V1 of DBA (Sascha)
    • made strtr() binary safe and faster. (Thies C. Arntzen)
    • added Oracle-OCI8 persistent connections (Thies C. Arntzen)
    • fixed OCIDefineByName crash. (Thies C. Arntzen)
    • fixed some NULL-column related problems in OCI8-module. (Thies C. Arntzen)
    • avoid stripping double slashes when fopen'ing files (Sascha)
    • sql_regcase() change: only apply to alphabetic characters (Sascha)
    • add snmprealwalk() (Sascha Schumann)
    • fix serious bug in strftime() (Sascha Schumann)
    • fix bug in ucwords() (Sascha Schumann)
    • optimized fgets() and fread() (ssb)
    • memory leak in operators.c fixed
    • socket leak fixed (Sascha Schumann)
    • Fixed the XML bug that caused garbage behind attributes
    • Some Informix driver improvements.
    • PUT method support (RL from mlemos@acm.org)
    • Add ldap_mod_add(), ldap_mod_del() and ldap_mod_replace() (Gerritt Thomson)
    • Fix parameter count problem in odbc_setoption()
    • Replace broken str_replace(). The fix in 3.0.7 was bogus (Sascha Schumann)
    • Really fix implode() this time. The fix in 3.0.7 was bogus (RL)
    • Added more option to the date() function: (Colin Viebrock) 'g' - hour, 12-hour format, no leading zeros 'G' - hour, 24-hour format, no leading zeros 'n' - month, numeric, no leading zeros
    • Make fgetss() slightly smarter (RL)
    • Add strip_tags() which uses the fgetss state-machine but acts on a string (RL)
    • Add CRYPT_SALT_LENGTH constant (RL)

    March 1 1999, Version 3.0.7

    • Added pdf_put_image and pdf_execute_image
    • Initial work on an ImageMagick module - doesn't do anything yet
    • Make configure script detect Netscape's LDAP SDK automagically
    • Fixed Oracle-OCI8 module for windows.
    • Add OCIRowCount function. (Number of affected rows for update-statements)
    • Add OCIDefineByName function.
    • Change the behaviour of open_basedir. It's now possible to supply more than one directory. open_basedir paths from parent directories are now automatically inherited.
    • fix rand() and mt_rand() to make the ranges work correctly
    • htmlspecialchars() and htmlentities() are now binary safe.
    • Add extract() function.
    • Oracle-OCI8 driver now supports BLOBS/CLOBS and IN/OUT binding of local php variables.
    • Clean up apxs build
    • Add INSTALL.REDHAT file to walk RedHat users through the install
    • Added YP/NIS module from Stephanie Wehner
    • Added optional second argument to mysql_fetch_array(); MYSQL_ASSOC will cause the resulting array to contain the associative indices only, MYSQL_NUM will cause the array to contain the numeric indices only (like mysql_fetch_row()) and MYSQL_BOTH would cause them both to be defined (default).
    • Backport the Zend debugging memory manager into the PHP 3.0.x tree.
    • Add function_exists() function.
    • Add another version of WDDX module (we need to pick a single implementation here)
    • Fixed includes for iODBC to support both the old and the new LGPL version
    • Add flock() function
    • Fix implode() bug - When imploding an array that contained unset() elements it wasn't correctly skipping past these
    • Add connection_status() function. This returns the raw bitfield which indicates whether the script terminated due to a user abort, a timeout or normally. Note that if ignore_user_abort is enabled, then both the timeout state and the user abort state can be active
    • Add connection_timeout() function. This one can be called in a shutdown function to tell you if you got there because of a timeout
    • Add ignore_user_abort() function and .ini/.conf directive of same name
    • Fix connection abort detection code - It should now work reliably with Apache. Also added a user-level connection_aborted() function designed to let people check whether the user aborted the connection in a user-level shutdown function.
    • Add pfsockopen() function
    • Improvements in FreeType support: Macintosh fonts work, and non-antialiased output is considerably cleaner
    • Fixed checkdate() function, range of valid years is now 0 to 32767
    • Make sure XML element attributes have the right character encoding
    • hw_insertdocument() returns object id now
    • Add pdf_open() warning in configure and documentation
    • Add diskfreespace() function
    • Added aspell support
    • Iptcparse would sometimes find a wrong tag.
    • Force var_dump() to output headers
    • Add optional 3th parameter to ora_fetchinto.
    • Serialize and var_dump no longer show array elements that have been unset.
    • Add IptcEmbed() function (can replace an APP13-Marker in a JPEG file)
    • Add OCI8 module for Windows
    • Fix bug in pdf_close() function
    • Add WDDX support (see http://www.wddx.org for more info)
    • Add similar_text() function
    • Constructors of parent classes weren't accessible to derived classes (as of 3.0.6). Fixed.
    • Introduce simple regex compilation cache
    • Add gettimeofday() function
    • Add getrusage() function

    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.
    • Added support for Empress RDBMS using unified ODBC inteface and Empress ODBC client driver (for Empress v8.10 and above).

    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

    Sept. 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 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 libphp3.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

Site Statistics


Who's responsible for this?
Top of this page

Site
Hosting:



Located in
United States
Elements of this website are subject to copyright.
Questions about installing or using PHP should be directed to one of the mailing lists.
Only questions about the website should be directed to webmaster@php.net.