Special Issues:
Due to my Internet provider (which I have used since 2001) failing to support the antiquated technology which hosts GraphicsMagickorg, and the simpledallastxus domain I have used since 1994, these services are now failing To make matters worse, due to dramatic changes in US domain registration in recent years, I do not know how to update the DNS registrations for simpledallastxus and my historical email address may be lost As time permits, GraphicsMagickorg will be re-hosted in the cloud at Linode
GraphicsMagick really does need some additional productive volunteers For several years now, the burden has entirely been on me (Bob Friesenhahn) I have been sheparding the project for 22 years already (and contributed to ImageMagick and GraphicsMagick combined for 28 years already) It is not reasonable to expect someone with a full time job (and expecting to retire in a few years) to do all of the work
Security Fixes:
GraphicsMagick is participating in Google's oss-fuzz project since February 4 2018 due to the contributions and assistance of Alex Gaynor and Paul Kehrer The issues list is available at
https://bugschromiumorg/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
GraphicsMagick has been participating in Synopsys's Coverity program for free software projects since 2015 There has been a continuing objective to keep outstanding defects at 0, or very close to 0 Information about the Coverity status may be found at
https://scancoveritycom/projects/graphicsmagick Bug fixes:
JBIG: Add support for 'width', 'height', and 'pixels', resource limits Your mileage may vary
WPG: Many fixes based on oss-fuzz testing
Ghostscript: When invoking Ghostscript, re-direct Ghostscript stdout to stderr to avoid output corruption when GM stdout is redirected to a file
New Features:
File write limit: Add support for a per-file write limit (-limit write or MAGICK_LIMIT_WRITE) This imposes a limit on the number of uncompressed bytes written The behavior when the limit is hit is similar to an unexpected write error, as if the disk is full
Resource limit highwater: Resource highwater values are maintained for successful resource requests and final values are traced via -debug resource' at the end of program execution These values may be used to understand the most restrictive resource limits which may be applied while still achieving successful operation
BMP: Support BI_PNG compression (PNG inside BMP)
BMP: Support reading 64 bits-per-pixel
BMP: Support reading 48 bits-per-pixel
HEIF: Call heif_init() and heif_deinit() if they are available Support setting image width limit
HRZ: Added support for Slow scan TV format
JPEG: Added support for reading and writing lossy or lossless 12 bits, and lossless 16-bits using libjpeg-turbo-30
JXL: Improve JXL reader/writer exception information
TIFF: Remove miniswhite/minisblack prohibitions when using Group3 and Group4 compression in order to allow using inverted photometric from the standard
TIFF: Store EXIF IFD and GPS IFD tag information natively in TIFF sub-IFDs, the same as it would be produced in a camera supporting TIFF This allows an EXIF profile from HEIF, JPEG, JXL, PNG, WebP, or from the META coder to be preserved in TIFF
API Updates:
ExpandFilenames(): Fix memory leak of existing allocations if realloc() fails
Windows Delegate Updates/Additions:
libjpeg: Update bundled IJG JPEG sources to version 9f
libtiff: Update bundled libtiff sources to version 451
Build Changes:
Since it seems that OSDN has died, Hepapod is now used to provide a redundant https-capable Hg service and may provide services that SourceForge does not offer Hg checkouts may now be made from "
https://fossheptapodnet/graphicsmagick/graphicsmagick"
Autotools-based build: pkg-config provided data is now used to the maximal extent possible However, if pkg-config fails to provide useful data, then the previously existing tests will still prevail Document that
PKG_CONFIG='pkg-config --static' /configure
should reveal the private library dependencies needed for a fully-static build to succeed
Autotools-based build: Base decision on if OpenMP is supported on the '_OPENMP' pre-processor define
Autotools-based build: No longer search for (and use) libtrio by default The user now needs to request using it
Autotools-based build: Fixes for autoconf-272 Bootstrapped using Autoconf 269, Automake 1165, and Libtool 247
oss-fuzz build: The fuzzing/oss-fuzz-buildsh is re-written in order to support almost all possible dependency libraries For example, JXL and HEIF (with HEIC and AVIF reader support) are now included in oss-fuzz testing