GraphicsMagick 1.2.1 ChangeLog

2008-05-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- version.sh: GraphicsMagick 1.2.1 released.
- BENCHMARKS.txt: Added a section for execution overhead measurements.

2008-05-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- magick/magick.c (GetMagickInfo): Simplify implementation. (RegisterMagickInfo): Remove any existing entry since module loading may result in duplicate entries.

2008-05-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- libtool: Update to libtool 1.2.4.
- GraphicsMagick.spec.in: Add --with-included-ltdl to the default options since this seems safest until the libltdl validation logic is fully robust.
- magick/Makefile.am (magick_libGraphicsMagick_la_LIBADD): Apply libltdl dependency argument as required for building.
- configure.ac: Intuit if the GraphicsMagick library will depend on -lltdl.
- Magick++/bin/GraphicsMagick++-config.in: Use substitutions rather than invoking GraphicsMagick-config in order to determine GraphicsMagick library usage requirements. This avoids problems when GraphicsMagick-config is not in the executable search path.

2008-05-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- magick/module.c (OpenModule): Ignore requests to open modules which have already been opened.
- GraphicsMagick.spec.in: NEWS was renamed to NEWS.txt. Enable libtool verbose output so it is possible to diagnose build failures.

2008-05-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- coders/svg.c (RegisterSVGImage): Fix spelling of "Graphics" in registered description.

2008-05-01 Fojtik Jaroslav <JaFojtik@seznam.cz>

- mat.c: gm convert -limit Pixels 1 input_gray_lsb_16bit.mat crap.miff don't rotate partial image.

2008-04-30 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- magick/magick.c (RegisterMagickInfo): Simplify dramatically by adding to the front of the list rather than maintaining alpha order.

2008-04-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- version.sh: GraphicsMagick 1.2 released.
- png: Updated libpng to 1.2.27.

2008-04-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- magick/image.c (SetImageInfo): Ignore file extensions which match defined virtual delegate entries (including stealth entries).

2008-04-27 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- BENCHMARKS.txt: Added timings for -blur.

2008-04-27 Darko Kojic <dkc@sf.net>

- magick/effect.c (MedianFilterImage): Fixes to compile on ARM CPU.

2008-04-26 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- magick/magick.h (MagickInfo): Remove image_info member since I can not find any purpose for it.
- coders/tiff.c (WriteTIFFImage): Remove assertion check on scanline size since it has not caught anything.
- magick/image.c (SetImageInfo): Ensure that the file extension does not trigger unwanted activity such as access to an X11 server, printer, or the launch delegate.
- config/Makefile.am (configshare_DATA): Install colors.mgk in share path.
- magick/blob.c (GetConfigureBlob): Search 'share' config path prior to 'lib' config path.

2008-04-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- coders/png.c (WriteOnePNGImage): TrueColor RGB was usually written rather than the desired more compact format. This is a first pass at fixing that.

2008-04-24 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- BENCHMARKS.txt: Added a benchmark summary.

2008-04-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- version.sh: Prepare 1.2beta1 release.
- NEWS.txt: Updated with latest news.

2008-04-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- libtool: Update to 1.2965 2008-04-22
- coders/png.c (ReadOneJNGImage): Deal with ReadImage() returning a NULL pointer when reading JPEG sub-image.

2008-04-21 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- magick/channel.c (ExportImageChannel): Added progress monitor support.
  (SetImageChannelDepth): Added progress monitor support. (ChannelImage): Don't preserve matte channel when extracting channel.
- magick/image.c (SetImageOpacity): Avoid integer overflow in Q32 build. Added progress monitor support. (SyncImage): Added progress monitor support. (SetImage): Added progress monitor support. (CycleColormapImage): Added progress monitor support. (GetImageBoundingBox): Added progress monitor support. (SortColormapByIntensity): Added progress monitor support.

2008-04-20 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- configure.ac, magick/Makefile.am: Don't use libtdl unless we are supposed to be using it!
- libtool: Updated to GNU libtool 1.2960 2008-04-19.
- configure.ac, magick/delegate.h: It seems that the modern convention is to store ghostscript headers in a subdirectory called 'ghostscript' rather than 'ps'. We don't actually need Ghostscript errors.h and that is a good thing since it seems that some newer Ghostscript calls it ierrors.h

2008-04-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- VisualMagick/installer/inc/files-dlls.isx: Comment out inclusion of X11 support DLLs.
- VisualMagick/magick/magick_config.h.in: X11 is no longer in the default Windows build.

