GraphicsMagick 1.3.31 is available
Bob Friesenhahn <[email protected]> Sat, 17 Nov 2018 17:57:12 -0600 (CST)
| Newsgroups | gmane.comp.video.graphicsmagick.announce |
|---|---|
| Message-ID | <[email protected]> |
GraphicsMagick 1.3.31 (a general-purpose image processing package, see http://www.graphicsmagick.org/) is now available. This release is the product of significant bug and security fixes due to GraphicsMagick now participating in Google's oss-fuzz project. This release fixes 49 additional issues detected by oss-fuzz. While it is possible that there are some regressions due to the bug fixes (please report any discovered), all users with exposure to untrusted inputs are recommended to upgrade to this release as soon as possible. I am sad to report the passing of Glenn Randers-Pehrson, a GraphicsMagick founding member and the creator of the 'gm' program. Glenn was both a close friend and mentor to me. Besides creating the 'gm' program, Glenn authored support for the JNG, MNG, and PNG formats and significantly improved the BMP format. Glenn was instrumental at developing the GraphicsMagick documentation based on the self-invented <imdoc> format. Glenn set up and moderated the SourceForge mailing mailing lists. GraphicsMagick would not be what it is today without Glenn and he will always be remembered. SHA1 checksums for release files -------------------------------- be91ea018a1313b3e52088e1e36b83df6b6f2988 GraphicsMagick-1.3.31-Q16-win32-dll.exe 8b80ca47ec44d69da03a27c25a405213b962ef75 GraphicsMagick-1.3.31-Q16-win64-dll.exe 59ff46296da8bcb5b8dbc9e6e303408fb6a8d007 GraphicsMagick-1.3.31-Q8-win32-dll.exe ed8c8d15018425d445a543f7184446676dee11f5 GraphicsMagick-1.3.31-Q8-win64-dll.exe 41f0a65819021706339c645ae345389d29c7e1b2 GraphicsMagick-1.3.31-windows-source.7z f3d75d226a1614988900848f4b02a147bfd4bfe5 GraphicsMagick-1.3.31.tar.bz2 608af5f8a3b0d07b6750e478bce547798edd4741 GraphicsMagick-1.3.31.tar.gz 895de825dfabdedfe25736eb80edcc2bcf71290a GraphicsMagick-1.3.31.tar.lz 06229cbb16cc9a3eff9b1bd0426a88fb6b806bd9 GraphicsMagick-1.3.31.tar.xz High-level summary of changes ----------------------------- Special Issues: * Firmware and operating system updates to address the Spectre vulnerability (and possibly to some extent the Meltdown vulnerability) have substantially penalized GraphicsMagick's OpenMP performance. Performance is reduced even with GCC 7 and 8's improved optimizers. There does not appear to be anything we can do about this. Security Fixes: * GraphicsMagick is now participating in Google's oss-fuzz project due to the contributions and assistance of Alex Gaynor. Since February 4 2018, 292 issues have been opened by oss-fuzz and 279 of those issues have been resolved. The issues list is available at https://bugs.chromium.org/p/oss-fuzz/issues/list under search term "graphicsmagick". Issues are available for anyone to view and duplicate if they have been in "Verified" status for 30 days, or if they have been in "New" status for 90 days. There are too many fixes to list here. Please consult the GraphicsMagick ChangeLog file, Mercurial repository commit log, and the oss-fuzz issues list for details. Bug fixes: * See above note about oss-fuzz fixes. * CINEON: Fix unexpected hang on a crafted Cineon image. SourceForge issue 571. * Drawing recursion is limited to 100 and may be tuned via the MAX_DRAWIMAGE_RECURSION pre-processor definition. * Fix reading MIFF files using legacy keyword 'color-profile' for ICC color profile as was used by ImageMagick 4.2.9. * Fix reading/writing files when 'magick' is specified in lower case. This bug was a regression in 1.3.30. New Features: * TIFF: Support Zstd compression in TIFF. This requires libtiff 4.0.10 or later. * TIFF: Support WebP compression in TIFF. This requires libtiff 4.0.10 or later. API Updates: * MagickMonitor() is marked as deprecated. Code should not be using this function any more. Feature improvements: * The progress monitor callbacks (registered using MagickMonitor() or MagickMonitorFormatted()) are serialized via a common semaphore rather than via critical sections in OpenMP loops. OpenMP loops are updated to use OpenMP 'atomic' and 'flush' to update shared loop variables rather than using a OpenMP 'critical' construct, reducing contention. Performance on some targets is observed to have been improved by this change. Windows Delegate Updates/Additions: * None Build Changes: * There was already a 'compare' command installed with the '--enable-magick-compat' configure option was used but it did not function. Now it functions. There was no `compare` command in ImageMagick 5.5.2 and this compare command is only roughly similar to a `compare` command in some subsequent ImageMagick release. * Removed Remove Ghostscript library support (--with-gslib) from configure script. The 'HasGS' pre-processor defines which were enabled by this remain in the source code so it is still possible to use this library if absolutely necessary (e.g. CPPFLAGS=-DHasGS LIBS=-lgs). * No longer explicitly link with the OpenMP library when it will be supplied already due to CFLAGS. Behavior Changes: * JPEG: Libjpeg-turbo is allowed 1/5th the memory resource limit provided for Graphicsmagick via the cinfo->mem->max_memory_to_use option, which is part of the IJG JPEG API/ABI, but usually not supported there. This feature works for libjpeg-turbo 1.5.2 and later. Limiting the memory usage is useful since libjpeg-turbo may otherwise consume arbitrary amounts of memory even before Graphicsmagick is informed of the image dimensions. * JPEG: The maximum number of JPEG progressive scans is limited to 50. Otherwise some technically valid files could be read for almost forever. -- Bob Friesenhahn [email protected], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer, http://www.GraphicsMagick.org/ Public Key, http://www.simplesystems.org/users/bfriesen/public-key.txt