commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bruno P. Kinoshita" <>
Subject [ANNOUNCEMENT] Apache Commons Imaging 1.0-alpha1 Released
Date Fri, 03 May 2019 09:07:06 GMT
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:
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
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:
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 Could not read block  Issue: IMAGING-99. Thanks to st.h. 

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
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:
For additional commands, e-mail:

View raw message