All Versions
12
Latest Version
Avg Release Cycle
168 days
Latest Release
1243 days ago

Changelog History
Page 1

  • v3.6.1 Changes

    November 20, 2020

    ๐Ÿš€ TwelveMonkeys ImageIO 3.6.1 release notes

    ๐Ÿš€ This is a bug fix release.

    What's new?

    ๐Ÿš€ The following bugs/issues are fixed in this release:

    #466 TGA Extension fix for files written by 3DS Max
    #556 PICTImageReaderSpi no longer claims to decode known formats
    #330 BMPImageReader and ICOImageReader now throw IIOException instead of various RuntimeExceptions
    #574 Fix for possible OOME situation caused by bad Exif segments in JPEG

    ๐Ÿ›  Various other minor fixes and enhancements.

  • v3.6 Changes

    July 10, 2020

    ๐Ÿš€ TwelveMonkeys ImageIO 3.6 release notes

    ๐Ÿš€ The TwelveMonkeys ImageIO version 3.6 is ready for release.

    Thanks to everyone who has committed code, patches, filed bug reports or otherwise contributed to the development of this version!

    What's new?

    JPEG metadata handling is now completely rewritten, and we now use our own metadata implementation (based on the current JPEG lossless implementation). The new implementation should be fully compatible with the existing "javax_imageio_jpeg_image_1.0" format, but allows for fixing a few long standing bugs and exposing more data.

    EXIF image orientation is now exposed in the standard metadata format ("javax_imageio_1.0") from the JPEGImageReader. The value can be found in the //Dimension/ImageOrientation@value attribute. An extra set of tools for automatically reading and applying EXIF orientation is available in the contrib module (EXIFUtilites class and the Orientation enum).

    ๐Ÿš€ The following bugs/issues are fixed in this release:

    #520 TIFFImageMetadata.setFromTree(...) now correctly handles TIFF.TAG_BITS_PER_SAMPLE and others.
    #547 BMPImageWriter is now registered behind other writers, and only claims to write TYPE_4BYTE_ABGR (other formats are left to the standard writer).
    #550 Adobe path points outside the [0...1] range no longer causes IllegalArgumentException. Now more correctly allows the full [-16...16] range.
    ๐Ÿ“‡ #108 Finally fixed the long standing issue of some YCbCr encoded JPEGs having ColorSpaceType "RGB" in the standard metadata

  • v3.5 Changes

    January 24, 2020

    ๐Ÿš€ TwelveMonkeys ImageIO 3.5 release notes

    ๐Ÿš€ The TwelveMonkeys ImageIO version 3.5 is ready for release.

    Thanks to everyone who has committed code, patches, filed bug reports or otherwise contributed to the development of this version!

    What's new?

    ๐Ÿ‘Œ Support for writing Adobe Photoshop clipping path embedded in JPEG and TIFF formats, through the Paths API (#490).

    ๐Ÿ‘ Also worth mentioning is we now have basic write support for the Truevision TGA format (#379), as well as basic write support for Apple Icon (ICNS) and MS Window Icon (ICO) icon formats (#83 and #82 respectively).

    ๐Ÿš€ The following bugs/issues are fixed in this release:

    ๐Ÿ›  #514 Fixes invalid StripByteCounts in large TIFF files, due to integer overflow.
    #455 TIFF PhotometricInterpretation is no longer inverted for WhiteIsZero when ICC profile is present.
    ๐Ÿ›  #438 Fixed a resource leak in CompoundDocument when reading from File or InputStream inputs.
    #437 Fix for Could not initialize class com.twelvemonkeys.imageio.color.ColorSpaces.
    ๐Ÿ“‡ #412, #416TIFFImageWriter now copies most fields from the metadata to the output.
    ๐Ÿ‘ป #398 Better exception message when BufferedImage size > Integer.MAX_VALUE

  • v3.4.3 Changes

    January 09, 2020

    ๐Ÿš€ TwelveMonkeys ImageIO 3.4.3 release notes

    ๐Ÿš€ This is a bug fix release.

    What's new?

    ๐Ÿš€ The following bugs/issues are fixed in this release:

    ๐Ÿ›  #493 Fixed subsampling for TIFF < 8 bit samples, no longer throws ArrayIndexOutOfBoundsException
    #501 Fix for reading BMP and other files with TYPE_USHORT_555/565_RGB, ColorModel now has 16 bits
    #510 Fix for possible hang situation in corrupted/malicious JPEG files

    ๐Ÿš€ In addition, any dependencies for Log4J has been removed (previous releases of the TwelveMonkeys servlet module contained an unused provided dependency on Log4J 1.2.17). See Deserialization of Untrusted Data in Log4j for details on why this was removed.

  • v3.4.2 Changes

    August 12, 2019

    ๐Ÿš€ TwelveMonkeys ImageIO 3.4.2 release notes

    ๐Ÿš€ This is a bug fix release.

    What's new?

    ๐Ÿš€ The following bugs/issues are fixed in this release:

    ๐Ÿ“œ #492 TIFFReader: ASCII fields are incorrectly parsed as single string
    #489 Unexpected End of PackBits Stream for some TIFF files
    #488 ArrayIndexOutOfBoundsException in getEmbeddedICCProfile
    #477 Cyclic directory references in EXIF data cause StackOverflowErrors
    #469 Out of memory while reading Exif data from JPEG file
    #474 java.awt.color.CMMException: Can not access specified profile
    #455 TIFF with PHOTOMETRIC_WHITE_IS_ZERO and ICC Profile is inverted
    ๐Ÿ‘ป #398 Better exception message when BufferedImage size > Integer.MAX
    #449 TIFFImageReader: Ignore bogus StripByteCounts entry with value 0
    ๐Ÿ‘ #475 Fix support for writing TIFF > 2 GB
    #473 Fix for ColorMap (Indexed) TIFF with non-alpha ExtraSamples
    #442 SVG BaseURI issue fix
    #438 CompoundDocument file descriptor fix

  • v3.4.1 Changes

    September 08, 2018

    ๐Ÿš€ TwelveMonkeys ImageIO 3.4.1 release notes

    ๐Ÿš€ This is a bug fix release.

    What's new?

    ๐Ÿš€ The following bugs/issues are fixed in this release:

    ๐Ÿ“‡ #439 Unclear exception message when passing TIFF image metadata as stream metadata.
    ๐Ÿ›  #437 Fixes class init problem in ColorSpaces class caused by JRE (NullPointerException from CMM) bug.

  • v3.4 Changes

    August 18, 2018

    ๐Ÿš€ TwelveMonkeys ImageIO 3.4 release notes

    The TwelveMonkeys ImageIO version 3.4 is finally ready for release. With an extra emphasis on finally this time.

    Thanks to everyone who has committed code, patches, filed bug reports or otherwise contributed to the development of this version!

    ๐Ÿ”Œ Especially, a big thank you to Oliver Schmidtmer (@Schmidor) for providing numerous bug fixes for the TIFF plugin, Ivan Khaldeev (@ikhaldeev) for improvements to the TIFF plugin, James Dudley (@blueinblue) for his persistence in finding the bug that caused the multipage compressed TIFF writing offset issue. :-)

    What's new?

    ๐Ÿ†• New features:

    #25 JPEGImageWriter can now finally write CMYK JPEG files directly from CMYK BufferedImages (CMYK for now, YCCK will come soon)
    #360 JPEGImageReader "JPEG-LOSSLESS" and "jpeg-lossless" are now recognised format names
    #343 JPEGImageReader now supports reading regions of large JPEGs (w * h > Integer.MAX_VALUE)

    #342 TIFFImageReader now recognises and reads the BigTIFF format
    #307 TIFFImageReader now recognises and reads custom PIXTIFF ZIP compression
    #304 TIFFImageReader now reads JPEG Lossless compressed data
    #280 TIFFImageReader now reads 6, 10, 12, 14 and 24 bits per sample data
    #317 #429 #432 TIFFImageReader now correctly interprets images with multiple ExtraSamples and non-alpha samples
    ๐Ÿ‘ #287 TIFFImageReader now supports Palette image data with a discrete alpha channel
    ๐Ÿ“‡ #290 TIFFImageWriter now supports controlling byte order through stream metadata
    #358 TIFFImageWriter now passes compression quality setting to JPEGImageWriter when writing TIFF with JPEG compression

    ๐Ÿ‘ #383 PSDImageReader now supports multiple extra channels/masks

    ๐Ÿ› Bugs fixed:

    ๐Ÿ‘ #324 TIFFImageReader now supports PackBits/LZW/Deflate with FillOrder 2
    #404 #406 TIFFImageReader now has more compatible color space interpretation for JPEG (same as libJPEG)
    ๐Ÿ“‡ #300 TIFFImageReader now tries to read JPEG data, even if the JPEG metadata is "inconsistent"
    #334 #401 TIFFImageWriter now correctly writes compressed multipage TIFFs
    #313 TIFFImageWriter now correctly writes PhotometricInterpretation GRAY for GRAY JPEG data
    ๐Ÿ‘ #312 #314 TIFFImageWriter now correctly supports SHORT or LONG values in the input meta data
    ๐Ÿ“‡ #397 TIFFImageMetadata now has correct attribute "name" for ColorSpaceType, was "value"
    ๐Ÿ”€ #430 TIFFUtilities now supports merging of TIFF Pages with Sub-IFDs

    ๐Ÿ‘ #202 JPEGImageReader now supports multiple JPEG streams in a single file
    #399 JPEGImageReader now has more compatible color space interpretation (same as libJPEG)
    #433 JPEGImageReader now correctly uses the current stream position
    ๐Ÿ‘ #329 JPEGImageReader now has better handling of corrupt JPEG data
    #323 JPEGImageReader now tries to resolve invalid component IDs SOS segment
    #326 JPEGImageReader now reads JFIF JPEG with non-spec grayscale thumbnails
    #274 JPEGImageReader now correctly downsamples multiple DQTs from 16 to 8 bit
    #294 JPEGImageReader is now lenient about APPn markers without identifiers
    #297 JPEGLosslessDecoder now decodes images containing only AC tables

    ๐Ÿ‘ #403 PSDImageReader now supports MeSa, PHUT, AgHg and DCSR Photoshop Image Resources
    ๐Ÿ“‡ #350 PSDMetadata now includes Horizontal-/VerticalPixelSize in standard Dimension node

    ๐Ÿ‘ #400 PCXImageReader now has better handling of PCX monochrome color

    #419 PICTImageReader has a fix for a rounding bug, that caused images with missing rows and columns Bug
    #431 PICImageReaderSpi now correctly has an extra mark to match the reset call in the finally block

    #414 BufferedImageInputStream has a fix an issue when reading multi-byte entities on a buffer boundary
    ๐Ÿ‘ #393 Better validation of corrupt ICC profile data in ImageReader implementations to avoid OutOfMemoryError
    #421 ColorSpaces CS_GENERIC_CMYK profile loaded from path has different headers during lifetime

    Other improvements/enhancements:

    โšก๏ธ #435 Batik dependencies updated to 1.9
    ๐Ÿ“‡ #204 Exif metadata module refactored to a TIFF and Exif module
    #378 ColorSpaces getColorSpace now enforces correct colorspace type
    #405 Improved OSGi compatibility

    Thank you for your patience!

    We did it.

  • v3.3.2 Changes

    February 02, 2017

    ๐Ÿš€ TwelveMonkeys ImageIO 3.3.2 release notes

    ๐Ÿš€ This is a bug fix release.

    What's new?

    ๐Ÿš€ The following bugs/issues are fixed in this release:

    ๐Ÿ›  #306 TIFF: Fixed LZW write issue for < 8 bit/pixels
    ๐Ÿ‘ #307 TIFF: Added support for PIXTIFF ZIP compression (50013)
    ๐Ÿ“‡ #312 TIFF: Fixed ClassCastException when re-writing compressed images (metadata)
    ๐Ÿ“‡ #314 TIFF: Fixed ClassCastException when re-writing compressed images (metadata)
    ๐Ÿ›  #313 TIFF: Fixed incorrect YCbCr photometric when writing grayscale JPEG compressed images
    ๐Ÿ“‡ #300 TIFF: Fix for Old-style-JPEG "Inconsistent metadata read from stream" issue (metadata)
    ๐Ÿ‘ #297 JPEG: JPEGLossless now correctly supports images with multiple DC tables

  • v3.3.1 Changes

    November 29, 2016

    ๐Ÿš€ TwelveMonkeys ImageIO 3.3.1 release notes

    ๐Ÿš€ This is a bug fix release.

    What's new?

    ๐Ÿš€ The following bugs/issues are fixed in this release:

    ๐Ÿ›  #294 Fixed regression: Can now read JPEGs with APPn markers without null-terminated identifier
    ๐Ÿ›  #274 Fixed "Bogus marker length" issue when downscaling JPEG DQT from 16 to 8 bit

  • v3.3 Changes

    November 03, 2016

    ๐Ÿš€ TwelveMonkeys ImageIO 3.3 release notes

    ๐Ÿš€ The TwelveMonkeys ImageIO version 3.3 is finally ready for release.

    Thanks to everyone who has committed code, patches, filed bug reports or otherwise contributed to the development of this version!

    ๐Ÿ”Œ Especially, a big thank you to Oliver Schmidtmer (@Schmidor) for providing numerous bug fixes for the TIFF plugin, and Herman Kroll (@HermannKroll) for integrating the JPEG Lossles code and its original author Helmut Dersch for kindly providing his JPEG code under BSD license.

    What's new?

    ๐Ÿ†• New features:

    ๐Ÿ‘ #182 JPEG Lossless support. The library now has support for the most common bit depths of JPEG Lossless through the JPEGImageReader.
    ๐Ÿ‘ #234 Raw Lossles Raster reading support through the JPEGImageReader

    Other improvements/enhancements:

    #212 TIFFImageReader: Subsampling is incorrect
    #268 TIFFImageReader: Reading with source region is broken for JPEG-in-TIFF raster case
    #272 LZWDecoder - IndexOutOfBoundsException when reading some files
    #282 TIFFReader EOFException when reading LZW RGB image
    #228 TIFFImageWriter does not correctly write images with "sampleModelTranslate"
    #241 TIFF: read after save fails with EOFException
    #229 TIFFImageWriter writes uncompressed files with incorrect "StripByteCounts" field
    #257 TIFFImageWriter: Unreadable LZW
    #253 TIFFImageReader: JPEG/YCbCr doc from Xerox scanner get inverted colors
    #267 TIFFImageReader: Monochrome image with grayscale profile
    #265 TIFFImageReader: Invalid JPEG file structure: missing SOS marker
    ๐Ÿ“ฆ #260 Typo in TIFFProviderInfo - class package should read as com.twelvemkonkeys.imageio.plugins.tiff.TIFFImageWriterSpi
    ๐Ÿ“‡ #254 NPE reading TIFF Metadata when BitsPerSample not set
    #237 ArrayIndexOutOfBoundsException when reading G4 compressed TIFF file
    #232 TIFF EOFException
    #233 Tiff reader/writer corrupts image data.
    0๏ธโƒฃ #220 Incorrect default for PlanarConfiguration in TIFFImageReader

    ๐Ÿ“‡ #276 JPEG Metadata Cleaner doesn't split DHT correctly
    #269 Issue with loading CMYK jpeg as BufferedImage with CMYK color model
    #266 NPE when reading empty file

    ๐Ÿ“‡ #285 BMPImageReader.getImageMetadata throws exception for files with incorrect header

    #214 PSDImageReader: Long layernames are not read New feature Trouble-shooting
    #248 PSDReader loads wrong band indicies in grayscale psd files with backgrounds.
    #244 PSDReader incorrectly uses grayscale ICCProfile with a grayscale background.

    ๐Ÿ‘ #190 Support for Batik 1.8
    ๐Ÿ‘ #191 Support SVG files without XML declaration

    #256 ImageTypeSpecifiers needs special case for packed 8 and 16 bit types
    #258 Typo in provider info, spis etc : "twelvemkonkeys"
    #275 Infinite loop while getting ImageReaders
    โœ… #249 ImageUtilTestCase fails with 8u60+
    #261 Extended AffineTransformOp for a Graphics2D fallback on filter-method
    #213 Add license to pom file New feature Task