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