2008-04-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- magick/nt_base.c: Eliminate various annoying warnings noticed under MinGW.
- magick/spinlock.h (_spinlock_release): Use 'long' rather than 'int' in order to eliminate warning under MinGW.
- magick/semaphore.c (spinlock_wait): Use 'long' rather than 'int' in order to eliminate warning under MinGW.
- magick/log.c (LogMagickEventList): Eliminate warning under MinGW.
- magick/compress.h: Clean up interface definitions to use magick_uint8_t for unsigned character data.
- coders/jpeg.c (ReadJPEGImage): Don't use GetPixelCachePresent() since it is not DLL-exported.

2008-04-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- coders/yuv.c (ReadYUVImage): Report exception info correctly.
- coders/xpm.c (ReadXPMImage): Report exception info correctly.
- coders/xc.c (ReadXCImage): Report exception info correctly.
- coders/tiff.c (ReadTIFFImage): Report exception info correctly.
- coders/null.c (ReadNULLImage): Report exception info correctly.
- coders/jpeg.c (ReadJPEGImage): Report exception info correctly. Use of Huffman optimization is now based on available memory rather than a hard-coded image size.
- coders/gif.c (ReadGIFImage): Report exception info correctly.
- magick/utility.c (MagickSizeStrToInt64): New function to convert a size string with optional units suffix to a 64-bit integer. (MagickStrToInt64): New function to convert a string to a 64-bit integer, with error checking.
- magick/image.c (SetImage): SetImage now returns error status.
- magick/command.c: Eliminated the long-deprecated -cache resource limit option.
- magick/resource.c: Complete re-write of the resource limit system. Resource specifications are now absolute except that they support a binary metric suffix such as 'K' to scale the value. Added the 'Pixels' limit type to limit the maximum number of pixels allowed for each image.

2008-04-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- coders/jpeg.c (WriteJPEGImage): Output grayscale images more efficiently.

2008-04-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- lcms: Updated lcms to 1.17.
- png: Updated libpng to 1.2.26.

2008-04-09 Glenn Randers-Pehrson <glennrp@simple....>

- coders/png.c (ReadOnePNGImage) Use the low bits of the PNG tRNS values instead of scaling them when reducing from 16-bits.

2008-04-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- configure.ac: Updated to Autoconf 2.62.

2008-04-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- magick/command.c (MogrifyImageCommand): New -create-directories option automatically creates subdirectories as needed when -output-directory option is used. This is useful when one directory tree of files is being mogrified to a new tree.

2008-04-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- magick/utility.c (MagickCreateDirectoryPath): New function to create a directory path. Will be used later.
- configure.ac: Tweaks to produce a successful MinGW cross-compile.

2008-04-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- coders/tiff.c (WriteTIFFImage): Added a simple sentinel assertion to hopefully flush out any remaining cases where ExportImagePixelArea() writes past the end of its buffer.
- magick/constitute.c (ExportImagePixelArea): GrayQuantum case for DirectClass pixels was sometimes writing a zero byte one past the end of the allocated buffer. Thanks to Josue Gomes for reporting this bug.

2008-04-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- coders/{pcd.c,pcx.c,pdb.c,pict.c,stegano.c,wpg.c,xcf.c}: Warnings reduction.
- magick/{channel.c,image.c,unix_port.c,render.c}: Warnings reduction.
- coders/mat.c: Convert C99 comments to C89 comments so code can compile with a C89 compiler.
- coders/tiff.c (WriteTIFFImage): Add an assertion to enforce that the bytes output to the scanline is no more than the bytes allocated for the scanline.
- NEWS.txt: Updated with latest NEWS.

2008-04-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- coders/pdf.c (WritePDFImage): Default to ZIP compression if available. Ignore Image compression setting since the useful value (set by the user) usually comes from ImageInfo.
- coders/png.c (WriteOnePNGImage): Fix progress monitor when writing PNG.
- magick/channel.c (GetImageChannelDepth): Added progress monitor support.
- magick/signature.c (SignatureImage): Added progress monitor support.
- magick/image.c (GetImageDepth): Added progress monitor support.

2008-04-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- libtool: Update to libtool 2.2.2.
- coders/jpeg.c: Convert more code to use size_t for sized values rather than long.
- coders/wpg.c (InsertRow): Fix log format string specification.
- coders/dpx.c (WriteDPXImage): Fix typo in casts.
- coders/fpx.c (ReadFPXImage): Apply FreeBSD patch from Mikhail Teterin to allow FlashPIX to work better for 64-bit builds. Addresses SourceForge issue 1824658 "FPX should work again now".
- magick/blob.c (ImageToBlob): Fix typo in cast.

