12012-07-30  6.7.8-7 Cristy  <quetzlzacatenango@image...>
2  * Add MagickOptimizeImageTransparency() method.
3
42012-03-18  6.7.6-1 Anthony  <anthony@griffith...>
5  * Add MagickCompositeLayers() to allow you to compose two magick wands
6
72012-03-15  6.7.6-1 Anthony  <anthony@griffith...>
8  * Rename wand iteration flags to more logical names
9  * Fix the MagickWand add/read insertion of new images into wands
10
112010-11-21  6.6.6-0 Cristy  <quetzlzacatenango@image...>
12  * Add DrawGetFontResolution() / DrawSetFontResolution().
13
142009-10-10  6.5.6-10 Cristy  <quetzlzacatenango@image...>
15  * Add MagickSetImageArtifact(), etc.  Wand artifacts are like properties
16    except they are not exported.  They are needed for some method such
17    as setting compose:args for the composite DisplaceCompositeOp compose
18    operator.
19
202009-08-27  6.5.5-3 Cristy  <quetzlzacatenango@image...>
21  * Added MagickSetOpacity/MagickGetOpacity.
22
232009-07-27  6.5.4-7 Cristy  <quetzlzacatenango@image...>
24  * Added MagickSetBorderColor/MagickGetBorderColor.
25
262009-04-27  6.5.1-9 Cristy  <quetzlzacatenango@image...>
27  * Added MagickSetImageFuzz/MagickGetImageFuzz.
28
292009-03-08  6.4.9-10 Mikko  <mkoppanen@php...>
30  * Added DrawGet/SetTextKerning and DrawGet/SetInterWordSpacing.
31
322008-11-27  6.4.6-7 Cristy  <quetzlzacatenango@image...>
33  * MagickSetVirtualPixelMethod() now properly sets and returns the
34    virtual pixel method.
35
362008-11-03  6.4.5-4 Cristy  <quetzlzacatenango@image...>
37  * Do not filter drawing commands.
38
392008-10-27  6.4.5-1 Cristy  <quetzlzacatenango@image...>
40  * Add MagickSparseColorImage() API method.
41
422008-02-23  6.3.9-0 Cristy  <quetzlzacatenango@image...>
43  * Patch MagickReadImageBlob() to support Postscript which does not have
44    native blob support.
45
462008-01-28  6.3.8-3 Cristy  <quetzlzacatenango@image...>
47  * Return wand->images->depth for MagickGetImageDepth();
48
492008-01-10  6.3.7-10 Cristy  <quetzlzacatenango@image...>
50  * Inherit image exception *before* destroying the cloned image (reference
51    http://imagemagick.org/discourse-server/viewtopic.php?f=3&t=10415).
52
532007-11-27  6.3.7-2 Cristy  <quetzlzacatenango@image...>
54  * Fix memory leak in MagickSetImageProfile() (reference
55    https://imagemagick.org/discourse-server/viewtopic.php?f=1&t=10197).
56
572007-11-06  6.3.6-10 Cristy  <quetzlzacatenango@image...>
58  * New MagickSetImageAlphaChannel() method to activate, deactivate, reset, or
59	  set the image alpha channel.
60
612007-10-27  6.3.6-4 Cristy  <quetzlzacatenango@image...>
62  * Added get/set font and pointsize methods to magick-property.c (reference
63    http://imagemagick.org/discourse-server/viewtopic.php?f=6&t=9997).
64
652007-09-10  6.3.5-9 Cristy  <quetzlzacatenango@image...>
66  * Added MagickGetImageProperties(), MagickGetImageOptions(), and
67    MagickGetImageProfiles() methods.
68
692007-07-18  6.3.5-3 Cristy  <quetzlzacatenango@image...>
70  * Clone profile before returning from MagickRemoveImageProfile().
71
722007-07-16  6.3.5-2 Cristy  <quetzlzacatenango@image...>
73  * Add MagickGetType() method.
74  * Fix MagickAddImage() relative to the iterator offset (reference
75    http://imagemagick.org/discourse-server/viewtopic.php?f=3&t=9218).
76
772007-05-23  6.3.4-5 Cristy  <quetzlzacatenango@image...>
78  * * Add MagickPaintFloodfillImage() method.
79
802007-04-18  6.3.3-9 Kwon  <xogusgalaxy@nate....>
81  * Fixed small memory leak in RelinquishWandId().
82
832007-02-24  6.3.3-0 Cristy  <quetzlzacatenango@image...>
84  * Add MagickResetImagePage() to reset the image page canvas and position.
85
862007-01-16  6.3.2-0 Cristy  <stentz@image...>
87  * Added methods MagickGetAntialias(), MagickSetAntialias(),
88    MagickGetInterpolateMethod(), and MagickSetInterpolateMethod().
89
902007-01-08  6.3.1-7 Cristy  <stentz@image...>
91  * MagickOrtderedPosterizeImage() performs an ordered dither based on a number
92  	of pre-defined dithering threshold maps, but over multiple intensity levels,
93  	which can be different for different channels, according to the input
94  	arguments.
95  * Added MagickSetImageClipMask(), MagickGetImageClipMask() methods.
96  * Add MagickSetImageProperty()/MagickGetImageProperty() and deprecate
97    MagickSetImageAttribute()/MagickGetImageAttribute().
98
992006-10-12  6.3.0-1 Cristy  <stentz@image...>
100  * MagickSetImageColormapColor() now properly sync the image colormap.
101  * Add MagickGetImageInterpolateMethod() and MagickSetImageInterpolateMethod().
102
1032006-06-26  6.2.8-6 Cristy  <stentz@image...>
104  * DrawSetFillRule() no longer emits an improper MVG command.
105
1062006-06-26  6.2.8-0 Cristy  <stentz@image...>
107  * Fixed small memory leak in ClearDrawingWand().
108
1092006-05-10  6.2.7-6 Cristy  <stentz@image...>
110  * Add MagickSegmentImage() method to API.
111
1122005-12-31  Cristy  <stentz@image...>
113  * Opacity value not being returned by PixelGetColorAsString() /
114    PixelGetColorAsNormalizedString() correctly (bug report by O. Watson).
115
1162005-12-28  Cristy  <stentz@image...>
117  * DrawSetGravity() actually sets the gravity when ForgetGravity is
118    specified (bug report by O. Watson).
119  * Added MagickSetIteratorIndex() and MagickGetIteratorIndex() and
120    deprecated MagickSetImageIndex() and MagickGetImageIndex().
121
1222005-12-21  Cristy  <stentz@image...>
123  * PixelSyncIterator() promotes PseudoClass images to DirectClass (bug
124    report by O. Watson).
125  * Fix PixelGetIteratorRow()  to return the correct image row.
126
1272005-12-11  Cristy  <stentz@image...>
128  * Add PixelGetIteratorRow() and PixelGetCurrentIteratorRow() methods
129    (suggested by O. Watson).
130  * Add PixelGetColorAsNormalizedString() method (suggested by O. Watson).
131
1322005-11-14  Cristy  <stentz@image...>
133  * Add MagickSigmoidalContrastImage() method.
134  * Set the pixel depth in MagickSetPixelColor().
135
1362005-10-28  Cristy  <stentz@image...>
137  * Add MagickRandomThresholdImage(), MagickRandomThresholdImageChannel(),
138    and MagickShadeImage() (suggested by O. Watson).
139
1402005-10-18  Cristy  <stentz@image...>
141  * PixelGetQuantumColor() automatically converts CMYK pixel wands to RGB.
142  * Add DrawResetVectorGraphics() method to reset the vector graphics but not
143    the drawing attributes.
144
1452005-09-20  Cristy  <yarrow@image...>
146  * Do not inherit base opacity when setting fill/stroke color.
147
1482005-09-10  Cristy  <yarrow@image...>
149  * Added MagickGetImageTicksPerSecond() and MagickSetImageTicksPerSecond().
150  * Added MagickGetMagickResource().
151  * Added MagickThumbnaiImage().
152
1532005-09-01  Cristy  <yarrow@image...>
154  * DrawSetStrokeDashArray() no longer faults for an array of one element
155    (bug report by O. Watson).
156
1572005-08-24  Cristy  <yarrow@image...>
158  * Add MagickWandGenesis() and MagickWandTermnus() methods.
159
1602005-08-06  Cristy  <yarrow@image...>
161  * Add MagickSetImageExtent() method.
162  * Add MagickSetType() method.
163
1642005-06-15  Cristy  <yarrow@image...>
165  * Add MagickClearException() to wand/magick-wand.h.
166
1672005-06-15  Cristy  <yarrow@image...>
168  * DrawGetFillOpacity() and DrawSetFillOpacity() were setting alpha values
169    rather than opacity.  Note, both of these methods are deprecated.
170  * Added MagickSetImageProgressMonitor() to monitor the progress of a specific
171    image.
172
1732005-06-07  Cristy  <yarrow@image...>
174  * Initialize pixel iterator ID in NewPixelRegionIterator (bug report by
175    O. Watson).
176  * Add MagickGetImagePixelColor() method (suggested by O. Watson).
177
1782005-06-01  Cristy  <yarrow@image...>
179  * Added methods PixelSetFirstIteratorRow(), PixelSetLastIteratorRow(),
180    and IsPixelWandSimilar().
181
1822005-05-28  Cristy  <yarrow@image...>
183  * MagickGetImageTotalInkDensity() returns the total ink density for an image.
184
1852005-05-16  Cristy  <yarrow@image...>
186  * Add MagickSetPage() and MagickSetImagePage() methods.
187
1882005-05-10  Cristy  <yarrow@image...>
189  * CloneDrawingWand() no longer faults when the supplied drawing wand has not
190    been initialized.
191
1922005-05-08  Cristy  <yarrow@image...>
193  * MagickGetImageCompressionQuality() properly returns the image compression
194    quality.  Previously it returned the wand compression quality.
195
1962005-04-29  Cristy  <yarrow@image...>
197  * PixelSetYellowQuantum() now sets the correct color component.
198  * Add MagickSetBackgroundColor() method to set the wand's background color
199    attribute.
200
2012005-04-14  Cristy  <yarrow@image...>
202  * Inherit exception when MagickWriteImageFile() fails.
203
2042005-04-11  Cristy  <yarrow@image...>
205  * Added MagickRegionOfInterestImage() to return a region of an image as a
206    new wand.
207
2082005-04-10  Cristy  <yarrow@image...>
209  * Throw exception if fdopen() fails in
210    MagickWriteImageFile()/MagickReadImageFile() methods.
211
2122005-03-22  Cristy  <yarrow@image...>
213  * Added MagickSigmoidalContrastImage() for sigmoidal non-linearity contrast
214    control.
215
2162005-03-10  Chris Madison  <madisonblu@hotma...>
217  * Added the MagickSepiaToneImage() method to simulate a sepia-toned photo.
218
2192004-03-05  Chris Madison  <madisonblu@hotma...>
220  * Add MagickGetImageAttribute() method.
221
2222005-02-15  Peter Seiderer  <ps.report@gmx.n...>
223  * Avoid an assert by checking the return from GetImageFromMagickWand(0.
224
2252005-01-19  Cristy  <yarrow@image...>
226  * Permit NULL for MagickSetFilename() & MagickSetImageFilename().
227
2282005-01-10  Cristy  <yarrow@image...>
229  * Permit NULL for MagickSetFormat() & MagickSetImageFormat().
230
2312004-12-15  Cristy  <yarrow@image...>
232  * Added ClearMagickWand(), ClearPixelIterator(), ClearPixelWand() and
233    ClearDrawingWand() methods.
234
2352004-12-10  Cristy  <yarrow@image...>
236  * Set the vector graphics length in DrawSetVectorGraphics() (bug report from
237    O. Watson).
238
2392004-12-09  Cristy  <yarrow@image...>
240  * Classic off-by-one patch for CloneDrawingWand() (bug report from O. Watson).
241
2422004-12-08  Cristy  <yarrow@image...>
243  * DrawGetStrokeOpacity() just calls DrawGetStrokeAlpha(); it is supposed to
244    return the stroke color's opacity, not the alpha (problem reports from O.
245    Watson).
246
2472004-12-07  Cristy  <yarrow@image...>
248  * Fixed problem reports from O. Watson:
249    1) If the format of an image is not set, the BLOB returned by
250       MagickGetImageBlob() will be empty, but no MagickWand error condition
251       is ever set.
252    2) If the MagickWand's image sequence's format if set (via
253       MagickSetFormat()), but the image formats of individual images are not
254       set, any attempt to retrieve the sequence's image BLOB still fails
255       (i.e. via MagickGetImagesBlob()). If the MagickWand's image format
256       has been set, the API should use that format as the exclusive format
257       for the returned BLOB.
258    3) When the situation in #2 above occurs, no error condition is
259       set. If the problem mentioned in #2 is fixed, an error condition
260       should be set if there is nothing (no format or no filename), from
261       which the API can determine the image format in which it should
262       return the BLOB.
263    4) Even though the MagickWand's image format has been set, when each
264       individual image's format/filename is empty, MagickWriteImagesFile()
265       sets the following error:
266
267         no encode delegate for this image format 'filename.ext.0'
268
269       where "filename.ext" was the name of the file on which the filehandle
270       was opened. The format of the MagickWand (if it is set). should
271       suffice as the desired encoding delegate.
272
2732004-11-18  Cristy  <yarrow@image...>
274  * Added MagickNewImage() adds a blank image canvas of the specified size and
275    background color to the wand.
276
2772004-11-15  Cristy  <yarrow@image...>
278  * Added MagickGetInterlaceScheme() to correspond to
279    MagickSetInterlaceScheme().
280
2812004-11-06  Cristy  <yarrow@image...>
282  * GNS contributed MagickQueryMultilineFontMetrics().  Its like
283    MagickQueryFontMetrics() but returns the maximum text width and height for
284    multiple lines of text.
285
2862004-11-04  Cristy  <yarrow@image...>
287  * MagickReadImageBlob() and MagickReadImageFile() calls GetFirstImageInList(),
288    previously GetLastImageInList().
289
2902004-10-28  Cristy  <yarrow@image...>
291  * MagickTrimImage() was not properly trimmming the image.
292
2932004-10-27  Cristy  <yarrow@image...>
294  * Added DrawSetTextAlignment() and DrawGetTextAlignment() methods (suggested
295    by Daniel Jackson).
296
2972004-10-25  Cristy  <yarrow@image...>
298  * Verify the Wand QuantumDepth matches that of the ImageMagick core API.
299  * Added MagickSetAdjoin() and MagickSetImageAdjoin() methods.
300
3012004-10-17  Cristy  <yarrow@image...>
302  * Added the MagickGetImagesBlob() method to turn an image sequence into a
303    blob.
304
3052004-10-14  Cristy  <yarrow@image...>
306  * Added methods MagickClearException(), DrawClearException(),
307    PixelClearException(), and PixelClearIteratorException().
308
3092004-10-12  Cristy  <yarrow@image...>
310  * Add DrawGetVectorGraphics()/DrawSetVectorGraphics()/methods as a way to
311    persist the vector graphics state.
312
3132004-09-30  Cristy  <yarrow@image...>
314  * Add new MagickQueryConfigureOption() method to return a valur associated
315    with a particular option.
316
3172004-09-29  Cristy  <yarrow@image...>
318  * Return an error if MagickSetImageIndex() requests a bogus image index.
319  * MagickWriteImages(): default to a reasonable filename when no filename is
320    provided.
321
3222004-09-28  Cristy  <yarrow@image...>
323  * Add new CloneDrawingWand() method.
324
3252004-09-15  Cristy  <yarrow@image...>
326  * If the filename parameter of MagickWriteImage() is NULL, use the existing
327    filename.
328
3292004-09-13  Chris Madison  <madisonblu@hotma...>
330  * DestroyMagickWand() was previous void, now it returns (MagickWand *) NULL
331    to force the wand to a known value and to detect logic errors in the program
332    (any reference to the wand after it is destroyed will cause a fault).
333    Other destroy methods will be changed in this manner as well.  Note,
334    this change will not affect existing programs that rely on these methods.
335
3362004-09-11  Cristy  <yarrow@image...>
337  * Relinquish pixel iterator ID to prevent small memory leak.
338
3392004-09-08  Cristy  <yarrow@image...>
340  * Add MagickSetResolution(), required to render Postscript at a density
341    other than the default (e.g. 72dpi).
342
3432004-09-03  Cristy  <yarrow@image...>
344  * Add IsMagickWand(), IsDrawingWand(), IsPixelWand(), and IsPixelIterator()
345    methods.
346  * Convert several drawing wand methods from void to MagickBooleanType so
347    they return MagickFalse if an error occurs (e.g. DrawComposite()).
348
3492004-08-28  Cristy  <yarrow@image...>
350  * We now export the DrawComposite() drawing wand method as a public method.
351    Previously it was private.
352