blob: 8f345b21ef7bf58c1e23983bea2a6bc841286ca8 [file] [log] [blame]
Apache Commons Imaging 1.0-alpha2
RELEASE NOTES
The Apache Commons Imaging team is pleased to announce the release of Apache Commons Imaging 1.0-alpha2
Apache Commons Imaging (previously Sanselan) is a pure-Java image library.
Second 1.0 alpha release
Changes in this version include:
New features:
o IMAGING-248: ICNS: missing element types; some safety checks Thanks to Greg Shrago.
o IMAGING-245: Add disposal method to GIF metadata Thanks to Christoffer Rydberg.
o IMAGING-146: Add documentation for the color package
o IMAGING-244: Use isEmpty instead of comparing size() with integers
o IMAGING-243: PNG Writer Indexed Color with semi-transparent Pixels and Better Compression Thanks to Andreas Menze.
o IMAGING-239: Add inflate (deflate algorithm) to TIFF files Thanks to Paul Austin.
o IMAGING-164: Simplify code in IcoImageParser::writeImage Thanks to Michael Groß.
o IMAGING-165: Add the fields from TiffReader.Collector to TiffContents Thanks to Michael Groß.
o IMAGING-228: Remove private method PhotometricInterpreterLogLuv#cube by Math.pow
o IMAGING-236: Add support to read multiple images from GIF Thanks to Christoffer Rydberg.
Fixed Bugs:
o IMAGING-247: Fix crash when reading TIFF using PackBits Thanks to Gary Lucas.
o IMAGING-246: Invalid Block Size error prevents handling of block 1084, Macintosh NSPrintInfo
o IMAGING-163: Add XmpEmbedabble interface to parsers that support it
o IMAGING-151: ColorGroup.color_counts is mutable public List and is multiply sorted
o IMAGING-242: Upgrade to JUnit 5
o IMAGING-241: Copy byte arrays fixing TODO markers
o IMAGING-136: Imaging.getImageInfo() fails to read JPEG file Thanks to Michael Groß.
o IMAGING-238: Return copied byte arrays in Png Chunk and Png Chunk ICCP
o IMAGING-230: Properly close resources with try-with-resources in T4AndT6Compression
o IMAGING-134: Invalid (RST) marker found in entropy data Thanks to Michael Sommerville.
o IMAGING-130: Reading of some GIF images throws java.io.IOException: AddStringToTable: codes: 4096 code_size: 12 Thanks to Michael Sommerville.
o IMAGING-224: Fix build errors in Travis
o IMAGING-167: Possible infinite loop at XpmImageParser::writeImage Thanks to Michael Groß.
o IMAGING-211: Imaging.getBufferedImage fails throwing java.lang.ArrayIndexOutOfBoundsException for specific inputs
o IMAGING-210: Imaging.getBufferedImage fails throwing NegativeArraySizeException for specific inputs
Changes:
o IMAGING-258: Prevent exception in TIFF when reading EXIF directory Thanks to Gary Lucas.
o IMAGING-260: Fix mvn site failure with JavaNCSS parse error
o IMAGING-259: Enhance TIFF DataReaders speed for compressed RGB Thanks to Gary Lucas.
o IMAGING-251: Support for TIFF floating-point formats Thanks to Gary Lucas.
o IMAGING-254: Small code improvements
o IMAGING-253: ByteSourceInputStream has initialized its length when reading starts Thanks to David Hrbacek.
o IMAGING-249: Make IPTCBlock members private and add getter/setter
o Update tests from commons-io:commons-io 2.6 to 2.7. Thanks to Gary Gregory.
o Update commons-parent from 50 to 51 #88. Thanks to Dependabot.
o Update actions/checkout from v1 to v2.3.1 #87. Thanks to Dependabot.
o Update junit-jupiter from 5.5.2 to 5.6.2 #86. Thanks to Dependabot.
Historical list of changes: https://commons.apache.org/proper/commons-imaging/changes-report.html
For complete information on Apache Commons Imaging, including instructions on how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons Imaging website:
https://commons.apache.org/proper/commons-imaging/
The following changes are here only for history, from when the project was initially
created and was called Sanselan.
Release 0.97
------------
* Rewrote the info.txt files for many images in the sample image library to clarify contribution to project.
* Removed the images from the www.wpclipart.com Public Domain library.
* Improved the examples illustrating how to change EXIF metadata.
* Applied a patch from Niall Pemberton around jdk1.5 compatibility:
"""
Sanselan claims JDK 1.4 compatibility, but a JDK 1.5 method (Class's getSimpleName() [1]) has been used in JpegRewriter
"""
* Applied a "Build Improvements" patch from Niall Pemberton:
"""
I took a look at the propsed 0.96 relelase and have some suggestions to improve the build:
* Add standard manifest entries to jar
* Lock down version numbers for maven compiler, surefire and javadoc plugins
* generate sources jar for the release
* include the RELEASE-NOTES in the binary distribution
* include NOTICE/LICENSE files in the javadoc jar
"""
Release 0.96
------------
* Updated KEYS file.
* Added more unit tests around BMP.
* Added more images to the test image suite.
* Fixed a bug where errors were being wrongly logged to System.out.
* Moved the example code into the test source directory, to comply with Maven's standard project layout.
* Added a couple of images to the sample image library that demonstrate a couple variations on Photoshop/IPTC data.
* Fixed a small bug in the IPTC constants introduced while cleaning up the constants.
* Started shift towards moving field-level parsing into BinaryInputStream and BinaryOutputStream.
* Fixed a png unit test that used a piece of Java 1.6 syntax.
* Added unit tests around the new IPTC functionality.
* Added IPTC remove/update/insert functionality.
* Rewrote the IPTC parsing support.
* Added improved support for reading and writing iTXt, tEXt, zTXt Png chunks.
Added a unit test that demonstrates the feature.
* Found a new regression wherein DeflaterOutputStream needs to be closed.
* Added the .tar.bz2 distributions back into the maven assembly descriptors.
* Moved the example/sample code to a new top-level source folder, "example."
* Replaced dependency on java.util.zip.DeflaterOutputStream, which is only available in Java 1.6.
* Added a unit test around reading and writing images in every format.
* We now sort some (but not all) GIF color tables.
* Applied the BMP "buffer flushing" bug to the PBM reading and writing code.
* Fixed a regression around flushing the bit buffer when writing BMPs with very small palettes.
* Removed assumption about DataBuffer type when reading BMPs.
* When writing a GIF, we now always include a Graphic Control Extension block, even if its not necessary.
* We are more defensive about missing GCEs.
* Lastly, we now set a minimum bound on initial code sizes for LZW-compressed Gif image data.
* Found a regression in writing TIFFs around strip offsets being properly updated. Not a LZW issue after all.
Added a few unit tests around this issue.
see: https://issues.apache.org/jira/browse/SANSELAN-6
* Added ability to remove and update XMP XML in existing JPEG files.
* Added ability to embed XMP XML when writing the following formats: GIF, PNG, TIFF.
* Improved handling of tEXt and zTXt PNG text blocks.
* Added XMP XML extraction for the following formats: GIF (untested), JPEG, TIFF, PNG, PSD.
* Added RELEASE_NOTES file (this file).
* Added Apache license header to bin.xml and src.xml Maven assembly descriptors.
* Added Javadocs to the binary distribution
Release 0.94
------------
First Apache release of Sanselan
Fixed bugs:
-----------
* Can't convert PNG image to GIF image
The PNG reader wasn't handling the 16-bit mode 4 PNGs properly.
The PNG reader wasn't gamma-correcting non-palette values properly in PNGs.
see: https://issues.apache.org/jira/browse/SANSELAN-5