
Apache Sanselan Release Notes 
-----------------------------

Apache Sanselan is a pure-Java image library for reading and writing a variety of image formats.

See the project site for details and sample code.

http://incubator.apache.org/sanselan/site/index.html


Version History:
----------------

Next Release
------------
 * SANSELAN-44 - JpegImageMetadata getEXIFThumbnail may raise a null pointer exception
 * Fixed a problem in the metadata example code not using exact matching for GPS values.
 * Fixed a possible NPE in Sanselan.getICCProfile pointed out by Jon Weygandt.
 * 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.
 * Added accessor methods for a number of ImageInfo properties.
 * Applied patch contributed by Nicolas Richeton, adding getEXIFThumbnailSize() and getEXIFThumbnailData() 
 	methods to JpegImageMetadata.
 * Fixed a couple of platform-dependent paths in the tests.
 * Constant-ized the magic numbers used when guessing formats.  
 * Added a test for the format guessing.

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
