blob: 68cb6d5c1c4336eaad8633f61702723aa54deba0 [file] [log] [blame]
<?xml version="1.0"?>
<!DOCTYPE document [
<!ENTITY project SYSTEM "project.xml">
]>
<document url="changelog.html">
&project;
<properties>
<author email="remm@apache.org">Remy Maucherat</author>
<author email="yoavs@apache.org">Yoav Shapira</author>
<title>Changelog</title>
</properties>
<body>
<section name="Preface">
<p>
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
<a href="http://jakarta.apache.org/tomcat/tomcat-5.0-doc/changelog.html">The
Tomcat 5.0.x Changelog</a>. 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.
</p>
</section>
<section name="Tomcat 5.5.3 (yoavs)">
<subsection name="General">
<changelog>
<fix>
<bug>30568</bug>: Incomplete setup.html documentation for launching jsvc. (yoavs)
</fix>
<update>
Repackage naming features. (remm)
</update>
<fix>
Fix deployer packaging. (remm)
</fix>
<fix>
Fix embed packaging. (remm)
</fix>
</changelog>
</subsection>
<subsection name="Catalina">
<changelog>
<fix>
Fix memory leak when Security Manager is turned on. (jfarcand)
</fix>
<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)
</fix>
<update>
Remove Digester code for Xerces workaround. (jfarcand)
</update>
<fix>
Give proper permission to the balancer app when running under the security manager. (jfarcand)
</fix>
<fix>
<bug>30869</bug>: Make sure JAAS realm name is legal. (yoavs)
</fix>
<update>
md5Helper, md5Encoder, and normalize are used by WebdavServlet,
not DefaultServelt so move them into WebdavServlet.
</update>
<fix>
<bug>31277</bug>: Clarified automatic application deployment section of Host configuration page. (yoavs)
</fix>
<fix>
<bug>28631</bug>: JAASRealm enhancements to support custom user and role classes use Commons-Logging. (yoavs)
</fix>
<fix>
<bug>31364</bug>: Missing resource in org.apache.catalina.core.LocalString.properties. (yoavs)
</fix>
<fix>
<bug>31362</bug>: Missing -Xdebug in catalina.bat when launching with JPDA and Security. (yoavs)
</fix>
<fix>
<bug>31356</bug>: Duplicates not counted in session generation. (yoavs)
</fix>
<fix>
<bug>30949</bug>: Make sure ApplicationDispatcher unwraps request/response even if include error occurs. (yoavs)
</fix>
<fix>
Fixed StandardContext.getStartTime() to return actual start time/date instead of time (startupTime) it took to start context. (luehe)
</fix>
<update>
getRequest/getResponse should return the most relevant interface, to avoid casts. (remm)
</update>
<update>
Add check for directory before considering something is a compressed WAR. (remm)
</update>
<docs>
Update the connector documentation. (remm)
</docs>
<fix>
When parsing a context file, ignore the "path" attribute:
the only place where it is acceptable is in server.xml. (remm)
</fix>
<fix>
Digester handling fixes: always call reset in a finally block after using a digester. (remm)
</fix>
<update>
Remove many fields from Connector, and tie the creation of the Connector to the
creation of the protocol handler. (remm)
</update>
<update>
Remove package triggers from the classloader, which seem useless when using Java 5. (remm)
</update>
<fix>
Realms will now use set attribute to set themselves in their container when using JMX. (remm)
</fix>
<fix>
Fix JMX related operations with the Connector. (remm)
</fix>
<fix>
Fix save-to-XML for naming resources. (remm)
</fix>
<fix>
Remove authenticator "debug" attributes from the descriptors. (remm)
</fix>
<update>
Refactor org.apache.catalina.deploy.ContextXXX to use new super class ResourceBase. (pero)
</update>
<fix>
Enable Connector.findLifecycleListener that we can listen start/stop Connector events and save the listener to xml. (pero)
</fix>
<update>
Remove Watchdog references, as it is no longer used. (yoavs)
</update>
<fix>
<bug>31511</bug>: Don't call setenv.bat if not found, in *using-launcher scripts. (yoavs)
</fix>
<fix>
<bug>31549</bug>: Add name to WebappClassLoader's stopped message. (yoavs)
</fix>
</changelog>
</subsection>
<subsection name="Coyote">
<changelog>
<update>
Allow customized server header for Standalone. (funkman)
</update>
<fix>
Digester.reset now removes the error handler, the root and calls clear, to prevent
any memory leak. (remm)
</fix>
<update>
Remove useless stuff in digester. (remm)
</update>
<update>
In HTTP, add a utility method to convert strings to byte arrays, and output the server header
directly as bytes. (remm)
</update>
<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)
</add>
<fix>
Fix issue with getProperty in IntrospectionUtils. (remm)
</fix>
<update>
Remove attribute translation for SSL in the HTTP protocol handler: it will now be done in the
Catalina Connector class. (remm)
</update>
<fix>
Fix handling of the "timeout" attribute of the HTTP protocol handler. (remm)
</fix>
</changelog>
</subsection>
<subsection name="Jasper">
<changelog>
<fix>
<bug>31171</bug>: Wrap to avoid ClassCastException in PageContextImpl. (yoavs)
</fix>
<fix>
<bug>31257</bug>: 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)
</fix>
<docs>
Document new Jasper defaults, and update the production configuration. (remm)
</docs>
<fix>
Copied XML encoding detection logic into JASPER, so we're no longer dependent on Xerces. (luehe)
</fix>
<fix>
Fix cosmetic issue where extra CRLF would be inserted during each precompilation in web.xml. (remm)
</fix>
<update>
Allow configuring the interval following a compilation during which a JSP will not be checked
for modifications. (remm)
</update>
<fix>
<bug>31465</bug>: Ensure that the compiler reads the .java file using the same encoding as that with which it was written. (markt)
</fix>
<fix>
<bug>31510</bug>: Null out response in JspWriterImpl#recycle to aid in JBoss memory leak. (yoavs)
</fix>
</changelog>
</subsection>
<subsection name="Cluster">
<changelog>
<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>
<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)
</update>
</changelog>
</subsection>
<subsection name="Webapps">
<changelog>
<fix>
<bug>29485</bug>: I broke the HTML manager when adding JavaScript confirmation, fixed now ;) (yoavs)
</fix>
<fix>
<bug>31058</bug>: Ensure StatusTransformer escapes query string for XML. (yoavs)
</fix>
<update>
Added contexts' start time (available from 'startTime' MBean attribute of StandardContext) to status page (luehe)
</update>
<fix>
<bug>31264</bug>: the deploy task should now behave correctly. (remm)
</fix>
<update>
Refactor the manager servlet to make calls to the deployer more robust. (remm)
</update>
<fix>
Use the more robust String.valueOf in the form edit action of the connector. (remm)
</fix>
</changelog>
</subsection>
</section>
<section name="Tomcat 5.5.2 (yoavs)">
<subsection name="General">
<changelog>
<fix>
The installer will now use the system's JRE. (remm)
</fix>
</changelog>
</subsection>
<subsection name="Catalina">
<changelog>
<fix>
Fix URL generation for classloaders on Windows, causing common/classes and shared/classes
to be unusable (remm)
</fix>
<fix>
<bug>31110</bug>: Fix resource packaging bug for servlets (remm)
</fix>
<fix>
Fix 5.5 regression where going through the authenticator would create a session each time. (remm)
</fix>
<fix>
Fix classname of the connector in Embedded, and remove the socket factory. (remm)
</fix>
</changelog>
</subsection>
<subsection name="Coyote">
<changelog>
<fix>
Redo server header handling again. (remm)
</fix>
<update>
Cleanup a little access to the headers using a local variable and
use setValue for Server and Date headers. (remm)
</update>
</changelog>
</subsection>
<subsection name="Jasper">
<changelog>
<fix>
Remove maxTagNesting and curTagNesting since they are unused. (funkman)
</fix>
<fix>
Fix tag files handling with JDT, which were ususable, and refactor the lifecycle handling of
the page loader. (remm)
</fix>
</changelog>
</subsection>
<subsection name="Cluster">
<changelog>
</changelog>
</subsection>
<subsection name="Webapps">
<changelog>
</changelog>
</subsection>
</section>
<section name="Tomcat 5.5.1 (yoavs)">
<subsection name="General">
<changelog>
<update>
Tomcat 5.5 can be built on JDK 5.0. (yoavs)
</update>
<fix>
Windows installer polish. (mladen, remm)
</fix>
<update>
Remove dependency on Jakarta regexp. (remm)
</update>
</changelog>
</subsection>
<subsection name="Catalina">
<changelog>
<fix>
Allow overriding the location of the default context file, similar to the default
web.xml. (remm)
</fix>
<update>
Backport if-else logic for SSI servlet from 4.1 (funkman)
</update>
<fix>
Remove DefaultContext elements from the digester rules. (remm)
</fix>
<fix>
Fix ResourceLink handling. (remm)
</fix>
<fix>
Modify the auto deployer to get along with contexts which are statically defined in server.xml. (remm)
</fix>
<fix>
Externalize constant strings defining the location of deployment related resources. (remm)
</fix>
<fix>
<bug>31052</bug>: BeanFactory swallows root cause of exception. (yoavs)
</fix>
<fix>
Allow using deploy Ant task with just config attribute, submitted by Michael Schuerig. (remm)
</fix>
<add>
Added longest time an expired session had been alive to set of monitorable session manager attributes. (luehe)
</add>
<add>
Added average time an expired session had been alive to set of monitorable session manager attributes. (luehe)
</add>
<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)
</fix>
</changelog>
</subsection>
<subsection name="Coyote">
<changelog>
<fix>
<bug>31018</bug>: Race condition in SystemLogHandler. (yoavs)
</fix>
</changelog>
</subsection>
<subsection name="Jasper">
<changelog>
<fix>
Use the "compiler" parameter to allow specifying that Ant should be used. (remm)
</fix>
<fix>
Ignore JDT compiler warnings. (remm)
</fix>
<add>
Added compilerTargetVM option support, "1.4" default. (yoavs)
</add>
</changelog>
</subsection>
<subsection name="Cluster">
<changelog>
<fix>
Fix adding the clustering valve, so that session replication actually occurs. (fhanik)
</fix>
</changelog>
</subsection>
<subsection name="Webapps">
<changelog>
<update>
Major documentation update with current Tomcat 5.5 changes. (remm)
</update>
<update>
Added JavaScript confirmation dialog to "dangerous" Manager servler links. (yoavs)
</update>
</changelog>
</subsection>
</section>
<section name="Tomcat 5.5.0 (yoavs)">
<subsection name="General">
<changelog>
<update>
Many updated and fixed JavaDocs. (yoavs)
</update>
<update>
Designed and tested Tomcat on J2SE 5.0 (aka JDK 1.5). (everyone)
</update>
<update>
Bundled Eclipse JDT (new dependency) to allow Tomcat to run on a JRE only, i.e. no JDK required. (remm)
</update>
<update>
Repackage commons-dbcp and its dependencies as a sigle smaller WAR, with renamed packages. (remm)
</update>
<update>
Removed dependencies on commons-digester, commons-beanutils, and commons-collections.
The relevant digester functionality is now merged in tomcat-util. (remm)
</update>
</changelog>
</subsection>
<subsection name="Catalina">
<changelog>
<update>
Removed usage of org.apache.catalina.Logger, increased usage of commons-logging everywhere. (remm)
</update>
<update>
Refactored classloader code to better handle JAR and general resource locking. (remm)
</update>
<update>
Written JMX-related code to play nicely with J2SE 5.0 built-in JMX abilities. (remm, costin)
</update>
<update>
Extensively profiled and optimized the server startup performance as well as the request mapping and processing pipeline. (remm)
</update>
<update>
The container will now always process a /META-INF/context.xml resource, unless the webapp has a specified external context file. (remm)
</update>
<update>
New default configuration mechanism for web applications, replacing DefaultContext. This uses a
shared context file located in conf/context.xml. (remm)
</update>
<update>
Revamped deployer, alloying full hotdeploy (note: on Windows, this requires the anti file locking
features). (remm)
</update>
<update>
Remove verbosity from the JNDI resources configuration, by allowing arbitrary attributes on the Resource element. (remm)
</update>
<update>
Simpler Valve interface, to allow smaller stack traces and reducing the amount of method calls. (remm)
</update>
</changelog>
</subsection>
<subsection name="Coyote">
</subsection>
<subsection name="Jasper">
<changelog>
<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>
<update>
Jasper development mode should now have acceptable performance for heavily accessed pages.
Precompiling JSPs is still significantly more efficient, however. (remm)
</update>
</changelog>
</subsection>
<subsection name="Cluster">
</subsection>
<subsection name="Webapps">
<changelog>
</changelog>
</subsection>
</section>
</body>
</document>