~ubuntu-branches/ubuntu/precise/tomcat7/precise

1 by tony mancill
Import upstream version 7.0.14
1
================================================================================
2
  Licensed to the Apache Software Foundation (ASF) under one or more
3
  contributor license agreements.  See the NOTICE file distributed with
4
  this work for additional information regarding copyright ownership.
5
  The ASF licenses this file to You under the Apache License, Version 2.0
6
  (the "License"); you may not use this file except in compliance with
7
  the License.  You may obtain a copy of the License at
8
9
      http://www.apache.org/licenses/LICENSE-2.0
10
11
  Unless required by applicable law or agreed to in writing, software
12
  distributed under the License is distributed on an "AS IS" BASIS,
13
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
  See the License for the specific language governing permissions and
15
  limitations under the License.
16
================================================================================
17
18
$Id: RELEASE-NOTES 1084951 2011-03-24 13:27:39Z markt $
19
20
21
                     Apache Tomcat Version @VERSION@
22
                            Release Notes
23
24
25
=========
26
CONTENTS:
27
=========
28
29
* Dependency Changes
30
* API Stability
31
* JNI Based Applications
32
* Bundled APIs
33
* Web application reloading and static fields in shared libraries
34
* Tomcat on Linux
35
* Enabling SSI and CGI Support
36
* Security manager URLs
37
* Symlinking static resources
38
* Viewing the Tomcat Change Log
39
* Cryptographic software notice
40
* When all else fails
41
42
43
===================
44
Dependency Changes:
45
===================
46
Tomcat @VERSION_MAJOR_MINOR@ is designed to run on Java SE 6 and later.
47
48
In addition, Tomcat @VERSION_MAJOR_MINOR@ uses the Eclipse JDT Java compiler for
49
compiling JSP pages.  This means you no longer need to have the complete
50
Java Development Kit (JDK) to run Tomcat, but a Java Runtime Environment
51
(JRE) is sufficient.  The Eclipse JDT Java compiler is bundled with the 
52
binary Tomcat distributions.  Tomcat can also be configured to use the
53
compiler from the JDK to compile JSPs, or any other Java compiler supported 
54
by Apache Ant.
55
56
57
==============
58
API Stability:
59
==============
60
The public interfaces for the following classes are fixed and will not be
61
changed at all during the remaining lifetime of the 7.x series:
62
- javax/**/*
63
64
The public interfaces for the following classes may be added to in order to
65
resolve bugs and/or add new features. No existing interface will be removed or
66
changed although it may be deprecated.
67
- org/apache/catalina/*
68
69
Note: As Tomcat 7 matures, the above list will be added to. The list is not
70
      considered complete at this time.
71
72
The remaining classes are considered part of the Tomcat internals and may change
73
without notice between point releases.
74
75
76
=======================
77
JNI Based Applications:
78
=======================
79
Applications that require native libraries must ensure that the libraries have
80
been loaded prior to use.  Typically, this is done with a call like:
81
82
  static {
83
    System.loadLibrary("path-to-library-file");
84
  }
85
86
in some class.  However, the application must also ensure that the library is
87
not loaded more than once.  If the above code were placed in a class inside
88
the web application (i.e. under /WEB-INF/classes or /WEB-INF/lib), and the
89
application were reloaded, the loadLibrary() call would be attempted a second
90
time.
91
92
To avoid this problem, place classes that load native libraries outside of the
93
web application, and ensure that the loadLibrary() call is executed only once
94
during the lifetime of a particular JVM.
95
96
97
=============
98
Bundled APIs:
99
=============
100
A standard installation of Tomcat @VERSION_MAJOR_MINOR@ makes all of the following APIs available
101
for use by web applications (by placing them in "lib"):
102
* annotations-api.jar (Annotations package)
103
* catalina.jar (Tomcat Catalina implementation)
104
* catalina-ant.jar (Tomcat Catalina Ant tasks)
105
* catalina-ha.jar (High availability package)
106
* catalina-tribes.jar (Group communication)
107
* el-api.jar (EL 2.2 API)
108
* jasper.jar (Jasper 2 Compiler and Runtime)
109
* jasper-el.jar (Jasper 2 EL implementation)
110
* ecj-@JDT_VERSION@.jar (Eclipse JDT Java compiler)
111
* jsp-api.jar (JSP 2.2 API)
112
* servlet-api.jar (Servlet 3.0 API)
113
* tomcat-api.jar (Interfaces shared by Catalina and Jasper)
114
* tomcat-coyote.jar (Tomcat connectors and utility classes)
115
* tomcat-dbcp.jar (package renamed database connection pool based on Commons DBCP)
116
117
You can make additional APIs available to all of your web applications by
118
putting unpacked classes into a "classes" directory (not created by default),
119
or by placing them in JAR files in the "lib" directory.
120
121
To override the XML parser implementation or interfaces, use the endorsed
122
mechanism of the JVM. The default configuration defines JARs located in 
123
"endorsed" as endorsed.
124
125
126
================================================================
127
Web application reloading and static fields in shared libraries:
128
================================================================
129
Some shared libraries (many are part of the JDK) keep references to objects
130
instantiated by the web application. To avoid class loading related problems
131
(ClassCastExceptions, messages indicating that the classloader
132
is stopped, etc.), the shared libraries state should be reinitialized.
133
134
Something which might help is to avoid putting classes which would be
135
referenced by a shared static field in the web application classloader,
136
and putting them in the shared classloader instead (JARs should be put in the
137
"lib" folder, and classes should be put in the "classes" folder).
138
139
140
================
141
Tomcat on Linux:
142
================
143
GLIBC 2.2 / Linux 2.4 users should define an environment variable:
144
export LD_ASSUME_KERNEL=2.2.5
145
146
Redhat Linux 9.0 users should use the following setting to avoid
147
stability problems:
148
export LD_ASSUME_KERNEL=2.4.1
149
150
There are some Linux bugs reported against the NIO sendfile behavior, make sure you
151
have a JDK that is up to date, or disable sendfile behavior in the Connector.<br/>
152
6427312: (fc) FileChannel.transferTo() throws IOException "system call interrupted"<br/>
153
5103988: (fc) FileChannel.transferTo should return -1 for EAGAIN instead throws IOException<br/>
154
6253145: (fc) FileChannel.transferTo on Linux fails when going beyond 2GB boundary<br/>
155
6470086: (fc) FileChannel.transferTo(2147483647, 1, channel) cause "Value too large" exception<br/>
156
157
158
=============================
159
Enabling SSI and CGI Support:
160
=============================
161
Because of the security risks associated with CGI and SSI available
162
to web applications, these features are disabled by default.  
163
164
To enable and configure CGI support, please see the cgi-howto.html page.
165
166
To enable and configue SSI support, please see the ssi-howto.html page.
167
168
169
======================
170
Security manager URLs:
171
======================
172
In order to grant security permissions to JARs located inside the
173
web application repository, use URLs of of the following format
174
in your policy file:
175
176
file:${catalina.home}/webapps/examples/WEB-INF/lib/driver.jar
177
178
179
============================
180
Symlinking static resources:
181
============================
182
By default, Unix symlinks will not work when used in a web application to link
183
resources located outside the web application root directory.
184
185
This behavior is optional, and the "allowLinking" flag may be used to disable
186
the check.
187
188
189
==============================
190
Viewing the Tomcat Change Log:
191
==============================
192
See changelog.html in this directory.
193
194
195
=============================
196
Cryptographic software notice
197
=============================
198
This distribution includes cryptographic software.  The country in 
199
which you currently reside may have restrictions on the import, 
200
possession, use, and/or re-export to another country, of 
201
encryption software.  BEFORE using any encryption software, please 
202
check your country's laws, regulations and policies concerning the
203
import, possession, or use, and re-export of encryption software, to 
204
see if this is permitted.  See <http://www.wassenaar.org/> for more
205
information.
206
207
The U.S. Government Department of Commerce, Bureau of Industry and
208
Security (BIS), has classified this software as Export Commodity 
209
Control Number (ECCN) 5D002.C.1, which includes information security
210
software using or performing cryptographic functions with asymmetric
211
algorithms.  The form and manner of this Apache Software Foundation
212
distribution makes it eligible for export under the License Exception
213
ENC Technology Software Unrestricted (TSU) exception (see the BIS 
214
Export Administration Regulations, Section 740.13) for both object 
215
code and source code.
216
217
The following provides more details on the included cryptographic
218
software:
219
  - Tomcat includes code designed to work with JSSE
220
  - Tomcat includes code designed to work with OpenSSL
221
222
223
====================
224
When all else fails:
225
====================
226
See the FAQ
227
http://tomcat.apache.org/faq/