Author: damjan Date: Sun Nov 24 14:34:50 2013 New Revision: 3671 Log: Commit commons-imaging RC7 distribution artifacts.
Added: dev/commons/imaging/RELEASE-NOTES.txt (with props) dev/commons/imaging/binaries/commons-imaging-1.0-bin.tar.gz (with props) dev/commons/imaging/binaries/commons-imaging-1.0-bin.tar.gz.asc (with props) dev/commons/imaging/binaries/commons-imaging-1.0-bin.tar.gz.md5 dev/commons/imaging/binaries/commons-imaging-1.0-bin.tar.gz.sha1 dev/commons/imaging/binaries/commons-imaging-1.0-bin.zip (with props) dev/commons/imaging/binaries/commons-imaging-1.0-bin.zip.asc (with props) dev/commons/imaging/binaries/commons-imaging-1.0-bin.zip.md5 dev/commons/imaging/binaries/commons-imaging-1.0-bin.zip.sha1 dev/commons/imaging/source/commons-imaging-1.0-src.tar.gz (with props) dev/commons/imaging/source/commons-imaging-1.0-src.tar.gz.asc (with props) dev/commons/imaging/source/commons-imaging-1.0-src.tar.gz.md5 dev/commons/imaging/source/commons-imaging-1.0-src.tar.gz.sha1 dev/commons/imaging/source/commons-imaging-1.0-src.zip (with props) dev/commons/imaging/source/commons-imaging-1.0-src.zip.asc (with props) dev/commons/imaging/source/commons-imaging-1.0-src.zip.md5 dev/commons/imaging/source/commons-imaging-1.0-src.zip.sha1 Added: dev/commons/imaging/RELEASE-NOTES.txt ============================================================================== --- dev/commons/imaging/RELEASE-NOTES.txt (added) +++ dev/commons/imaging/RELEASE-NOTES.txt Sun Nov 24 14:34:50 2013 @@ -0,0 +1,220 @@ + +Apache Commons Imaging +Version 1.0 +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: + +http://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 + http://commons.apache.org/imaging + and not + http://commons.apache.org/sanselan + + * etc. + +VERSION HISTORY + +Release 1.0 +------------ +24 November 2013 + +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. + +Fixed Bugs: +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. + +Changes: +o IMAGING-91: ByteSourceInputStream.streamLength could be a long. +o IMAGING-95: Some tiff processing takes very long. Thanks to amitgupt. + +Minimum Java version: 1.5 +Compatibility with 0.97: + Binary compatible: No. + Source compatible: No. + Semantic compatible: No. + + +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 + Propchange: dev/commons/imaging/RELEASE-NOTES.txt ------------------------------------------------------------------------------ svn:eol-style = native Added: dev/commons/imaging/binaries/commons-imaging-1.0-bin.tar.gz ============================================================================== Binary file - no diff available. Propchange: dev/commons/imaging/binaries/commons-imaging-1.0-bin.tar.gz ------------------------------------------------------------------------------ svn:mime-type = application/x-gzip Added: dev/commons/imaging/binaries/commons-imaging-1.0-bin.tar.gz.asc ============================================================================== Binary file - no diff available. Propchange: dev/commons/imaging/binaries/commons-imaging-1.0-bin.tar.gz.asc ------------------------------------------------------------------------------ svn:mime-type = application/pgp-signature Added: dev/commons/imaging/binaries/commons-imaging-1.0-bin.tar.gz.md5 ============================================================================== --- dev/commons/imaging/binaries/commons-imaging-1.0-bin.tar.gz.md5 (added) +++ dev/commons/imaging/binaries/commons-imaging-1.0-bin.tar.gz.md5 Sun Nov 24 14:34:50 2013 @@ -0,0 +1 @@ +8982b11850d9fe2dbdb022328ac4b9f3 \ No newline at end of file Added: dev/commons/imaging/binaries/commons-imaging-1.0-bin.tar.gz.sha1 ============================================================================== --- dev/commons/imaging/binaries/commons-imaging-1.0-bin.tar.gz.sha1 (added) +++ dev/commons/imaging/binaries/commons-imaging-1.0-bin.tar.gz.sha1 Sun Nov 24 14:34:50 2013 @@ -0,0 +1 @@ +58b6f836930f19d800099fc0a7c420894af3e09b \ No newline at end of file Added: dev/commons/imaging/binaries/commons-imaging-1.0-bin.zip ============================================================================== Binary file - no diff available. Propchange: dev/commons/imaging/binaries/commons-imaging-1.0-bin.zip ------------------------------------------------------------------------------ svn:mime-type = application/zip Added: dev/commons/imaging/binaries/commons-imaging-1.0-bin.zip.asc ============================================================================== Binary file - no diff available. Propchange: dev/commons/imaging/binaries/commons-imaging-1.0-bin.zip.asc ------------------------------------------------------------------------------ svn:mime-type = application/pgp-signature Added: dev/commons/imaging/binaries/commons-imaging-1.0-bin.zip.md5 ============================================================================== --- dev/commons/imaging/binaries/commons-imaging-1.0-bin.zip.md5 (added) +++ dev/commons/imaging/binaries/commons-imaging-1.0-bin.zip.md5 Sun Nov 24 14:34:50 2013 @@ -0,0 +1 @@ +178a498b7aa3ac401307a0ba220a99c8 \ No newline at end of file Added: dev/commons/imaging/binaries/commons-imaging-1.0-bin.zip.sha1 ============================================================================== --- dev/commons/imaging/binaries/commons-imaging-1.0-bin.zip.sha1 (added) +++ dev/commons/imaging/binaries/commons-imaging-1.0-bin.zip.sha1 Sun Nov 24 14:34:50 2013 @@ -0,0 +1 @@ +b5ede73872cb76e0e86fdb3bf6bc5cee1e406f62 \ No newline at end of file Added: dev/commons/imaging/source/commons-imaging-1.0-src.tar.gz ============================================================================== Binary file - no diff available. Propchange: dev/commons/imaging/source/commons-imaging-1.0-src.tar.gz ------------------------------------------------------------------------------ svn:mime-type = application/x-gzip Added: dev/commons/imaging/source/commons-imaging-1.0-src.tar.gz.asc ============================================================================== Binary file - no diff available. Propchange: dev/commons/imaging/source/commons-imaging-1.0-src.tar.gz.asc ------------------------------------------------------------------------------ svn:mime-type = application/pgp-signature Added: dev/commons/imaging/source/commons-imaging-1.0-src.tar.gz.md5 ============================================================================== --- dev/commons/imaging/source/commons-imaging-1.0-src.tar.gz.md5 (added) +++ dev/commons/imaging/source/commons-imaging-1.0-src.tar.gz.md5 Sun Nov 24 14:34:50 2013 @@ -0,0 +1 @@ +a60b367a8cbb48309dcd170891b2cd40 \ No newline at end of file Added: dev/commons/imaging/source/commons-imaging-1.0-src.tar.gz.sha1 ============================================================================== --- dev/commons/imaging/source/commons-imaging-1.0-src.tar.gz.sha1 (added) +++ dev/commons/imaging/source/commons-imaging-1.0-src.tar.gz.sha1 Sun Nov 24 14:34:50 2013 @@ -0,0 +1 @@ +4f700e109ea40b4a933d0a4629578c981d1a83cc \ No newline at end of file Added: dev/commons/imaging/source/commons-imaging-1.0-src.zip ============================================================================== Binary file - no diff available. Propchange: dev/commons/imaging/source/commons-imaging-1.0-src.zip ------------------------------------------------------------------------------ svn:mime-type = application/zip Added: dev/commons/imaging/source/commons-imaging-1.0-src.zip.asc ============================================================================== Binary file - no diff available. Propchange: dev/commons/imaging/source/commons-imaging-1.0-src.zip.asc ------------------------------------------------------------------------------ svn:mime-type = application/pgp-signature Added: dev/commons/imaging/source/commons-imaging-1.0-src.zip.md5 ============================================================================== --- dev/commons/imaging/source/commons-imaging-1.0-src.zip.md5 (added) +++ dev/commons/imaging/source/commons-imaging-1.0-src.zip.md5 Sun Nov 24 14:34:50 2013 @@ -0,0 +1 @@ +aaed6798135745484d80077d521c5964 \ No newline at end of file Added: dev/commons/imaging/source/commons-imaging-1.0-src.zip.sha1 ============================================================================== --- dev/commons/imaging/source/commons-imaging-1.0-src.zip.sha1 (added) +++ dev/commons/imaging/source/commons-imaging-1.0-src.zip.sha1 Sun Nov 24 14:34:50 2013 @@ -0,0 +1 @@ +5f4ea471ee2dd33e905c476f89df6d99bdc60a53 \ No newline at end of file