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