diff --git a/README.md b/README.md
index 6ca1fde..8508f7c 100644
--- a/README.md
+++ b/README.md
@@ -46,7 +46,7 @@
 [![Build Status](https://travis-ci.org/apache/commons-imaging.svg)](https://travis-ci.org/apache/commons-imaging)
 [![Coverage Status](https://coveralls.io/repos/apache/commons-imaging/badge.svg)](https://coveralls.io/r/apache/commons-imaging)
 [![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.apache.commons/commons-imaging/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.apache.commons/commons-imaging/)
-[![Javadocs](https://javadoc.io/badge/org.apache.commons/commons-imaging/1.0-alpha1.svg)](https://javadoc.io/doc/org.apache.commons/commons-imaging/1.0-alpha1)
+[![Javadocs](https://javadoc.io/badge/org.apache.commons/commons-imaging/1.0-alpha2.svg)](https://javadoc.io/doc/org.apache.commons/commons-imaging/1.0-alpha2)
 
 Apache Commons Imaging (previously Sanselan) is a pure-Java image library.
 
@@ -67,7 +67,7 @@
 <dependency>
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-imaging</artifactId>
-  <version>1.0-alpha1</version>
+  <version>1.0-alpha2</version>
 </dependency>
 ```
 
diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index ab9cb6b..8f345b2 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -1,184 +1,66 @@
+              Apache Commons Imaging 1.0-alpha2
+                  RELEASE NOTES
 
-Apache Commons Imaging
-Version 1.0-alpha1
-Release Notes
+The Apache Commons Imaging team is pleased to announce the release of Apache Commons Imaging 1.0-alpha2
 
-INTRODUCTION
+Apache Commons Imaging (previously Sanselan) is a pure-Java image library.
 
-Apache Commons Imaging is a pure-Java image library for reading and writing
-a variety of image formats.
-
-For complete information on Commons Imaging, including sample code,
-instructions on how to submit bug reports, patches, or suggestions for
-improvement, see the Apache Commons Net website:
-
-https://commons.apache.org/imaging/
-
-Please note that the project was previously known as Apache Sanselan,
-and has been renamed to Apache Commons Imaging. As part of this rename:
-
- * the package changed to
-     org.apache.commons.imaging
-   from
-     org.apache.sanselan
-
- * the main class is now
-     org.apache.commons.imaging.Imaging
-   and not
-     org.apache.sanselan.Sanselan
-
- * the Maven coordinates are now:
-     <groupId>org.apache.commons</groupId>
-     <artifactId>commons-imaging</artifactId>
-     <name>Commons Imaging</name>
-   instead of the old:
-     <groupId>org.apache.sanselan</groupId>
-     <artifactId>sanselan</artifactId>
-     <name>Apache Sanselan</name>
-
- * the website is
-     https://commons.apache.org/imaging
-   and not
-     https://commons.apache.org/sanselan
-
- * etc.
-
-VERSION HISTORY
-
-Release 1.0-alpha1
-------------
-First 1.0 alpha release
+Second 1.0 alpha release
 
 Changes in this version include:
 
 New features:
-o IMAGING-75:  Added accessor methods for a number of ImageInfo properties. 
-o IMAGING-71:  Applied patch contributed by Nicolas Richeton, adding getEXIFThumbnailSize() and getEXIFThumbnailData() methods to JpegImageMetadata. Thanks to Nicolas Richeton. 
-o IMAGING-56:  Add support for the ICNS icon format. Thanks to damjan. 
-o IMAGING-58:  Add support for PCX, DCX, WBMP, XBM and XPM images. 
-o IMAGING-64:  Add support for TIFF files with compression=2, (CCITT Group 3 1-Dimensional Modified Huffman run length encoding). 
-o IMAGING-77:  Add a type-safe high-level API for writing TIFF fields. 
-o IMAGING-51:  Add TagInfoXpText for fields like XPTITLE, and encode/decode it using UTF-16LE like Windows does. 
-o IMAGING-60:  Added support for reading the RGBE / Radiance HDR image format. Thanks to proyal. 
-o IMAGING-68:  Add a field to IptcRecord that contains its raw bytes, and a getter for this value. 
-o IMAGING-73:  Provide a way to write EXIF data into files using Sanselan.writeImage(). 
-o IMAGING-47:  Run a Findbugs analysis on "mvn site". Also audit and fix resource leaks. Thanks to adrian2k7. 
-o IMAGING-65:  Provide a way to write the pixel density (DPI) into an image. 
-o IMAGING-61:  Include a test utility for timing and memory in project example classes. Thanks to gwlucas. 
-o IMAGING-81:  Add more Javadoc to main package. Thanks to gwlucas. 
-o IMAGING-89:  Detect the YCCK color space/type in JPEG files' APP14 segment. 
-o IMAGING-94:  Add ability to load partial TIFF images Thanks to gwlucas. 
+o IMAGING-248:  ICNS: missing element types; some safety checks Thanks to Greg Shrago.
+o IMAGING-245:  Add disposal method to GIF metadata Thanks to Christoffer Rydberg.
+o IMAGING-146:  Add documentation for the color package
+o IMAGING-244:  Use isEmpty instead of comparing size() with integers
+o IMAGING-243:  PNG Writer Indexed Color with semi-transparent Pixels and Better Compression Thanks to Andreas Menze.
+o IMAGING-239:  Add inflate (deflate algorithm) to TIFF files Thanks to Paul Austin.
+o IMAGING-164:  Simplify code in IcoImageParser::writeImage Thanks to Michael Groß.
+o IMAGING-165:  Add the fields from TiffReader.Collector to TiffContents Thanks to Michael Groß.
+o IMAGING-228:  Remove private method PhotometricInterpreterLogLuv#cube by Math.pow
+o IMAGING-236:  Add support to read multiple images from GIF Thanks to Christoffer Rydberg.
 
 Fixed Bugs:
-o IMAGING-199:  All tEXt chunks are not returned from PngImageParser.getMetadata Thanks to Ric Emery. 
-o IMAGING-220:  JpegDecoder takes a long time (+10s) to decode a bad JPEG 
-o IMAGING-219:  Imaging gets stuck parsing a RGBE input file 
-o IMAGING-215:  ArrayIndexOutOfBoundsException in DhtSegment 
-o IMAGING-203:  JPEG segment size not validated Thanks to Rody Kersten. 
-o IMAGING-209:  PnmImageParser throws ImageWriteException when writing if PnmImageParser.PARAM_KEY_PNM_RAWBITS is provided Thanks to Isak Wertwein. 
-o IMAGING-205:  Imaging (Apache Sanselan) produces "odd offsets" in (EXIF) metadata 
-o IMAGING-195:  Incorrect Maven coordinates on project website Thanks to Keith Strydom. 
-o IMAGING-190:  ImageDataReader.decompress() overwrites its input 
-o IMAGING-193:  Duplicate class names 
-o IMAGING-189:  parseXpmValuesSection uses && instead of || 
-o IMAGING-181:  EXIF lens metadata tags missing in Commons Imaging but recognized in exiftool 
-o IMAGING-172:  Microsoft tags are not seen in MS Windows Properties/Details dialog. 
-o IMAGING-176:  TiffImageParser.getImageInfo() throws exception when "Compression" field is missing. Thanks to Gabriel Axel. 
-o IMAGING-178:  PnmImageParser does not check the validity of input PAM header. Thanks to emopers. 
-o IMAGING-171:  MicrosoftTagTest rewrite image exif fails in some environments Thanks to Jan Helbich. 
-o IMAGING-169:  PnmImageParser throws NumberFormatException instead of ImageReadException when parsing invalid images Thanks to Nebu Pookins. 
-o IMAGING-144:  TiffOutputSet.setGPSInDegrees should make sure, GPSVersionID is set Thanks to Paul Hartmann. 
-o IMAGING-117:  Classes should not expose mutable arrays 
-o IMAGING-145:  DumpImage method for JPEG reports it's coming from TIFF. Thanks to Chris Carman. 
-o IMAGING-137:  Can not set EXIF_TAG_EXIF_VERSION tag. 
-o IMAGING-140:  ExifReWriter always writes EXIF segment before JFIF segment. Thanks to Gavin Shiels. 
-o IMAGING-131:  Allow null parameters in PngImageParser.getBufferedImage(), and add some tests for null parameters. 
-o IMAGING-121:  Null Pointer exception while extracting metadata for CR2 image. Thanks to Piyush Kapoor. 
-o IMAGING-115:  DhtSegment class contains mutable public arrays. 
-o IMAGING-117:  SofnSegment.components - public mutable array. 
-o IMAGING-116:  GenericSegment.bytes - public mutable array. 
-o IMAGING-118:  interface RgbeConstants contains mutable array. 
-o IMAGING-114:  ComSegment.comment is a public final byte array. 
-o IMAGING-109:  Several files contain non-UTF8 characters. 
-o IMAGING-113:  Cannot read multipage tiff. 
-o IMAGING-108:  JPEG EOI marker could not be found at expected location. 
-o IMAGING-101:  GIF dimensions transposed. Thanks to Colm O hEigeartaigh. 
-o IMAGING-23:  JpegXMPWriter throws NullPointerException. 
-o IMAGING-74:  Fixed a couple of platform-dependent paths in the tests.
-        Constantized the magic numbers used when guessing formats.  
-        Added a test for the format guessing. 
-o IMAGING-2:  SanselanGuessFormatTest and SanselanTestConstants use Java 1.5 method String.replace(CharSequence, CharSequence). 
-o IMAGING-80:  Sanselan tests fail on Windows. 
-o IMAGING-18:  Fix for "JpegImageMetadata getEXIFThumbnail only works on Jpeg thumbnails stored as Tiff images" issue.
-        Jpeg thumbnails are read using ImageIO. Thanks to James E-J. 
-o IMAGING-48:  JpegImageMetadata getEXIFThumbnail may raise a null pointer exception. 
-o IMAGING-52:  Implement dumpImageFile for ICO files and fix a typo. Thanks to damjan. 
-o IMAGING-12:  Tiff (exif) tags of type double written in wrong byte order. Thanks to gwlucas. 
-o IMAGING-30:  The isTransparent flag is not set on transparent PNGs. Thanks to clement.escoffier. 
-o IMAGING-11:  Ignore TIFF entries that have invalid offsets and/or lengths when we are not in strict mode. 
-o IMAGING-78:  readDirectory method in TiffReader doesn't gracefully handle exceptions that can be thrown from ByteSource implementations. 
-o IMAGING-24:  Search all tags instead of just EXIF tags when parsing TIFF metadata tags, and try to match on directory type as well. 
-o IMAGING-21:  Don't allow very large TIFF lengths to be interpreted as negative because they have the highest order bit set. 
-o IMAGING-50:  Make JPEG parsing highly resilient: skip all bytes after the end of a segment until the next segment (0xFF followed by non-0xFF). 
-o IMAGING-16:  Fix reading ASCII tags in TIFF files. 
-o IMAGING-3:  Ignore string differences in our tests when 7 bit unclean TIFF string are copied. 
-o IMAGING-41:  Don't redefine BYTE_ORDER_BIG_ENDIAN and BYTE_ORDER_LITTLE_ENDIAN in UnicodeMetricsUTF16. 
-o IMAGING-35:  Fixed issue "FieldTypeASCII does not conform to the EXIF specification," identified by Libor Nenadál. 
-o IMAGING-31:  Fixed a bug in which gifs have incorrect size information in the the Logical Screen Descriptor.
-        This appears to be a bug in how Microsoft Office writes gifs. The Image Descriptor has the correct value. 
-o IMAGING-13:  Added checks in ByteSource's getBlock() methods for invalid params. 
-o IMAGING-46:  Fixed a possible NPE in Sanselan.getICCProfile pointed out by Jon Weygandt. 
-o IMAGING-76:  Improve ICO file support. Thanks to damjan. 
-o IMAGING-49:  Preserve the byte range occupied by the Maker Notes, so rewriting it doesn't corrupt it. 
-o IMAGING-29:  Read in the full IPTC block before trying to ignore it, so we don't lose our position in the stream. Thanks to alexvigdor. 
-o IMAGING-45:  Fix the GIF BitsPerPixel formula in GifImageParser's getImageInfo(). Thanks to pkapoor. 
-o IMAGING-39:  Fix various problems with reading and writing EXIF tags. 
-o IMAGING-22:  Eliminate or hide public mutable final arrays in the API. 
-o IMAGING-43:  If the TIFF rows per strip is not present, assume it is the image length. Thanks to pkapoor. 
-o IMAGING-17:  Make BitInputStream sensitive to byte order. Allows 48 BPP TIFF files to load. Thanks to pkapoor. 
-o IMAGING-38:  Fix the PhysicalWidthDpi calculation for JPEG images. Thanks to tjoris. 
-o IMAGING-19:  Fix reading DPI for TIFF files. Thanks to vvd. 
-o IMAGING-44:  Fix reading DPI for PNG files. Thanks to vvd. 
-o IMAGING-40:  Add the Software TIFF tag, and get the byte order after reading the first TIFF directory. Thanks to pkapoor. 
-o IMAGING-6:  Correct the expected size of the decompressed TIFF image data, and improve sample depth scaling for PNG images. 
-o IMAGING-15:  Stop JpegImageMetadata from throwing NPE if the exif field is null. Thanks to pkapoor. 
-o IMAGING-67:  Speed up reading paletted TIFF files. Thanks to gwlucas. 
-o IMAGING-8:  Allow TIFF fields to change size during encoding. Fix a broken test that assumes they never do. 
-o IMAGING-36:  Fix sample usage links on the website. 
-o IMAGING-70:  Reduce memory usage when reading TIFF files. Thanks to gwlucas. 
-o IMAGING-33:  Fixed the differencing predictor for tiled TIFF images. 
-o IMAGING-5:  Update website, fix some broken links and remove old code. 
-o IMAGING-69:  Add a streamlined TIFF reader that reduces load time by a factor of 5. Thanks to gwlucas. 
-o IMAGING-82:  Fix BMP width and height DPI. Thanks to pkapoor. 
-o IMAGING-86:  Fix the lengths for DateTimeOriginal and DateTimeDigitized TIFF/EXIF tags. 
-o IMAGING-88:  Method lowerBound in org.apache.commons.imaging.common.itu_t4.T4AndT6Compression has a division error. Thanks to craigkelly. 
-o IMAGING-92:  Issue trying to update GPS metadata info in a JPG. Thanks to hmarmy. 
-o IMAGING-93:  Tiled TIFF images do not correctly load partial tiles. Thanks to gwlucas. 
-o IMAGING-90:  Allow non-1 TIFF field lengths when parsing offset fields in non-strict mode. 
-o IMAGING-99:  java.io.IOException: Could not read block Thanks to st.h. 
+o IMAGING-247:  Fix crash when reading TIFF using PackBits Thanks to Gary Lucas.
+o IMAGING-246:  Invalid Block Size error prevents handling of block 1084, Macintosh NSPrintInfo
+o IMAGING-163:  Add XmpEmbedabble interface to parsers that support it
+o IMAGING-151:  ColorGroup.color_counts is mutable public List and is multiply sorted
+o IMAGING-242:  Upgrade to JUnit 5
+o IMAGING-241:  Copy byte arrays fixing TODO markers
+o IMAGING-136:  Imaging.getImageInfo() fails to read JPEG file Thanks to Michael Groß.
+o IMAGING-238:  Return copied byte arrays in Png Chunk and Png Chunk ICCP
+o IMAGING-230:  Properly close resources with try-with-resources in T4AndT6Compression
+o IMAGING-134:  Invalid (RST) marker found in entropy data Thanks to Michael Sommerville.
+o IMAGING-130:  Reading of some GIF images throws java.io.IOException: AddStringToTable: codes: 4096 code_size: 12 Thanks to Michael Sommerville.
+o IMAGING-224:  Fix build errors in Travis
+o IMAGING-167:  Possible infinite loop at XpmImageParser::writeImage Thanks to Michael Groß.
+o IMAGING-211:  Imaging.getBufferedImage fails throwing java.lang.ArrayIndexOutOfBoundsException for specific inputs
+o IMAGING-210:  Imaging.getBufferedImage fails throwing NegativeArraySizeException for specific inputs
 
 Changes:
-o IMAGING-154:  Remove Debug class 
-o IMAGING-124:  Tidy up IconParser Thanks to Jens Kapitza. 
-o IMAGING-123:  remove duplicated lines in T4AndT6Compression Thanks to Jens Kapitza. 
-o IMAGING-186:  Add sCAL support to PNG reading and writing. Thanks to Ric Emery. 
-o IMAGING-184:  Update platform from Java 5 to 7 
-o IMAGING-112:  JpegIptcRewriter.removeIPTC() does not remove all metadata Thanks to Xavier Dury. 
-o IMAGING-166:  ByteSourceImageTest: Local variable hides a field Thanks to Michael Groß. 
-o IMAGING-156:  Refactor TagConstants 
-o IMAGING-126:  TIFF and PNG images should not be bigger than the ones created by java ImageIO Thanks to Gary Lucas. 
-o IMAGING-147:  Add color constants Thanks to Stephan Koeninger. 
-o IMAGING-150:  Implement equals and hashcode on color classes Thanks to Stephan Koeninger. 
-o IMAGING-91:  ByteSourceInputStream.streamLength could be a long. 
-o IMAGING-95:  Some tiff processing takes very long. Thanks to amitgupt. 
-o IMAGING-223:  Update from Java 7 to Java 8. Thanks to Gary Gregory. 
+o IMAGING-258:  Prevent exception in TIFF when reading EXIF directory Thanks to Gary Lucas.
+o IMAGING-260:  Fix mvn site failure with JavaNCSS parse error
+o IMAGING-259:  Enhance TIFF DataReaders speed for compressed RGB Thanks to Gary Lucas.
+o IMAGING-251:  Support for TIFF floating-point formats Thanks to Gary Lucas.
+o IMAGING-254:  Small code improvements
+o IMAGING-253:  ByteSourceInputStream has initialized its length when reading starts Thanks to David Hrbacek.
+o IMAGING-249:  Make IPTCBlock members private and add getter/setter
+o               Update tests from commons-io:commons-io 2.6 to 2.7. Thanks to Gary Gregory.
+o               Update commons-parent from 50 to 51 #88. Thanks to Dependabot.
+o               Update actions/checkout from v1 to v2.3.1 #87. Thanks to Dependabot.
+o               Update junit-jupiter from 5.5.2 to 5.6.2 #86. Thanks to Dependabot.
 
-Minimum Java version: 1.5
-Compatibility with 0.97:
-  Binary compatible: No.
-  Source compatible: No.
-  Semantic compatible: No.
 
+Historical list of changes: https://commons.apache.org/proper/commons-imaging/changes-report.html
+
+For complete information on Apache Commons Imaging, including instructions on how to submit bug reports,
+patches, or suggestions for improvement, see the Apache Apache Commons Imaging website:
+
+https://commons.apache.org/proper/commons-imaging/
+
+The following changes are here only for history, from when the project was initially
+created and was called Sanselan.
 
 Release 0.97
 ------------
diff --git a/pom.xml b/pom.xml
index 1c80599..0506f01 100644
--- a/pom.xml
+++ b/pom.xml
@@ -31,7 +31,7 @@
 
   <artifactId>commons-imaging</artifactId>
   <name>Apache Commons Imaging</name>
-  <version>1.0-alpha2-SNAPSHOT</version>
+  <version>1.0-alpha2</version>
 
   <!--
     Keep the description on a single line. Otherwise Maven might generate
@@ -46,7 +46,7 @@
     <maven.compiler.target>1.8</maven.compiler.target>
     <commons.componentid>imaging</commons.componentid>
     <commons.module.name>org.apache.commons.imaging</commons.module.name>
-    <commons.release.version>1.0</commons.release.version>
+    <commons.release.version>1.0-alpha2</commons.release.version>
     <commons.jira.id>IMAGING</commons.jira.id>
     <commons.jira.pid>12313421</commons.jira.pid>
     <commons.osgi.export>org.apache.commons.imaging.*;version=${project.version};-noimport:=true</commons.osgi.export>
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 899f3e4..1a5b319 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -44,7 +44,7 @@
     <title>Apache Commons Imaging Release Notes</title>
   </properties>
   <body>
-    <release version="1.0-alpha2" date="2020-??-??" description="Second 1.0 alpha release">
+    <release version="1.0-alpha2" date="2020-08-01" description="Second 1.0 alpha release">
       <action issue="IMAGING-258" dev="kinow" type="update" due-to="Gary Lucas">
         Prevent exception in TIFF when reading EXIF directory
       </action>
diff --git a/src/changes/release-notes.vm b/src/changes/release-notes.vm
index 6df28d9..373ab52 100644
--- a/src/changes/release-notes.vm
+++ b/src/changes/release-notes.vm
@@ -14,56 +14,15 @@
 ## KIND, either express or implied.  See the License for the
 ## specific language governing permissions and limitations
 ## under the License.
-
-Apache Commons Imaging
-Version ${version}
-Release Notes
-
-INTRODUCTION
-
-Apache Commons Imaging is a pure-Java image library for reading and writing
-a variety of image formats.
-
-For complete information on Commons Imaging, including sample code,
-instructions on how to submit bug reports, patches, or suggestions for
-improvement, see the Apache Commons Net website:
-
-https://commons.apache.org/imaging/
-
-Please note that the project was previously known as Apache Sanselan,
-and has been renamed to Apache Commons Imaging. As part of this rename:
-
- * the package changed to
-     org.apache.commons.imaging
-   from
-     org.apache.sanselan
-
- * the main class is now
-     org.apache.commons.imaging.Imaging
-   and not
-     org.apache.sanselan.Sanselan
-
- * the Maven coordinates are now:
-     <groupId>org.apache.commons</groupId>
-     <artifactId>commons-imaging</artifactId>
-     <name>Commons Imaging</name>
-   instead of the old:
-     <groupId>org.apache.sanselan</groupId>
-     <artifactId>sanselan</artifactId>
-     <name>Apache Sanselan</name>
-
- * the website is
-     https://commons.apache.org/imaging
-   and not
-     https://commons.apache.org/sanselan
-
- * etc.
-
-VERSION HISTORY
-
-Release ${version}
-------------
 ##
+              ${project.name} ${version}
+                  RELEASE NOTES
+
+The ${developmentTeam} is pleased to announce the release of ${project.name} ${version}
+
+$introduction.replaceAll("(?<!\015)\012", "
+").replaceAll("(?m)^ +","")
+
 ## N.B. the available variables are described here:
 ## http://maven.apache.org/plugins/maven-changes-plugin/examples/using-a-custom-announcement-template.html
 ##
@@ -71,116 +30,99 @@
 $release.description.replaceAll("  ", "
 ")
 
+## 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","
+"))
+## Replace &lt; with < so can embed tag markup
+#set($action=$action.replaceAll("&lt;","<"))
+## use an empty date to mean don't format the entry
+## TODO how to enable leading spaces without compromising html report
+## unfortunately leading spaces are trimmed even from CDATA sections
+#if ($actionItem.getDate() && $actionItem.getDate().length()==0)
+$action
+#else
+## 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
+#end
+#set($action="")
+#set($issue="")
+#set($dueto="")
+#end
 ##
 #if ($release.getActions().size() == 0)
 No changes defined in this version.
 #else
 Changes in this version include:
 
-## indent to be used if there is no issue attribute.
-## should be the same as the indent in the changes.xml file
-## less 2 spaces for the 'o' and trailing space
-#set($indent='          ')
 #if ($release.getActions('add').size() !=0)
 New features:
 #foreach($actionItem in $release.getActions('add'))
-## Use replaceAll to fix up LF-only line ends on Windows.
-#set($action=$actionItem.getAction().replaceAll("\n","
-"))
-#if ($actionItem.getIssue())
-#set($issue=$actionItem.getIssue())
-#else
-#set($issue="")
-#end
-#if ($actionItem.getDueTo())
-#set($dueto=$actionItem.getDueTo())
-#else
-#set($dueto="")
-#end
-o#if($!issue != "") $issue: #else$indent#end ${action} #if($!dueto != "")Thanks to $dueto. #end
-
-#set($issue="")
-#set($dueto="")
+#processaction()
 #end 
-#end
 
+#end
+##
 #if ($release.getActions('fix').size() !=0)
 Fixed Bugs:
 #foreach($actionItem in $release.getActions('fix'))
-## Use replaceAll to fix up LF-only line ends on Windows.
-#set($action=$actionItem.getAction().replaceAll("\n","
-"))
-#if ($actionItem.getIssue())
-#set($issue=$actionItem.getIssue())
-#else
-#set($issue="")
-#end
-#if ($actionItem.getDueTo())
-#set($dueto=$actionItem.getDueTo())
-#else
-#set($dueto="")
-#end
-o#if($!issue != "") $issue: #else$indent#end ${action} #if($!dueto != "")Thanks to $dueto. #end
-
-#set($issue="")
-#set($dueto="")
-#end
+#processaction()
 #end
 
+#end
+##
 #if ($release.getActions('update').size() !=0)
 Changes:
 #foreach($actionItem in $release.getActions('update'))
-## Use replaceAll to fix up LF-only line ends on Windows.
-#set($action=$actionItem.getAction().replaceAll("\n","
-"))
-#if ($actionItem.getIssue())
-#set($issue=$actionItem.getIssue())
-#else
-#set($issue="")
-#end
-#if ($actionItem.getDueTo())
-#set($dueto=$actionItem.getDueTo())
-#else
-#set($dueto="")
-#end
-o#if($!issue != "") $issue: #else$indent#end ${action} #if($!dueto != "")Thanks to $dueto. #end
-
-#set($issue="")
-#set($dueto="")
-#end
+#processaction()
 #end
 
+#end
+##
 #if ($release.getActions('remove').size() !=0)
 Removed:
 #foreach($actionItem in $release.getActions('remove'))
-## Use replaceAll to fix up LF-only line ends on Windows.
-#set($action=$actionItem.getAction().replaceAll("\n","
-"))
-#if ($actionItem.getIssue())
-#set($issue=$actionItem.getIssue())
-#else
-#set($issue="")
-#end
-#if ($actionItem.getDueTo())
-#set($dueto=$actionItem.getDueTo())
-#else
-#set($dueto="")
-#end
-o#if($!issue != "") $issue: #else$indent#end ${action} #if($!dueto != "")Thanks to $dueto. #end
-##
-#set($issue="")
-#set($dueto="")
+#processaction()
 #end
 #end
 ## End of main loop
 #end
-##
-Minimum Java version: 1.8
-Compatibility with 0.97:
-  Binary compatible: No.
-  Source compatible: No.
-  Semantic compatible: No.
 
+Historical list of changes: ${project.url}changes-report.html
+
+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}
+
+The following changes are here only for history, from when the project was initially
+created and was called Sanselan.
 
 Release 0.97
 ------------
diff --git a/src/site/xdoc/download_imaging.xml b/src/site/xdoc/download_imaging.xml
index 02d1f2d..862b9a3 100644
--- a/src/site/xdoc/download_imaging.xml
+++ b/src/site/xdoc/download_imaging.xml
@@ -66,7 +66,7 @@
     <subsection name="Using a Mirror">
       <p>
         We recommend you use a mirror to download our release
-        builds, but you <strong>must</strong> <a href="http://www.apache.org/info/verification.html">verify the integrity</a> of
+        builds, but you <strong>must</strong> <a href="https://www.apache.org/info/verification.html">verify the integrity</a> of
         the downloaded files using signatures downloaded from our main
         distribution directories. Recent releases (48 hours) may not yet
         be available from all the mirrors.
@@ -113,32 +113,32 @@
       </p>
     </subsection>
     </section>
-    <section name="Apache Commons Imaging 1.0-alpha1 ">
+    <section name="Apache Commons Imaging 1.0-alpha2 ">
       <subsection name="Binaries">
         <table>
           <tr>
-              <td><a href="[preferred]/commons/imaging/binaries/commons-imaging-1.0-alpha1-bin.tar.gz">commons-imaging-1.0-alpha1-bin.tar.gz</a></td>
-              <td><a href="https://www.apache.org/dist/commons/imaging/binaries/commons-imaging-1.0-alpha1-bin.tar.gz.sha512">sha512</a></td>
-              <td><a href="https://www.apache.org/dist/commons/imaging/binaries/commons-imaging-1.0-alpha1-bin.tar.gz.asc">pgp</a></td>
+              <td><a href="[preferred]/commons/imaging/binaries/commons-imaging-1.0-alpha2-bin.tar.gz">commons-imaging-1.0-alpha2-bin.tar.gz</a></td>
+              <td><a href="https://www.apache.org/dist/commons/imaging/binaries/commons-imaging-1.0-alpha2-bin.tar.gz.sha512">sha512</a></td>
+              <td><a href="https://www.apache.org/dist/commons/imaging/binaries/commons-imaging-1.0-alpha2-bin.tar.gz.asc">pgp</a></td>
           </tr>
           <tr>
-              <td><a href="[preferred]/commons/imaging/binaries/commons-imaging-1.0-alpha1-bin.zip">commons-imaging-1.0-alpha1-bin.zip</a></td>
-              <td><a href="https://www.apache.org/dist/commons/imaging/binaries/commons-imaging-1.0-alpha1-bin.zip.sha512">sha512</a></td>
-              <td><a href="https://www.apache.org/dist/commons/imaging/binaries/commons-imaging-1.0-alpha1-bin.zip.asc">pgp</a></td>
+              <td><a href="[preferred]/commons/imaging/binaries/commons-imaging-1.0-alpha2-bin.zip">commons-imaging-1.0-alpha2-bin.zip</a></td>
+              <td><a href="https://www.apache.org/dist/commons/imaging/binaries/commons-imaging-1.0-alpha2-bin.zip.sha512">sha512</a></td>
+              <td><a href="https://www.apache.org/dist/commons/imaging/binaries/commons-imaging-1.0-alpha2-bin.zip.asc">pgp</a></td>
           </tr>
         </table>
       </subsection>
       <subsection name="Source">
         <table>
           <tr>
-              <td><a href="[preferred]/commons/imaging/source/commons-imaging-1.0-alpha1-src.tar.gz">commons-imaging-1.0-alpha1-src.tar.gz</a></td>
-              <td><a href="https://www.apache.org/dist/commons/imaging/source/commons-imaging-1.0-alpha1-src.tar.gz.sha512">sha512</a></td>
-              <td><a href="https://www.apache.org/dist/commons/imaging/source/commons-imaging-1.0-alpha1-src.tar.gz.asc">pgp</a></td>
+              <td><a href="[preferred]/commons/imaging/source/commons-imaging-1.0-alpha2-src.tar.gz">commons-imaging-1.0-alpha2-src.tar.gz</a></td>
+              <td><a href="https://www.apache.org/dist/commons/imaging/source/commons-imaging-1.0-alpha2-src.tar.gz.sha512">sha512</a></td>
+              <td><a href="https://www.apache.org/dist/commons/imaging/source/commons-imaging-1.0-alpha2-src.tar.gz.asc">pgp</a></td>
           </tr>
           <tr>
-              <td><a href="[preferred]/commons/imaging/source/commons-imaging-1.0-alpha1-src.zip">commons-imaging-1.0-alpha1-src.zip</a></td>
-              <td><a href="https://www.apache.org/dist/commons/imaging/source/commons-imaging-1.0-alpha1-src.zip.sha512">sha512</a></td>
-              <td><a href="https://www.apache.org/dist/commons/imaging/source/commons-imaging-1.0-alpha1-src.zip.asc">pgp</a></td>
+              <td><a href="[preferred]/commons/imaging/source/commons-imaging-1.0-alpha2-src.zip">commons-imaging-1.0-alpha2-src.zip</a></td>
+              <td><a href="https://www.apache.org/dist/commons/imaging/source/commons-imaging-1.0-alpha2-src.zip.sha512">sha512</a></td>
+              <td><a href="https://www.apache.org/dist/commons/imaging/source/commons-imaging-1.0-alpha2-src.zip.asc">pgp</a></td>
           </tr>
         </table>
       </subsection>
diff --git a/src/site/xdoc/issue-tracking.xml b/src/site/xdoc/issue-tracking.xml
index a1a2c47..a6bdcaa 100644
--- a/src/site/xdoc/issue-tracking.xml
+++ b/src/site/xdoc/issue-tracking.xml
@@ -86,7 +86,7 @@
 
       <p>
       For more information on subversion and creating patches see the
-      <a href="http://www.apache.org/dev/contributors.html">Apache Contributors Guide</a>.
+      <a href="https://www.apache.org/dev/contributors.html">Apache Contributors Guide</a>.
       </p>
 
       <p>
diff --git a/src/site/xdoc/mail-lists.xml b/src/site/xdoc/mail-lists.xml
index 9a3c6a5..b9db8b1 100644
--- a/src/site/xdoc/mail-lists.xml
+++ b/src/site/xdoc/mail-lists.xml
@@ -106,9 +106,9 @@
           <td><a href="mailto:user-unsubscribe@commons.apache.org">Unsubscribe</a></td>
           <td><a href="mailto:user@commons.apache.org?subject=[imaging]">Post</a></td>
           <td><a href="https://mail-archives.apache.org/mod_mbox/commons-user/">mail-archives.apache.org</a></td>
-          <td><a href="http://markmail.org/list/org.apache.commons.users/">markmail.org</a><br />
-              <a href="http://www.mail-archive.com/user@commons.apache.org/">www.mail-archive.com</a><br />
-              <a href="http://news.gmane.org/gmane.comp.jakarta.commons.devel">news.gmane.org</a>
+          <td><a href="https://markmail.org/list/org.apache.commons.users/">markmail.org</a><br />
+              <a href="https://www.mail-archive.com/user@commons.apache.org/">www.mail-archive.com</a><br />
+              <a href="https://news.gmane.org/gmane.comp.jakarta.commons.devel">news.gmane.org</a>
           </td>
         </tr>
 
@@ -124,9 +124,9 @@
           <td><a href="mailto:dev-unsubscribe@commons.apache.org">Unsubscribe</a></td>
           <td><a href="mailto:dev@commons.apache.org?subject=[imaging]">Post</a></td>
           <td><a href="https://mail-archives.apache.org/mod_mbox/commons-dev/">mail-archives.apache.org</a></td>
-          <td><a href="http://markmail.org/list/org.apache.commons.dev/">markmail.org</a><br />
-              <a href="http://www.mail-archive.com/dev@commons.apache.org/">www.mail-archive.com</a><br />
-              <a href="http://news.gmane.org/gmane.comp.jakarta.commons.devel">news.gmane.org</a>
+          <td><a href="https://markmail.org/list/org.apache.commons.dev/">markmail.org</a><br />
+              <a href="https://www.mail-archive.com/dev@commons.apache.org/">www.mail-archive.com</a><br />
+              <a href="https://news.gmane.org/gmane.comp.jakarta.commons.devel">news.gmane.org</a>
           </td>
         </tr>
 
@@ -142,8 +142,8 @@
           <td><a href="mailto:issues-unsubscribe@commons.apache.org">Unsubscribe</a></td>
           <td><i>read only</i></td>
           <td><a href="https://mail-archives.apache.org/mod_mbox/commons-issues/">mail-archives.apache.org</a></td>
-          <td><a href="http://markmail.org/list/org.apache.commons.issues/">markmail.org</a><br />
-              <a href="http://www.mail-archive.com/issues@commons.apache.org/">www.mail-archive.com</a>
+          <td><a href="https://markmail.org/list/org.apache.commons.issues/">markmail.org</a><br />
+              <a href="https://www.mail-archive.com/issues@commons.apache.org/">www.mail-archive.com</a>
           </td>
         </tr>
 
@@ -159,8 +159,8 @@
           <td><a href="mailto:commits-unsubscribe@commons.apache.org">Unsubscribe</a></td>
           <td><i>read only</i></td>
           <td><a href="https://mail-archives.apache.org/mod_mbox/commons-commits/">mail-archives.apache.org</a></td>
-          <td><a href="http://markmail.org/list/org.apache.commons.commits/">markmail.org</a><br />
-              <a href="http://www.mail-archive.com/commits@commons.apache.org/">www.mail-archive.com</a>
+          <td><a href="https://markmail.org/list/org.apache.commons.commits/">markmail.org</a><br />
+              <a href="https://www.mail-archive.com/commits@commons.apache.org/">www.mail-archive.com</a>
           </td>
         </tr>
 
@@ -192,10 +192,10 @@
           <td><a class="externalLink" href="mailto:announce-unsubscribe@apache.org">Unsubscribe</a></td>
           <td><i>read only</i></td>
           <td><a class="externalLink" href="https://mail-archives.apache.org/mod_mbox/www-announce/">mail-archives.apache.org</a></td>
-          <td><a class="externalLink" href="http://markmail.org/list/org.apache.announce/">markmail.org</a><br />
-              <a class="externalLink" href="http://old.nabble.com/Apache-News-and-Announce-f109.html">old.nabble.com</a><br />
-              <a class="externalLink" href="http://www.mail-archive.com/announce@apache.org/">www.mail-archive.com</a><br />
-              <a class="externalLink" href="http://news.gmane.org/gmane.comp.apache.announce">news.gmane.org</a>
+          <td><a class="externalLink" href="https://markmail.org/list/org.apache.announce/">markmail.org</a><br />
+              <a class="externalLink" href="https://old.nabble.com/Apache-News-and-Announce-f109.html">old.nabble.com</a><br />
+              <a class="externalLink" href="https://www.mail-archive.com/announce@apache.org/">www.mail-archive.com</a><br />
+              <a class="externalLink" href="https://news.gmane.org/gmane.comp.apache.announce">news.gmane.org</a>
           </td>
         </tr>
       </table>
