diff --git a/tomcat-uid/webapps/ROOT/RELEASE-NOTES.txt b/tomcat-uid/webapps/ROOT/RELEASE-NOTES.txt
index b85ba0f..99cea1c 100644
--- a/tomcat-uid/webapps/ROOT/RELEASE-NOTES.txt
+++ b/tomcat-uid/webapps/ROOT/RELEASE-NOTES.txt
@@ -16,15 +16,16 @@
 ================================================================================
 
 
-                     Apache Tomcat Version 6.0.41
+                     Apache Tomcat Version 7.0.77
                             Release Notes
 
 
-=============================
-KNOWN ISSUES IN THIS RELEASE:
-=============================
+=========
+CONTENTS:
+=========
 
 * Dependency Changes
+* API Stability
 * JNI Based Applications
 * Bundled APIs
 * Web application reloading and static fields in shared libraries
@@ -32,7 +33,6 @@
 * Enabling SSI and CGI Support
 * Security manager URLs
 * Symlinking static resources
-* Enabling invoker servlet
 * Viewing the Tomcat Change Log
 * Cryptographic software notice
 * When all else fails
@@ -41,17 +41,37 @@
 ===================
 Dependency Changes:
 ===================
-Tomcat 6.0 is designed to run on Java SE 5.0 and later.
+Tomcat 7.0 is designed to run on Java SE 6 and later.
 
-In addition, Tomcat 6.0 uses the Eclipse JDT Java compiler for compiling
-JSP pages.  This means you no longer need to have the complete
+In addition, Tomcat 7.0 uses the Eclipse JDT Java compiler for
+compiling JSP pages.  This means you no longer need to have the complete
 Java Development Kit (JDK) to run Tomcat, but a Java Runtime Environment
-(JRE) is sufficient.  The Eclipse JDT Java compiler is bundled with the 
+(JRE) is sufficient.  The Eclipse JDT Java compiler is bundled with the
 binary Tomcat distributions.  Tomcat can also be configured to use the
-compiler from the JDK to compile JSPs, or any other Java compiler supported 
+compiler from the JDK to compile JSPs, or any other Java compiler supported
 by Apache Ant.
 
 
+==============
+API Stability:
+==============
+The public interfaces for the following classes are fixed and will not be
+changed at all during the remaining lifetime of the 7.x series:
+- javax/**/*
+
+The public interfaces for the following classes may be added to in order to
+resolve bugs and/or add new features. No existing interface will be removed or
+changed although it may be deprecated.
+- org/apache/catalina/*
+- org/apache/catalina/comet/*
+
+Note: As Tomcat 7 matures, the above list will be added to. The list is not
+      considered complete at this time.
+
+The remaining classes are considered part of the Tomcat internals and may change
+without notice between point releases.
+
+
 =======================
 JNI Based Applications:
 =======================
@@ -76,28 +96,33 @@
 =============
 Bundled APIs:
 =============
-A standard installation of Tomcat 6.0 makes all of the following APIs available
+A standard installation of Tomcat 7.0 makes all of the following APIs available
 for use by web applications (by placing them in "lib"):
 * annotations-api.jar (Annotations package)
 * catalina.jar (Tomcat Catalina implementation)
 * catalina-ant.jar (Tomcat Catalina Ant tasks)
 * catalina-ha.jar (High availability package)
 * catalina-tribes.jar (Group communication)
-* ecj-4.3.1.jar (Eclipse JDT Java compiler)
-* el-api.jar (EL 2.1 API)
+* ecj-4.4.2.jar (Eclipse JDT Java compiler)
+* el-api.jar (EL 2.2 API)
 * jasper.jar (Jasper 2 Compiler and Runtime)
 * jasper-el.jar (Jasper 2 EL implementation)
-* jsp-api.jar (JSP 2.1 API)
-* servlet-api.jar (Servlet 2.5 API)
+* jsp-api.jar (JSP 2.2 API)
+* servlet-api.jar (Servlet 3.0 API)
+* tomcat7-websocket.jar (WebSocket 1.1 implementation)
+* tomcat-api.jar (Interfaces shared by Catalina and Jasper)
 * tomcat-coyote.jar (Tomcat connectors and utility classes)
 * tomcat-dbcp.jar (package renamed database connection pool based on Commons DBCP)
+* tomcat-jdbc.jar (Tomcat's database connection pooling solution)
+* tomcat-util.jar (Various utilities)
+* websocket-api.jar (WebSocket 1.1 API)
 
 You can make additional APIs available to all of your web applications by
 putting unpacked classes into a "classes" directory (not created by default),
 or by placing them in JAR files in the "lib" directory.
 
 To override the XML parser implementation or interfaces, use the endorsed
-mechanism of the JVM. The default configuration defines JARs located in 
+mechanism of the JVM. The default configuration defines JARs located in
 "endorsed" as endorsed.
 
 
@@ -164,59 +189,32 @@
 the check.
 
 
-=========================
-Enabling invoker servlet:
-=========================
-Starting with Tomcat 4.1.12, the invoker servlet is no longer available by
-default in all webapps. Enabling it for all webapps is possible by editing
-$CATALINA_HOME/conf/web.xml to uncomment the "/servlet/*" servlet-mapping
-definition.
-
-Using the invoker servlet in a production environment is not recommended and
-is unsupported.  More details are available on the Tomcat FAQ at
-http://tomcat.apache.org/faq/misc.html#invoker.
-
-
 ==============================
 Viewing the Tomcat Change Log:
 ==============================
 See changelog.html in this directory.
 
 
-============================================
-Multi-byte charset handling bug in Java 1.5:
-============================================
-Public versions of Sun/Oracle Java 1.5 are known to have a nasty bug in
-implementation of Charset.decode() method for certain character sets.
-
-For details, test and a list of affected character sets see:
-
-http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6196991
-https://issues.apache.org/bugzilla/show_bug.cgi?id=52579
-
-The UTF-8 charset is not affected by this issue.
-
-
 =============================
 Cryptographic software notice
 =============================
-This distribution includes cryptographic software.  The country in 
-which you currently reside may have restrictions on the import, 
-possession, use, and/or re-export to another country, of 
-encryption software.  BEFORE using any encryption software, please 
+This distribution includes cryptographic software.  The country in
+which you currently reside may have restrictions on the import,
+possession, use, and/or re-export to another country, of
+encryption software.  BEFORE using any encryption software, please
 check your country's laws, regulations and policies concerning the
-import, possession, or use, and re-export of encryption software, to 
+import, possession, or use, and re-export of encryption software, to
 see if this is permitted.  See <http://www.wassenaar.org/> for more
 information.
 
 The U.S. Government Department of Commerce, Bureau of Industry and
-Security (BIS), has classified this software as Export Commodity 
+Security (BIS), has classified this software as Export Commodity
 Control Number (ECCN) 5D002.C.1, which includes information security
 software using or performing cryptographic functions with asymmetric
 algorithms.  The form and manner of this Apache Software Foundation
 distribution makes it eligible for export under the License Exception
-ENC Technology Software Unrestricted (TSU) exception (see the BIS 
-Export Administration Regulations, Section 740.13) for both object 
+ENC Technology Software Unrestricted (TSU) exception (see the BIS
+Export Administration Regulations, Section 740.13) for both object
 code and source code.
 
 The following provides more details on the included cryptographic
