The Jakarta Project
      The Apache Jakarta Tomcat Servlet/JSP Container

The Apache Jakarta Tomcat 5.5 Servlet/JSP Container

Changelog

Preface

This is the Changelog for Tomcat 5.5.x, which was branched based on Tomcat 5.0.27. For changes in Tomcat version 5.0.x, which preceded version 5.5.0, please see The Tomcat 5.0.x Changelog. As maintenance releases are cut on the 5.0.x branch, most fixes will be ported into a 5.5.x release and noted both here and in the above Changelog. However, bugs fixed in Tomcat 5.0.28 and earlier are noted only in the above changelog.

Tomcat 5.5.4 (yoavs)
General
update 31671: Update web.xml files to 2.4 schema where applicable. (yoavs)
update 31912: Add PNG and CSS file types to replication filter default. (yoavs)
Catalina
fix Register JSP monitoring mbean for each servlet that declares a jsp-file in web.xml. (luehe)
fix 31578: Update Manager configuration documentation. (yoavs)
fix 31273: Add support for derefaliases in JNDIRealm. (markt)
fix 31623: Better OS400 support in setclasspath.sh. (yoavs)
add Extend background processing to most container components. (remm)
fix Remove all MX4J related code. (remm)
fix Update JAR list in TldConfig. (remm)
add Register datasources with JMX. With DBCP, this is enough to provide JMX management and monitoring. It might work well with many other data sources which might not register themselves in JMX but do expose their stuff in a java bean fashion. (remm)
update Add the ability to force session cookies to be set to the root path "/". This should not be used on large servers, otherwise tons of cookies may be sent. (remm)
fix Workaround for client socket exceptions occurring while running a CGI, which could cause the external process to hang. (remm)
update Optimize session cookie IDs conversion to String, since this is an unavoidable and uncacheable operation. (remm)
fix Add explicit error message if temp dir does not exist, and remove useless calls to initDirs. (remm)
add Add an optimized access log valve, supporting hardcoded support for the common and combined patterns, and doing a majority of its write-to-logfile operations asynchronously. (remm)
update Register an MBean to monitor and manage the StringCache, and allow invoking the reset operation. (remm)
fix 31677: Log warning if work dir for context can't be determined. (yoavs)
fix 31903: Fix condition which seems to not have been properly updated after adding entry.binaryContent = null a little below, submitted by Joe Zhou. (remm)
fix Prevent silent NPEs during StandardContext.start dealing with JMX registration of realm, submitted by Keith Wannamaker. (remm)
fix 31592: Support other encodings for digests. (yoavs)
update 31739: Minor realm-howto and AJP connector doc updates. (yoavs)
fix 31753: Minor inconsistency between JDBC and DataSourceRealm#authenticate. (yoavs)
update 31683: Minor clarifications to realm documentation. (yoavs)
Coyote
fix Improve i18n in TCP endpoint, and add a better error message when an exception occurs in setSocketOptions. (remm)
fix 31663: Use interval field as the delay for monitor thread. (remm)
fix Remove bad shutdown logic for ms pool strategy. (remm)
fix Sync with Cookie, by adding ' ' as a special char. If a special char is present, the string will be quoted. If the client doesn't support it, the String will no be quoted anyway and no IAE will be thrown. (remm)
add Add an optional String cache for ByteChunk.toString and CharChunk.toString. The cache is unsynchronized during most of its operation, and is static after a training period. An operation is provided to allow resetting the cache. (remm)
update String caching is enabled by default for ByteChunk. (remm)
fix 31090: Use a URL encoded path when setting session cookies. (remm)
Jasper
update Exposed compilerSourceVM and compilerTargetVM options to JspC. (yoavs)
Cluster
Webapps
fix 31707: Broken JavaScript confirmation in HTML manager. (yoavs)
fix Remove hard-coded admin context path from admin's banner.jsp. (yoavs)
update Major connector docs update. (remm)
fix 31732: Fix Japanese localization of Manager's list output. (yoavs)
Tomcat 5.5.3 (yoavs)
General
fix 30568: Incomplete setup.html documentation for launching jsvc. (yoavs)
update Repackage naming features. (remm)
fix Fix deployer packaging. (remm)
fix Fix embed packaging. (remm)
Catalina
fix Fix memory leak when Security Manager is turned on. (jfarcand)
fix When checking status codes for error handling, only check if Response.isError() is true. This way, users may use setStatus() to set their own error status without having the error page invoked. (in which case, the user should've use sendError()) (funkman)
update Remove Digester code for Xerces workaround. (jfarcand)
fix Give proper permission to the balancer app when running under the security manager. (jfarcand)
fix 30869: Make sure JAAS realm name is legal. (yoavs)
update md5Helper, md5Encoder, and normalize are used by WebdavServlet, not DefaultServelt so move them into WebdavServlet.
fix 31277: Clarified automatic application deployment section of Host configuration page. (yoavs)
fix 28631: JAASRealm enhancements to support custom user and role classes use Commons-Logging. (yoavs)
fix 31364: Missing resource in org.apache.catalina.core.LocalString.properties. (yoavs)
fix 31362: Missing -Xdebug in catalina.bat when launching with JPDA and Security. (yoavs)
fix 31356: Duplicates not counted in session generation. (yoavs)
fix 30949: Make sure ApplicationDispatcher unwraps request/response even if include error occurs. (yoavs)
fix Fixed StandardContext.getStartTime() to return actual start time/date instead of time (startupTime) it took to start context. (luehe)
update getRequest/getResponse should return the most relevant interface, to avoid casts. (remm)
update Add check for directory before considering something is a compressed WAR. (remm)
docs Update the connector documentation. (remm)
fix When parsing a context file, ignore the "path" attribute: the only place where it is acceptable is in server.xml. (remm)
fix Digester handling fixes: always call reset in a finally block after using a digester. (remm)
update Remove many fields from Connector, and tie the creation of the Connector to the creation of the protocol handler. (remm)
update Remove package triggers from the classloader, which seem useless when using Java 5. (remm)
fix Realms will now use set attribute to set themselves in their container when using JMX. (remm)
fix Fix JMX related operations with the Connector. (remm)
fix Fix save-to-XML for naming resources. (remm)
fix Remove authenticator "debug" attributes from the descriptors. (remm)
update Refactor org.apache.catalina.deploy.ContextXXX to use new super class ResourceBase. (pero)
fix Enable Connector.findLifecycleListener that we can listen start/stop Connector events and save the listener to xml. (pero)
update Remove Watchdog references, as it is no longer used. (yoavs)
fix 31511: Don't call setenv.bat if not found, in *using-launcher scripts. (yoavs)
fix 31549: Add name to WebappClassLoader's stopped message. (yoavs)
Coyote
update Allow customized server header for Standalone. (funkman)
fix Digester.reset now removes the error handler, the root and calls clear, to prevent any memory leak. (remm)
update Remove useless stuff in digester. (remm)
update In HTTP, add a utility method to convert strings to byte arrays, and output the server header directly as bytes. (remm)
add Add a master slave thread pool based on the code from Tomcat 4.0. It is less exotic than the default one, and might fare better on some picky systems, such as Redhat 9. The two threadpools will likely be removed once we use the Java 5 API, although more investigation is needed. (remm)
fix Fix issue with getProperty in IntrospectionUtils. (remm)
update Remove attribute translation for SSL in the HTTP protocol handler: it will now be done in the Catalina Connector class. (remm)
fix Fix handling of the "timeout" attribute of the HTTP protocol handler. (remm)
Jasper
fix 31171: Wrap to avoid ClassCastException in PageContextImpl. (yoavs)
fix 31257: Added specification of endorsed dirs if forking. Note that this is fairly useless for now in 5.5 since it uses JDT and not javac by default. (yoavs)
docs Document new Jasper defaults, and update the production configuration. (remm)
fix Copied XML encoding detection logic into JASPER, so we're no longer dependent on Xerces. (luehe)
fix Fix cosmetic issue where extra CRLF would be inserted during each precompilation in web.xml. (remm)
update Allow configuring the interval following a compilation during which a JSP will not be checked for modifications. (remm)
fix 31465: Ensure that the compiler reads the .java file using the same encoding as that with which it was written. (markt)
fix 31510: Null out response in JspWriterImpl#recycle to aid in JBoss memory leak. (yoavs)
Cluster
update Added flag to the cluster (notifyListenersOnReplication) to enable/disable the notifications of attribute/context listeners upon replication of a session delta Works only with the DeltaManager (fhanik)
update Added flag to the cluster (Cluster/Sender/ackTimeout) to set the timeout in milliseconds for a synchronous request to go through, defaults to 15000ms (fhanik)
Webapps
fix 29485: I broke the HTML manager when adding JavaScript confirmation, fixed now ;) (yoavs)
fix 31058: Ensure StatusTransformer escapes query string for XML. (yoavs)
update Added contexts' start time (available from 'startTime' MBean attribute of StandardContext) to status page (luehe)
fix 31264: the deploy task should now behave correctly. (remm)
update Refactor the manager servlet to make calls to the deployer more robust. (remm)
fix Use the more robust String.valueOf in the form edit action of the connector. (remm)
Tomcat 5.5.2 (yoavs)
General
fix The installer will now use the system's JRE. (remm)
Catalina
fix Fix URL generation for classloaders on Windows, causing common/classes and shared/classes to be unusable (remm)
fix 31110: Fix resource packaging bug for servlets (remm)
fix Fix 5.5 regression where going through the authenticator would create a session each time. (remm)
fix Fix classname of the connector in Embedded, and remove the socket factory. (remm)
Coyote
fix Redo server header handling again. (remm)
update Cleanup a little access to the headers using a local variable and use setValue for Server and Date headers. (remm)
Jasper
fix Remove maxTagNesting and curTagNesting since they are unused. (funkman)
fix Fix tag files handling with JDT, which were ususable, and refactor the lifecycle handling of the page loader. (remm)
Cluster
Webapps
Tomcat 5.5.1 (yoavs)
General
update Tomcat 5.5 can be built on JDK 5.0. (yoavs)
fix Windows installer polish. (mladen, remm)
update Remove dependency on Jakarta regexp. (remm)
Catalina
fix Allow overriding the location of the default context file, similar to the default web.xml. (remm)
update Backport if-else logic for SSI servlet from 4.1 (funkman)
fix Remove DefaultContext elements from the digester rules. (remm)
fix Fix ResourceLink handling. (remm)
fix Modify the auto deployer to get along with contexts which are statically defined in server.xml. (remm)
fix Externalize constant strings defining the location of deployment related resources. (remm)
fix 31052: BeanFactory swallows root cause of exception. (yoavs)
fix Allow using deploy Ant task with just config attribute, submitted by Michael Schuerig. (remm)
add Added longest time an expired session had been alive to set of monitorable session manager attributes. (luehe)
add Added average time an expired session had been alive to set of monitorable session manager attributes. (luehe)
fix Clear a reference in the digester where a context would be referenced for more time than it needed, until the next context deployment operation. (remm)
Coyote
fix 31018: Race condition in SystemLogHandler. (yoavs)
Jasper
fix Use the "compiler" parameter to allow specifying that Ant should be used. (remm)
fix Ignore JDT compiler warnings. (remm)
add Added compilerTargetVM option support, "1.4" default. (yoavs)
Cluster
fix Fix adding the clustering valve, so that session replication actually occurs. (fhanik)
Webapps
update Major documentation update with current Tomcat 5.5 changes. (remm)
update Added JavaScript confirmation dialog to "dangerous" Manager servler links. (yoavs)
Tomcat 5.5.0 (yoavs)
General
update Many updated and fixed JavaDocs. (yoavs)
update Designed and tested Tomcat on J2SE 5.0 (aka JDK 1.5). (everyone)
update Bundled Eclipse JDT (new dependency) to allow Tomcat to run on a JRE only, i.e. no JDK required. (remm)
update Repackage commons-dbcp and its dependencies as a sigle smaller WAR, with renamed packages. (remm)
update Removed dependencies on commons-digester, commons-beanutils, and commons-collections. The relevant digester functionality is now merged in tomcat-util. (remm)
Catalina
update Removed usage of org.apache.catalina.Logger, increased usage of commons-logging everywhere. (remm)
update Refactored classloader code to better handle JAR and general resource locking. (remm)
update Written JMX-related code to play nicely with J2SE 5.0 built-in JMX abilities. (remm, costin)
update Extensively profiled and optimized the server startup performance as well as the request mapping and processing pipeline. (remm)
update The container will now always process a /META-INF/context.xml resource, unless the webapp has a specified external context file. (remm)
update New default configuration mechanism for web applications, replacing DefaultContext. This uses a shared context file located in conf/context.xml. (remm)
update Revamped deployer, alloying full hotdeploy (note: on Windows, this requires the anti file locking features). (remm)
update Remove verbosity from the JNDI resources configuration, by allowing arbitrary attributes on the Resource element. (remm)
update Simpler Valve interface, to allow smaller stack traces and reducing the amount of method calls. (remm)
Coyote
Jasper
update Eclipse JDT is now the default Java compiler in Jasper. Source dependencies are now loaded from the container classloader, and compilation times are much faster. (remm)
update Jasper development mode should now have acceptable performance for heavily accessed pages. Precompiling JSPs is still significantly more efficient, however. (remm)
Cluster
Webapps

Copyright © 1999-2004, Apache Software Foundation