Apache Tomcat Version 4.1-dev ============================= Release Notes ============= $Id$ ============ INTRODUCTION: ============ This document describes the changes that have been made in the current development version of Apache Tomcat, relative to the Tomcat 4.0 release. The release notes for all prior releases of Tomcat 4.0 are also included, for your reference. Bug reports should be entered at the bug reporting system for Jakarta projects at: http://nagoya.apache.org/bugzilla/ Please report bugs and feature requests under product name "Tomcat 4". ============ NEW FEATURES: ============ -------------------- General New Features: -------------------- --------------------- Catalina New Features: --------------------- Added the workDir attribute to the Host configuration in server.xml. This makes it easier to configure a different location for each virtual hosts application work directories. ------------------- Jasper New Features: ------------------- -------------------- Webapps New Features: -------------------- The default work directory created for a web application now includes the Engine name as a directory in work directory path name. This ensures that if you have two Host's with the same host name (one http, one https) configured in different Engine's, they will each have their own unique work directory. ========================== BUG FIXES AND IMPROVEMENTS: ========================== ------------------ Generic Bug Fixes: ------------------ ------------------ Catalina Bug Fixes: ------------------ HttpResponseBase: The toEncoded() method has been updated to place the ";jsessionid" in the correct location in the presence of an anchor in the URL. ---------------- Jasper Bug Fixes: ---------------- CharDataGenerator: Fixed a bug where '\r' line terminators were not being preserved as required by the spec. ----------------- Webapps Bug Fixes: ----------------- ------------------ Security Bug Fixes: ------------------ When starting Tomcat the environment variable CATALINA_TMPDIR is used to define the system property java.io.tmpdir. By default java.io.tmpdir is set to CATALINA_BASE/temp. This isolates Tomcat's use of a temporary directory from other applicatons on the same computer system. ============================ KNOWN ISSUES IN THIS RELEASE: ============================ --------------------- Tomcat 4.0 and Apache: --------------------- The binary distribution for Tomcat 4.0 includes the most recent stable version of the WARP connector, which is the Tomcat component that talks to mod_webapp inside Apache 1.3. The current state of this support is summarized as follows: * The mod_webapp connector is configured based on the contents of the web.xml file for your web application. See the documentation included with the connector for configuration requirements. * The version of the connector to be published with Tomcat 4.0 final has the following known issues: http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3509 http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3534 These problems will be addressed in a future release of the connector. ------------------------------------- Tomcat 4.0 and JNI Based Applications: ------------------------------------- Applications that require native libraries must ensure that the libraries have been loaded prior to use. Typically, this is done with a call like: static { System.loadLibrary("path-to-library-file"); } in some class. However, the application must also ensure that the library is not loaded more than once. If the above code were placed in a class inside the web application (i.e. under /WEB-INF/classes or /WEB-INF/lib), and the application were reloaded, the loadLibrary() call would be attempted a second time. To avoid this problem, place classes that load native libraries outside of the web application, and ensure that the loadLibrary() call is executed only once during the lifetime of a particular JVM. ---------------------------------- Tomcat 4.0 Standard APIs Available: ---------------------------------- A standard installation of Tomcat 4 makes all of the following APIs available for use by web applications (by placing them in "common/lib" or "lib"): * activation.jar (Java Activation Framework) * crimson.jar (Unsealed version of JAXP/1.1 parser) * jaxp.jar (Unsealed version of JAXP/1.1 API classes) * jdbc2_0-stdext.jar (JDBC 2.0 Optional Package, javax.sql.*) * jndi.jar (JNDI 1.2 base API classes) * jta-spec1_0_1 (Java Transacation APIs) * ldap.jar (JNDI LDAP provider required by JNDIRealm) * mail.jar (JavaMail 1.2) * servlet.jar (Servlet 2.3 and JSP 1.2 APIs) * tyrex-0.9.7.0.jar (Tyrex XA-compatible data source from tyrex.exolab.org) You can make additional APIs available to all of your web applications by putting unpacked classes into a "classes" directory (not created by default), or by placing them in JAR files in the "lib" directory. -------------------------- Tomcat 4.0 and XML Parsers: -------------------------- As described above, Tomcat 4.0 makes an XML parser (and many other standard APIs) available to web applications. This parser is also used internally to parse web.xml files and the server.xml configuration file. If you wish, you may replace the "jaxp.jar" and "crimson.jar" files in "common/lib" with another XML parser, as long as it is compatible with the JAXP/1.1 APIs. WARNING: Tomcat 4.0 ships with a modified version of the JAXP/1.1 "jaxp.jar" and "crimson.jar" files from JAXP/1.1 final release. The "sealed" attribute has been removed from the manifest file for these two JARs, to avoid "package sealing violation" errors that were caused by them in a JDK 1.3 environment. You MUST NOT replace these files with a different (or later) release of JAXP, unless that later release has had the sealed attribute removed, or you will encounter "package sealing violation" errors when trying to use a different XML parser in a web application.