The Apache Commons Imaging team is pleased to announce the commons-imaging-1.0-alpha3 release! | |
Apache Commons Imaging (previously Sanselan) is a pure-Java image library. | |
Changes in this version include: | |
New features: | |
o Add CIELAB and DIN99 conversion, reduce code duplication, and issues related to zero-division and precision. Issue: IMAGING-283. Thanks to Wanja Gayk. | |
o Imaging.getBufferedImage() drops alpha layer for TIFF images. Issue: IMAGING-216. Thanks to Gary Lucas. | |
o Consolidate redundant methods in TIFF datareaders. Issue: IMAGING-269. Thanks to Gary Lucas. | |
o Add list of TIFF files and example survey application. Issue: IMAGING-268. Thanks to Gary Lucas. | |
Fixed Bugs: | |
o Add PNG predictor to reduce output size. Issue: IMAGING-330. Thanks to Gary Lucas. | |
o Change getExif name to getOutputSet. Issue: IMAGING-327. Thanks to Gary Lucas. | |
o Prevent OutOfMemoryError in BmpImageParser. This can happen when the color palette length is | |
a large negative number. Issue: IMAGING-325. Thanks to Jin Wang. | |
o Read TIFFs with 32-bit samples. Issue: IMAGING-320. Thanks to Gary Lucas. | |
o The Imaging ImageParser's used HashMap's before, but on this issue we replaced the maps by proper | |
ImagingParameter classes, that encapsulate the parameters for each image format. | |
The Imaging class also had the HashMap methods removed, but we also removed the public methods that | |
supported parameters. This was due to the complexity to handle cases where users could provide a byte | |
array, or file, and parameters. In Java, with or without generics, it was rather difficult to handle | |
the cases where users could provide a PNG image stream with TIFF parameters. | |
To prevent issues like this, we will improve the ImageParser's API's, and work on either providing | |
other ways to customize and create parsers (factories, builders, etc.) or similar ways to use | |
the Imaging entry class (like merging parameters or using parameter builders.) | |
This was the last blocker issue of the 1.0 release vote, rolled a few years ago. Issue: IMAGING-159. Thanks to Bruno P. Kinoshita, Gary Lucas, Matt Juntunen. | |
o Encoding Support for IPTC metadata. Issue: IMAGING-168. Thanks to Yavuz Kavus. | |
o Array sizes not checked for overflow in BmpImageParser. Issue: IMAGING-279. | |
o ArrayIndexOutOfBoundsException on reading simple GeoTIFF. Issue: IMAGING-265. Thanks to Gary Lucas. | |
o BMP Parser physicalWidthDpi and physicalHeightDpi truncated before rounding off. Issue: IMAGING-264. | |
o Failure when reading a partial raster from a floating-point TIFF Issue: IMAGING-263. Thanks to Gary Lucas. | |
o Fix typos Issue: IMAGING-291. Thanks to Arturo Bernal. | |
o Fix javadoc Issue: IMAGING-289. Thanks to Arturo Bernal. | |
o Fix IptcParserTest on Windows Issue: IMAGING-308. Thanks to Gary Lucas. | |
o Read integer data from GeoTIFFS Issue: IMAGING-266. Thanks to Gary Lucas. | |
o Corrected handling of ExtraSamples tag Issue: IMAGING-312. Thanks to Gary Lucas. | |
o Decoding of Rational Numbers broken when large values present Issue: IMAGING-285. Thanks to Gary Lucas. | |
o Update examples, add GeoTIFF metadata to output Issue: IMAGING-314. Thanks to Gary Lucas. | |
o Read TIFFs with multiple floating-point sampless Issue: IMAGING-311. Thanks to Gary Lucas. | |
o A PNG image using indexed color type but no PLTE chunks throws NPE. Issue: IMAGING-317. Thanks to OSS-Fuzz. | |
o Validate when accessing GIF color table array. Issue: IMAGING-318. Thanks to OSS-Fuzz. | |
Changes: | |
o Bump animal-sniffer-maven-plugin from 1.19 to 1.21 #120, #199. Thanks to Dependabot. | |
o Bump maven-checkstyle-plugin from 3.1.1 to 3.1.2 #117. Thanks to Dependabot. | |
o Bump spotbugs from 4.0.6 to 4.7.0 #111 #118 #123 #128 #156 #160 #167 #174 #185 #188 #191 #208 #218. Thanks to Dependabot. | |
o Bump spotbugs-maven-plugin from 4.0.4 to 4.6.0.0 #111 #115 #125 #129 #157 #171 #176 #180 #186 #192 #211. Thanks to Dependabot. | |
o Bump maven-pmd-plugin from 3.13.0 to 3.15.0 #109 #166. Thanks to Dependabot. | |
o Bump actions/setup-java from v1.4.0 to v3 #92 #95 #101 #127 #213. Thanks to Dependabot. | |
o Bump commons-io from 2.7 to 2.11.0 #96 #152 #153, #158. Thanks to Dependabot. | |
o Bump junit-jupiter from 5.6.2 to 5.8.2 #97 #119 #151 #170 #172 #187. Thanks to Dependabot. | |
o Bump actions/checkout from v2.3.2 to v3 #99 #107 #175 #181 #205. Thanks to Dependabot. | |
o Remove redundant local variable Issue: IMAGING-290. Thanks to Arturo Bernal. | |
o Java 8 improvements Issue: IMAGING-288. Thanks to Arturo Bernal. | |
o Simplify assertions in tests Issue: IMAGING-287. Thanks to Arturo Bernal. | |
o Use 'compare()' method to compare numbers Issue: IMAGING-295. Thanks to Arturo Bernal. | |
o Use java style array declaration Issue: IMAGING-294. Thanks to Arturo Bernal. | |
o Throw ImageReadException if the PNG parser is given an image with invalid ICC Profile. Issue: IMAGING-298. Thanks to OSS-Fuzz. | |
o Throw ImageReadException if the GIF parser is given an image with invalid image data instead of throwing IndexOutOfBoundsException. Issue: IMAGING-300. Thanks to OSS-Fuzz. | |
o Throw ImageReadException if the GIF parser is given an image with invalid Lzw table instead of throwing IndexOutOfBoundsException. Issue: IMAGING-301. Thanks to OSS-Fuzz. | |
o Throw ImageReadException if the JPEG parser is given an image with a negative number of segments in SOF0Segment. Issue: IMAGING-302. Thanks to OSS-Fuzz. | |
o Use Comparator combinator Issue: IMAGING-304. Thanks to Arturo Bernal. | |
o Simplify If-else conditions Issue: IMAGING-303. Thanks to Arturo Bernal. | |
o Replace Collections.sort with list.sort Issue: IMAGING-305. Thanks to Arturo Bernal. | |
o Remove redundant variables Issue: IMAGING-315. Thanks to Arturo Bernal. | |
o Bump github/codeql-action from 1 to 2 #216 Thanks to Dependabot. | |
Have fun! | |
-Apache Commons Imaging team | |