Skip to content

Releases: haraldk/TwelveMonkeys

TwelveMonkeys ImageIO 3.8.0

12 Dec 15:04
Compare
Choose a tag to compare

TwelveMonkeys ImageIO 3.8.0 release notes

The TwelveMonkeys ImageIO version 3.8.0 is ready for release.

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

A big thank you to my new sponsors! ❤️

What's new?

Rewritten ICC color profile activation, to better workaround JDK bug.

Improved WebP read support. Fixed problems with incorrect YCbCr to RGB conversion (now uses rec 601), ICC profile issues and added preliminary animation (ANIM/ANMF) support.

Initial PSD write support.

Initial BigTIFF write support.

The following bugs/issues are fixed in this release:

#631: New way of forcing profile activation + guarding all invocations of ICC_Profile.getInstance()
#645: AAIOBE in CCITTFaxDecoderStream now wrapped in IOException
----: Avoid fetching external resources in XMPReader
#629: Preliminary WebP animation (ANIM/ANMF) support
#628: TIFF metadata fix, now always outputs denominator for rationals.
#626: TIFF CCITT detection only once per IFD, handle fillOrder for all compressions
#623: TGAImageReader, PCXImageReader and SGIImageReader now return more standard image types as default, for better AffineTransformOp compatibility.
#624: Added metadata support for 16 bit USHORT gray TGA images
#621: Don't add ICC profile for default gray TIFF images
#617: BigTIFF write support
#483 Initial PSD Write support
#616: Remove dependency on old xmlgraphics-commons (no longer needed)
#619: Fix WebP Y'CbCr->RGB conversion (now uses rec 601)
#609 Fixed ICC Profile handling in WebP.
#579: Deeper EOL search in the CCITT stream
#606: Workaround for broken JDK WBMPImageReader
----: Deprecated old servlet classes (for removal in later version)

TwelveMonkeys ImageIO 3.7.1

12 Dec 14:55
Compare
Choose a tag to compare

TwelveMonkeys ImageIO 3.7.1 release notes

This is a bug fix release.

What's new?

The following bugs/issues are fixed in this release:

#631: New way of forcing profile activation + guarding all invocations of ICC_Profile.getInstance()
#645: AAIOBE in CCITTFaxDecoderStream now wrapped in IOException
----: Avoid fetching external resources in XMPReader
#628: TIFF metadata fix, now always outputs denominator for rationals
#626: TIFF CCITT detection only once per IFD, handle fillOrder for all compressions
#623: TGAImageReader, PCXImageReader and SGIImageReader now return more standard image types as default, for better AffineTransformOp compatibility.
#624: Added metadata support for 16 bit USHORT gray TGA images
#621: Don't add ICC profile for default gray TIFF images
#616: Remove dependency on old xmlgraphics-commons (no longer needed)
#619: Fix WebP Y'CbCr->RGB conversion (now uses rec 601)
#609 Fixed ICC Profile handling in WebP.
#579: Deeper EOL search in the CCITT stream
#606: Workaround for broken JDK WBMPImageReader
----: Deprecated old servlet classes (for removal in later version)

TwelveMonkeys ImageIO 3.7.0

24 Apr 11:15
Compare
Choose a tag to compare

TwelveMonkeys ImageIO 3.7.0 release notes

The TwelveMonkeys ImageIO version 3.7.0 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?

Initial WebP read support. Currently supports the basic compressed format, but not the lossless or compressed with lossless alpha. This work is still in progress. Let me know if you need it, and consider supporting the project if you do!

Improvements to the JPEG and TIFF plugins, and interoperability tests for JAI and JEP-262.

Rewrite of JPEG thumbnail handling, to be more efficient and more lenient about malformed thumbnails (warnings instead of exceptions), to allow readAll to complete, even if the thumbnail is broken.

Read support for XWD and PNTG legacy formats.

This version adds initial support for JPMS modules, via Automatic-Module-Name in JAR manifest. The module naming will be used in the 4.0 release, which will also require/support more recent Java versions and use JPMS modules. Feedback and reports on this feature is highly appreciated.

The following bugs/issues are fixed in this release:

---- Added .0 to version for SemVer in first minor release
#573 JPEG: JPEGImageReader.getRawType now always returns non-null (as per the new spec)
#443 Automatic-Module-Name in each JARs MANIFEST.MF
#362 JPEG: metadata names in ProviderInfo
#532 TGA: Write support for RLE compression
#600 TimeoutMap now longer gets Long.MAX_VALUE as next expiry time if map is empty when removeExpiredEntries() is invoked.
#584 JPEG/TIFF: JAI/JEP-262 interop + testing
#417 TIFF: Support for reading 16 bit half precision floating point
#554, #417 TIFF: Relaxed custom metadata restrictions, allows writing most tags
---- PICT: Standard metadata support
#588 Clipping path from JPEG with multiple APP13 segments
#582 JPEG: Fix for missing/malformed thumbnails, now only issues warning

TwelveMonkeys ImageIO 3.6.4

08 Mar 13:56
Compare
Choose a tag to compare

TwelveMonkeys ImageIO 3.6.4 release notes

This is a bug fix release.

What's new?

The following bugs/issues are fixed in this release:

#595 Fix infinite loops in corrupted JPEGs

TwelveMonkeys ImageIO 3.6.3

26 Feb 18:34
Compare
Choose a tag to compare

TwelveMonkeys ImageIO 3.6.3 release notes

This is a bug fix release.

What's new?

The following bugs/issues are fixed in this release:

#591 Upgraded the Apache Batik library from 1.12 to 1.14 due to fixed CVEs.
#593 More robust JPEG thumbnail reading
#593 EXIFUtilities.readWithOrientation no longer reads thumbnails for better performance and compatibility.
#592 Fixed SGI source subsampling
#588 Clipping path from JPEG with multiple APP13 segments now supported

Various other minor fixes and enhancements.

TwelveMonkeys ImageIO 3.6.2

23 Jan 16:33
Compare
Choose a tag to compare

TwelveMonkeys ImageIO 3.6.2 release notes

This is a bug fix release.

What's new?

The following bugs/issues are fixed in this release:

#582 Fix for missing Exif thumbnail, now only issues warning
#579 More reliable CCITT compression type detection
#577 Fix TGA subsampling + bonus metadata fix and palette conversion
Performance optimizations and fixes to BufferedImageInputStream

Various other minor fixes and enhancements.

TwelveMonkeys ImageIO 3.6.1

20 Nov 08:17
Compare
Choose a tag to compare

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.

TwelveMonkeys ImageIO 3.6

10 Jul 21:49
Compare
Choose a tag to compare

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

TwelveMonkeys ImageIO 3.5

24 Jan 12:34
Compare
Choose a tag to compare

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, #416 TIFFImageWriter now copies most fields from the metadata to the output.
#398 Better exception message when BufferedImage size > Integer.MAX_VALUE

TwelveMonkeys ImageIO 3.4.3

09 Jan 19:37
Compare
Choose a tag to compare

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.