[Home] [Mission Statement] [Download] [Installation] [CVS] [Mailing Lists] [FAQ] [Formats] [News ] [ChangeLog] [Report Bugs] [Utilities] [Programming] [Books] [Links] |
Search GraphicsMagick site

GraphicsMagick 1.0.3 News

Major changes associated with GraphicsMagick 1.0.3 (Released August 23, 2003)

Bug Fixes:

- Configure script fix to ensure that -lfpx is not supplied to C compiler during subsequent tests since this fails on some systems.
- BMP reader fix to avoid unnecessary rejection of some old uncompressed Windows 2.X and OS/2 BMPs.
- Semaphore fix which is necessary for proper multi-threaded operation.
- EXIF attributes were failing to be retrieved.
- Image magick string is that of the user-specified input file rather than (possibly) a temporary file.
- BLOB file header tests are only performed if the user has not specified the BLOB format (magick).
- Fixed a problem with reading images via a user provided file descriptor. The coder was sometimes being passed a file descriptor with a non-zero seek position. Note that reading from non-seekable file streams may still be unreliable since the header magic tests must read part of the input data and the seek position must be rewound.
- A locking problem was fixed in the logging code.
- JNG support can now be removed while continuing to support PNG and MNG. This is neccessary if libjpeg is not available.
- VisualMagick configure is updated to eliminate a build dependency problem and to enable fast static builds.

Major changes associated with GraphicsMagick 1.0.2 (Released June 6, 2003)

Bug Fixes:

- Under Windows, extend PATH to include directory where CORE DLLs reside so that module loading works reliably.
- Added missing module mappings for PNG8, PNG24, and PNG32.
- Search for type.mgk in $MAGICK_HOME.
- Fix hang while floodfilling image using a pattern.
- Incorporated shear fixes from ImageMagick.
- Minor memory leak fixed.
- Fixed PerlMagick Shade 'elevation' argument.
- Fixed EPT writing.
- PNG, MNG, and JNG writer fixes.
- PSD reader fix for color indexed images.
- Fixed an error handling path in mogrify command.
- Added missing module mappings for a number of coders.
- Fixed problem with libxml/libxml2.def & Visual C++ 6.0.
- GetImageGeometry was incorrectly handling EastGravity and WestGravity.
- Log event option processing is now handled consistently.
- GetGeometry now performs some validation of geometry argument.
- Magick++ throws an exception if GetGeometry rejects the geometry argument.

Major changes associated with GraphicsMagick 1.0.1 (Released May 18, 2003)

Bug Fixes:

- Gravity works in conjunction with coordinates in MSL.
- Include HasX11 in installed magick_config.h so xwindow.h works.

Other Changes:

- New logo image.

Major changes associated with GraphicsMagick 1.0 (Released May 5, 2003)

GraphicsMagick support services:

- Master web site at "http://www.GraphicsMagick.org/".
- Mailing lists, bug tracking, and forums available via "http://sourceforge.net/projects/graphicsmagick/".
- CVSWeb via "http://cvs.graphicsmagick.org/cgi-bin/cvsweb.cgi/".
- CVS via cvs.graphicsmagick.org (find instructions at "http://www.graphicsmagick.org/www/cvs.html").
- FTP via "ftp://ftp.graphicsmagick.org/pub/GraphicsMagick".

Project maintenance improvements:

- ChangeLog conforms to the GNU standard and all CVS commits include useful log messages.
- CVS commit messages posted to graphicsmagick-commit mail list.
- CVS commit messages contain CVSWeb URL references.

Footprint changes from ImageMagick:

- Library -lMagick renamed to -lGraphicsMagick.
- Library -lMagick++ renamed to -lGraphicsMagick++.
- Utilities consolidated into a single 'gm' utility (e.g. use 'gm convert').
- Script Magick-config renamed to GraphicsMagick-config.
- Script Magick++-config renamed to GraphicsMagick++-config.
- Headers installed under ${PREFIX}/include/GraphicsMagick.
- PerlMagick namespace renamed from "Image::Magick" to "Graphics::Magick".
- Pkgconfig files GraphicsMagick.pc and GraphicsMagick++.pc are installed in $libdir/pkgconfig to assist pkg-config users.
- Coder modules installed to lib/GraphicsMagick-1.0/modules-Q8/coders.
- Filter modules installed to lib/GraphicsMagick-1.0/modules-Q8/filters.

