Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8204187 Remove proprietary JPEG code from javax.imageio
  3. JDK-8204188

Release Note: Oracle JDK's javax.imageio JPEG Plugin No Longer Supports Images with alpha

    XMLWordPrintable

Details

    Description

      Previously, the Oracle JDK used proprietary extensions to the widely used IJG JPEG library in providing optional color space support.
      This was used to support PhotoYCC and images with an alpha component on both reading and writing. This optional support has been removed in Oracle JDK 11. Encountering encoded JPEG images in any of these formats is unlikely, unless they were previously encoded by an earlier version of the Oracle JDK. However, if they are encountered, decoding will now fail with an exception. Writing an image with an alpha channel will also fail with an exception. The most probable scenario for problems are applications which are unaware that they rely on this support. This could fail with an exception if the ImageWriter is called directly or if the Image I/O convenience methods are used. The `write()` method will now return `false,` meaning that it did not write the image.

      A carefully written application should check for these scenarios, which will mitigate this. Note that the OpenJDK has never had this optional proprietary support. It has always failed and generated exceptions in these scenarios.

      For detailed information about what is no longer supported, refer to
      the optional color space support in the Java Image I/O JPEG Metadata specification: [https://docs.oracle.com/javase/10/docs/api/javax/imageio/metadata/doc-files/jpeg_metadata.html#color](https://docs.oracle.com/javase/10/docs/api/javax/imageio/metadata/doc-files/jpeg_metadata.html#color)

      Attachments

        Activity

          People

            prr Philip Race
            prr Philip Race
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: