The Apache Commons Imaging team is pleased to announce the 
commons-imaging-1.0-alpha1 release!

Apache Commons Imaging (previously Sanselan) is a pure-Java image library.

Changes in this version include:

New features:
o Added accessor methods for a number of ImageInfo properties.  Issue: 
IMAGING-75. 
o Applied patch contributed by Nicolas Richeton, adding getEXIFThumbnailSize() 
and getEXIFThumbnailData() methods to JpegImageMetadata.  Issue: IMAGING-71. 
Thanks to Nicolas Richeton. 
o Add support for the ICNS icon format.  Issue: IMAGING-56. Thanks to damjan. 
o Add support for PCX, DCX, WBMP, XBM and XPM images.  Issue: IMAGING-58. 
o Add support for TIFF files with compression=2, (CCITT Group 3 1-Dimensional 
Modified Huffman run length encoding).  Issue: IMAGING-64. 
o Add a type-safe high-level API for writing TIFF fields.  Issue: IMAGING-77. 
o Add TagInfoXpText for fields like XPTITLE, and encode/decode it using 
UTF-16LE like Windows does.  Issue: IMAGING-51. 
o Added support for reading the RGBE / Radiance HDR image format.  Issue: 
IMAGING-60. Thanks to proyal. 
o Add a field to IptcRecord that contains its raw bytes, and a getter for this 
value.  Issue: IMAGING-68. 
o Provide a way to write EXIF data into files using Sanselan.writeImage().  
Issue: IMAGING-73. 
o Run a Findbugs analysis on "mvn site". Also audit and fix resource leaks.  
Issue: IMAGING-47. Thanks to adrian2k7. 
o Provide a way to write the pixel density (DPI) into an image.  Issue: 
IMAGING-65. 
o Include a test utility for timing and memory in project example classes.  
Issue: IMAGING-61. Thanks to gwlucas. 
o Add more Javadoc to main package.  Issue: IMAGING-81. Thanks to gwlucas. 
o Detect the YCCK color space/type in JPEG files' APP14 segment.  Issue: 
IMAGING-89. 
o Add ability to load partial TIFF images  Issue: IMAGING-94. Thanks to 
gwlucas. 

Fixed Bugs:
o All tEXt chunks are not returned from PngImageParser.getMetadata  Issue: 
IMAGING-199. Thanks to Ric Emery. 
o JpegDecoder takes a long time (+10s) to decode a bad JPEG  Issue: 
IMAGING-220. 
o Imaging gets stuck parsing a RGBE input file  Issue: IMAGING-219. 
o ArrayIndexOutOfBoundsException in DhtSegment  Issue: IMAGING-215. 
o JPEG segment size not validated  Issue: IMAGING-203. Thanks to Rody Kersten. 
o PnmImageParser throws ImageWriteException when writing if 
PnmImageParser.PARAM_KEY_PNM_RAWBITS is provided  Issue: IMAGING-209. Thanks to 
Isak Wertwein. 
o Imaging (Apache Sanselan) produces "odd offsets" in (EXIF) metadata  Issue: 
IMAGING-205. 
o Incorrect Maven coordinates on project website  Issue: IMAGING-195. Thanks to 
Keith Strydom. 
o ImageDataReader.decompress() overwrites its input  Issue: IMAGING-190. 
o Duplicate class names  Issue: IMAGING-193. 
o parseXpmValuesSection uses && instead of ||  Issue: IMAGING-189. 
o EXIF lens metadata tags missing in Commons Imaging but recognized in exiftool 
 Issue: IMAGING-181. 
o Microsoft tags are not seen in MS Windows Properties/Details dialog.  Issue: 
IMAGING-172. 
o TiffImageParser.getImageInfo() throws exception when "Compression" field is 
missing.  Issue: IMAGING-176. Thanks to Gabriel Axel. 
o PnmImageParser does not check the validity of input PAM header.  Issue: 
IMAGING-178. Thanks to emopers. 
o MicrosoftTagTest rewrite image exif fails in some environments  Issue: 
IMAGING-171. Thanks to Jan Helbich. 
o PnmImageParser throws NumberFormatException instead of ImageReadException 
when parsing invalid images  Issue: IMAGING-169. Thanks to Nebu Pookins. 
o TiffOutputSet.setGPSInDegrees should make sure, GPSVersionID is set  Issue: 
IMAGING-144. Thanks to Paul Hartmann. 
o Classes should not expose mutable arrays  Issue: IMAGING-117. 
o DumpImage method for JPEG reports it's coming from TIFF.  Issue: IMAGING-145. 
Thanks to Chris Carman. 
o Can not set EXIF_TAG_EXIF_VERSION tag.  Issue: IMAGING-137. 
o ExifReWriter always writes EXIF segment before JFIF segment.  Issue: 
IMAGING-140. Thanks to Gavin Shiels. 
o Allow null parameters in PngImageParser.getBufferedImage(), and add some 
tests for null parameters.  Issue: IMAGING-131. 
o Null Pointer exception while extracting metadata for CR2 image.  Issue: 
IMAGING-121. Thanks to Piyush Kapoor. 
o DhtSegment class contains mutable public arrays.  Issue: IMAGING-115. 
o SofnSegment.components - public mutable array.  Issue: IMAGING-117. 
o GenericSegment.bytes - public mutable array.  Issue: IMAGING-116. 
o interface RgbeConstants contains mutable array.  Issue: IMAGING-118. 
o ComSegment.comment is a public final byte array.  Issue: IMAGING-114. 
o Several files contain non-UTF8 characters.  Issue: IMAGING-109. 
o Cannot read multipage tiff.  Issue: IMAGING-113. 
o JPEG EOI marker could not be found at expected location.  Issue: IMAGING-108. 
o GIF dimensions transposed.  Issue: IMAGING-101. Thanks to Colm O 
hEigeartaigh. 
o JpegXMPWriter throws NullPointerException.  Issue: IMAGING-23. 
o 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.  Issue: IMAGING-74. 
o SanselanGuessFormatTest and SanselanTestConstants use Java 1.5 method 
String.replace(CharSequence, CharSequence).  Issue: IMAGING-2. 
o Sanselan tests fail on Windows.  Issue: IMAGING-80. 
o Fix for "JpegImageMetadata getEXIFThumbnail only works on Jpeg thumbnails 
stored as Tiff images" issue.
        Jpeg thumbnails are read using ImageIO.  Issue: IMAGING-18. Thanks to 
