GraphicsMagick 1.0.6 News |
Major changes associated with GraphicsMagick ....
Last updated on March 23, 2004
Bug Fixes
- Temporary file names were not using the full range of characters,
limiting the number of available names.
- Fixed Multiply composite operator (broken in Q:32 build).
- Fixed a rare crash in the TrueType renderer.
- DrawGetFillOpacity() was returning inverted opacity.
- Add quotes to delegates.mgk so filenames may contain spaces.
- Windows: Use MsgWaitForMultipleObjects() for locking in order to avoid
deadlock when dependent application code indirectly creates windows.
Major changes associated with GraphicsMagick 1.0.5 (Released February 26, 2004)
Bug Fixes
- Fix Unix uninstall target.
- For Unix, apply user specified LIBS when configuring.
- Properly locate and use shmctl() under Cygwin.
- Fix text rendering on PseudoClass images (bad bug).
- Don't lose opacity channel when writing SGI images.
- Fix *huge* memory leaks in MontageImages (montage).
- Fix memory leak in JNG coder.
- Fix bad memory leak in the 2D rendering code.
- Fix a small memory leak in the color quantization code.
- Fix inverted exit status from 'display' and 'animate'.
- Fix module dependencies for the label coder (failed to load).
- Fixed type.mgk parsing bug which sometimes corrupted memory.
- Fixed type.mgk syntax error.
- Various fixes for use of unintialized data.
Major changes associated with GraphicsMagick 1.0.4 (Released December 6, 2003)
Bug Fixes:
- Fixed handling of arc drawing primitive.
- Eliminated two memory leaks.
- Fixed PNG read problem when reading image.png[0].
- Correction for scaling of 5-5-5-bit, 5-6-5-bit, and 8-8-8-8-bit, BMP
images, and TIM images.
Delegate upgrades:
- Updated to use LCMS 1.11.
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:
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.