diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 55f48decd..e7b624e78 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -1,6 +1,4 @@
-$Id$
-
- Commons Lang Package
+ Apache Commons Lang
Version 3.1
Release Notes
@@ -18,23 +16,37 @@ For the advice on upgrading from 2.x to 3.x, see the following page:
http://commons.apache.org/lang/article3_0.html
-CHANGES IN 3.1
-================
+Commons Lang, a package of Java utility classes for the
+classes that are in java.lang's hierarchy, or are considered to be so
+standard as to justify existence in java.lang.
- [LANG-760] Add API StringUtils.toString(byte[] intput, String charsetName)
- [LANG-756] Add APIs ClassUtils.isPrimitiveWrapper(Class>) and isPrimitiveOrWrapper(Class>)
- [LANG-758] Add an example with whitespace in StringUtils.defaultIfEmpty
- [LANG-752] Fix createLong() so it behaves like createInteger()
- [LANG-751] Include the actual type in the Validate.isInstance and isAssignableFrom exception messages
- [LANG-748] Deprecating chomp(String, String)
- [LANG-736] CharUtils static final array CHAR_STRING is not needed to compute CHAR_STRING_ARRAY
- [LANG-695] SystemUtils.IS_OS_UNIX doesn't recognize FreeBSD as a Unix system
+November release
-BUG FIXES IN 3.1
-==================
+Changes in this version include:
- [LANG-749] Incorrect Bundle-SymbolicName in Manifest
- [LANG-746] NumberUtils does not handle upper-case hex: 0X and -0X
- [LANG-744] StringUtils throws java.security.AccessControlException on Google App Engine
- [LANG-741] Ant build has wrong component.name
- [LANG-698] Document that the Mutable numbers don't work as expected with String.format
+New features:
+o LANG-760: Add API StringUtils.toString(byte[] intput, String charsetName)
+o LANG-756: Add APIs ClassUtils.isPrimitiveWrapper(Class>) and isPrimitiveOrWrapper(Class>)
+o LANG-695: SystemUtils.IS_OS_UNIX doesn't recognize FreeBSD as a Unix system
+
+Fixed Bugs:
+o LANG-749: Incorrect Bundle-SymbolicName in Manifest
+o LANG-746: NumberUtils does not handle upper-case hex: 0X and -0X
+o LANG-744: StringUtils throws java.security.AccessControlException on Google App Engine
+o LANG-741: Ant build has wrong component.name
+o LANG-698: Document that the Mutable numbers don't work as expected with String.format
+
+Changes:
+o LANG-758: Add an example with whitespace in StringUtils.defaultIfEmpty
+o LANG-752: Fix createLong() so it behaves like createInteger()
+o LANG-751: Include the actual type in the Validate.isInstance and isAssignableFrom exception messages
+o LANG-748: Deprecating chomp(String, String)
+o LANG-736: CharUtils static final array CHAR_STRING is not needed to compute CHAR_STRING_ARRAY
+
+
+Historical list of changes: http://commons.apache.org/lang/changes-report.html
+
+For complete information on Commons Lang, including instructions on how to submit bug reports,
+patches, or suggestions for improvement, see the Apache Commons Lang website:
+
+http://commons.apache.org/lang/
\ No newline at end of file
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index ed00ddfa0..47345b562 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -40,6 +40,7 @@
SerializationUtils throws ClassNotFoundException when cloning primitive classes
StringUtils equals() relies on undefined behavior
Documentation bug: StringUtils.split
+ jar contains velocity template of release notes
TypeUtilsTest contains incorrect type assignability assertion
TypeUtils.getTypeArguments() misses type arguments for partially-assigned classes
ImmutablePair doc contains nonsense text
diff --git a/src/changes/release-notes.vm b/src/changes/release-notes.vm
index f36bd350d..f5410ffce 100644
--- a/src/changes/release-notes.vm
+++ b/src/changes/release-notes.vm
@@ -15,9 +15,23 @@
## specific language governing permissions and limitations
## under the License.
##
- Apache ${project.name} ${version} RELEASE NOTES
+ Apache ${project.name}
+ Version ${version}
+ Release Notes
-The ${developmentTeam} is pleased to announce the release of ${finalName}
+
+INTRODUCTION:
+
+This document contains the release notes for the ${version} version of Apache Commons Lang.
+Commons Lang is a set of utility functions and reusable components that should be of use in any
+Java environment.
+
+Lang 3.0 and onwards now targets Java 5.0, making use of features that arrived with Java 5.0 such as generics,
+variable arguments, autoboxing, concurrency and formatted output.
+
+For the advice on upgrading from 2.x to 3.x, see the following page:
+
+ http://commons.apache.org/lang/article3_0.html
$introduction.replaceAll("(?