You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

380 lines
20 KiB

26 years ago
26 years ago
26 years ago
26 years ago
26 years ago
26 years ago
26 years ago
26 years ago
26 years ago
26 years ago
26 years ago
26 years ago
26 years ago
26 years ago
26 years ago
26 years ago
26 years ago
26 years ago
26 years ago
26 years ago
26 years ago
26 years ago
26 years ago
26 years ago
26 years ago
26 years ago
26 years ago
26 years ago
26 years ago
26 years ago
26 years ago
26 years ago
26 years ago
26 years ago
26 years ago
26 years ago
26 years ago
27 years ago
27 years ago
27 years ago
27 years ago
27 years ago
27 years ago
27 years ago
27 years ago
27 years ago
27 years ago
27 years ago
27 years ago
Generalized server-API build process on UNIX. Each SAPI implementation now has its own directory under sapi/, just like extensions have theirs under ext/. To make the final targets appear in the main dir, the top-level Makefile includes sapi/NN/Makefile.inc from the selected sapi backend. This is a plan Makefile stub without any autoconf substitutions. Each SAPI backend also has its own config.m4 like extensions (read at the end of diversion 2) and config.h.stub files. Each SAPI backend has to contain: config.m4: just like for extensions, this file contains autoconf/automake directives that end up in the configure script. The only difference is that the sapi config.m4 files are read in diversion (output block) 2 instead of 3. The sapi config.m4 files should set two variables: PHP_SAPI (which sapi backend to choose) and SAPI_TARGET (the name of the resulting library or program, previously BINNAME). If they are not specified, they will default to "cgi" and "php", respectively. Makefile.inc: has to exist, has to define "INSTALL_IT" to the command used to install the final target (or ":" for no operation). It also has to define a plain Makefile rule (without autoconf substitutions) to build $(SAPI_TARGET) Makefile.am: just what you think. Make sure your target is called "libphpsapi_NNN.a", where NNN is the value of PHP_SAPI. Some testing and fixing probably remains. To make everything hang together, I've done some ugly tricks that I can imagine causing some problems. I've built and run the CGI version and built the Apache DSO.
27 years ago
27 years ago
27 years ago
27 years ago
27 years ago
27 years ago
27 years ago
27 years ago
27 years ago
27 years ago
27 years ago
27 years ago
27 years ago
27 years ago
27 years ago
27 years ago
27 years ago
27 years ago
27 years ago
27 years ago
27 years ago
27 years ago
27 years ago
27 years ago
27 years ago
27 years ago
27 years ago
27 years ago
  1. PHP 4.0 NEWS
  2. |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  3. ?? ?? ????, Version 4.0 Beta 4
  4. - Fixed buffer overruns in iptcembed(). (Thies)
  5. - Fixed a bug in ODBC error reporting (Zeev)
  6. - Added PHP_Logo_GUID() and Zend_Logo_GUID() functions, that return the GUIDs
  7. of the PHP and Zend logos used in phpinfo() (Zeev)
  8. - Added GNU Pth support (Sascha, TSRM library)
  9. - Removed select(), fd_set() and fd_isset() - will be reimplemented soon! (Thies)
  10. - Improved Win32 performance significantly by using different mutexes (Zeev,
  11. TSRM library)
  12. - Made quotemeta() and preg_quote() binary-safe. (Andrei)
  13. - Added UDP support in fsockopen(). (Evan)
  14. - Added --disable-pear option (Andrei)
  15. - Renamed libzend repository to Zend (Zeev)
  16. - Added support for thttpd (Sascha)
  17. - Added session.cache_limiter and cache_expire options (Sascha)
  18. - Restored the PHP_VERSION and PHP_OS constants (Zeev)
  19. - Added get_loaded_extensions(), extension_loaded(), and
  20. get_extension_funcs() functions. (Andrei)
  21. - Added date/time stamping to PHP error log file. (Andrei, Joey)
  22. - Added is_subclass_of() function (Andrei, Zend library)
  23. - Implemented count_chars(). (Thies)
  24. - Added class_exists() function (Andrei, Zend library)
  25. - Made strspn() and strcspn() binary-safe. (Andrei)
  26. - Added array_multisort() function. (Andrei)
  27. - Made pageinfo.c thread-safe (Sascha)
  28. - Made implode() binary-safe (Andrei)
  29. - Made strstr(), stristr(), and ucwords() binary-safe() (Andrei)
  30. - Made strtoupper(), strtolower(), substr_replace() binary-safe. (Andrei)
  31. - Fix a crash in the Apache syntax highlighting mode (Zeev)
  32. - Report all ODBC error's not just the one on the top of the stack (lurcher)
  33. - OCI8 now returns NULL values in LONG columns correct. (Thies)
  34. - Added support for a C-like assert() function. (Thies)
  35. - Added CyberCash support. (Evan)
  36. - Made explode() binary-safe. (Thies)
  37. - Made strpos() binary-safe. (Thies)
  38. - Added XML_Set_Object() function, now you can use the XML-Parser from
  39. within an object. (Thies)
  40. - Session vars are now decoded into $HTTP_STATE_VARS[] array and the
  41. globals, depending on track_vars and gpc_globals settings (Andrei)
  42. - Added get_used_files() function - returns a hash mapping the use()'d files
  43. to their full path (Zeev)
  44. - PHP 4 scripts will now obey the max_execution_time setting and actually
  45. time out (Rasmus)
  46. - Added configure command to phpinfo() output (Stig)
  47. - Added optional socket path to the mysql_?connect() functions (Rasmus)
  48. - Made mysql and gd work as shared extensions again (Stig)
  49. - Make the global GET/POST/Cookie variables and their $HTTP_*_VARS[] counterparts
  50. be references to each other (Zeev)
  51. - Added support for the 'use' keyword - behaves like 'require', but will not
  52. use the same file more than once (Andi & Zeev, Zend library)
  53. - Added check to see if a persistent connection is still valid with the
  54. ODBC interface before reusing (nick@easysoft.com)
  55. - Added DBMaker support (patch by Pax Tsai <paxtsai@lion.syscom.com.tw>)
  56. - Renamed "PECL" to "PEAR" (PHP Extension and Add-on Repository) (Stig)
  57. - buildconf now uses build.mk (Stig)
  58. - Disable symlinks to urls (Rasmus)
  59. - Informix driver now reflects version of ESQL/C used (Danny)
  60. - Modified session_register() to take variable number of arguments (Andrei)
  61. - Fixed file descriptor leak in thread safe mode (Zeev, Zend library)
  62. - Added select(), fd_set() and fd_isset() (Evan)
  63. - cpdf support has been ported from php3, needs ClibPDF 2.x (Uwe)
  64. - Fixed a leak when using automatic output buffering (Zeev)
  65. - Introduced PECL - PHP Extension and Code Library
  66. (prounounced "pickle") (Stig)
  67. - Fixed inconsistencies in the implementation of here-docs (Andi & Zeev, Zend
  68. library)
  69. - Fixed a problem with constant class-member initializations (Andi & Zeev,
  70. Zend library)
  71. - Fixed float-compare in min(),max(),a[r]sort(),[r]sort() (Thies)
  72. - Implemented get_html_translation_table() function (Thies)
  73. - Implemented array_flip() function. Returns input-array with key, value
  74. flipped (Thies)
  75. - Added Berkeley DB3 support in DBA (Sascha)
  76. - Implemented 2-Arg version of strtr($str,$translation_array). This can be used
  77. to revert what htmlspecialchars() did (Thies)
  78. - Fixed mem-overwrite in XML_Parse_Into_Struct (Thies)
  79. - Added substr_replace() function (Andrei)
  80. November 16 1999, Version 4.0 Beta 3
  81. - ucfirst()/ucwords() no longer modify arg1 (Thies)
  82. - Fixed strtr() not to modify arg1 (Thies)
  83. - Added Win32 build files for Informix driver and make it
  84. compile with ZTS (danny)
  85. - Added tmpfile() function (Stig)
  86. - Upgraded regex library to alpha3.8 (Sascha)
  87. - Fixed selecting nested-tables in OCI8. (Thies)
  88. - RFC-854 fix for internal FTP-Code. Commands have to end in "\r\n" (Thies)
  89. - Fix OpenLink ODBC support (Stig)
  90. - min(),max(),a[r]sort(),[r]sort(),k[r]sort() now work consistent with the
  91. language-core. (Thies)
  92. - tempnam() now uses mkstemp() if available (Stig)
  93. - serialize() and var_dump() now honor the precision as set in php.ini
  94. for doubles. (Thies)
  95. - Improved the Win32 COM module to support [out] parameters (Boris Wedl)
  96. - Fixed garbage returned at the end of certain Sybase-Columns (Thies)
  97. Patch submitted by: neal@wanlink.com
  98. - Added Microsoft SQL Server module for Win32 (Frank)
  99. - Added support for forcing a variable number of internal function arguments
  100. by reference. (Andi & Zeev, Zend library)
  101. - Implemented getprotoby{name,number} (Evan)
  102. - Added array_pad() function. (Andrei)
  103. - Added new getservby{name,port} functions. (Evan)
  104. - Added session.cookie_path and session.cookie_domain (Sascha)
  105. - Continue processing PHP_INI_SYSTEM knownDirectives after extension=
  106. (Sam Ruby)
  107. - Enable IBM DB2 support - Tested against DB2 6.1 UDB on Linux (Rasmus)
  108. - Added new str_repeat() function. (Andrei)
  109. - Output-Buffering system is now Thread-Safe. (Thies)
  110. - implemented OCI8 $lob->WriteToFile() function - very useful for streaming
  111. large amounts of LOB-Data without to need of a huge buffer. (Thies)
  112. - Added session.use_cookies option (Sascha)
  113. - Added getcwd() function. (Thies)
  114. - XML_Parse_Into_Struct no longer eats data. (Thies)
  115. - Fixed parse_url('-') crash. (Thies)
  116. - added === operator support. (Andi & Thies, Zend library)
  117. - unserialize() now gives a notice when passed invalid data. (Thies)
  118. - Fixed shuffle() so that it no longer breaks on Solaris. (Andrei)
  119. - Added is_resource(), is_bool() functions. (Thies)
  120. - Cleaned up File-Module (Thies)
  121. - Upgraded math-funtions to use new Zend function API (Thies)
  122. - Fixed zombie problem in shell_exec() and $a = `some_command`
  123. constructs. (Thies)
  124. - Thies introduced ZEND_FETCH_RESOURCE2 (Danny).
  125. - Added Informix driver to list of maintained extensions. (Danny).
  126. - Informix driver : Changed ifx.ec to use the new high-performance
  127. ZEND API. (Danny)
  128. - IXF_LIBDIR environment variable specifies alternate Informix library
  129. path for configure (Danny).
  130. - Fixed gmmktime() so that the following should always be true:
  131. gmmktime([args]) == mktime([args]) + date('Z', mktime([args])) (Jouni)
  132. - setlocale doesn't anymore screw up things if you forgot to change it back
  133. to the original settings. (Jouni)
  134. - Switched to new system where ChangeLog is automagically updated from commit
  135. messages. NEWS file is now the place for public announcements. (Andrei)
  136. - Fixed refcount problem in XML module. (Thies)
  137. - Fixed crash in HTTP_RAW_POST_DATA handling (Thies)
  138. - You can use resources as array-indices again (Thies, Zend library)
  139. - Fixed pg_fetch_array() with three arguments (Sascha)
  140. Patch submitted by: brian@soda.berkeley.edu
  141. - Upgraded a lot internal functions to use new Zend function API (Thies)
  142. - fdf support ported; not completely tested with latest version 4.0 for
  143. glibc (Uwe)
  144. - OCI8 connections are now kept open as long as they are referenced (Thies)
  145. - Cleaned up Directory-Module (Thies)
  146. - Small fix in Ora_Close (Thies)
  147. - Ported range() and shuffle() from PHP3 to PHP4 (Andrei)
  148. - Fixed header("HTTP/..."); behaviour (Sascha)
  149. - Improved UNIX build system. Now utilizes libtool (Sascha)
  150. - Upgrade some more internal functions to use new Zend function API. (Thies,
  151. Zend library)
  152. - Fixed backwards incompatibility with ereg() (Thies)
  153. - Updated Zend garbage collection with a much more thorough method.
  154. (Andi, Zend library)
  155. - Added the ability to use variable references in the array() construct.
  156. For example, array("foo" => &$foo). (Andi, Zend library)
  157. - Added array_reverse() function (Andrei)
  158. - Some more XML fixes/cleanups (Thies)
  159. - Updated preg_replace() so that if any argument passed in is an array
  160. it will make a copy of each entry before converting it to string so that
  161. the original is intact. If the subject is an array then it will preserve
  162. the keys in the output as well (Andrei)
  163. - Updated OCI8 to use the new high-performance Zend function API. (Thies)
  164. - Configure speedup (Stig)
  165. - Fixed LOB/Persistent-Connection related OCI8-Crash (Thies)
  166. - Generalized server-API build procedure on UNIX (Stig)
  167. - Added '--disable-rpath' option (Sascha)
  168. - Added AOLserver SAPI module (Sascha)
  169. - Fixed XML Callbacks. (Thies)
  170. - Updated ODBC to use the new high-performance Zend function API (kara)
  171. - Updated zlib to use the new high-performance Zend function API. (Stefan)
  172. - Updated preg_split() to allow returning only non-empty pieces (Andrei)
  173. - Updated PCRE to use the new high-performance Zend function API (Andrei)
  174. - Updated session, dba, mhash, mcrypt, sysvshm, sysvsem, gettext modules to use
  175. the new high-performance Zend function API (Sascha)
  176. - Extended var_dump to handle resource type somewhat (Andrei)
  177. - Updated WDDX to use the new high-performance Zend function API (Andrei)
  178. - Updated XML to use the new high-performance Zend function API. (Thies)
  179. - Updated Oracle to use the new high-performance Zend function API. (Thies)
  180. - Improved the performance of the MySQL module significantly by using the new
  181. high-performance Zend function API. (Zeev)
  182. - Add support for the Easysoft ODBC-ODCB Bridge (martin@easysoft.com)
  183. - Fix bug in odbc_setoption, getParameter call incorrect (martin@easysoft.com)
  184. - Ora_Fetch_Into now resets the returned array in all cases (Thies)
  185. - Fixed NULL-Column problem in Oracle-Driver (Thies)
  186. - Added extra metadata functions to ODBC, SQLTables etc (nick@easysoft.com)
  187. - Fixed SEGV in mcal make_event_object() and
  188. typo in mcal_list_alarms() (Andrew Skalski)
  189. - Fixed Ora_PLogon (Thies)
  190. - Resourcified Oracle (Thies)
  191. - Implemented object serialization/deserialization in WDDX (Andrei)
  192. - Added krsort() function (Thies)
  193. - Added func_num_args(), func_get_arg() and func_get_args() for standard
  194. access to variable number of arguments functions (Zeev)
  195. - Added FTP support (Andrew Skalski)
  196. - Added optional allowable_tags arguments to strip_tags(), gzgetss() and
  197. fgetss() to allow you to specify a string of tags that are not to be
  198. stripped (Rasmus)
  199. - Upgraded var_dump() to take multiple arguments (Andrei)
  200. - Resourcified XML (Thies)
  201. - Fixed a memory leak in the Apache per-directory directives handler (Zeev)
  202. - Added array_count_values() function. (Thies)
  203. - snmp, pgsql, mysql and gd modules can be built as dynamically loaded
  204. modules (Greg)
  205. - OCI8 fix for fetching empty LOBs (Thies)
  206. - Added user-level callbacks for session module (Sascha)
  207. - Added support for unknown POST content types (Zeev)
  208. - Added "wddx" serialization handler for session module (Sascha)
  209. (automatically enabled, if you compile with --with-wddx)
  210. - Fixed unserializing objects (Thies)
  211. - PHP 4.0 now serializes Objects as 'O' (not understood by PHP 3.0), but
  212. unserializes PHP 3.0 serialized objects as expected. (Thies)
  213. - Made serialize/unserialize work on classes. If the class is known at
  214. unserialize() time, you'll get back a fully working object! (Thies)
  215. - Reworked preg_* functions according to the new PCRE API, which also made
  216. them behave much more like Perl ones (Andrei)
  217. - Made it possible to specify external location of PCRE library (Andrei)
  218. - Updated bundled PCRE library to version 2.08 (Andrei)
  219. - count()/is_array/is_object... speedups. (Thies)
  220. - OCI8 supports appending and positioning when saving LOBs (Thies)
  221. - Added metaphone support (Thies)
  222. - OCI8 doesn't use define callbacks any longer. (Thies)
  223. - OCI8 Driver now supports LOBs like PHP 3.0. (Thies)
  224. - var_dump now dumps the properties of an object (Thies)
  225. - Rewrote the GET/POST/Cookie data reader to support multi-dimensional
  226. arrays! (Zeev)
  227. - Renamed allow_builtin_links to expose_php (defaults to On). This directive
  228. tells PHP whether it may expose its existence to the outside world, e.g.
  229. by adding itself to the Web server header (Zeev)
  230. - Added support for transparent session id propagation (Sascha)
  231. - Made WDDX serialize object properties properly (Andrei)
  232. - Fixed WDDX mem leak when undefined variable is passed in
  233. for serialization (Andrei)
  234. - Added session_unset() function (Andrei)
  235. - Fixed double session globals shutdown crash (Andrei)
  236. - Fixed crash related to ignore_user_abort ini entry (Andrei)
  237. - Added support for external entropy sources for session id creation
  238. (on Unices /dev/random and /dev/urandom) (Sascha)
  239. - Added gpc_globals variable directive to php.ini. By default it is On, but
  240. if it is set to Off, GET, POST and Cookie variables will not be inserted
  241. to the global scope. Mostly makes sense when coupled with track_vars (Zeev)
  242. - Added versioning support for shared library (Sascha)
  243. This allows concurrent use of PHP 3.0 and PHP 4.0 as Apache modules. See
  244. the end of the INSTALL file for more information.
  245. - Added second parameter to array_keys which specifies search value
  246. for which the key should be returned (Andrei)
  247. - Resourcified Informix driver (Danny)
  248. - New resource handling for odbc, renamed to php_odbc.[ch]
  249. - Make set_time_limit() work on Unix (Rasmus)
  250. - Added connection handling support (Rasmus)
  251. - Improved the Sybase-CT module to make use of resources (Zeev)
  252. - Improved the mSQL module to make use of resources (Zeev)
  253. - Changed mysql_query() and mysql_db_query() to return false in case of saving
  254. the result set data fails (Zeev)
  255. - Improved the resource mechanism - resources were not getting freed as soon
  256. as they could (Zeev)
  257. - Added shared memory module for session data storage (Sascha)
  258. - Fixed session.auto_start (Sascha)
  259. - Fixed several problems with output buffering and HEAD requests (Zeev)
  260. - Fixed HTTP Status code issue with ISAPI module (Zeev)
  261. - Fixed a problem that prevented $GLOBALS from working properly (Zeev, Zend
  262. library)
  263. - Ported newest GetImageSize (Thies)
  264. - Added session compile support in Win32 (Andi)
  265. - Added -d switch to the CGI binary that allows overriding php.ini values
  266. from the command line (Zeev)
  267. - Fixed a crash that would occur if wddx_deserialize did not receive
  268. a valid packet (Andrei)
  269. - Fixed a bugglet when redefining a class at run-time (Andi, Zend library)
  270. - Fixed sem_get() on AIX (Sascha)
  271. - Fixed fopen() to work with URL's in Win32 (Andi & Zeev)
  272. - Fixed include_path for Win32 (Andi, Zend library)
  273. - Fixed bug in ISAPI header sending function (Charles)
  274. - Fixed memory leak when using undefined values (Andi & Zeev, Zend library)
  275. - Added output_buffering directive to php.ini, to enable output buffering
  276. for all PHP scripts - default is off (Zeev).
  277. - Fixed some more class inheritance issues (Zeev, Zend library)
  278. - Fixed Apache build wrt to shared modules on FreeBSD/Linux (Sascha)
  279. - Added session.extern_referer_chk which checks whether session ids were
  280. referred to by an external site and eliminates them (Sascha)
  281. - Improved session id generation (Sascha)
  282. - Improved speed of uniqid() by using the combined LCG and removing
  283. the extra usleep() (Sascha)
  284. - Introduced general combined linear congruential generator (Sascha)
  285. - Made ldap_close back into an alias for ldap_unbind (Andrei)
  286. - OciFetchInto now resets the returned array in all cases (Thies)
  287. - Fixed mysql_errno() to work with recent versions of MySQL (Zeev)
  288. - Fixed a problem with define() and boolean values (Zeev)
  289. - Fixed inclusion of gd/freetype functions (Sascha)
  290. - Fixed persistency of MHASH_* constants (Sascha)
  291. - Oracle is now ZTS-Safe (Thies)
  292. - Fixed flushing of cached information to disk in DBA's DB2 module (Sascha)
  293. - OCI8 is now ZTS-Safe (Thies)
  294. - Fixed is_writeable/is_writable problem; they are both defined now (Andrei)
  295. - Imported PHP 3.0 diskfreespace() function (Thies)
  296. - Fixed thread-safety issues in the MySQL module (Zeev)
  297. - Fixed thread-safe support for dynamic modules (Zeev)
  298. - Fixed Sybase CT build process (Zeev)
  299. August 9 1999, Version 4.0 Beta 2
  300. - Fixed a problem when sending HTTP/1.x header lines using header() (Zeev)
  301. - Win32 builds now include the ODBC module built-in (Zeev)
  302. - Fixed SYSV-SHM interface (Thies).
  303. - Updated hyperwave module, made it thread safe
  304. - Updated pdflib module, version 0.6 of pdflib no longer supported
  305. - Updated fdf module
  306. - Built-in phpinfo() links are now turned off by default. They can be turned
  307. on using the allow_builtin_links INI directive (Zeev)
  308. - Changed phpinfo() to list modules that have no info function (Zeev)
  309. - Modified array_walk() function so that the userland callback is passed
  310. a key and possible user data in addition to the value (Andrei)
  311. - Fixed ldap_search(), ldap_read() and ldap_list() (Zeev)
  312. - Fixed Apache information in phpinfo() (sam@breakfree.com)
  313. - Improved register_shutdown_function() - you may now supply arguments that
  314. will be passed to the shutdown function (Zeev)
  315. - Improved call_user_func() and call_user_method() - they now support passing
  316. arguments by reference (Zeev)
  317. - Fixed usort() and uksort() (Zeev)
  318. - Fixed md5() in the Apache module (Thies)
  319. - Introduced build process for dynamic modules (Stig)
  320. - Improved ISAPI module to supprt large server variables (Zeev)
  321. - Imported PHP 3.0 fixes for problem with PHP as a dynamic module and Redhat
  322. libc2.1 in zlib module (Stefan)
  323. - Fixed sybase_fetch_object() (Zeev)
  324. - Made the IMAP module work with PHP 4.0 (Zeev)
  325. - Fixed a problem with include()/require() of URLs (Sascha, Zeev)
  326. - Fixed a bug in implode() that caused it to corrupt its arguments (Zeev)
  327. - Added get_class($obj), get_parent_class($obj) and method_exists($obj,"name")
  328. (Andi & Zeev)
  329. - Fixed various inheritance problems (Andi & Zeev, Zend library)
  330. - Children now inherit their parent's constructor, if they do not supply a
  331. constructor of their own.
  332. - Fixed runtime inheritance of classes (parent methods/properties were
  333. overriding their children) (Zeev, Zend library)
  334. - Fixed backwards incompatibility with the "new" operator (Andi, Zend library)
  335. - Fixed bugs in uksort() and ksort() sort ordering (Andrei)
  336. - Fixed a memory leak when using assignment-op operators with lvalue of type
  337. string (Zeev, Zend library)
  338. - Fixed a problem in inheritance from classes that are defined in include()d
  339. files (Zeev, Zend library)
  340. - Fixed a problem with the PHP error handler that could result in a crash
  341. on certain operating systems (Zeev)
  342. - Apache php_flag values only recognized 'On' (case sensitive) - changed
  343. to case insensitive (Zeev)
  344. - Fixed a memory leak with switch statement containing return statements
  345. (Andi & Zeev, Zend library)
  346. - Fixed a crash problem in switch statements that had a string offset
  347. as a conditional (Andi & Zeev, Zend library)
  348. - Imported PHP 3.0 fixes for rand() and mt_rand() (Rasmus)
  349. - Added function entries for strip_tags() and similar_text() (Andrei)
  350. - Fixed a bug in WDDX that would cause a crash if a number was passed in
  351. instead of a variable name (Andrei)
  352. - Ported strtotime() function from PHP 3.0 (Andrei)
  353. - Merged in gdttf stuff from PHP 3.0 (Sascha)
  354. - buildconf now checks your installation (Stig)
  355. - XML module now built dynamically with --with-xml=shared (Stig)
  356. - Added a check for freetype.h - fixed build on RedHat 6.0 (Zeev)
  357. - Fixed array_walk() to work in PHP 4.0 (Andrei)
  358. - Ported all remaining date() format options from PHP 3.0 (Andrei)
  359. - $php_errormsg now works (Andrei)
  360. - Added locale support for Perl Compatible Regexp functions (Andrei)
  361. - Informix module ported (Danny)
  362. - Removed --with-shared-apache (Sascha)
  363. - Added patch for reverse lookup table in base64_decode (Sascha)
  364. Submitted by bfranklin@dct.com
  365. - Merged in PHP 3.0 version of str_replace (Sascha)
  366. - Added DBA module (Sascha)
  367. - Added session id detection within REQUEST_URI (Sascha)
  368. - Merged in HP-UX/ANSI compatibility switch from PHP 3.0 (Sascha)
  369. - Fixed rpath handling for utilitites built during Apache build (Sascha)
  370. - Added missing E_ error level constants (Zeev, Zend library)
  371. - Fixed a bug in sending multiple HTTP Cookies under Apache (Zeev)
  372. - Fixed implicit connect on the MySQL, mSQL, PostgreSQL and Sybase
  373. modules (Zeev)
  374. - Gave PHP 4.0's SNMP extension all the functionality of PHP 3.0.12 (SteveL)
  375. July 19 1999, Version 4.0 Beta 1
  376. - First public beta of PHP 4.0