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