diff options
Diffstat (limited to 'ChangeLog.2022')
-rw-r--r-- | ChangeLog.2022 | 1159 |
1 files changed, 1159 insertions, 0 deletions
diff --git a/ChangeLog.2022 b/ChangeLog.2022 new file mode 100644 index 0000000..3724d74 --- /dev/null +++ b/ChangeLog.2022 @@ -0,0 +1,1159 @@ +2022-12-30 Fojtik Jaroslav <JaFojtik@yandex.com> + + * coders/pcx.c (WritePCXImage): Make default RLE compression. + Uncompressed PCX is more rare. + +2022-12-30 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * NEWS.txt: Updated the news. + + * coders/pcx.c (WritePCXImage): Support writing uncompressed PCX + by default. Use -compress RLE to enable RLE compression. + + * coders/sun.c (ReadSUNImage): Sense of monochrome images was + inverted. Fix scanline size calculation. + (WriteSUNImage): Sense of monochrome images was inverted. + +2022-12-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * coders/pcx.c (WritePCXImage): Fix heap overflow when writing + more than 1023 scenes, and also eliminate use of uninitialized + memory. + + * coders/pnm.c (ReadPNMImage): Compute the number of threads to + use. + + * NEWS.txt: Update the news. + + * magick/command.c: Add use of GetFirstImageInList() where needed + to assure that the list pointer is to the first image. + + * magick/constitute.c (ReadImage): Only perform subimage + processing when required. + + * magick/command.c (MogrifyImages): Restore mogrify_images as + first image in list since the rest of the code expects that. + +2022-12-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * coders/mat.c (ReadMATImageV4): Use ReplaceImageInList(). + (ReadMATImage): Use ReplaceImageInList(). + + * magick/command.c (MogrifyImages): Remove band-aid. + + * magick/list.c (AppendImageToList): Image list is updated to be + new image. + + * magick/image.c (AllocateImage): Initialize colors directly. + (GetImageInfo): Initialize colors directly. + + * utilities/tests/convert-cmds.txt: Add more convert command + permutations. + +2022-12-26 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * version.sh: Update shared library versioning in preparation for + 1.3.39 release. + + * NEWS.txt: Updated the news. + +2022-12-26 Fojtik Jaroslav <JaFojtik@yandex.com> + + * jp2/src/appl/jasper.c: Link problem with jasper utility fixed. + +2022-12-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * magick/gem.c (Contrast): Visual Studio 17.4.3 does not like + initializing a static constant with "0.5+MagickEpsilon" in + /precise mode. + + * magick/enhance.c (ContrastImagePixels): Visual Studio 17.4.3 + does not like initializing a static constant with + "0.5+MagickEpsilon" in /precise mode. + +2022-12-25 Fojtik Jaroslav <JaFojtik@yandex.com> + + * webp/src/webp/types.h Need to include inttypes.h + * jp2/src/libjasper/include/jasper/jas_types.h + Fix missing _PFX_PTR in newer MSVC. + +2022-12-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * magick/symbols.h: Update symbol remappings which are enabled by + PREFIX_MAGICK_SYMBOLS. The only new symbol since the last release + is IsEventLogged(). + + * NEWS.txt: Updated the news. + +2022-12-25 Fojtik Jaroslav <JaFojtik@yandex.com> + + * jp2/* Update lib jasper to 1.900.16. + +2022-12-24 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * NEWS.txt: Updated the news. + + * coders/jxl.c (ReadJXLImage): Request that libjxl take care of + any pre-multiplied alpha for us so we don't need to do it + +2022-12-24 Fojtik Jaroslav <JaFojtik@yandex.com> + + * jp2/* Update lib jasper to 1.900.5. + +2022-12-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * coders/jxl.c: Support reading and writing ICC, EXIF, and XMP + profiles. Lots of code cleanup. + * PerlMagick/t/jxl: Created some JXL sanity-test files. + +2022-12-22 Fojtik Jaroslav <JaFojtik@yandex.com> + * VisualMagick/tests/runtest.bat Make binary directory configurable + on one place. Report error when rwblob.exe does not exist. + +2022-12-22 Fojtik Jaroslav <JaFojtik@yandex.com> + + * jp2/* Update lib jasper from 1.900.1 to 1.900.2. + +2022-12-21 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * coders/jxl.c (ReadJXLImage): Now based on + ImportImagePixelArea(). + (WriteJXLImage): Now based on ExportImagePixelArea(); + +2022-12-20 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * coders/msl.c (MSLEntityDeclaration): Report an error if + xmlAddDocEntity() or xmlAddDtdEntity() fails. + + * coders/svg.c (SVGEntityDeclaration): Report an error if + xmlAddDocEntity() or xmlAddDtdEntity() fails. + +2022-12-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * NEWS.txt: Updated the news. + + * magick/image.c (SetImageDepth): Restore is_monochrome and + is_grayscale image flags. Changing depth should not change the + nature of 'gray'. + + * coders/jxl.c: Support reading and writing 32-bit 'float' + images. Need a Q32 build in order to write 32-bit 'float' images. + + * fuzzing/oss-fuzz-build.sh: Remove xz --with-pic=yes option which + now seems to annoy oss-fuzz build. + +2022-12-17 Fojtik Jaroslav <JaFojtik@yandex.com> + * VisualMagick/magick/magick_types.h.in + Reverting from 16859. The change in 16860 completelly breaks + compillation. + +2022-12-17 Fojtik Jaroslav <JaFojtik@yandex.com> + + * tiff/port/libport_config.h Added missing file + Documentation of libtiff upgraded. + Upgraded libtiff to 4.5.0. + +2022-12-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * tests/rwfile_deep.tap: Add JXL tests for deep images. + + * coders/jxl.c: Fix grayscale writer error. Eliminate use of + deprecated functions. Support 16-bits/sample. + +2022-12-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * coders/pnm.c (ReadPNMImage): Do not promote gray images to + PseudoClass unless the image dimensions make it worthwhile. + + * coders/gif.c (ReadGIFImage): Allocate cleared memory. Remove + two redundant memsets. + +2022-12-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * magick/command.c (MogrifyImages): Fix performance anomaly + noticed with large image list. + + * coders/tiff.c (ReadTIFFImage): Move monitor for list to a better + spot so that rows and columns are valid. + +2022-12-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * coders/png.c (png_error): Use a macro to report exceptions + (rather than calling libpng's png_error()) for exceptions thrown + from this module. This provides useful file/line information as + well as allowing code analyzers to have a more accurate idea of + what is going on. + + * magick/widget.c (MagickXFileBrowserWidget): Fix Coverity 382252 + "Wrong sizeof argument (SIZEOF_MISMATCH)". + + * coders/meta.c (parse8BIM): Fix Coverity 382245 "Incorrect + expression (SIZEOF_MISMATCH)". + (parse8BIMW): Fix Coverity 382250 "Incorrect expression + (SIZEOF_MISMATCH)". + + * magick/widget.c (MagickXNoticeWidget): Fix Coverity 382254 + "Incorrect expression (SIZEOF_MISMATCH)." + (MagickXFontBrowserWidget): Fix Coverity 382253 "Incorrect + expression (SIZEOF_MISMATCH)". + (MagickXFileBrowserWidget): Fix Coverity 382252 "Incorrect + expression (SIZEOF_MISMATCH)". + (MagickXPreferencesWidget): Fix Coverity 382251 "Incorrect + expression (SIZEOF_MISMATCH)". + (MagickXConfirmWidget): Fix Coverity 382249 "Incorrect expression + (SIZEOF_MISMATCH)". + (MagickXListBrowserWidget): Fix Coverity 382248 "Incorrect + expression (SIZEOF_MISMATCH)". + (MagickXDialogWidget): Fix Coverity 382247 "Incorrect expression + (SIZEOF_MISMATCH)". + (MagickXColorBrowserWidget): Fix Coverity 382246 + "(SIZEOF_MISMATCH)". + + * coders/jpeg.c (WriteICCProfile): Fix Coverity 382255 "Incorrect + expression (SIZEOF_MISMATCH)". + + * Makefile.am (clean-local): Added a clean-local target to remove + Coverity subdirectory ('cov-int'). Building with 'coverity' + target leaves Coverity subdirectory in place for inspection. + + * NEWS.txt: Updated the news. + +2022-12-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * utilities/tests/convert.tap: Produce more interesting 'info' + output to 'convert.log'. + +2022-12-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * configure.ac (top_srcdir_native): Produce a substituted value + representing the top source directory expressed suitable for the + native operating system. This is to support MinGW. + + * utilities/tests/convert.tap: Use ';' rather than '/' as sed + delimiter character since '/' is a directory separator.. + + * winpath.sh: Use printf rather than echo. If an escape level is + not provided, then output an unescaped Windows path using + forward-slashes. + + * Magick++/lib/Color.cpp: Add Quantum casts to Color() arguments + to solve error with unidentified compiler. SourceForge issue #160 + "Add Quantum casts for 16-bit to Image.cpp and Color.cpp". + + * Magick++/lib/Image.cpp: Add Quantum casts to Color() arguments + to solve error with unidentified compiler. SourceForge issue #160 + "Add Quantum casts for 16-bit to Image.cpp and Color.cpp". + +2022-12-01 Fojtik Jaroslav <JaFojtik@yandex.com> + + coders/ps2.c + coders/ps3.c + coders/tiff.c + webp/src/webp/types.h + tiff/libtiff/* Upgraded libtiff to libtiff-4.4.0 + But code is still compilable with MSVC2008! + +2022-11-27 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * Magick++/lib/Image.cpp: Don't just blindly return DisposeMethod + as an 'int'. + + * Magick++/tests/attributes.cpp (main): Test with a valid GIF + disposal method. + + * coders/msl.c (MSLStartElement): Eliminate 'undefined behavior' + issues. + + * magick/colorspace.c (XYZTransformPackets): Use 'double' when + performing summation and eliminate 'undefined behavior' issues. + (RGBTransformPackets): Use 'double' when performing summation and + eliminate 'undefined behavior' issues. + + * magick/constitute.c (ConstituteImage): Eliminate 'undefined + behavior' issues. + + * magick/fx.c (SolarizeImage): Eliminate 'undefined behavior' + issues. + + * magick/gem.c (Hull): Eliminate 'undefined behavior' issues. + + * configure.ac, magick/magick_types.h.in: Added some support for + deducing magick_uintptr_t and magick_ptrdiff_t types. + + * utilities/tests/convert-cmds.txt: Added more command + permutations to execute. + +2022-11-26 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * magick/constitute.c (ConstituteImage): Fix undefined behavior: + runtime error: applying non-zero offset 2 to null pointer + + * coders/logo.c (RegisterLOGOImage): Logo image subformats do not + have an image extension. + + * utilities/tests/convert-cmds.txt: Add more convert tests. + + * magick/render.c (DrawPrimitive): Fix for SourceForge issue #679 + "Using "0,0" for image size throws an error in v1.3.38, worked + previously". This bug was added in GraphicsMagick 1.3.36. + +2022-11-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * coders/jpeg.c (ReadJPEGImage): Eliminate Clang Analyzer + diagnostic. Add support for reading deep gray images. + + * magick/xwindow.c (MagickXDitherImage): Update documentation to + add a link to an article about the HP Color Recovery algorithm. + + * coders/topol.c (ReadTOPOLImage): Eliminate Clang Analyzer + diagnostic. + +2022-11-24 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * coders/jpeg.c (WriteJPEGImage): Useful data_precision range is 8 + to 16. + + * magick/profile.c (ProfileImagePixels): Make sure not to use + indexes if it is NULL. + + * magick/xwindow.c (MagickXDitherImage): Eliminate use of + undefined behavior. Make sure to deallocate memory upon error. + + * magick/widget.c (MagickXCommandWidget): Assure that prerequisite + 'number_selections' is satisfied. + + * magick/xwindow.c (MagickXGetWindowImage): Assure that + prereqisite 'colors' table for PseudoClass case is satisifed. + + * coders/png.c (ReadOnePNGImage): Make sure that background index + is initialized. + + * magick/profile.c (ProfileImagePixels): Don't de-reference + indexes if they were not supplied. + + * magick/widget.c (MagickXColorBrowserWidget): If mode_info.text + is NULL, ignore event due to user pushing mode button. + + * coders/heif.c (ReadMetadata): Also guard against profile name + being null. + +2022-11-20 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * coders/wpg.c (ReadWPGImage): Fix wrong use of + LogWPGBitmapType2() macro, and resore previous definitions. + + * VisualMagick/magick/magick_types.h.in: Declare a ssize_t typedef + in VisualStudio's <magick/magick_types.h> due to the unfortunate + accidental use of ssize_t in Wand's MagickExtentImage() + declaration. This should address SourceForge issue #673 "visual + studio include error ssize_t redefinition". + + Replace use of ReallocColormap() with previously existing + ReallocateImageColormap(), which does the same thing. + + * coders/heif.c (ReadColorProfile): Support reading ICC color + profile. + +2022-11-20 Fojtik Jaroslav <JaFojtik@yandex.com> + + * coders/wpg.c Reveal more internal info to optional log. + +2022-11-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * PerlMagick/t/wmf/read.t: Change reference images from MIFF + format to GIF format to reduce wasted space. + + * PerlMagick/t/cgm/read.t: Change from read.miff to read.gif to + reduce wasted space. + + * PerlMagick/t/x/write.t: Change from congrats.miff to + congrats.gif to reduce wasted space. + + * coders/heif.c (ReadMetadata): If + heif_image_handle_get_metadata_size() returns 0, then carrying on + with reading image data. Addresses SourceForge issue 677 "Memory + allocation failed - HEIF" but does not discover/address why + libheif returns a zero metadata size. + + * PerlMagick/t/subroutines.pl (testRead): Support read-options in + order to be more flexible. + + * PerlMagick/t/read.t: Change as many tests to be signature-based + as possible and remove now unneeded reference files. + +2022-11-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * PerlMagick/t/jpeg/read.t: Use JPEG image as reference image + while doing Seattle FilmWorks test. + + * PerlMagick/t/read.t: Reduced distribution size by using + signature test method for some tests. + + * PerlMagick/t/tiff/read.t: Added test for old JPEG. + +2022-11-17 Fojtik Jaroslav <JaFojtik@yandex.com> + + PerlMagick/t/input_JPG_old.tif Added JPG embedded into TIFF using + old Adobe's embedding style. + + 2022-11-17 Fojtik Jaroslav <JaFojtik@yandex.com> + + tiff/libtiff/tif_ojpeg.c Backported from 4.4.0 to 4.1.0 + +2022-11-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * magick/nt_base.h (snprintf): Add missing comma in macro. + +2022-11-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * magick/nt_base.c (NTsnprintf): New function intended to emulate + C'99 snprintf for MSVC older than 2015. + + * magick/nt_base.h (snprintf): For MSVC older than 2015, fall back + to using sprintf for the moment. + + * coders/msl.c (ProcessMSLScript): Handle parser creation failure. + + * coders/meta.c (GetIPTCStream): Assure that offset is initialized. + + * magick/floats.c (_Gm_convert_fp32_to_fp16): Fix Clang Analyzer + complaints. + + * magick/xwindow.c (MagickXGetWindowColor): Assure that crop_info + is initialized. + + * Makefile.am (scan-build): Added a scan-build target to help run + Clang Analyzer. + + * coders/locale.c (WriteLOCALEImage): Fix Clang Analyzer + complaints. + + * ALL: Replace strcpy() with strlcpy(), replace strcat() with + strlcat(), replace sprintf() with snprintf(). Prefer using + bounded string functions. + +2022-11-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * coders/png.c (ReadOnePNGImage): Change ping_file_depth to + unsigned and add verifications for ping_bit_depth. + +2022-11-09 Fojtik Jaroslav <JaFojtik@yandex.com> + + * coders/fits.c Store multiple scenes into one file. + +2022-11-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * coders/png.c (ReadOnePNGImage): More work on Coverity issue 381864. + + * magick/image-private.h (MaxValueGivenBits): Move to private header. + + * coders/xpm.c (ReadXPMImage): More work on Coverity issue 381862 + "(DEADCODE)". + + * magick/operator.c (QuantumLogCB): Fix Coverity issue 381861 + "Control flow issues (DEADCODE)". + + * coders/xpm.c (ReadXPMImage): Fix Coverity issue 381862 + "(DEADCODE)". + + * magick/operator.c (QuantumGammaCB): Fix Coverity issue 381863 + "Control flow issues (DEADCODE)". + + * coders/png.c (ReadOnePNGImage): Fix Coverity issue 381864 + "BAD_SHIFT". + + * magick/operator.c (QuantumDepthCB): Fix Coverity issue 381867 + "Control flow issues (DEADCODE)". + (QuantumPowCB): Fix Coverity issue 381865 "Control flow issues + (DEADCODE)". + + * magick/import.c (ImportViewPixelArea): Fix Coverity issue 381868 + "Control flow issues (DEADCODE)". + + * magick/blob.c (DetachBlob): Do not dereference blob_info->data + if it is null. Addresses Coverity issue 381869 "Null pointer + dereferences (FORWARD_NULL)"and issue 381866 "Null pointer + dereferences (FORWARD_NULL)". + + * coders/jpeg.c (FreeMagickClientData): Fix Coverity issue 381870 + and 381860 "Null pointer dereferences". + + * magick/export.c (ExportViewPixelArea): Fix Coverity issue 381871 + "Control flow issues (DEADCODE)" for the case where QuantumDepth = + 32. + +2022-11-05 Fojtik Jaroslav <JaFojtik@yandex.com> + + * coders/wpg.c Shrink amount of colors when palette is bigger than + raster could store. + +2022-11-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * magick/blob.c (ReadBlobString): Fix oss-fuzz issue 53001 + "graphicsmagick:coder_TXT_fuzzer: Use-of-uninitialized-value in + ReadBlobString", which occurs due a bug remaining in recent + changes. + +2022-11-04 Fojtik Jaroslav <JaFojtik@yandex.com> + + * coders/tga.c Remove junk \n from log after printing footer contents. + +2022-11-03 Fojtik Jaroslav <JaFojtik@yandex.com> + + * PerlMagick/t/input_3chars.xpm New testcase + with 3 bytes encoding per one pixel. + * PerlMagick/t/reference/read/input_3chars_xpm.miff + * PerlMagick/t/read.t: Added input_xpm_pal16.miff to PerlMagick test + suite. + +2022-11-03 Fojtik Jaroslav <JaFojtik@yandex.com> + + * coders/xpm.c Allow to read pallete that contains more colors + than MaxColormapSize. + +2022-11-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * magick/image.c (SetImageInfo): Avoid creating temporary files + when reading files with .bz2, .gz, .svgz, and .Z extensions if the + format is non-ambiguous based on the file extension, and the + reader does not require seeking. + + * magick/magick.c (MagickToMime): Add MIME mappings for apng, + avif, bmp, ico, and webp. + +2022-10-31 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * coders/xpm.c (ReadXPMImage): coders/xpm.c (ReadXPMImage): Use + qsort+bsearch to improve performance of color-lookups. + +2022-11-01 Fojtik Jaroslav <JaFojtik@yandex.com> + + * coders/wpg.c Bilevel image must be allways monochrome. + Discard palette if exists. + * PerlMagick/t/input1_1.wpg + * PerlMagick/t/reference/read/input1_1.wpg.miff New testcase + with bilevel monochrome image. + * PerlMagick/t/read.t: Added input1_1.wpg to PerlMagick test suite. + +2022-10-31 Fojtik Jaroslav <JaFojtik@yandex.com> + + * coders/xpm.c (ReadXPMImage): Output intelligent messag when colormap + exceeds limit. + +2022-10-31 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * magick/blob.c (ReadBlobString): Fix oss-fuzz issue 52917 + "graphicsmagick:coder_TXT_fuzzer: Stack-buffer-overflow in + ReadBlobString", which occurs due to a bug added in yesterday's + ReadBlobString() changes. + +2022-10-30 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * magick/blob.c (ReadBlobString): Use fgets() in order to get much + better performance. + +2022-10-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * coders/xpm.c (ReadXPMImage): Improve read performance by using + integer keys. Trace the colormap. + +2022-10-29 Fojtik Jaroslav <JaFojtik@yandex.com> + + * coders/xpm.c (ReadXPMImage): Replace strcmp with faster memcmp. + It improves 21% performance on my test image. + +2022-10-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * coders/xpm.c (ReadXPMImage): Eliminate unnecessary strlen() upon + memory reallocation for better performance. + +2022-10-29 Fojtik Jaroslav <JaFojtik@yandex.com> + + * PerlMagick/t/input_bilevel.xpm + * PerlMagick/t/reference/read/input_xpm_bilevel.miff New testcase + with bilevel monochrome image. + * PerlMagick/t/read.t: Added input_xpm_pal16.miff to PerlMagick test + suite. + +2022-10-28 Fojtik Jaroslav <JaFojtik@yandex.com> + + * PerlMagick/t/input_pal16.xpm + * PerlMagick/t/reference/read/input_xpm_pal16.miff New testcase + with 16 bit palette. + * PerlMagick/t/read.t: Added input_xpm_pal16.miff to PerlMagick test + suite. + +2022-10-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * NEWS.txt: Updated the news. + +2022-10-20 Fojtik Jaroslav <JaFojtik@yandex.com> + + * coders/tga.c Remove "optimisation" that has negligible or negative + effect to overall performance. + +2022-10-19 Fojtik Jaroslav <JaFojtik@yandex.com> + + * coders/tga.c Cleanup GCC compile warnings. + +2022-10-17 Fojtik Jaroslav <JaFojtik@yandex.com> + + * coders/tga.c Do not consider whole image to be invalid when a second + chunk header contains invalid data. + +2022-10-16 Fojtik Jaroslav <JaFojtik@yandex.com> + + * coders/tga.c Renamed image attribute "comment" from extended area to + "TGA:file.comment" to prevent mix of these 2 comments. + (Now TGA can produce both "comment" and "TGA:file.comment"). + +2022-10-14 Fojtik Jaroslav <JaFojtik@yandex.com> + + * PerlMagick/t/read.t Add new tests for TGA files. + +2022-10-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * coders/dpx.c: Revert undocumented change to 'DPX:file.creator' + attribute. + +2022-10-13 Fojtik Jaroslav <JaFojtik@yandex.com> + + * coders/tga.c Block alpha channel depending on value "AttributesType". + +2022-10-12 Fojtik Jaroslav <JaFojtik@yandex.com> + + * coders/tga.c New attributes "comment", "creator", "software", "TGA:file.JobName" + * coders/gpx.c Renamed attribute "DPX:file.creator" to "creator" + +2022-10-10 Fojtik Jaroslav <JaFojtik@yandex.com> + + * coders/tga.c TGA developper area is read. + +2022-10-09 Fojtik Jaroslav <JaFojtik@yandex.com> + + * coders/tga.c Check return code of seek blob operation. + +2022-10-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * magick/blob.c (SeekBlob): Fix SEEK_END validation. Addresses + oss-fuzz 52133 "graphicsmagick:coder_ICB_fuzzer: + Heap-buffer-overflow in ReadBlob". + +2022-10-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * scripts/changelog2rst.sh: Try to deal with the crazy mix of + spaces and hard tabs which are now appearing in the ChangeLog file. + +2022-10-04 Fojtik Jaroslav <JaFojtik@yandex.com> + + * coders/tga.c Fixed oss-fuzz-52084. + * PerlMagick/t/input.tga renamed to PerlMagick\t\input_8_CC.tga + * PerlMagick/t/reference/read/input_tga_8_BW.miff New testcase. + * PerlMagick/t/read.t: Added input_tga_8_BW.miff to PerlMagick test + suite. + +2022-10-03 Fojtik Jaroslav <JaFojtik@yandex.com> + + * coders/tga.c TGA footer is read, currently used for logs only. + +2022-10-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * scripts/rst2html5.py: Fix from Mark Mitchell to deal with RST + file local include statements when invoked from a different + directory. Also fix requested character set encoding. + +2022-10-02 Fojtik Jaroslav <JaFojtik@yandex.com> + + * PerlMagick/t/input_8_BW_rle.tga + * PerlMagick/t/input_8_CC_rle.tga + * PerlMagick/t/input_8_BW.tga + Added 8 bit TGA samples. + +2022-10-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * scripts/rst2html5.py: Applied patch by Mark Mitchell which + replaces rst2htmldeco.py with rst2html5.py. rst2html5.py does + essentially the same job as rst2htmldeco.py, but in a different + way. docutils_htmldeco_writer.py is no longer used or needed. + + Also fixed thanks.rst file which had non-utf8 characters, as well + as ChangeLog.2006, ChangeLog.2008 and ChangeLog.2012. + + * PerlMagick/t/read.t: Added input_mono.tga to PerlMagick test + suite. + + * coders/tga.c: White-space normalization. Eliminate compilation + warning about unused indexes variable. + +2022-10-01 Fojtik Jaroslav <JaFojtik@yandex.com> + + * coders/tga.c Monochromatic bilevel TGA could be written. + +2022-09-29 Fojtik Jaroslav <JaFojtik@yandex.com> + + * coders/tga.c Monochromatic bilevel TGA could be read. + +2022-09-28 Fojtik Jaroslav <JaFojtik@yandex.com> + + * PerlMagick/t/input_mono.tga Added monochromatic TGA sample generated + by Graphics Workshop. + +2022-09-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * scripts, www/Makefile.am: Fixes pertaining to use of Docutils to + generate the HTML documentation. + +2022-09-24 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * configure.ac: Search for a usable Python program, and then use + it to execute Python scripts. This avoids depending on a default + name. + + * magick/common.h (MAGICK_FUNC_MALLOC_2ARG): Add macros to support + GCC malloc attributes which accept arguments. + +2022-09-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * www/formats.rst: Add AVIF image file format to the list. + +2022-09-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * www/formats.rst: Add JPEG XL to the list. + + * utilities/tests/icc-transform.tap: Preserve output files from + icc-transform.tap until 'make clean' in order to allow inspection. + +2022-09-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * fuzzing/oss-fuzz-build.sh: Disable using libxml2 in oss-fuzz + build due to it being arbitrarily broken in the oss-fuzz build for + several weeks with no solution offered. Nobody seems to care any + more. + + * coders/svg.c: Re-enable support for XML internal subset. + +2022-09-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * Magick++/lib/Image.cpp (Magick::Image::colorMapSize): Restore + non-const Image::colorMapSize() since it caused an ABI change. + Debian bug 1019158: "graphicsmagick breaks gnudatalanguage + autopkgtest: undefined symbol: _ZN6Magick5Image12colorMapSizeEv". + +2022-09-04 Fojtik Jaroslav <JaFojtik@yandex.com> + + * jpeg/* Upgraded jpeg library to Version 9e 16-Jan-2022. + +2022-09-04 Fojtik Jaroslav <JaFojtik@yandex.com> + + * VisualMagick/jpeg/LIBRARY.txt Exclude files cjpegalt.c and + djpegalt.c; cjpeg.c and djpeg.c are already excluded. + +2022-08-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * fuzzing/oss-fuzz-build.sh: Add messaging regarding building + libxml2 and jasper. + +2022-08-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * Makefile.am (release): Generate ASCII armored ".asc" files + directly since this seems to be prefered over converting from + ".bin" files. + +2022-08-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * Makefile.am: Some people prefer GPG signature files in ASCII + armored ".asc" format rather than the OpenPGP binary ".bin" + format, so produce both. + +2022-08-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * Fix UTF-8 encoding errors in some text and source files. A few + more issues remain. Assistance is appreciated. + +2022-08-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * coders/svg.c (ReadSVGImage): Address concern from SourceForge + issue #669 "Segmentation fault caused by null pointer dereference + by checking return from xmlCreatePushParserCtxt(). Address + oss-fuzz 48340 "graphicsmagick:coder_SVG_fuzzer: + Heap-use-after-free in xmlParseInternalSubset" by disabling + internal subset handling until the parser context handling is + fixed. + +2022-08-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * NEWS.txt: Updated the news. + +2022-08-10 Fojtik Jaroslav <JaFojtik@yandex.com> + + * VisualMagick/configure/stdafx.h Added define WIN32_LEAN_AND_MEAN + * VisualMagick/configure/configure.exe New rebuild. + +2022-08-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * fuzzing/oss-fuzz-build.sh (MAGICK_LIBS): Add libsharpyuv.a to + the list of libraries to check for. + +2022-08-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * configure.ac: When checking for libwmf, add a test for + libsharpyuv. Not yet tested but maybe it will work. + +2022-08-07 Fojtik Jaroslav <JaFojtik@yandex.com> + + * VisualMagick\configure\configure.cpp: The /MACHINE:x86 + should never be placed to DLL dependency list. + +2022-08-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * coders/tga.c: Enhance 'coder' level trace information. + Normalize on 'unsigned int' as much as possible in order to use + natural types and likely help with function inligning. + +2022-08-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * coders/tga.c (ReadTGAImage): Remove a defective validation of + comment length, which blocked reading some sample TGA files from + the "Encyclopedia Of Graphics File Formats" book. + +2022-07-31 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * coders/heif.c: If module is compiled, but HasHEIF is not + defined, then RegisterHEIFImage/UnregisterHEIFImage + implementations are empty. + + * coders/jxl.c: If module is compiled, but HasJXL is not defined, + then RegisterJXLImage/UnregisterJXLImage implementations are + empty. + +2022-07-30 Sam James <sam@gentoo.org> + + * configure.ac: Fix Bashism in maintainer-mode check. + +2022-07-27 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * coders/miff.c (ImportRLEPixels): Add missing type cast for + consistency with other similar code. However, I do not believe + this is an actual bug. Addresses GraphicsMagick bug 670 "Missing + cast". + +2022-07-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * magick/magic.c: Auto-detect JXL format based on file header. + Much thanks to Quyen Pham Ngoc for noticing that this was missing. + +2022-06-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * NEWS.txt: Update with news since last release. + +2022-05-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * Magick++/lib/Image.cpp: colorMapSize() method for returning the + number of colormap entries should be a const method. Change is + due to an email from Miro Kropáček on May 29, 2022. + +2022-05-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * www/Magick++/Image.rst: Update getIndexes() and + getConstIndexes() documention to mention that the selected region + is defined by a prior getPixels(), getConstPixels(), or + setPixels() call. This is inspired by private email from Miro + Kropáček on May 8, 2022. + + * coders/jpeg.c (WriteJPEGImage): Change "arithmetic" to + "arithmetic-coding" in order to match ImageMagick's previously + existing syntax. + + * coders/png.c (ReadOnePNGImage): Assure that entire image list is + freed. Addresses oss-fuzz 46997 "graphicsmagick:coder_MNG_fuzzer: + Indirect-leak in MagickMallocCleared". This is a new issue due to + incrementally seeking the complete correct error-handling cleanup. + +2022-05-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * doc/options.imdoc: Add documentation for -define + jpeg:arithmetic. + +2022-04-30 Fojtik Jaroslav <JaFojtik@yandex.com> + + * coders/jpeg.c: Optionally enable arithmetic coder in JPG images. + gm convert -define jpeg:arithmetic=true testimg.jpg arith.jpg + +2022-04-27 Fojtik Jaroslav <JaFojtik@yandex.com> + + * jpeg/: Update aged JPG library to version 9d. + +2022-04-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * coders/ps.c (ReadPSImage): Assure that 'bounds' structure is + initialized. + + * coders/ept.c (ReadEPTImage): Assure that 'bounds' structure is + initialized. + + * magick/log.c (IsEventLogged): New function to report if a + particular event will be logged. Us this as much as possible + throughout the software to replace use of IsEventLogging(). + + * coders/png.c (ReadMNGImage): Address oss-fuzz 46913 + "graphicsmagick:coder_WPG_fuzzer: Indirect-leak in + MagickMallocCleared" which was partially pre-existing and + partially due to a botched fix for oss-fuzz 46843. + +2022-04-20 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * coders/png.c (ReadMNGImage): Address oss-fuzz 46843 + "graphicsmagick:enhance_fuzzer: Heap-use-after-free in CloseBlob". + +2022-04-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * coders/{msl.c, svg.c, url.c}: When __MINGW32__ is defined, then + only define _MSC_VER if it is not already defined. Also define + _MSC_VER with a somewhat useful value. This change is prompted by + a posting by "LM" to the graphicsmagick-core list on April 17, + 2022. + +2022-04-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * coders/png.c (ReadOnePNGImage): Make sure that ping_num_trans is + initialized. Fixes oss-fuzz 46760 "Use-of-uninitialized-value - + ReadOnePNGImage". + +2022-04-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * magick/blob.c (OpenBlob): Allocate setvbuf() buffer externally + rather than implicitly. I am hoping that the several oss-fuzz + reports about using uninitalized memory from glibc's + _IO_file_doallocate() go away. + +2022-04-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * coders/heif.c (RegisterHEIFImage): Support reading AVIF via + libheif if it supports decoding AVIF. + +2022-04-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * www/index.rst: Update the Coverity Analysis Metrics. + + * magick/display.c (MagickXAnnotateEditImage): Quiet Coverity + 376901 "Identical code for different branches + (IDENTICAL_BRANCHES)". + + * coders/svg.c (ReadSVGImage): Default to not allowing external + entity substitution. Quiets Coverity 376905 + "unsafe_xml_parse_config (UNSAFE_XML_PARSE_CONFIG)". + + * coders/msl.c (ProcessMSLScript): Default to not allowing + external entity substitution. Quiets Coverity 376913 + "unsafe_xml_parse_config (UNSAFE_XML_PARSE_CONFIG)". + + * magick/error.c (ThrowLoggedException): Silence Coverity 376912 + "Dereference after null check (FORWARD_NULL)". + + * coders/jp2.c (ReadJP2Image): Silence Coverity 264883 "Division + or modulo by float zero (DIVIDE_BY_ZERO)". + (ReadJP2Image): Fix Coverity 376911 "Improper use of negative + value (NEGATIVE_RETURNS)". + + * magick/xwindow.c (MagickXMakeMagnifyImage): Fix Coverity 376906 + "Division or modulo by zero (DIVIDE_BY_ZERO)". + + * magick/resize.c (ScaleImage): Fix Coverity 376908 "Resource leak + (RESOURCE_LEAK)". + + * magick/locale.c (GetLocaleMessageFromTag): Fix Coverity 376907 + "Out-of-bounds read (OVERRUN)". + + * magick/render.c (DrawPrimitive): Fix Coverity 376904 + "Out-of-bounds access (OVERRUN)". + +2022-03-26 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * version.sh: Prepare for 1.3.38 release. + + * Makefile.am (release, snapshot): Generate SHA-256 checksums as a + by-product of 'make snapshot' or 'make release'. + + * www/download.rst: Add documentation regaring SHA-256 checksums. + + * NEWS.txt: Update the news again. + + * coders/miff.c (ReadMIFFImage): Validate claimed bzip2-compressed + row length prior to reading data into fixed size buffer. + Addresses SourceForge bug #664 "[bug]Heap buffer overflow when + parsing MIFF". This severe bug only impacts builds with BZLIB + support. + +2022-03-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * coders/jxl.c (ReadJXLImage): Added patch from Tobias Mark to + optimize EOF detection if the input file size is known. Avoids + waiting for ReadBlob() to report EOF. + +2022-03-20 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * Magick++/lib/Magick++/Include.h: Support 'ReadResource'. + +2022-03-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * coders/jxl.c: Added some debug logging instrumentation so we can + see the information the JXL reader is provided by libjxl. + + * configure.ac: JXL is working well enough to enable it by + default. + +2022-03-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * coders/jxl.c (WriteJXLImage): Call JxlEncoderCloseInput() so + that encoder output is not corrupt. JXL passes testsuite tests + now! + + * magick/command.c (CompareImageCommand): Add -auto-orient support + to 'compare'. This tries to assure that the two images are right + side up before comparing. + +2022-03-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * coders/jxl.c (WriteJXLImage): Work to update JXL writer code to + compile clean with libjxl v0.7.0. Still not working! + +2022-02-26 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * coders/heif.c (ReadHEIFImage): Pass decode options to + heif_decode_image(). Include rough implementation of progress + monitor support but leave it disabled since libheif does not + currently invoke the callbacks. + + * coders/jpeg.c (ReadJPEGImage): Store embedded profiles in image, + even if in 'ping' mode. This addresses a problem discovered when + interfacing with minimagick (Debian bug #1006374 "graphicsmagick + breaks ruby-mini-magick"). + + * coders/url.c (ReadURLImage): Deal with libxml2 not offering HTTP + or FTP capabilities. It seems that support for FTP has now been + removed by default. + +2022-02-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * README.txt: Recomend using JasPer 3.0.0 (or later). + + * VisualMagick/magick/magick_config.h.in: Disable building with + bundled JasPer sources by default since the bundled sources are + archaic. + + * coders/jp2.c: Fix compilation with JasPer 3.0.0 (which is now + released). + +2022-02-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * magick/fx.c (ColorizeImagePixelsCB): Apply clipping and rounding + to handle out of range values and provide the most accurate + result. Addresses SourceForge bug #662 "Broken -colorize". + +2022-01-30 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * coders/jp2.c (ReadJP2Image): Jasper 3.0.0 hid the functions we + were using so switch back to using jas_image_decode(), but in a + more secure way than before. + +2022-01-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * www/download.rst: Document how to retrieve the PGP signing key + from a key server. + +2022-01-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * coders/jp2.c (ReadJP2Image): Always use + ThrowJP2ReaderException(). Should address oss-fuzz Issue 43979: + "graphicsmagick:enhance_fuzzer: ASSERT: jas_get_ctx() == + jas_global.ctx". + +2022-01-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * utilities/tests: Write compressed MIFF files to reduce disk + space usage. + + * magick/command.c (CompareImageCommand): Support '-compress' + option. + + * coders/mpc.c: Fix warnings from GCC 11. + + * coders/miff.c: Fix warnings from GCC 11. + +2022-01-21 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * coders/jp2.c: Adaptations to work with Jasper 3.0.0's + jas_init_library() and other related functions. Add missing + jas_cleanup_thread(). Do not request a higher memory limit than + JasPer's own limit in order to avoid a warning. + +2022-01-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * coders/miff.c (ReadMIFFImage): Do not proceed to next image in + sequence unless the character read is the expected 'i' character. + Inspired by GraphicsMagick bug #659 "Can not escape $0 in a batch + command". + + * coders/heif.c (ReadHEIFImage): Take row stride into account when + reading pixel rows. Add support for 'ping' mode. Add header magic + detection. Add module aliases. Add useful traces. + +2022-01-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * coders/jxl.c: Added preliminary JPEG XL support written by + Tobias Mark. From Code Merge Request #14: "Added (basic) jpeg-xl + support". The writer is not working properly at this time. + + * www/formats.rst: Add HEIF to the list of supported formats. + + * README.txt: Expand the text regarding support for HEIF/HVEC + support. + +2022-01-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * coders/heif.c: HEIF reader written by Tobias Mark. From + SourceForge Code Merge Request #15: "Added minimal heif support". + + * magick/blob.c (ReadBlobStream): Fix EOF logic similar to + ReadBlob. Addresses oss-fuzz 43617 + "graphicsmagick:coder_P7_fuzzer: Use-of-uninitialized-value in + WritePNMImage". + +2022-01-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * magick/blob.c (ReadBlob): Fix EOF logic. Addresses oss-fuzz + 43490 "graphicsmagick:coder_PNM_fuzzer: Use-of-uninitialized-value + in SyncImageCallBack". + + * coders/pnm.c (ReadPNMImage): Make sure that we don't lose the + image exception. + +2022-01-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * magick/blob.c: Throw a user-friendly exception when the read + limit has been exceeded. + + * coders/jpeg.c: Add tracing and fallback for longjmp(). + + * coders/pict.c (DecodeImage): Assure that the claimed scanline + length is within the bounds of the scanline allocation to avoid + possible heap overflow. + +2022-01-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * magick/blob.c: Make sure that read resource limiting can support + very large files. + +2022-01-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * magick/resource.c: Add support for setting a read resource limit + via the MAGICK_LIMIT_READ environment variable, or similar to + '-limit read 5mb'. + + * magick/resource.h: Added a ReadResource limit, which is a limit + on how many uncompressed file bytes may be read while decoding an + input file. + +2022-01-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + * ChangeLog.2021: Rotate ChangeLog for 2022. Happy New Year! |