Changes to 6.2.8-8:
* 'convert existing-image.png -background' no longer generates a fault.
* -define pdf:use-cropbox=true actually works now.
* Slight mods to magick/xwindow.c to compile under BEOS (path provided by
henrimoi@hotma...).
* #000000 improperly set the opacity channel (bug report and patch from
digipete@shaw....).
* Patch for OpenVMS compile support.
Changes to 6.2.6-7:
* Added the 'Dispose' layers function to return the 'GIF dispose' images of
an animation.
* File is already closed, do not call fclose() on it in magick/blob.c.
* PS3/EPS3 now writes a proper image mask when compression is None.
* Patch to properly read interlaced GIF's.
* DestroyMagick() is not always reliably available when atexit() unwinds.
anymore (noted by tron).
2006-03-26 6.2.6-6 Cristy <stentz@image...>
* Specify '-depth 32 -define quantum:format=floating-point' to read/write
single precision floating point TIFF and raw formats.
* Specify '-depth 64 -define quantum:format=floating-point' to read/write
double precision floating point TIFF and raw formats.
* If you overlaying an image with a negative offset, the image is no
longer wrapped around the left and right edges of the canvas.
2006-03-20 6.2.6-5 Cristy <stentz@image...>
* Fix Group4-compression in the PDF writer.
2006-03-06 6.2.6-4 Cristy <stentz@image...>
* Read image filenames that start with a dash (e.g. display -- -logo.png).
* Do not set the image opacity when reading a PSD colormap index (reference
http://redux.imagemagick.org/discussion-server/viewtopic.php?p=18026).
* By default, ImageMagick sets the page size to the MediaBox. Some
PDF files, however, have a CropBox that is smaller than the MediaBox and
may include white space, registration or cutting marks outside the CropBox.
To force ImageMagick to use the CropBox rather than the MediaBox, use
-define (e.g. -define pdf:use-cropbox=true).
* RGB to CMYK color conversion is now scaled properly.
* The command line utilities properly returns a non-zero status when an
exception is thrown.
Changes 6.2.6.2
* Fix a memory leak in each of CompositeImageCommand() and CompositeImage()
* Add new options -layers compare-any, -layers compare-clear,
-layers compare-overlay, and -layers optimize.
* Draw last dash in a dashed polyline.
* Add %D to -format to return the image disposal method.
* ncorrect handling of file:// URIs causes data loss (patch from Daniel
Kobras).
* Set default BMP resolution units to PixelsPerCentimeter (problem report
from digipete@shaw...).
* SetImageType(): monochrome images are not required to be colormapped
* Initialize blob->mapped to MagickFalse in AttachBlob()
* Use painters algorithm for the -draw point primitive
* NormalizeImage() now normalizes the opacity channel correctly
* QueryFontMetrics() now accounts for the font stroke width
checksum and size were correct and I managed to download the outdated
version from two different hosts. Must be Monday ...
Oh yes, bump the package revision again.
Several changes are involved since they are all interrelated. These
changes affect about 1000 files.
The first major change is rewriting bsd.builtin.mk as well as all of
the builtin.mk files to follow the new example in bsd.builtin.mk.
The loop to include all of the builtin.mk files needed by the package
is moved from bsd.builtin.mk and into bsd.buildlink3.mk. bsd.builtin.mk
is now included by each of the individual builtin.mk files and provides
some common logic for all of the builtin.mk files. Currently, this
includes the computation for whether the native or pkgsrc version of
the package is preferred. This causes USE_BUILTIN.* to be correctly
set when one builtin.mk file includes another.
The second major change is teach the builtin.mk files to consider
files under ${LOCALBASE} to be from pkgsrc-controlled packages. Most
of the builtin.mk files test for the presence of built-in software by
checking for the existence of certain files, e.g. <pthread.h>, and we
now assume that if that file is under ${LOCALBASE}, then it must be
from pkgsrc. This modification is a nod toward LOCALBASE=/usr. The
exceptions to this new check are the X11 distribution packages, which
are handled specially as noted below.
The third major change is providing builtin.mk and version.mk files
for each of the X11 distribution packages in pkgsrc. The builtin.mk
file can detect whether the native X11 distribution is the same as
the one provided by pkgsrc, and the version.mk file computes the
version of the X11 distribution package, whether it's built-in or not.
The fourth major change is that the buildlink3.mk files for X11 packages
that install parts which are part of X11 distribution packages, e.g.
Xpm, Xcursor, etc., now use imake to query the X11 distribution for
whether the software is already provided by the X11 distribution.
This is more accurate than grepping for a symbol name in the imake
config files. Using imake required sprinkling various builtin-imake.mk
helper files into pkgsrc directories. These files are used as input
to imake since imake can't use stdin for that purpose.
The fifth major change is in how packages note that they use X11.
Instead of setting USE_X11, package Makefiles should now include
x11.buildlink3.mk instead. This causes the X11 package buildlink3
and builtin logic to be executed at the correct place for buildlink3.mk
and builtin.mk files that previously set USE_X11, and fixes packages
that relied on buildlink3.mk files to implicitly note that X11 is
needed. Package buildlink3.mk should also include x11.buildlink3.mk
when linking against the package libraries requires also linking
against the X11 libraries. Where it was obvious, redundant inclusions
of x11.buildlink3.mk have been removed.
* The Tru64 UNIX 4.0D/5.1 C++ compiler doesn't support ios::binary.
There is an #ifdef for this, MISSING_STD_IOS_BINARY, but nothing sets
it in configure.ac. So, I whipped up something to test it. I've tested
this with the Sun, HP, IBM, SGI, and GNU C++ compilers.
* Bitmaps in wmf files which are drawed via ipa_bmp_draw (in coders/wmf.c)
are not scaled to the output size, but drawn with the original size.
* Shear no longer produces artifacts for a 0 y-shear (e.g. 60x0).
* The PerlMagick memory, disk, etc., limits were not being set for values
other than unlimited.
* Not all memory allocated in GetTransformTokens & GetStyleTokens are freed
in SVG parsing.
* The -channel option is operational again.
* The black channel offset was incorrectly computed when compositing causing
a seg-fault (bug report from Arfune).
* Under extremely rare conditions the GIF coder had a memory leak.
* Moved image list advancement to after the progress monitor call in
QuantizeImages() (bug report by Tim Hunter).
* The black channel offset was incorrectly computed when compositing causing
a seg-fault (bug report from Arfune).
* Under extremely rare conditions the GIF coder had a memory leak.
* Moved image list advancement to after the progress monitor call in
QuantizeImages() (bug report by Tim Hunter).
* The display program no longer exits after the first image.
* The JP2 coders no longer interprets the first channel as an opacity channel.
* The VID coder no longer generates a fault (bug report from Arfune).
* CMYK Postscript with a subimage specification no longer returns a grayscale
image (bug report from Arfune).
* Handle image settings with MogrifyImageInfo() method.
* GNS contributed QueryMultilineTypeMetrics(). Its like QueryTypeMetrics()
but returns the maximum text width and height for multiple lines of text.
* Treat -channel as a setting in the command line programs.
* The black channel offset was incorrectly computed when compositing causing
a seg-fault (bug report from Arfune).
* Under extremely rare conditions the GIF coder had a memory leak.
* Moved image list advancement to after the progress monitor call in
QuantizeImages() (bug report by Tim Hunter).
in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
All library names listed by *.la files no longer need to be listed
in the PLIST, e.g., instead of:
lib/libfoo.a
lib/libfoo.la
lib/libfoo.so
lib/libfoo.so.0
lib/libfoo.so.0.1
one simply needs:
lib/libfoo.la
and bsd.pkg.mk will automatically ensure that the additional library
names are listed in the installed package +CONTENTS file.
Also make LIBTOOLIZE_PLIST default to "yes".
* PNG vulnerability fix.
* Added YCbCr coder for raw Y, Cb, and Cr samples.
* Fixed the -fx option operator precendence problem (+ and - should be the
same precendence).
* Rare memory corruption due to a JPEG comment (bug report by
brundlefly76@hotma...).
* The PerlMagick Evaluate() method no longer fails with an assertion error.
* Restore -dSAFER for a more secure Ghostscript invocation. The downside is
we must copy the Postscript file to a temporary file otherwise we get a
the ocassional invalidfileaccess fom Ghostscript.
* Do not report image depth unless the -verbose or -format %z option is used
with the identify program.
* Center gravity now works when cropping by percent (e.g. -crop 75%).
* Small memory leak on exception in the ImageToBlob() method.
* %@ returns the image bounding box (e.g. identify -format %@ logo:).
* Sync pixel cache when cloning an image-- just in case someone clones
an image clone and accesses pixels with AcquireImagePixel() instead of
GetImagePixels().
Changes:
Bug fixes:
* Fixed problem with relative filename wildcards (e.g.
identify images/*.jpg)
* DrawSetStrokeDashArray() now respects the number_elements argument.
Performance improvements:
* Don't open a loadable module if its already open.
* Added anonymous memory-mapping to the pixel cache. This makes it
possible for memory to be returned to the system after the image is
destroyed.
Utilities enhancements:
* The display program now composites any transparent images on top of a
checkered background to assist in visualizing any partial transparent
pixels.
Coder additions/improvments:
* When an unknown property is encountered in the XCF coder, it enters a
bogus loop that never terminates.
Code/structure enhancements:
* Introduce MagickBooleanType and MagickStatusType types of unsigned int.
These types are 100% compatible with the existing API but removes
ambiguity. Previously we got complaints that users did not realize that a
return value of unsigned int in most cases meant a binary value (0/1).
MagickStatusType is used for methods that return a bit mask.
* Introduce MagickFalse and MagickTrue while we deprecate True/False.
And more...
* DrawSetStrokeDashArray() now respects the number_elements argument
* Since the WMF coder has Wand dependancies we only enable this coder when
both WMF is available and module support enabled
* Some XCF tiles were not being read properly
* Fixed memory leak in EPT coder
* Fixed memory leak in DestroyImage()
* Close Windows registry when no longer needed
* RelinquishUniqueFileResource() was not freeing file resource properly
* Free the ImageInfo structure allocated by CloneImageInfo() in the
WriteImages() method
* EPT images cannot support blobs
* Fixed temporary file resource limit leak in RelinquishUniqueFileResource()
* ConvolveImageChannel() incorrectly initialized non-selected channels to 0
* Added Cisco IP phone image format (write only)
(to ignore any errors).
This is so in the rare case that you already have files from an
old install that it won't fail to install new package.
This was discussed with maintainer, tron@, in March.
* MagickWand API, a higher level C interface to the ImageMagick methods.
* Increased stability. The library was checked and cross-checked with
splint and valgrind to eliminate security vulnerabilities and common
programming mistakes as well as ensure no memory leaks.
* A new -fx option to apply a mathematical expression to an image list from
the command line.
* Algorithms were improved to reduce processing requirements resulting in a
significant speed-up over previous releases.
* All regression tests pass at Q8, Q16, and Q32 on a variety of platforms
including Linux, Solaris, FreeBSD, Mac OS X, and Windows.
* The composite methods have been corrected to precisely conform to the
SVG standard.
* New image comparison utility, `compare'.
* Better support for CMYK image workflow.
* New string handling methods to help prevent potential buffer overflow
problems.
* Error reporting has more detail to help identify the cause of a
particular problem.
* Bug fixes
by moving the inclusion of buildlink3.mk files outside of the protected
region. This bug would be seen by users that have set PREFER_PKGSRC
or PREFER_NATIVE to non-default values.
BUILDLINK_PACKAGES should be ordered so that for any package in the
list, that package doesn't depend on any packages to the left of it
in the list. This ordering property is used to check for builtin
packages in the correct order. The problem was that including a
buildlink3.mk file for <pkg> correctly ensured that <pkg> was removed
from BUILDLINK_PACKAGES and appended to the end. However, since the
inclusion of any other buildlink3.mk files within that buildlink3.mk
was in a region that was protected against multiple inclusion, those
dependencies weren't also moved to the end of BUILDLINK_PACKAGES.
Changes since version 5.5.6:
- File descriptor leak prevented temporary disk pixel cache from being
removed under Windows.
- Color profile patches provided by (dge at softec.st).
- West/East geometry was computed with image width rather than height.
- The MNG encoder failed to set the JNG bit in the simplicity profile.
- The MNG encoder failed to write FRAM chunks when all images were JNG.
- The JNG encoder wrote the wrong alpha_sample_depth for opaque images.
- Fixed JPEG EXIF problem.
- Added -thumbnail as an option to the utilities.
- No TIFF preview was written on EPT write (patch provided by
Lars Ruben Skyum).
- NegateImage() now negates the K channel of a CMYK image (patch provided
by Lars Ruben Skyum).
- Parameter 'elevation' misspeclled for PerlMagick Shape() method.
- A number of minor leak/unitialzed memory problems fixed.
- Allocate free nodes from the heap in QuantizeImage().
- Magick-config --version returned gibberish.
- Adopted Bob Friesenhahn's patterns-- use as filename pattern:checkboard,
pattern:bricks, etc.
- We cannot reliably auto rotate PDF files so this feature was removed.
- The conjure program did not correctly handle the gravity attribute.
- The persistent cache reference count was not properly incremented.
- Added $image->Describe() method to PerlMagick to interface to the
DescribeImage() C API method.
- Added support for the EXIF Tag Parsing Library. Currently we simply
display the tags when calling DescribeImage(). In the near future
there will be support for modifying or adding tags.
- Added Bob Friesenhahn's updated Windows installation instructions.
- Interfaced the drawing routines with the new MagickWand API.
MagickWand will be the primary public C interface to ImageMagick in
the near future.
- magick/effect.c: RandomChannelThresholdImage was not handling
PseudoColor, non-gray images correctly.
- png.c would not compile with libpng versions older than libpng-0.95,
due to bugs introduced in ImageMagick version 5.5.2.
- Implemented -random-threshold and -ordered-dither options.
- The locale messaging system now uses a hash for fast lookup.
- Updated libtool to the new released version, 1.5.
- Fixed bug with decoding grayscale PNG images and JNG alpha channel
at Q:32.
- Now recognize 32-bit hex color specifications, patches provided by
Bob Friesenhahn.
- Started API wrappers based on Bob Friesenhahn's method suggestions.
- Text annotations that started with '\n' were not rendered correctly.
- Removed artifacts from images rotated with a small number of degrees.
- Minor bug fix in the ParseGeometry() method.
- Modified the non-public inline AlphaComposite() to use a PixelPacket
pointer; previously it returned a PixelPacket structure.
- You can now specify an image geometry as an image file (e.g. -geometry
image.jpg).
- Use new temporary file manager for JNG components.
- Added support for 12-bit TIFF images.
- Added improved locale message subsystem (contributed by Kyle Shorter).
- Removed a bias from SampleImage() and DrawAffineImage() (bug report
by Glenn Randers-Pehrson).
- PerlMagick now recognizes percent values for fuzz or opacity.
- Not enough memory allocated for reading PCX (bug report by Trevor
Willis).
- There were artifacts when using the Bessel function for resizing
(bug report by Bob Friesenhahn).
- Added -resample to convert to change the resolution of an image.
- Added a temporary file manager that prevents race conditions and
removes any remaining files on exit.
- Prepped ImageMagick to work with Visual C++ 7.0 under Windows.
The Windows configure patches came from William Radcliffe.
- The refresh of the display image window no longer lags when the
magnify window overlay it.
- Numerous code clean-up and minor speed ups based on problem areas
identified in the Graphics-Magick ChangeLog.
Changes are lots of bug fixes and minor enhancements (several pages
worth of it).
XXX Those two should probably be using a Makefile.common instead
XXX of just copying the appropriate bits.