Take advantage of automating the generation of the release notes. Copied from Commons POOL.
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/fileupload/trunk@1565338 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 84ad31f..2c34603 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -1,44 +1,33 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
+ Apache Commons FileUpload 1.3.1 RELEASE NOTES
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-The Apache Commons FileUpload team is pleased to announce the Apache Commons
-FileUpload 1.3.1 release!
+The Apache Commons FileUpload team is pleased to announce the release of Apache Commons FileUpload 1.3.1.
The Apache Commons FileUpload component provides a simple yet flexible means of
adding support for multipart file upload functionality to servlets and web
-applications.
+applications. Version 1.3 onwards requires Java 5 or later.
No client code changes are required to migrate from version 1.3.0 to 1.3.1.
+This is a security and maintenance release that includes an important security
+fix as well as a small number of bugfixes.
+
Changes in version 1.3.1 include:
+
Fixed Bugs:
-o SECURITY - CVE-2014-0050. Specially crafted input can trigger a DoS if the
- buffer used by the MultipartStream is not big enough. When constructing
- MultipartStream enforce the requirements for buffer size by throwing an
- IllegalArgumentException if the requested buffer size is too small. This
- prevents the DoS.
-o When deserializing DiskFileItems ensure that the repository location, if
- any, is a valid one. Thanks to Arun Babu Neelicattu.
-o Correct example in usage documentation so it compiles.
+o SECURITY - CVE-2014-0050. Specially crafted input can trigger a DoS if the
+ buffer used by the MultipartStream is not big enough. When constructing
+ MultipartStream enforce the requirements for buffer size by throwing an
+ IllegalArgumentException if the requested buffer size is too small. This
+ prevents the DoS.
+o When deserializing DiskFileItems ensure that the repository location, if
+ any, is a valid one. Thanks to Arun Babu Neelicattu.
+o Correct example in usage documentation so it compiles.
-Have fun!
--Apache Commons FileUpload team
+For complete information on Apache Commons FileUpload, including instructions on how to submit bug reports,
+patches, or suggestions for improvement, see the Apache Apache Commons FileUpload website:
+http://commons.apache.org/proper/commons-fileupload/
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 83cf12d..36c3c6c 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -43,7 +43,9 @@
</properties>
<body>
- <release version="1.3.1" description="maintenance release" date="TBD">
+ <release version="1.3.1" description=
+"This is a security and maintenance release that includes an important security
+fix as well as a small number of bugfixes." date="TBD">
<action dev="markt" type="fix">
SECURITY - CVE-2014-0050. Specially crafted input can trigger a DoS if the
buffer used by the MultipartStream is not big enough. When constructing
diff --git a/src/changes/release-notes.vm b/src/changes/release-notes.vm
new file mode 100644
index 0000000..ddcbff7
--- /dev/null
+++ b/src/changes/release-notes.vm
@@ -0,0 +1,113 @@
+## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements. See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership. The ASF licenses this file
+## to you under the Apache License, Version 2.0 (the
+## "License"); you may not use this file except in compliance
+## with the License. You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing,
+## software distributed under the License is distributed on an
+## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+## KIND, either express or implied. See the License for the
+## specific language governing permissions and limitations
+## under the License.
+ ${project.name} ${version} RELEASE NOTES
+
+The ${developmentTeam} is pleased to announce the release of ${project.name} ${version}.
+
+The Apache Commons FileUpload component provides a simple yet flexible means of
+adding support for multipart file upload functionality to servlets and web
+applications. Version 1.3 onwards requires Java 5 or later.
+
+No client code changes are required to migrate from version 1.3.0 to 1.3.1.
+
+
+## N.B. the available variables are described here:
+## http://maven.apache.org/plugins/maven-changes-plugin/examples/using-a-custom-announcement-template.html
+##
+## Hack to get line breaks to work in release description. For this to work, each line break in the
+## release description attribute in changes.xml needs to be preceded by a single space.
+#set( $desc = $release.description )
+#set( $desc2 = $desc.replace($esc.newline, " ") )
+#set( $d = $desc2.replace(" ",$esc.newline) )
+${d}
+
+## set up indent sizes. Only change indent1
+#set($props=${project.properties})
+#set($jiralen=$props.get("commons.jira.id").length())
+## indent1 = POOL-nnnn:
+#set($blanklen=$jiralen+6)## +6 for "-nnnn:"
+## must be at least as long as the longest JIRA id
+#set($blanks=" ")
+#set($indent1=$blanks.substring(0,$blanklen))
+## indent2 allows for issue wrapper
+#set($indent2="$indent1 ")
+##
+#macro ( processaction )
+## Use replaceAll to fix up LF-only line ends on Windows.
+#set($action=$actionItem.getAction().replaceAll("\n","
+"))
+## Fix up indentation for multi-line action descriptions
+#set($action=$action.replaceAll("(?m)^ +",$indent2))
+#if ($actionItem.getIssue())
+#set($issue="$actionItem.getIssue():")
+## Pad shorter issue numbers
+#if ($issue.length() < $indent1.length())#set ($issue="$issue ")#end
+#if ($issue.length() < $indent1.length())#set ($issue="$issue ")#end
+#if ($issue.length() < $indent1.length())#set ($issue="$issue ")#end
+#else
+#set($issue=$indent1)
+#end
+#if ($actionItem.getDueTo())
+#set($dueto=" Thanks to $actionItem.getDueTo().")
+#else
+#set($dueto="")
+#end
+o $issue ${action}$dueto
+#set($action="")
+#set($issue="")
+#set($dueto="")
+#end
+##
+#if ($release.getActions().size() == 0)
+No changes defined in this version.
+#else
+Changes in version ${version} include:
+
+#if ($release.getActions('add').size() !=0)
+New features:
+#foreach($actionItem in $release.getActions('add'))
+#processaction()
+#end
+#end
+
+#if ($release.getActions('fix').size() !=0)
+Fixed Bugs:
+#foreach($actionItem in $release.getActions('fix'))
+#processaction()
+#end
+#end
+
+#if ($release.getActions('update').size() !=0)
+Changes:
+#foreach($actionItem in $release.getActions('update'))
+#processaction()
+#end
+#end
+
+#if ($release.getActions('remove').size() !=0)
+Removed:
+#foreach($actionItem in $release.getActions('remove'))
+#processaction()
+#end
+#end
+## End of main loop
+#end
+
+For complete information on ${project.name}, including instructions on how to submit bug reports,
+patches, or suggestions for improvement, see the Apache ${project.name} website:
+
+${project.url}