Many performance enhancements:

- Default QuantumDepth is 8 since this is adequate for most purposes and more efficient than 16.
- The Magick++ demo (compiled with QuantumDepth=8 and -O2) runs about 1.8X faster under SPARC/Solaris than the same demo with ImageMagick 5.5.4.
- Colorspace transformations are much faster.
- Grayscale/monochrome image handling is much faster.
- PseudoClass image handling is faster.
- Text annotations using FreeType are much faster.
- Image file I/O is much faster.
- RLE-compressed MIFF reading much faster.

Code structure enhancements:

- All utility support functions moved to magick/command.c in order to significantly reduce link dependencies, allowing statically-linked programs to be smaller.
- Use of MogrifyImage() elminated except for by utilities.
- Re-builds due to changes to <magick/image.h> reduced by splitting the header into multiple headers.
- ISO C '99 typedefs (gm_int16_t, gm_uint16_t, gm_int32_t, gm_uint32_t, gm_int64_t, gm_uint64_t) are available for use.

Feature enhancements:

- Module loader always enabled for shared builds to allow extension.
- Loading of arbitrary filter modules (via -process option) supported under Unix as well as Windows.
- SVG coder allows specifying size and initial background color.
- JPEG-2000 coder (JP2) updated to work with Jasper 1.7.
- HWB and HSL image colorspace translation support.
- JNG/MNG/PNG format support tracks ImageMagick version.
- BMP encoder can write 16-color indexed BMPs now as well as 2-color BMPs (not restricted to monochrome).
- TIFF decoder now includes optimized support for tiled and stripped TIFF.
- The -random-threshold option (RandomThresholdImage()) is added to threshold an image to bilevel using random thresholding.

Major bug fixes:

- 100% successful test completion at all quantum depths (8/16/32).
- A temporary file management subsystem is added to ensure that all temporary files are removed before program exit. Temporary files are created and used in a secure fashion to avoid the possibility that a "trojan" temporary file (e.g. a symbolic link, or a file containing unsafe content) is created before a delegate has the chance to write to it. The environment variable MAGICK_TMPDIR allows the user to specify where temporary files are created without altering where other programs create their temporary files. Temporary filenames are created in 8+3 format to hopefully be more acceptable to ralcgm.
- When dithering is disabled, don't dither when converting to a PseudoClass, grayscale, or monochrome image. Disabling dithering may cause these translations to be much faster.
- PICON format works with BLOBs.
- No longer removes input file when pinging a FlashPIX file.
- Arc drawing and texture fill fixes from ImageMagick.
- Sample, scale and affine fixes from ImageMagick.
- MIFF colormaps are now scaled properly while reading.
- CMYK translation works for QuantumDepth=32.
- ConstituteImage now works properly for grayscale images.
- Built-in tilde expansion and filename globbing now works properly.
- InitializeMagick now registers signal handlers to ensure that resources are released before program exit. This helps avoid temporary file leaks due to the user using "CONTROL-C".
- The installed <magick/magick_config.h> header now only contains the few definitions required by the API headers. This should significantly reduce or eliminate conflicts with other package headers.

Windows platform enhancements:

- Configure updated for Visual C++ 7.0.
- OLE object (ImageMagickObject) re-written to work with Visual C++ 7.0
- New function, CropImageToHBITMAP(), to return a region of the image as a Windows HBITMAP.
- Use vsnprintf to format strings under Windows (safer).

On November 19, 2002, GraphicsMagick was created as a fork of ImageMagick, several days before the ImageMagick 5.5.2 release.

The objectives of GraphicsMagick are to:

- Use an open development model.
- Encourage new developers to join the project.
- Avoid unnecessary source code "churn".
- Establish and preserve a stable API.
- Use efficient coding practices which result in fast code.
- Improve memory efficiency.
- Use a release process which assures a working product.
- Maintain an accurate ChangeLog.

Copyright (C) 2003 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.

Image manipulation software that works like magic.