The Jakarta Project
      The Apache Tomcat Servlet/JSP Container

Links

User Guide

Reference

Apache Tomcat Development

The Apache Tomcat 5.5 Servlet/JSP Container

Changelog

Printer Friendly Version
print-friendly
version
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.12 (yoavs)
General
fix Remove uneeded files in conf. (remm)
update Change distribution file names from jakarta-* to apache-*. (remm)
Catalina
add Add JMX Remote create and unregister ant tasks (pero)
fix 36343: Only normalize out backslash on Windows platforms. (billbarker)
fix Allow configuring standard stream redirection. (remm)
add 36088: Add RUNNING.txt and RELEASE-NOTES.txt to fulldocs distro. (yoavs)
fix 36534: fix equals for URLs returned by ServletContext.getResource() (luehe)
fix 36558: Clear IntrospectionUtils cache when stopping a webapp, as it could leak to keeping a reference to the classloader (remm)
fix 36113: Session persistence for objects with primitive types could fail in some rare cases (remm)
fix 36541: Full synchronization for session objects attributes collections (remm)
fix 35609: service.bat echo command when wrong arguments given [patch by Robert Longson] (yoavs)
fix 34749: jsessionid dropped on trailing slash (/) redirect (remm)
Coyote
update Add support for secret for AJP APR (remm)
Jasper
fix Fix NPE with an error message when no Java compiler is available (remm)
fix Restrict System err stream capture to the Ant compiler, as the Eclipse compiler does not need it (remm)
update JSP compilation speed improvement using tag library information caching, submitted by Xingbo Gao (remm)
add Initial contribution of JSTL tag plugins supporting the core tag library of JSTL, submitted by Jing Li (remm)
Cluster
fix 36541: Sync all session attribute access (read and write) at DeltaSession (pero)
fix 36518: Classname typos for senders, submitted by Christoph Bachhuber-Haller (remm)
add 35613: Added FAQ question and answer about tcpListenAddress="auto" and /etc/hosts (yoavs)
update Moved FAQ section for Clustering from Clustering HowTo page to its own FAQ page. (yoavs)
Webapps
docs 36319: Fix broken link to DBCP docs, submitted by Xavier Poinsard (remm)
docs Brand new deployer specs, submitted by Allistair Crossley (remm)
Tomcat 5.5.11 (yoavs)
General
update Update to Xerces 2.7.1 (remm)
add Add ready to build bin/tomcat-native.tar.gz for the APR JNI wrapper library (remm)
fix 35930: Bad logging config used by the Tomcat Windows service (remm)
add 33261: Windows installer now checks the user type and warns non-admins as needed. (yoavs)
update The Windows installer will now optionally download a (32bit) Windows .dll for Tomcat native from HEAnet (remm)
fix Declaration of jspc Ant task to fix the deployer package (remm)
Catalina
add Add concurrency control valve (o.a.c.valves.SemaphoreValve). As the Tomcat distribution is not built for Java 5, the valve will have to be compiled from the sources using Java 5 (remm)
fix 35880: Ignore JSSE15SocketFactory when generating JavaDoc, as it breaks the JDK 1.4 JavaDoc tool. (yoavs)
fix 35865: setclasspath.sh cannot be excutive under cygwin. (funkman)
fix 33267: Set working path in service installer, as suggested by Dominik Drzewiecki. (yoavs)
update 34794: Update connector documentation to include clientAuth attribute. (yoavs)
fix 35894, 36228: Fix CNFE when starting in a sandbox. (billbarker, remm)
fix Add version check for Tomcat native so that incompatible API changes are detected early (remm)
fix 36020: Allow MemoryUserDatabase to work better on write protected mediums, submitted by Rainer Jung (remm)
fix 35978: Bad handling of single range requests greater than 2GB in the DefaultServlet (remm)
fix 35984: Client abort exceptions will now use getCause (remm)
fix Fix handling of non-file based includes with SSI, submitted by David Becker (markt)
Coyote
fix Fix default ports for http and https which are set in the request when the parsed hostname does not specify the port, and which were inverted (https was set as 80 and http as 443). (remm)
fix Add missing tomcatAuthentication attribute to the AJP APR implementation. (remm)
fix Check filename sendfile attribute only if sendfile is enabled. (remm)
fix Fix output buffering for APR AJP implementation. (remm)
fix 35941: Fix getRemoteAddr for APR AJP implementation. (remm)
fix 35942: Fix NPE retriving cipher suite attribute when no certificate was submitted (for example with no SSL). (remm)
fix Internationalization and code cleanups for APR AJP implementation. (remm)
fix Security exception in APR AJP implementation when running with the security manager enabled. (remm)
fix 36173: Add missing sync in FastHttpDateFormat.formatDate, submitted by Alexei Krainiouk (remm)
fix Disable HTTP compression when sendfile is used for a resource (remm)
fix AJP secret attribute report only at trace level. (pero)
Jasper
fix 36127: Validation compatibility with Xerces 2.7.1, submitted by Florent Benoit (remm)
Cluster
fix Fix NPE when cluster stops (pero)
fix 36218: MemoryRealm now support also GenericPrincipal, but JAASRealm with cluster replication still has a problem, detected by Dirk Dekok (pero)
Webapps
Tomcat 5.5.10 (yoavs)
General
add Add JMX remote ant task to control tomcat MBeanserver via ant scripts. Ant lib is included at "server/lib/catalina-ant-jmx.jar" and documentation is added to Monitoring and Managing Tomcat How-To (pero)
fix 34361: Integrate better antlib and import support for catalina manager tasks [Modified patch from Daniel Santos] (pero)
fix StoreConfig save now the Connector.sslProtocol attribute. (pero)
update Change log dir at service.bat to "$CATALINA_BASE/logs" for better multi instance support. (pero)
update 34237: Added note and links to context and host configuration references in JNDI DataSources HowTo to aid the clueless. (yoavs)
update 34248: Update JavaMail download instructions to include JAF. (yoavs)
update Update to JDT from Eclipse 3.1, with support for Java 5 (remm)
update Refactoring, redesign and extend the cluster module - Cluster can be configured as subelement from Engine and Host. - Optimized performance and reduce memory usage - Better JMX support - add a lot of JMX stats attribute for better monitoring - add a single element default cluster configuration - more config options LifecycleListener ClusterListener more than one cluster valves - better subclass support - change a lot of existing cluster API's (pero)
add Add Apache Portable Runtime JNI wrapper and helper API (mturk)
update Update JULI to provide support for taking over java.util.logging bootstrap configuration, and move the default properties file to ${catalina.base}/conf/logging.properties (remm)
fix 34746: Updated catalina.properties instructions per Bill Edwards' suggestion. (yoavs)
fix 35090: Minor documentation typo fix. (yoavs)
fix 34931: Rewrote ROOT/index.jsp to be XHTML strict compliant, per Richard Beton's patch. (yoavs)
Catalina
fix 20380: Access log timestamps now take account of Daylight Saving Time (DST). (markt)
add 34220: Provide better error message when server.xml can't be located. [Modified patch from Ralf Hauser] (yoavs)
add Add MessageListener and LifecylceListener cluster saving to storeconfig module (<Cluster ... ><ClusterListener className="org.apache.catalina.cluster.session.JvmRouteSessionIDBinderListener" >) (pero)
fix 33743: Add additional synchronization in webapp classloader to avoid possible race condition when defining a class (remm)
fix 33711: Add events on passivate and activate to cleanup SSO, and recycle session objects when removing them from a manager (so that anyone keeping references to it would leak a minimal amount of memory) (remm)
update Re-add patch causing Session.getId to throw an ISE, and make all internal components use a safe getIdInternal method (remm)
update Store principal to be exposed for Request.getUserPrincipal inside the GenericPrincipal, to remove hacks from the JAAS realm (remm)
fix 10385: SSI Servlet now includes better support for files that use character encodings other than the platform default.(markt)
fix Remove CopyParentClassLoader rule, which doesn't seem to be doing anything useful anymore. (remm)
add Provide an ServletFilter implementation of Server Side Includes (SSI). This was submitted by David Becker under 33106. (markt)
add Add sendfile support to default servlet, with a sendfileSize configuration attribute. (remm)
update If APR as well as Tomcat's JNI wrapper for APR are present, use APRized protocol handlers instead of the regular ones (remm)
fix 22617: When used with an EJB container and a realm that supports the concept of an unauthenticated user (J2EE.3.4.3) BASIC authentication was always authenticating users as the unauthenticated user without giving them a chance to supply a username and password. (markt)
fix Prevent facade objects cloning (remm)
update Add missing CGI variables to SSI servlet. Patch submitted by Fritz Schneider. (markt)
fix 34578: Updated JNDIRealm comment. (yoavs)
fix 34273: Better Bootstrap warning message. [Path from Ralf Hauser] (yoavs)
update 34675: Updated Proxy-HowTo page with Servlet API calls. (yoavs)
fix 34546: Fix problem where the "first" Valve couldn't be removed from a Pipeline. (billbarker)
fix Fix NPE when POST size exceeds limit defined by maxPostSize. (markt)
fix Fix FORM authentication so POSTed parameters are not assumed to be encoded with platform default encoding. A side effect of this fix is that the bodies of POST requests that require FORM authentication are now buffered and made available after a sucessful login. (markt)
fix 34840: Better handling of external WARs redeployment, and ignore docBase specified in context file if within the Host appBase (remm)
fix Fix handling of symbolic links when the DefaultServlet is generating directory listings. (markt)
fix 35769: Correct implementation of javax.naming.Context.composeName( Name, Name) in multiple places. Patch provided by Laurent Simon. (markt)
add 34805: Add warning for suspicious security patterns, as suggested by Ralf Hauser. (yoavs)
fix 35819: Use getWorkPath for deleting work directory on context destroy, as suggested by Rob Steele. (yoavs)
Coyote
update Add support for using "Smart Cards" as trust/keyStore. (billbarker)
update Add some Mbean attributes and operations to ChannelSocket (pero)
add Apache Portable Runtime based HTTP/1.1 protocol handler, with SSL support (remm)
add Add support for simple file-based CRLs under JDK 1.5 (billbarker)
add Add experimental NIO-Socket channel for the AJP/1.3 Connector (billbarker)
add 34648: Add configuration option to enable IP-based Virtual Hosts. (billbarker)
update Refactor the AJP/1.3 Connector to be able to handle more advanced Actions. (billbarker)
fix Fix connector initialisation so sslProtocol is not required for SSL. (markt)
add Add bufferSize option to the AJP/1.3 Java connector to control output buffering. (billbarker)
add Apache Portable Runtime based AJP/1.3 protocol handler (remm)
fix Delay reading the inital request body packet by default for the AJP/1.3 Java connector. (billbarker)
Jasper
fix 18477: Allow symbolic links when precompiling JSPs (markt)
add 34727: Allow specifying the Option class used by the Jasper engine, submitted by Scott Stark (remm)
add Support for Java 5.0 in JSPs (remm)
update Java 5 will be the source and target for JSPs when running on Java 5 (remm)
update 34652: Add the ability to get SMAPs when precompiling, submitted by Daryl Robbins (remm)
fix 34465: Jspc failure if there is no web.xml (remm)
fix 35696: Make certain that release is called for custom tags when tag-pooling is disabled. (billbarker)
fix 35386: Make useBean resources use consistent spelling, from Kurt Huwig. (yoavs)
update 33522: Update jasper-howto to reflect use of javac switch. (yoavs)
add 35114: Add failOnError flag to JspC, by ziweth. (yoavs)
fix 35410: Fixed NPE in JspWriterImpl. (yoavs)
add 35571: JspC resolved uriRoot relative to Ant project basedir, if any, as suggested by Jason Pettiss. (yoavs)
Cluster
add Add that cluster can configure as Engine and Host element. (pero)
add Add single cluster default configuration element - discussed at JAX 2005 conference Cluster Workshop. (pero)
fix Fix resend GET_ALL_SESSIONS when wait ACK failed at receiver side (pero)
fix ClusterValve now remove from container element when cluster stops and added with next start again. (pero)
add Set timestamp only at first time inside SessionMessageImpl (pero)
add Set timestamp from findsessions method call, when handling GET_ALL_SESSION to all SEND_SESSION_DATA and TRANSFER complete messages. (pero>
add Drop all received message inside GET_ALL_SESSION message queue before state transfer message timestamp. (pero)
add Cluster ping now transfer cluster domain information and DeltaManager only send and receive message from same domain members (pero)
add JMX Support for McastService (Membership) (pero)
add Redesign SimpleTcpCluster message receiving to ClusterReceiverBase (pero)
add Cluster transfer all attributes to the generate session manager at addManager. Remove some unused attributes at SimpleTcpCluster and ReplicationTransmitter (pero)
update Refactor DeltaManager: - createSession call now ManagerBase super class method - extract some long methods - send GET_ALL_SESSION with session blocks - don't sync sessions map when send all sessions (pero)
update Add developer actions at to-do.txt (Proposal of changes) (pero)
update Small refactorings at FastAsyncSocketSender (pero)
update Redesign cluster message sending to lesser cpu and memory usage. Set at ReplicationTransmitter#compress=false as default. Change API from ClusterSender, ReplicaitonTransmitter, DataSender, SimpleTcpCluster (pero)
add DeltaManager has now JMX expireAllLocalSessions and processExipre operation for better cluster node shutdown handling (usefull for testing only) (pero)
add DataSender doWaitAckStats for better understanding wait ack problems (pero)
update Refactor DeltaManager and add counter for cluster message send/receive message (pero)
fix 34389:Porting Clustering fix pack to 5.5.10 code base. Remove synchonized from DataSender.pushMessage(). Very offen the complete cluster blocking after replicated a bulk of new session messages under heavy load. All cluster node standing for a lot of time and made nothing. Fix it for pooled, asynchronous and fastasyncqueue replication mode. Very bad thing, sorry! (pero)
add Add notifySessionListenersOnReplication attribute to SimpleTcpCluster to stop notify event to SessionListener at backup nodes from create and destroy replicated session (pero)
add Add compress attribute to ClusterSender and ClusterReceiver interface. Now compress config transfer from sender to receiver at SimpleTcpCluster. (pero)
add Add ClusterValve interface and implement it as ReplicationValve and JvmRouteBinderValve. Now both Valves can be directly configured at server.xml Host/Cluster/Valve subelements. Also this configuration are correctly handled with the StoreConfig module. (pero)
update Deactivate DataSender keepAliveMaxRequestCount change default to -1. Cluster replication sockets are fast and very stable! (pero)
update Setup JvmRouteBinderValve as host valve instead context valve. Refactor the API a little bit. (pero)
fix Don't increment open socket counter before socket is really open. Add socket open failures counter (pero)
add Add MessageListener support to cluster server.xml element (ClusterListener) to register your own cluster message receiver (pero)
add Add LifecycleListener support to cluster server.xml element (Listener) and notify those listener from start/stop cluster, add/remove session manager, sending fault and start/stop member (pero)
add Add active backgroundProcess keepAlive timeout and request count socket close check at ReplicationTransmitter. Check frequency can be change with attribute processSenderFrequency (default 2). (pero)
add Remove useless Jdk13ReplicationListener,Jdk13ObjectReader. Add SocketReplicationListener and SocketObjectReader to have nativ socket ClusterReceiver. Also extract ClusterReceiverBase superclass for SocketReplicationListener and ReplicationListener (pero)
update Add and update some API and the cluster howto documentation (pero)
update Refactor ReplicationValve for better understanding and small optimization (pero)
add Starting a unit test suite for cluster module - very much todo (pero)
fix Fix ant build.xml to direct compile at cluster module directory (pero)
fix Fix some I18N messages, but a lot of work is waiting for fix (pero)
add Add ReplicationValve Mbeans stats attribute getter and resetStatistics operation (pero)
Webapps
fix 35758: Admin webapp mishandling digest attribute of JDBCDataSourceRealm. (yoavs)
add 34250: Admin webapp Commit Changes button now asks for confirmation. (yoavs)
add 34818: Alternating row for apps in HTML manager, as suggested by Jeff Domeyer. (yoavs)
add 35379: Added commons-logging to build path of manager and host-manager apps, to make them build with Jikes, as suggested by Aaron Isotton. (yoavs)
Tomcat 5.5.9 (yoavs)
General
add Add JULI, a java.util.logging implementation, used to provide sane defaults and configurability equivalent to Tomcat 4.0 for Tomcat 5.5 logging (remm)
docs Add JULI documentation to the logging page (remm)
add Add host manager webapp (remm)
add Add ant JkStatusUpdateTask for remote status worker handling ( >=mod_jk 1.2.9) (pero)
add 33739: Add reference to RUNNING.txt in setup.html. (yoavs)
fix 33719: Update reference to Ant download page. (yoavs)
fix 33883: Bad options in SSL-HowTo. (yoavs)
update Update to MX4J 3.0.1 (pero)
update 34139: Updated Realm-HowTo to specify JMX, Commons-Logging jars for RealmBase. (yoavs)
add 33325: Added top-level clean target to Netbuild build.xml file. (yoavs)
update 33755: Clarified Postgresql JNDI datasource example. [patch submitted by Tom Witmer] (yoavs)
Catalina
fix Remove some instances of expanded folder removal (remm)
fix Don't call mkdirs if we're not going to save the configuration in StandardContext (remm)
fix Fix context classloader binding during loader initialization (it was set to null before) (remm)
fix The webapp logger should only be retrieved when the context classloader is set to the webapp's classloader (remm)
fix 34170: Add back retry logic in JDBC realm in case of a connection failure (remm)
fix 22041: Support dynamic proxies as session objects. (markt)
fix Fix logger names for wrappers (remm)
fix 34006: If antiResourceLocking was used, HostConfig considered the path as external, and web application resources were not correctly removed or tacked; also simplify the code a lot (remm)
fix 34016: Save and restore docBase when using antiResourceLocking, for compatibility with the admin webapp (remm)
add 33636: Set lastModified attribute when expanding WAR files. (yoavs)
add 32938: Allow Salted SHA (SSHA) passwords in JNDIRealm. (yoavs)
add 31288: Allow SMTP authentication for JNDI MailSessionFactory. (yoavs)
update Harmonize processing of the context.xml defaults with the way web.xml is processed (remm)
fix Ignore ';' if it is in the query string (remm)
fix private to protected for the webapp classloader (remm)
fix Improve logging of filters and listeners startup errors (remm)
fix 33774: Retry once in JNDI realm authenticate failure regardless of the exception message (remm)
fix 33961: Don't encode '~' in context paths (remm)
fix 32866: Propagate distributable property from context to manager (yoavs)
fix 32867: Reset distributable attribute in context for clean reload handling (yoavs)
update Fix some RealmBase/JNDIRealm log.isXXXEnabled (pero)
fix 34161: Harmonize StandardContext.stop with ContainerBase.stop (remm)
Coyote
fix 33971: Set remoteHost to null when Apache doesn't send one. (billbarker)
fix Fix calculation of threadRatio for the ms thread pool, and fix setting the updated timeout value (remm)
update Update the ms thread pool so that we allocate a worker before accepting a new socket, and wait a little if the pool is exhausted; this should make low maxThreads values work a lot better (remm)
update 33857: Update information on automatic mod_jk configuration in Apache-HowTo (yoavs)
fix Fix sync block placement in Mapper.addContext (remm)
fix 32741: Fix spelling of "committed" [patch from Ben Souther] (yoavs)
fix 34133: Make setHeader clear multi-valued headers (billbarker)
Jasper
fix 34034: Jasper does not respect external entities (billbarker)
fix 33810: Incorrect recycling of BodyContent if close is called (remm)
update Per instance loggers in Jasper (remm)
Cluster
fix Fix JvmRouteBinderValve primary failover attribute to org.apache.catalina.cluster.session.JvmRouteOrignalSessionID (pero)
fix Change attribute name waitForAck to sendAck at ReplicationListener (pero)
add Integrate new fastasyncqueue cluster sender mode. Support queue size limitation, get all queued objects and send it to the backup node, no queue thread lock contention under high replication load, submitted by Rainer Jung (pero)
add Add compress attribute to Sender and Receiver to transfer data uncompressed. At high cluster load this option consume lesser cpu and memory. Implement the compress handling to ReplicationTransmitter, ReplicationListener, XByteBuffer and Jdk13ReplicationListener (pero)
add Add doProcessingStats to synchronous, asynchronous and fastqueueasync sender modes to get min, avg, max processing times as IDataSender JMX MBeans (pero)
fix TcpThreadPool use constant ACK byte array instead create new 3 byte buffer for every message ack (pero)
update Refactor ReplicationTransmitter and ReplicationListener (pero)
update add getCatalinaCluster() to ClusterReceiver and SimpleTcpCluster (pero)
update Update the Api documentation (pero)
Webapps
update Use the standard struts taglib URIs in admin JSPs. (billbarker)
add Add more host parameters to create new host with host-manager (pero)
fix 34033: Fix quoting related bugs (remm)
fix 33713: Add Struts init code in frameset.jsp as well (remm)
Tomcat 5.5.8 (yoavs)
General
fix 33204: Fixed SSL HowTo page. (yoavs)
fix 33351: Fix silent uninstallation. (remm)
fix 33489: Missing space in uninstaller message. (yoavs)
Catalina
fix Unregister host mbean and all context mbeans at remove a host, s. StandardHost.destroy() and MBeanFactory.createStandardHost/removeHost(,) detected by Thorsten Kamann (pero)
fix make it possible to restart connector, now serversocket recreated after stop,start (pero)
fix change mbean names from Mapper and ProtocolHandler to connector naming style (pero)
update Add some log.isXXXEnabled (pero)
fix Deregister MapperListener after remove connector (pero)
fix Remove host only at own domain with same name at all services, detected by Thorsten Kamann (pero)
fix 33187: Remove any logging of the password in the JAAS realm, submitted by Andrew Jaquith (remm)
fix 33033: Don't do anything to the response in the ErrorReportValve if data has already been written (remm)
update Add charset support for the URLs used by the tasks, to remove deprecation (remm)
fix 26135: Workaround for memory leak when reloading Struts based web applications by clearing the bean instrospector cache of the JVM on classloader stop, submitted by Tobias Lofstrand. (remm)
fix Ensure that if CLASSPATH is declared on startup - it is not used. (funkman)
fix Add back use of deployOnStartup in HostConfig (remm)
docs Ant tasks docs patches, submitted by Gabriele Garuglieri. (remm)
update Use NIO for the raw copying operation, as it is faster (a little under 30%), and decreases a little the impact of antiResourceLocking. (remm)
fix 33357: Fix connection leaks with the DataSourceRealm, as well as improve efficiency, submitted by Dominik Drzewiecki. (remm)
update Improve a little logging of servlet exceptions, which should all log the root cause. (remm)
update Add new Manager.createSession(sessionId) method, allowing the client to "specify" the session id which should be used using a cookie when using emptySessionPath="true". This fixes session tracking in this case. (remm)
fix 33368: Fix memory leak in swallowOutput feature which occurred when the thread pool size is reduced, submitted by Rainer Jung. (remm)
fix StoreConfig: can't save cluster Membership element (pero)
add StoreConfig: suppress default jkHome attribute at connector (pero)
add StoreConfig: Save new dymanic properties from ReplicationTransmitter (pero)
fix 33463: Remove attributes after context destroy. (remm)
fix 33572: context.xml should be a redeploy resource, and add prioritization for redeploy resources. (remm)
Coyote
fix PoolTcpEndpoint recreate ServerSocket after start,stop,start connector (pero)
update Add some log.isXXXEnabled (pero)
add JkMX: make log4j mbean configurable with attribute log4jEnabled (pero)
fix When Tomcat runs on Windows and IE is uploading data to the server, the first read must be at least 8KB, otherwise upload speed is extremely low, submitted by Noel Rocher (remm)
Jasper
fix 33223: pageContext.forward and jsp:include result in StringIndexOutOfBoundsException (luehe)
fix 33373: Fix handling of context classloader in jspc (remm)
fix 33538: Ignore example and tag-extension elements in TagLibraryInfoImpl. (yoavs)
fix 33539: Better error message when an unknown element is encountered in the tag file. (yoavs)
fix 33219: Minor JspServletWrapper code cleanup. (yoavs)
Cluster
fix Add instance based ReplicationValve statistics to Mbean descriptor (pero)
fix Better I18N support to cluster session and tcp classes (pero)
add Support optional primaryIndicator at ReplicationValve to mark that request processing to existing session is at primary cluster node. Easy failover detection, when mark is not at configurable primaryIndicator attribute, submitted by Rainer Jung (pero)
update Refactor all implementation from interface IDataSenders (pero)
add Add some usefull attributes and operations to the all sender MBeans. (pero)
add Add keepAlive and waitForAck handling to AsyncSocketSender and factor out a DataSender base class.(pero)
add ReplicationTransmitter: Enable and Disable autoreconnect sender and waitForAck. (pero)
add ReplicationTransmitter: transfer all properties to socket sender from server.xml configuration. (pero)
Webapps
fix Fix create and remove Host for Admin app. (pero)
Tomcat 5.5.7 (remm)
General
add Add installer for mod_jk on IIS. (mturk)
add New store config module for better server.xml saving support.
Add <Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener" /> to your server.xml (pero)
update 32081: Remove the JDK requirement from the Unix scripts, submitted by Ben Souther (remm)
fix 32953: SERVLETAPI: XSS Issues, submitted by Mark Thomas (jfarcand)
update Update to commons-digester 1.6, JDT 3.0.1, MX4J 2.1.0, Struts 1.2.6 (remm)
Catalina
update First integration at StoreConfig to StandardServer (pero)
fix 32714 : Don't make the AccessLogValve final (funkman)
fix 32694: Fix bad code to make docBase path aboslute in antiLocking method. (remm)
fix 32713: Fix resource-env-ref handling. (remm)
fix 31201: Improve i18n support in DefaultServlet. This was causing problems with JSP include actions and static files. (markt)
fix Add some log.isXXXEnabled to o.a.c.core.StandardHost StandardEngine, StandardService (pero)
add Feature addition to add Redirector and failOnError support for all Catalina Ant tasks, submitted by Gabriele Garuglieri (remm)
fix 31198: Fix FORM and DIGEST authentication for non-ASCII usernames and passwords. (markt)
fix Reimplement charset mapper (remm)
fix Add logging of exception which could occur when retrieving the password in JDBCRealm (remm)
fix 25889: Don't execute queries twice, submitted by Tom Anderson (remm)
fix 32832: request.getSession(false) fails to return null (luehe)
fix 28222: request.getRequestURL() in forwarded jsp/servlet returns original url rather than new url as per SRV8.4 (markt)
fix 33157: Fix handling of the buffer length for basic authentication parsing (remm)
Coyote
fix 32708: Better handling of bad encoding with the string cache. (remm)
fix 32781: Fix bad initialization of the "scheme" field of the request object, which would cause getScheme to return "http" for the first request. (remm)
fix Content length should be ignored if there is chunking (remm)
fix Remove most deprecation problems for the AJP connector (remm)
Jasper
fix 32746: Avoid JAR locking when loading classes and improve loading performance by taking advantage of caching, submitted by Dominik Drzewiecki. (remm)
Cluster
fix correct JvmRouteSessionIDBinderListener MBean name to <domain>:type=Listener,name=JvmRouteSessionIDBinderListener,host=<host> (pero)
add JMX support to SimpleTcpCluster, ReplicationTransmitter and all senders (pero)
Webapps
fix Fix the webDAV servlet so it can be used via any arbitrary mapping (eg /webdav/*) to edit the contents of a web application. (markt)
fix 32729: Stop is optional and may fail, so it needs to be in a separate try/catch (remm)
update Remove the remove method of the manager servlet, and use the undeploy method instead (remm)
fix 32777: Fail if application isn't configured properly, submitted by Gabriele Garuglieri (remm)
fix 32771: Cannot undeploy/deploy misconfigured app after tomcat startup, submitted by Gabriele Garuglieri (remm)
fix 28867: Correct manager documentation to document correct way to reference the ROOT context. Submitted by Stephane Bailliez. (markt)
fix 33085: Add support for setting privileged attribute of context to admin webapp. (markt)
fix 33117: Fix Open bugs link broken on default homepage. Patch supplied by Sander Temme. (markt)
fix Improve javadoc generation for Catalina. (remm)
Tomcat 5.5.6 (yoavs)
General
update 32532: updated logging documentation. (yoavs)
update 32382: Index page and packaed WAR for sample webapp. (yoavs)
fix 32603: Updated host.xml to reflect appBase resolution. (yoavs)
Catalina
fix Add child to the map of the parent before starting it. (remm)
fix Decouple usage of the scheme and secure attributes from enabling SSL. (remm)
fix 32502: memory leak in DigestAuthenticator. (yoavs)
fix 28709: javax.servlet.http.HttpServletRequest.isRequestedSessionIdValid() returns true for an invalidated session. (luehe)
fix 32137: Possible thread-safety issue in RealmBase. (yoavs)
Coyote
fix 32585: Better handling for content length greater than Integer.MAX_VALUE in response. (markt)
update Allow ApacheConfig and friends to live under an Engine. (billbarker)
update Syncronize access to the Jk Request registration count. (billbarker)
update Speed the MsgContext on its way to GC. (billbarker)
fix Keep correct thread counts in Thread pool when thread ends in an exception (billbarker)
Jasper
update Updated Jasper-HowTo section on using Jikes, changed conf/web.xml JSPServlet to refer people to Jasper-HowTo so that we don't have these instructions in two places. (yoavs)
Webapps
fix 32505: Fix handling of an empty context parameter (which occurred every time the HTML manager was used to deploy a local war without specifying also a context file). (remm)
Tomcat 5.5.5 (yoavs)
General
update 32235: Sync conf/web.xml MIME types with Apache httpd. (yoavs)
fix 31132: Better -x/-r support for OS/400 in startup scripts. (yoavs)
update 22679: Added misc note on accessing session ID to SSL-HowTo. (yoavs)
update 32249: Updated logging documentation. (yoavs)
update 32282: Modify Windows Uninstaller to only remove webapps/ROOT and webapps if user asks to remove everything. (yoavs)
fix 32371: outdated introduction.xml page. (yoavs)
fix 32373: outdated installation.xml page. (yoavs)
update 32454: amended JNDI documentation for JavaMail/JavaActivationFramework usage. (yoavs)
Catalina
fix 32130: Add safety check to FileStore#keys method. (yoavs)
update 32276: Add developer info to Realm How-To. (yoavs)
fix 32082: Added protected getPrincipals method to MemoryRealm for easier extension. (yoavs)
fix 32023: CGIServlet fails to handle post message with multipart/form data. (yoavs)
fix 32269: JNDIRealm fails with InvalidNameException to authenticate users if LDAP distinguished name (DN) contains slash or double quote character(s). (yoavs)
fix Move processExpiresFrequency check to ManagerBase and reflect change to all subclasses (StandardManager, PersientManagerBase, DeltaManager). (pero)
update Add DIGEST authentication support to the JDBC and DataSource realms. Supports both digested and cleartext passwords. (markt)
fix 32429: CGIServlet calculates number of lines received on stderr incorrectly. (markt)
fix 32431: Fix typo in code that passes data to CGI script. (markt)
fix 32430: Class cast exception in toString() method within CGI servlet. (markt)
fix Add some log.isXXXEnabled checks at StandardContext and HostConfig (pero)
fix Remove the last DefaultContext artifacts (pero)
fix 32031: using createConnector with "http" protocol (remm)
fix Add configFile attribute in JMX descriptors (remm)
fix Fix autodeployer handling of a war which includes a /META-INF/context.xml, so that it is correctly registered and can be reloaded correctly (remm)
fix 32137: Use of MessageDigest should be synced in DIGEST (remm)
fix Add info log when the autodeployer reloads a context (remm)
Coyote
update Small HTTP/1.1 optimizations: replace usage of Strings with constant byte arrays, and simplify the code converting Strings to bytes (remm)
update Greatly reduce the amount of recycle method calls on the buffers (remm)
fixAdd null OName check for Request unregistration in Jk, to remove exception under JDK 1.5. (billbarker)
fix32292: Don't send keep-alive header when the protocol can't be parsed. (billbarker)
Jasper
update Updated JspC usage messages to include recently added configurable parameters. (yoavs)
fix 32330: JspC changes context classloader. (yoavs)
Cluster
add JvmRouteBinderValve/JvmRouteSessionIDBinderListener to bind cluster session after primary node failure at first calling backup node. This was an option to have session stickyness after cluster node crashed. Work only with JESSIONID cookies. (pero)
add Better log support to DeltaManager to see detail information at debug level. (pero)
fix Fix FarmWarDeployer based on new HostConfig deployer. (pero)
fix FarmWarDeployer controlled WarWatcher with engine backgroundProcess call. Added processDeployFrequency attribute to Deployer server.xml element. (pero)
Webapps
update 32019: Remove maxlength=64 restriction on env entry values in admin webapp. (yoavs)
fix Fix various problems in realm docs, submitted by Phil Mocek. (remm)
update Add log4j docs submitted by Allistair Crossley. (remm)
fix32381: Fix problem where EL expression is used as a place holder in the admin webapp. Submitted by Allistair Crossley. (billbarker)
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 Add processExpiresFrequency to PersistentManagerBase and made some small JDBCStore optimizations (pero)
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)
add Add getAttributeName() to ProtocolHandler to get all attributes at runtime (pero)
Jasper
update Exposed compilerSourceVM and compilerTargetVM options to JspC. (yoavs)
Cluster
fix DeltaManager and SimpleTcpReplicationManager generate double jvmRoute (pero)
add Add some missing Getters and log.isXXXEnableds (pero)
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-2005, Apache Software Foundation