James E-J. 
o JpegImageMetadata getEXIFThumbnail may raise a null pointer exception.  
Issue: IMAGING-48. 
o Implement dumpImageFile for ICO files and fix a typo.  Issue: IMAGING-52. 
Thanks to damjan. 
o Tiff (exif) tags of type double written in wrong byte order.  Issue: 
IMAGING-12. Thanks to gwlucas. 
o The isTransparent flag is not set on transparent PNGs.  Issue: IMAGING-30. 
Thanks to clement.escoffier. 
o Ignore TIFF entries that have invalid offsets and/or lengths when we are not 
in strict mode.  Issue: IMAGING-11. 
o readDirectory method in TiffReader doesn't gracefully handle exceptions that 
can be thrown from ByteSource implementations.  Issue: IMAGING-78. 
o Search all tags instead of just EXIF tags when parsing TIFF metadata tags, 
and try to match on directory type as well.  Issue: IMAGING-24. 
o Don't allow very large TIFF lengths to be interpreted as negative because 
they have the highest order bit set.  Issue: IMAGING-21. 
o Make JPEG parsing highly resilient: skip all bytes after the end of a segment 
until the next segment (0xFF followed by non-0xFF).  Issue: IMAGING-50. 
o Fix reading ASCII tags in TIFF files.  Issue: IMAGING-16. 
o Ignore string differences in our tests when 7 bit unclean TIFF string are 
copied.  Issue: IMAGING-3. 
o Don't redefine BYTE_ORDER_BIG_ENDIAN and BYTE_ORDER_LITTLE_ENDIAN in 
UnicodeMetricsUTF16.  Issue: IMAGING-41. 
o Fixed issue "FieldTypeASCII does not conform to the EXIF specification," 
identified by Libor Nenadál.  Issue: IMAGING-35. 
o 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.  Issue: IMAGING-31. 
o Added checks in ByteSource's getBlock() methods for invalid params.  Issue: 
IMAGING-13. 
o Fixed a possible NPE in Sanselan.getICCProfile pointed out by Jon Weygandt.  
Issue: IMAGING-46. 
o Improve ICO file support.  Issue: IMAGING-76. Thanks to damjan. 
o Preserve the byte range occupied by the Maker Notes, so rewriting it doesn't 
corrupt it.  Issue: IMAGING-49. 
o Read in the full IPTC block before trying to ignore it, so we don't lose our 
position in the stream.  Issue: IMAGING-29. Thanks to alexvigdor. 
o Fix the GIF BitsPerPixel formula in GifImageParser's getImageInfo().  Issue: 
IMAGING-45. Thanks to pkapoor. 
o Fix various problems with reading and writing EXIF tags.  Issue: IMAGING-39. 
o Eliminate or hide public mutable final arrays in the API.  Issue: IMAGING-22. 
o If the TIFF rows per strip is not present, assume it is the image length.  
Issue: IMAGING-43. Thanks to pkapoor. 
o Make BitInputStream sensitive to byte order. Allows 48 BPP TIFF files to 
load.  Issue: IMAGING-17. Thanks to pkapoor. 
o Fix the PhysicalWidthDpi calculation for JPEG images.  Issue: IMAGING-38. 
Thanks to tjoris. 
o Fix reading DPI for TIFF files.  Issue: IMAGING-19. Thanks to vvd. 
o Fix reading DPI for PNG files.  Issue: IMAGING-44. Thanks to vvd. 
o Add the Software TIFF tag, and get the byte order after reading the first 
TIFF directory.  Issue: IMAGING-40. Thanks to pkapoor. 
o Correct the expected size of the decompressed TIFF image data, and improve 
sample depth scaling for PNG images.  Issue: IMAGING-6. 
o Stop JpegImageMetadata from throwing NPE if the exif field is null.  Issue: 
IMAGING-15. Thanks to pkapoor. 
o Speed up reading paletted TIFF files.  Issue: IMAGING-67. Thanks to gwlucas. 
o Allow TIFF fields to change size during encoding. Fix a broken test that 
assumes they never do.  Issue: IMAGING-8. 
o Fix sample usage links on the website.  Issue: IMAGING-36. 
o Reduce memory usage when reading TIFF files.  Issue: IMAGING-70. Thanks to 
gwlucas. 
o Fixed the differencing predictor for tiled TIFF images.  Issue: IMAGING-33. 
o Update website, fix some broken links and remove old code.  Issue: IMAGING-5. 
o Add a streamlined TIFF reader that reduces load time by a factor of 5.  
Issue: IMAGING-69. Thanks to gwlucas. 
o Fix BMP width and height DPI.  Issue: IMAGING-82. Thanks to pkapoor. 
o Fix the lengths for DateTimeOriginal and DateTimeDigitized TIFF/EXIF tags.  
Issue: IMAGING-86. 
o Method lowerBound in 
org.apache.commons.imaging.common.itu_t4.T4AndT6Compression has a division 
error.  Issue: IMAGING-88. Thanks to craigkelly. 
o Issue trying to update GPS metadata info in a JPG.  Issue: IMAGING-92. Thanks 
to hmarmy. 
o Tiled TIFF images do not correctly load partial tiles.  Issue: IMAGING-93. 
Thanks to gwlucas. 
o Allow non-1 TIFF field lengths when parsing offset fields in non-strict mode. 
 Issue: IMAGING-90. 
o java.io.IOException: Could not read block  Issue: IMAGING-99. Thanks to st.h. 

Changes:
o Remove Debug class  Issue: IMAGING-154. 
o Tidy up IconParser  Issue: IMAGING-124. Thanks to Jens Kapitza. 
o remove duplicated lines in T4AndT6Compression  Issue: IMAGING-123. Thanks to 
Jens Kapitza. 
o Add sCAL support to PNG reading and writing.  Issue: IMAGING-186. Thanks to 
Ric Emery. 
o Update platform from Java 5 to 7  Issue: IMAGING-184. 
o JpegIptcRewriter.removeIPTC() does not remove all metadata  Issue: 
IMAGING-112. Thanks to Xavier Dury. 
o ByteSourceImageTest: Local variable hides a field  Issue: IMAGING-166. Thanks 
to Michael Groß. 
o Refactor TagConstants  Issue: IMAGING-156. 
o TIFF and PNG images should not be bigger than the ones created by java 
ImageIO  Issue: IMAGING-126. Thanks to Gary Lucas. 
o Add color constants  Issue: IMAGING-147. Thanks to Stephan Koeninger. 
o Implement equals and hashcode on color classes  Issue: IMAGING-150. Thanks to 
Stephan Koeninger. 
o ByteSourceInputStream.streamLength could be a long.  Issue: IMAGING-91. 
o Some tiff processing takes very long.  Issue: IMAGING-95. Thanks to amitgupt. 
o Update from Java 7 to Java 8.  Issue: IMAGING-223. Thanks to Gary Gregory. 


Have fun!
-Apache Commons Imaging team


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to