2008-03-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- CONTRIBUTE.txt: Convert contribute.html to reStucturedText format and generate HTML version from it.
- PROCESS.txt: Convert description of development process to reStucturedText format and generate HTML version from it.
- INSTALL-windows.txt: Add instructions for how to install from setup.exe style installer. Also add instructions for how the distribution package is built.
- Copyright.txt: Reformat in reStucturedText format and generate HTML version from it.
- VisualMagick/installer/inc/body.isx: No longer include development headers and libraries in the Windows DLL install package since they are large and they may only work with the version of Visual C++ used to perform the build. It is much safer for the developer to build the package from source with his own compiler.

2008-03-27 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- Fix compilation issues with Microsoft Visual Studio.

2008-03-26 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- coders/dpx.c (ReadDPXImage, WriteDPXImage): Use lookup tables to speed up value conversion.
- magick/memory.h (MagickAllocateArray): Renamed from MagickAllocateMemoryElements.

2008-03-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- PerlMagick/Magick.xs: Use memory allocation macros like the rest of the code.
- magick/memory.c (MagickMalloc): New function which behaves similar to malloc().
  (MagickMallocArray): New function for allocating an array. (MagickRealloc): New function which behaves similar to realloc(). (MagickFree): New function which behaves similar to free(). (MagickAllocFunctions): New function to allow the user to specify the memory allocation functions.
- magick/memory.h: New header file to define memory allocation functions.
- magick/deprecate.c (DeleteImageList, DestroyImages, GetImageList, GetImageListIndex, GetImageListSize, GetNextImage, GetNumberScenes, GetPreviousImage, ParseImageGeometry, PopImageList, PostscriptGeometry, PushImageList, SetCacheThreshold, SetImageList, ShiftImageList, SizeBlob, SpliceImageList, UnshiftImageList): Remove functions which were already deprecated in ImageMagick 5.5.2 or earlier.

2008-03-24 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- coders/dpx.c (WriteDPXImage): Support writing image which is already in a YCbCr colorspace.
  (ReadDPXImage): Return YCbCr images in YCbCr colorspace unless they are also Cineon log encoded.
- magick/image.c (CloneImage): Use CloneImageAttributes().
- magick/attribute.c (CloneImageAttributes): New function for copying image attributes from one image to another.
- magick/utility.c (TranslateTextEx): Check if the pixel cache is initialized before using a function which requires using it. Thanks to Micha³ Kowalczuk for bringing this issue to my attention.
- magick/attribute.c (SetImageAttribute): Only apply transformations to "comment" and "label" attributes.
- magick/pixel_cache.c (GetPixelCachePresent): New function to test if the image pixel cache is present and initialized.

2008-03-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- magick/colorspace.c (RGBTransformPacket): Rationalize casts for improved performance.
- magick/image.c (GetImageDepth): Use table lookups to improve performance.

2008-03-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- magick/image.c (AllocateImage): Transfer any attributes from ImageInfo to allocated image.
  (SetImageDepth): Use table lookups to improve performance.

2008-03-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- magick/command.c (MogrifyImageCommand): Added an -output-directory option to 'mogrify' to send output files to the specified directory.

2008-03-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- PerlMagick/t/read.t: Add input_logical_lsb_08bit.mat to PerlMagick tests.
- magick/nt_feature.c (CropImageToHBITMAP, ImageToHBITMAP): Use GlobalFree() to free bitmap handle.

2008-03-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- PerlMagick/t/read.t: Added/adjusted WPG test files from Jaroslav Fojtik.

2008-03-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- AUTHORS.txt, BUGS.txt, FAQ.txt, NEWS.txt, PLATFORMS.txt, TODO.txt, INSTALL-unix.txt, INSTALL-windows.txt: Use reStructuredText format.
- Makefile.am: Use reStructuredText for more files.

2008-02-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- magick/constitute.c (ReadImage): Disable colorspace override code since it was being wrongly-triggered in X11 display commands.

2008-02-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- www/body.html: Update to mention 1.1.11 release.

2008-02-20 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- magick/colorspace.c (RndToInt): Cast result to 'unsigned int' rather than 'int' in order to avoid possible value truncation with Q32 build. Problem was reported by Kai-Uwe Behrmann. (TransformRGBImage): Fix loop iterator which was looping one past the end of the array. Reported by Kai-Uwe Behrmann.
- magick/command.c: Added a -set option to the composite, convert, display, mogrify, import commands in order to allow setting an image attribute.

2008-02-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- PerlMagick/Magick.xs: Use MagickAcquireMemory() rather than AquireMemory().
- coders/xwd.c (ReadXWDImage): Eliminate integer overflow vulnerability (IDefense 09.19.07).
- coders/xbm.c (ReadXBMImage): ditto
- coders/xcf.c (ReadXCFImage): ditto
- coders/dib.c (ReadDIBImage): ditto
- coders/dcm.c (ReadDCMImage): ditto

