pkgsrc/graphics/GraphicsMagick/distinfo

9 lines
583 B
Text
Raw Normal View History

graphicsmagick: Update to 1.3.36 1.3.36 (December 26, 2020) ========================== Special Issues: * None Security Fixes: * GraphicsMagick is participating in Google's oss-fuzz project due to the contributions and assistance of Alex Gaynor. Since February 4 2018, 454 issues have been opened by oss-fuzz (some of which were benign build issues such as SourceForge Mercurial not working correctly) and 7 issues remain open (all of which are marked in an "unreproducible" state). 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. Please consult the GraphicsMagick ChangeLog file, Mercurial repository commit log, and the oss-fuzz issues list for details. * WPG: Fixes for heap buffer overflow. Bug fixes: * ConstituteImage(): Set image depth appropriately based on the storage size specified by StorageType and QuantumDepth. * GetImageBoundingBox(): Fix problem that MagickTrimImage with extreme fuzz values could produce an image with negative width. * ImageToFile(): Improve error handling to avoid possible deferred deletion of temporary files, causing unexpected excessive use of temporary file space. * JNG: Add validations for alpha compression method values and use this information to enforce decoding using the appropriate sub-format (rather than auto-detecting the format). Also, address memory leaks which may occur if the sub-decoder does something other than was expected. * MagickCondSignal(): Improvements to conditional signal handler registration (which avoids over-riding signal handlers previously registered by an API user). * ModifyCache(): Fix memory leak. * ReadCacheIndexes(): Don't blunder into accessing a null pointer if the using code has ignored a previous error report bubled-up from SetNexus(). * MNG: When doing image scaling and the image width or height is 1 then always use simple pixel replication as per the MNG specification. * MVG: Fixes to 'push clip-path foo' and 'pop clip-path foo' parsing to eliminate a class of malign behavior. * MVG: Place an aribrary limit on stroke dash polygon unit maximum length in order to avoid possibly rendering "forever". * PCL: No longer attempt to handle reading HP PCL format via the external 'hp2xx' program since it seems worthless for that task. * PS: Fix corrupt image when writing PseudoClass image with a colormap larger than two entries as bilevel. * SVG: Memory leak fixes. * SVG reader: Now support 'ping' support so the identify command works as expected. * TIFF: WEBP compression only supports a depth of 8 so force that value. * Wand MagickSetSamplingFactors(): Correct formatting of sampling factors string. New Features: * Logging is now fully programmable. * DPX format: Support dpx:swap-samples-read define which behaves similar to dpx:swap-samples, but is only applied when reading, as well as dpx:swap-samples-write, which is only applied when writing. This provides for use when there is both reading and writing in the same operation (otherwise the final result was no effect!). API Updates: * magick/api.h: Add "magick/enum_strings.h" to API headers. * New log settings accessor C functions: SetLogDefaultFileName(), SetLogDefaultFormat(), SetLogDefaultOutputType(), SetLogDefaultLogMethod(), SetLogDefaultLimit(), SetLogDefaultGenerations(), SetLogDefaultEventType(). These functions allow a program to set the same parameters which may be set by loading a "log.mgk" function. If a default logging callback was provided via SetLogDefaultLogMethod() such that MethodOutput is used, then the search for a "log.mgk" is avoided entirely. * New log settings accessor C++ functions: SetLogDefaultFileName(), SetLogDefaultFormat(), SetLogDefaultOutputType(), SetLogDefaultLogMethod(), SetLogDefaultLimit(), SetLogDefaultGenerations(), SetLogDefaultEventType(). These C++ functions just pass through to the equivalent C functions and provide the same benefits. Feature improvements: * A simple resource-limit respecting memory allocator has been developed for internal use wherever arbitrarily-large amounts of memory might be requested. This will gradually be added wherever it appears to be needed. The memory resource limits are at the overall process level. The MVG/SVG rendering code is updated to use this new allocator. Almost all of the coders (image format readers/writers) have now been updated to use this new allocator. This means that '-limit memory 300MB' would be more complete and meaningful now. Temporary allocations by the image processing algorithms (other than for the images themselves) are still not accounted for in the resource limiting. * MVG Renderer / DrawImage(): Use resource-limit respecting memory allocators for remaining large memory allocations. * PNG writer: Don't skip optional Exif identifier code if it isn't present. * DPX reader/writer: decode/encode of 10-bit packed DPX is now twice as fast due to code simplification. * TIFF reader: Apply the same resource limits to TIFF tile sizes as apply to the image itself. Windows Delegate Updates/Additions: * None Build Changes: * configure.ac: Update syntax to avoid using deprecated syntax according to Autoconf 2.69. Also added copious m4 quoting. * Magick++ Drawable base class no longer uses std::unary_function when compiled using C++'17 or later, since this feature has been removed from the language. * Support the configure option --disable-compressed-files to disable automatic decompress of gzip and bzip2 compressed files (e.g. files with extension 'gz' or 'bz2', and sometimes 'svgz', but sometimes posing as some other format). It turns out that there are some extremely compressed files (e.g. over 1000x compression ratio) which can take a long time to decompress and produce large temporary files. We currently normally wait for the whole file to be decompressed before decoding it. The only exception is for coders with native 'blob' support and which do not require seeking, and that the user forced forced the format by adding a magick prefix like "DPX:file.dpx" to avoid the automatic file format detection. * Support the configure option --without-gs to disable reading PS, EPS, and PDF formats via an external Ghostscript delegate program. This corresponds to the HasGS definition in the source code. * Support the configure option --without-gdi32 to support disabling use of the Microsoft Windows gdi32 library if it is not wanted. * The Automake-based test suite now applies a memory limit of 128MB for the Q8, or 256MB for the Q16, or 512MB for the Q32 build, as well as setting a disk space limit of 0. The limits place an upper bound on the resources required, while assuring that tests do pass with resource limits applied, while also assuring that disk-based pixel-cache files are not used. Behavior Changes: * Previously the formatting settings from "log.mgk" were only used when writing to a file, or to the console, via a file handle. Now the log formatting has been normalized so that the settings provided by "log.mgk" (or SetLogDefaultFormat()) will always be used. It is possible this may result in some formatting changes. * In the Windows Visual Studio build, the ProvideDllMain option is now disabled by default (can still be enabled) since it causes InitializeMagick() to be invoked prior to when the program's main() routine is called, thereby blocking configuration activities or use of InitializeMagickEx(). With this change it is even more imperative that InitializeMagick() be explicitly invoked by all programs using GraphicsMagick.
2021-01-24 16:29:26 +01:00
$NetBSD: distinfo,v 1.53 2021/01/24 15:29:26 nia Exp $
graphicsmagick: Update to 1.3.36 1.3.36 (December 26, 2020) ========================== Special Issues: * None Security Fixes: * GraphicsMagick is participating in Google's oss-fuzz project due to the contributions and assistance of Alex Gaynor. Since February 4 2018, 454 issues have been opened by oss-fuzz (some of which were benign build issues such as SourceForge Mercurial not working correctly) and 7 issues remain open (all of which are marked in an "unreproducible" state). 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. Please consult the GraphicsMagick ChangeLog file, Mercurial repository commit log, and the oss-fuzz issues list for details. * WPG: Fixes for heap buffer overflow. Bug fixes: * ConstituteImage(): Set image depth appropriately based on the storage size specified by StorageType and QuantumDepth. * GetImageBoundingBox(): Fix problem that MagickTrimImage with extreme fuzz values could produce an image with negative width. * ImageToFile(): Improve error handling to avoid possible deferred deletion of temporary files, causing unexpected excessive use of temporary file space. * JNG: Add validations for alpha compression method values and use this information to enforce decoding using the appropriate sub-format (rather than auto-detecting the format). Also, address memory leaks which may occur if the sub-decoder does something other than was expected. * MagickCondSignal(): Improvements to conditional signal handler registration (which avoids over-riding signal handlers previously registered by an API user). * ModifyCache(): Fix memory leak. * ReadCacheIndexes(): Don't blunder into accessing a null pointer if the using code has ignored a previous error report bubled-up from SetNexus(). * MNG: When doing image scaling and the image width or height is 1 then always use simple pixel replication as per the MNG specification. * MVG: Fixes to 'push clip-path foo' and 'pop clip-path foo' parsing to eliminate a class of malign behavior. * MVG: Place an aribrary limit on stroke dash polygon unit maximum length in order to avoid possibly rendering "forever". * PCL: No longer attempt to handle reading HP PCL format via the external 'hp2xx' program since it seems worthless for that task. * PS: Fix corrupt image when writing PseudoClass image with a colormap larger than two entries as bilevel. * SVG: Memory leak fixes. * SVG reader: Now support 'ping' support so the identify command works as expected. * TIFF: WEBP compression only supports a depth of 8 so force that value. * Wand MagickSetSamplingFactors(): Correct formatting of sampling factors string. New Features: * Logging is now fully programmable. * DPX format: Support dpx:swap-samples-read define which behaves similar to dpx:swap-samples, but is only applied when reading, as well as dpx:swap-samples-write, which is only applied when writing. This provides for use when there is both reading and writing in the same operation (otherwise the final result was no effect!). API Updates: * magick/api.h: Add "magick/enum_strings.h" to API headers. * New log settings accessor C functions: SetLogDefaultFileName(), SetLogDefaultFormat(), SetLogDefaultOutputType(), SetLogDefaultLogMethod(), SetLogDefaultLimit(), SetLogDefaultGenerations(), SetLogDefaultEventType(). These functions allow a program to set the same parameters which may be set by loading a "log.mgk" function. If a default logging callback was provided via SetLogDefaultLogMethod() such that MethodOutput is used, then the search for a "log.mgk" is avoided entirely. * New log settings accessor C++ functions: SetLogDefaultFileName(), SetLogDefaultFormat(), SetLogDefaultOutputType(), SetLogDefaultLogMethod(), SetLogDefaultLimit(), SetLogDefaultGenerations(), SetLogDefaultEventType(). These C++ functions just pass through to the equivalent C functions and provide the same benefits. Feature improvements: * A simple resource-limit respecting memory allocator has been developed for internal use wherever arbitrarily-large amounts of memory might be requested. This will gradually be added wherever it appears to be needed. The memory resource limits are at the overall process level. The MVG/SVG rendering code is updated to use this new allocator. Almost all of the coders (image format readers/writers) have now been updated to use this new allocator. This means that '-limit memory 300MB' would be more complete and meaningful now. Temporary allocations by the image processing algorithms (other than for the images themselves) are still not accounted for in the resource limiting. * MVG Renderer / DrawImage(): Use resource-limit respecting memory allocators for remaining large memory allocations. * PNG writer: Don't skip optional Exif identifier code if it isn't present. * DPX reader/writer: decode/encode of 10-bit packed DPX is now twice as fast due to code simplification. * TIFF reader: Apply the same resource limits to TIFF tile sizes as apply to the image itself. Windows Delegate Updates/Additions: * None Build Changes: * configure.ac: Update syntax to avoid using deprecated syntax according to Autoconf 2.69. Also added copious m4 quoting. * Magick++ Drawable base class no longer uses std::unary_function when compiled using C++'17 or later, since this feature has been removed from the language. * Support the configure option --disable-compressed-files to disable automatic decompress of gzip and bzip2 compressed files (e.g. files with extension 'gz' or 'bz2', and sometimes 'svgz', but sometimes posing as some other format). It turns out that there are some extremely compressed files (e.g. over 1000x compression ratio) which can take a long time to decompress and produce large temporary files. We currently normally wait for the whole file to be decompressed before decoding it. The only exception is for coders with native 'blob' support and which do not require seeking, and that the user forced forced the format by adding a magick prefix like "DPX:file.dpx" to avoid the automatic file format detection. * Support the configure option --without-gs to disable reading PS, EPS, and PDF formats via an external Ghostscript delegate program. This corresponds to the HasGS definition in the source code. * Support the configure option --without-gdi32 to support disabling use of the Microsoft Windows gdi32 library if it is not wanted. * The Automake-based test suite now applies a memory limit of 128MB for the Q8, or 256MB for the Q16, or 512MB for the Q32 build, as well as setting a disk space limit of 0. The limits place an upper bound on the resources required, while assuring that tests do pass with resource limits applied, while also assuring that disk-based pixel-cache files are not used. Behavior Changes: * Previously the formatting settings from "log.mgk" were only used when writing to a file, or to the console, via a file handle. Now the log formatting has been normalized so that the settings provided by "log.mgk" (or SetLogDefaultFormat()) will always be used. It is possible this may result in some formatting changes. * In the Windows Visual Studio build, the ProvideDllMain option is now disabled by default (can still be enabled) since it causes InitializeMagick() to be invoked prior to when the program's main() routine is called, thereby blocking configuration activities or use of InitializeMagickEx(). With this change it is even more imperative that InitializeMagick() be explicitly invoked by all programs using GraphicsMagick.
2021-01-24 16:29:26 +01:00
SHA1 (GraphicsMagick-1.3.36.tar.xz) = df45052bf485407ad4fb7d3b9b305d3e5ebb14e5
RMD160 (GraphicsMagick-1.3.36.tar.xz) = 379eb922f8b66dd2de05641eb24cd55f44503ef7
SHA512 (GraphicsMagick-1.3.36.tar.xz) = 27ed5fcbfb0303436bdcb0f11d18257a967d471251b51e633e2c655b0a7e5ed01f61a61f9702cc7d4c02714e005ac18ca9ba0f690c0580e41d07947a03c5cbb4
Size (GraphicsMagick-1.3.36.tar.xz) = 5600712 bytes
GraphicsMagick: updated to 1.3.31 1.3.31: 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. 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.
2018-11-20 11:19:29 +01:00
SHA1 (patch-config_delegates.mgk.in) = c52192a35bede530d310688a576ef2181a9f073c
SHA1 (patch-configure) = bdb76557cd8a5c116b6c84dc63f4e35ddde39c87