mirror of
https://github.com/php/php-src.git
synced 2024-11-24 10:24:11 +08:00
374 lines
20 KiB
Plaintext
374 lines
20 KiB
Plaintext
PHP 4.0 NEWS
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
?? ?? ????, Version 4.0 Beta 4
|
|
- Made preg_quote() binary-safe. (Andrei)
|
|
- Made quotemeta() 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 library)
|
|
- Implemented count_chars(). (Thies)
|
|
- Added class_exists() function (Andrei, Zend library)
|
|
- 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)
|
|
- Fix 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 library)
|
|
- 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 library)
|
|
- 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 library)
|
|
- 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)
|
|
- Fix 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 library)
|
|
- 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 library)
|
|
- 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 library)
|
|
- 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 PHP3 to PHP4 (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 library)
|
|
- Fixed backwards incompatibility with ereg() (Thies)
|
|
- Updated Zend garbage collection with a much more thorough method.
|
|
(Andi, Zend library)
|
|
- Added the ability to use variable references in the array() construct.
|
|
For example, array("foo" => &$foo). (Andi, Zend library)
|
|
- 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)
|
|
- Add support for the Easysoft ODBC-ODCB Bridge (martin@easysoft.com)
|
|
- Fix 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 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 (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 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 (Andrei)
|
|
- 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() (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 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
|