2008-02-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- coders/tiff.c (WriteTIFFImage): The RFC 2301 specification for Internet FAX recommends LSB2MSB fill order so document that.

2008-02-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- coders/tiff.c (WriteTIFFImage): Use '-define tiff:fill-order={msb2lsb|lsb2msb}' to control TIFF bit fill order.

2008-02-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- configure.ac: Updated to latest CVS libtool.
- coders/tiff.c (CompressionSupported): Use TIFFGetConfiguredCODECs() to test if a requested compression type is supported by libtiff. Based on advice from Frank Warmerdam.
- configure.ac: Add test for TIFFGetConfiguredCODECs() in libtiff.

2008-02-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- coders/tiff.c: With libtiff 3.6.1, including tiff.h and tiffio.h is not sufficient to obtain the definitions from tiffconf.h so libtiff is assumed to not support any features, such as compression. Avoid this problem by explicitly including tiffconf.h if it is found. This resolves SourceForge issue [1883527] compression of tiff-file has no effect.

2008-02-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- VisualMagick/installer/inc/setup.isx: Set Inno Setup installer compression to "lzma/max".
- PerlMagick/Magick.xs: Eliminate use of memory allocation macros since these failed miserably under Windows where it seems that malloc, free, and realloc are redefined via macros by the Perl build environment. This reverts changes made on 2007-12-01.
- magick/memory.c (MagickAcquireMemoryArray): Use implementation from the 1.1 branch.
- magick/utility.h: Remove MagickSafeMultiplySize_t since it seems that use of inline functions in Windows is a disaster area.

2008-02-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- Makefile.am (windows-dist): Create a 7z compressed Windows comprehensive source package. See http://www.7-zip.org/ for information on Windows 7-Zip and http://p7zip.sourceforge.net/ for information on portable 7-Zip (P7ZIP).

2008-02-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- coders/tiff.c (WriteTIFFImage): Add logging for image resolution and resolution units.
- magick/version.h.in: Update copyright year to 2008.

2008-02-01 Gary V. Vaughan <gary@gnu.org>

- configure.ac: Updated for libtool-2.1b.
- bootstrap (libtoolize): Libtoolize can figure out the mode and directory for libltdl from configure.ac.

2008-01-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>

- magick/Makefile.am: Update magick_libGraphicsMagick_la_DEPENDENCIES to use LTDLDEPS.

2008-01-26 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- magick/image.c (SetImageInfo): Successfully read existing file names in the form file[123] which were failing to read since they appear to be a valid sub-image specification.

2008-01-24 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- magick/utility.c (ExpandFilenames): If a filename appears to contain a wildcard specification, first check to see if there is file matching the unexpanded wildcard prior to engaging in the slow task of wildcard expansion. Without this fix, expanding the command line takes a very long time if there are a huge number of files in the directory, and some file names appear to contain wildcard specifications. Inspired by SourceForge bug reports [ 1878992 ] "literal square brackets in file name cause large delay" and [ 1783209 ] "converting runs slowly when subimage is specified", but this might not be the complete fix for the problem.

2008-01-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- Makefile.am: Update to Automake 1.10.1 and enable generation of an lzma compressed source package.

2008-01-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- configure.ac: Added configure option --with-umem to enable use of the umem memory allocation library available in Solaris 9, Update 3 and later, or from
  https://labs.omniti.com/trac/portableumem/. This library supports concurrency in multi-threaded programs and supports debugging memory issues. See
  http://developers.sun.com/solaris/articles/libumem_library.html for a description of how to use the library for debugging memory issues.

2008-01-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- magick/command.c (VersionCommand): Include a "Large Memory" item in the Feature Support list.
- coders/png.c (RegisterPNGImage): Remove reference to dead PNG ftp site.
- VisualMagick/configure/configure.cpp (InitInstance): Remove project dependency on dxguid.lib (Direct-X).

2008-01-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- configure.ac: Update libtool to latest CVS version.

2008-01-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

- magick/command.c (DisplayImageCommand): No longer default to reading standard input if stdin fails isatty() test. This behavior was causing failure to launch from Gnome and it is difficult to work around the issue from within a .desktop file. (AnimateImageCommand): No longer default to reading standard input if stdin fails isatty() test.

Copyright (C) 2008 GraphicsMagick Group

This program is covered by multiple licenses, which are described in Copyright.txt. You should have received a copy of Copyright.txt with this package; otherwise see http://www.graphicsmagick.org/www/Copyright.html.

Copyright © GraphicsMagick Group 2002, 2003, 2004