| ## 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} |
| |
| $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 |
| ## |
| ## Hack to improve layout: replace all pairs of spaces with a single new-line |
| $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 < with < so can embed tag markup |
| #set($action=$action.replaceAll("<","<")) |
| ## 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: |
| |
| #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 |
| |
| 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 |
| ------------ |
| |
| * Rewrote the info.txt files for many images in the sample image library to clarify contribution to project. |
| * Removed the images from the www.wpclipart.com Public Domain library. |
| * Improved the examples illustrating how to change EXIF metadata. |
| * Applied a patch from Niall Pemberton around jdk1.5 compatibility: |
| """ |
| Sanselan claims JDK 1.4 compatibility, but a JDK 1.5 method (Class's getSimpleName() [1]) has been used in JpegRewriter |
| """ |
| * Applied a "Build Improvements" patch from Niall Pemberton: |
| """ |
| I took a look at the propsed 0.96 relelase and have some suggestions to improve the build: |
| * Add standard manifest entries to jar |
| * Lock down version numbers for maven compiler, surefire and javadoc plugins |
| * generate sources jar for the release |
| * include the RELEASE-NOTES in the binary distribution |
| * include NOTICE/LICENSE files in the javadoc jar |
| """ |
| |
| Release 0.96 |
| ------------ |
| |
| * Updated KEYS file. |
| * Added more unit tests around BMP. |
| * Added more images to the test image suite. |
| * Fixed a bug where errors were being wrongly logged to System.out. |
| * Moved the example code into the test source directory, to comply with Maven's standard project layout. |
| * Added a couple of images to the sample image library that demonstrate a couple variations on Photoshop/IPTC data. |
| * Fixed a small bug in the IPTC constants introduced while cleaning up the constants. |
| * Started shift towards moving field-level parsing into BinaryInputStream and BinaryOutputStream. |
| * Fixed a png unit test that used a piece of Java 1.6 syntax. |
| * Added unit tests around the new IPTC functionality. |
| * Added IPTC remove/update/insert functionality. |
| * Rewrote the IPTC parsing support. |
| * Added improved support for reading and writing iTXt, tEXt, zTXt Png chunks. |
| Added a unit test that demonstrates the feature. |
| * Found a new regression wherein DeflaterOutputStream needs to be closed. |
| * Added the .tar.bz2 distributions back into the maven assembly descriptors. |
| * Moved the example/sample code to a new top-level source folder, "example." |
| * Replaced dependency on java.util.zip.DeflaterOutputStream, which is only available in Java 1.6. |
| * Added a unit test around reading and writing images in every format. |
| * We now sort some (but not all) GIF color tables. |
| * Applied the BMP "buffer flushing" bug to the PBM reading and writing code. |
| * Fixed a regression around flushing the bit buffer when writing BMPs with very small palettes. |
| * Removed assumption about DataBuffer type when reading BMPs. |
| * When writing a GIF, we now always include a Graphic Control Extension block, even if its not necessary. |
| * We are more defensive about missing GCEs. |
| * Lastly, we now set a minimum bound on initial code sizes for LZW-compressed Gif image data. |
| * Found a regression in writing TIFFs around strip offsets being properly updated. Not a LZW issue after all. |
| Added a few unit tests around this issue. |
| see: https://issues.apache.org/jira/browse/SANSELAN-6 |
| * Added ability to remove and update XMP XML in existing JPEG files. |
| * Added ability to embed XMP XML when writing the following formats: GIF, PNG, TIFF. |
| * Improved handling of tEXt and zTXt PNG text blocks. |
| * Added XMP XML extraction for the following formats: GIF (untested), JPEG, TIFF, PNG, PSD. |
| * Added RELEASE_NOTES file (this file). |
| * Added Apache license header to bin.xml and src.xml Maven assembly descriptors. |
| * Added Javadocs to the binary distribution |
| |
| |
| Release 0.94 |
| ------------ |
| |
| First Apache release of Sanselan |
| |
| Fixed bugs: |
| ----------- |
| * Can't convert PNG image to GIF image |
| The PNG reader wasn't handling the 16-bit mode 4 PNGs properly. |
| The PNG reader wasn't gamma-correcting non-palette values properly in PNGs. |
| see: https://issues.apache.org/jira/browse/SANSELAN-5 |
| |