General New Features:
Upgrade to Apache
Upgrade to JAF 1.0.2
Upgrade to 1.3.1
Upgrade to 1.0.1b
Catalina New Features:
Add support for optionally passing the shell environment
variables to the CGI script
Jasper New Features:
Generic Bug Fixes:
[4.1.31] Administration Wepapp:
Add support for new clientAuth values
Correctly document default value for useBodyEncodingForURI
Startup and Admin webapp
Exceptions on startup and errors in admin webapp when default
defined with loader and/or manager.
User password was truncated to 32 characters
[4.1.31] Admin webapp
Fixed validation for various forms
The group and role list disappear when using "Create New User" if
"save" clicked without filling in form.
Update docs to show that the shared directory is relative to
CATALINA_BASE not CATALINA_HOME.
[4.1.31] #bug 13772
Add a link to the security manager how-to.
workDir attribute now retain in context
Update valve docs to provide pointer to the Jakarta
Use same setting for 'Djava.endorsed.dirs' when starting via menu
as for service and batch file.
Correct grammer and typo
Set path to "" rather than "/" for a new root context.
Add warning to RequestDumperValve docs to make users aware of
possible side effects.
[4.1.31] Windows installer
Update to use NSIS version 2. Only uses new features where
required to get installer task to complete. Some minor changes
in behaviour but otherwise remains consistent with previous
Correct XMLnamespace declaration
Align the description of the reload target in application
developer guide with the
description of reload from the manager
Update to reflect 4.1 branch, missing libraries, updated
libraries and add steps to build installer and release
should be renamed to J2SE SDK
. Add note about using SDK
rather than JRE
Add shared to list of directories relative to CATALINA_BASE.
[4.1.31] Build script
Modify build scripts so build.properties.sample becomes a
default that can be overridden by a build.properties file.
Correct ant path in Jasper how-to
Clarify relationship between autodeploy and livedeploy
Provide support for renaming the examples context without
breaking the examples
Clarify that the cached Principal is not retained across
Catalina Bug Fixes:
[4.1.31] #15463, Duplicates #18609, #20083, #20667
Fix idle session timeout bug.
Optimize use of database session persistence to improve scaling
Make clear in error message that JDK
Remove unnecessary line feeds from stdin stream.
Make parameter encoding configurable. Default remains as is.
Fix inconsistent encoding of URLs
2254 done on whole string instead of just DN
Provide an implementation for getName() and getPassword() which
are required if using CLIENT-CERT authentication
Returns correct status in response to MOVE request
Remove lock obsfucation functionality as it breaks a number of
clients and does not appear to be covered by the webdav
Lock token must be returned after lock creation.
The destination path needs to be normalised after the protocol
and host has been removed (if present).
Catch and log exceptions in listeners
Ensure the catalina.useNaming property is set before executing
the digester so the -nonaming command line option has an effect.
Use correct escaping (replace single ' with double '') in
Add mappings for the XHTML
Provide a better error message if session expires during login
Start() should throw an exception if it fails.
Load on startup servlets should be loaded after AFTER_START_EVENT
(where environment entries are created).
Cached attribute of resources now has an effect
Prevent npe in StoreBase if a sql
Non-serializable sessions attributes are be removed so
valueUnbound is called
Make clear which file digester failed to parse
Don't remove application parameters on stop (only the parameters
specified in web.xml
would get added back)
Display more helpful error message if docBase is invalid
Add spaces to expected cookie
values to enable tests to pass.
Whitespace is allowed between tokens
Change 'asset()' to 'assertTrue()' to fix build problem on 1.4 JDK
Fix failures with Mozilla
and other issues re RFC2617
Fix getContext("/") so current context is returned if called
whilst in the root context
Request dispatcher does not set empty javax.servlet
attributes on nested includes.
Support parameters with multiple values in CGI servlet
CONTENT_LENGTH was recalculated after script had been executed
and hence had no effect
Parameters were being sent to the script twice
Session output not formatted correctly for session inactive for
Fix requirement for a great deal of unnecessary db queries to
manage the persisted data. This could severly impact its ability
to scale to large numbers of sessions.
Improve session timeout handling
The spec states if an error page declaration doesn't match the
original exception and the exception is an instance of
ServletException then the exception should be unwrapped and a
second pass made of the error page declarations.
Allow username and/or password to start and/or end in a space.
This is required by section 2 of RFC2617.
Various servlets, valves and docs
Modify noshade references to align with XHTML
Null pointer exception on startup if context specifies
Path=... rather than path=...
NoClassDefFoundError when calling getNamedDispatcher with
Poor performance with RMI
The alternateURL should be used in more cases than just a
naming excetion (eg network error)
[4.1.31] CGI Servlet
Correctly handle binary responses (eg images)
Ensure digester uses right classloder when digester jar is in
common/lib as well.
Provide a better message in the log if the temp directory is
Test for execute rather than read permissions in scripts since
execute is what we need. Add missing JDK
Fix package sealing test for partially sealed jars
If-Unmodified-Since now takes account of HTTP header not
When running as a service, swallowOuput had no effect
Incorrect form of address used in Embedded
in French translation
CATALINA_HOME ignored and reset by catalina.sh
Remove quotes from nc token in digest header if present
Single Sign on
Incorrect handling of negative timeout in
Fix serialization of array of custom class
Fix sources of memory leaks associated with deploy/undeploy
Coyote Bug Fixes:
Use coyote connectors
Rename LocalString_fr.properties to LocalStrings_fr.properties
[4.1.31] Upgrade to Connectors from Tomcat
Jasper Bug Fixes:
[4.1.31] #13960, #13961
comments to prevent warnings during compile
Remove the last traces of the largefile option which is no longer
Nested tags with scripting variables generates invalid code
bodyContent content not reset when a tag is reused.
:getProperty should return "null" rather than "" for null objects
If page output is unbuffered, illegal state exception is no longer
thrown on forward if and only if nothing has been written to the
page. The ise will still be thrown on forward if there has been any
unbuffered output (JSP
PageContext.setAttribute() should throw a NPE if name or object are
removing then replacing a jsp
page continues to give a 404
Clarify error message when nesting exceptions
Don't wrap a ServletException in a JasperException. A custom
exception in a JSP
will be be wrapped in a ServletException.
If this is further wrapped in a JasperException Tomcat
can't get at
the original exception and error page mappings in web.xml
Ensure spaces in tomcat
install path (if any) are decoded before
passing to javac. This was causing the admin app to fail when
deployed in uncompiled form to a tomcat
instance with a space in
Fix NPE when running in standalone mode and no useful error message.
popBody not always called as expected resulting in unexpected output
Copy ant-launcher.jar if necessary for ant 1.6+
Fix FD leak
Fix issue where security manager was null
Fix occasional failure due to temp dir not being set for Ant task.
Fix package name generation.