12012-03-15 7.0.0-0 Anthony  <anthony@griffith...>
2  * Fix the MagickWand add/read insertion of new images into wands
3
42012-02-26 7.0.0-0 Anthony  <anthony@griffith...>
5  * A super-struct MagickCLI which includes a MagicWand is used to add the
6    extra requirements needed for Command Land and Script handling of CLI
7    options.  This structure allows CLI options to use either MagickWand or
8    MagickCore API's to implement the CLI options.
9  * Adding stacking options to "magick"
10
112012-02-12  7.0.0-0 Anthony  <anthony@griffith...>
12  * new module "magick-cli" providing base for new "magick" command
13
142011-10-04  7.0.0-0 Anthony  <anthony@griffith...>
15  * Rename wand iteration flags to more logical names
16
172011-09-21  7.0.0-0 Anthony  <anthony@griffith...>
18  * new module "operator.c" which will holds the standard CLI options
19
202010-11-21  6.6.6-0 Cristy  <quetzlzacatenango@image...>
21  * Add DrawGetFontResolution() / DrawSetFontResolution().
22
232009-10-10  6.5.6-10 Cristy  <quetzlzacatenango@image...>
24  * Add MagickSetImageArtifact(), etc.  Wand artifacts are like properties
25    except they are not exported.  They are needed for some method such
26    as setting compose:args for the composite DisplaceCompositeOp compose
27    operator.
28
292009-08-27  6.5.5-3 Cristy  <quetzlzacatenango@image...>
30  * Added MagickSetOpacity/MagickGetOpacity.
31
322009-07-27  6.5.4-7 Cristy  <quetzlzacatenango@image...>
33  * Added MagickSetBorderColor/MagickGetBorderColor.
34
352009-04-27  6.5.1-9 Cristy  <quetzlzacatenango@image...>
36  * Added MagickSetImageFuzz/MagickGetImageFuzz.
37
382009-03-08  6.4.9-10 Mikko  <mkoppanen@php...>
39  * Added DrawGet/SetTextKerning and DrawGet/SetInterWordSpacing.
40
412008-11-27  6.4.6-7 Cristy  <quetzlzacatenango@image...>
42  * MagickSetVirtualPixelMethod() now properly sets and returns the
43    virtual pixel method.
44
452008-11-03  6.4.5-4 Cristy  <quetzlzacatenango@image...>
46  * Do not filter drawing commands.
47
482008-10-27  6.4.5-1 Cristy  <quetzlzacatenango@image...>
49  * Add MagickSparseColorImage() API method.
50
512008-02-23  6.3.9-0 Cristy  <quetzlzacatenango@image...>
52  * Patch MagickReadImageBlob() to support Postscript which does not have
53    native blob support.
54
552008-01-28  6.3.8-3 Cristy  <quetzlzacatenango@image...>
56  * Return wand->images->depth for MagickGetImageDepth();
57
582008-01-10  6.3.7-10 Cristy  <quetzlzacatenango@image...>
59  * Inherit image exception *before* destroying the cloned image (reference
60    http://imagemagick.org/discourse-server/viewtopic.php?f=3&t=10415).
61
622007-11-27  6.3.7-2 Cristy  <quetzlzacatenango@image...>
63  * Fix memory leak in MagickSetImageProfile() (reference
64    https://imagemagick.org/discourse-server/viewtopic.php?f=1&t=10197).
65
662007-11-06  6.3.6-10 Cristy  <quetzlzacatenango@image...>
67  * New MagickSetImageAlphaChannel() method to activate, deactivate, reset, or
68          set the image alpha channel.
69
702007-10-27  6.3.6-4 Cristy  <quetzlzacatenango@image...>
71  * Added get/set font and pointsize methods to magick-property.c (reference
72    http://imagemagick.org/discourse-server/viewtopic.php?f=6&t=9997).
73
742007-09-10  6.3.5-9 Cristy  <quetzlzacatenango@image...>
75  * Added MagickGetImageProperties(), MagickGetImageOptions(), and
76    MagickGetImageProfiles() methods.
77
782007-07-18  6.3.5-3 Cristy  <quetzlzacatenango@image...>
79  * Clone profile before returning from MagickRemoveImageProfile().
80
812007-07-16  6.3.5-2 Cristy  <quetzlzacatenango@image...>
82  * Add MagickGetType() method.
83  * Fix MagickAddImage() relative to the iterator offset (reference
84    http://imagemagick.org/discourse-server/viewtopic.php?f=3&t=9218).
85
862007-05-23  6.3.4-5 Cristy  <quetzlzacatenango@image...>
87  * * Add MagickPaintFloodfillImage() method.
88
892007-04-18  6.3.3-9 Kwon  <xogusgalaxy@nate....>
90  * Fixed small memory leak in RelinquishWandId().
91
922007-02-24  6.3.3-0 Cristy  <quetzlzacatenango@image...>
93  * Add MagickResetImagePage() to reset the image page canvas and position.
94
952007-01-16  6.3.2-0 Cristy  <stentz@image...>
96  * Added methods MagickGetAntialias(), MagickSetAntialias(),
97    MagickGetInterpolateMethod(), and MagickSetInterpolateMethod().
98
992007-01-08  6.3.1-7 Cristy  <stentz@image...>
100  * MagickOrtderedPosterizeImage() performs an ordered dither based on a number
101        of pre-defined dithering threshold maps, but over multiple intensity levels,
102        which can be different for different channels, according to the input
103        arguments.
104  * Added MagickSetImageClipMask(), MagickGetImageClipMask() methods.
105  * Add MagickSetImageProperty()/MagickGetImageProperty() and deprecate
106    MagickSetImageAttribute()/MagickGetImageAttribute().
107
1082006-10-12  6.3.0-1 Cristy  <stentz@image...>
109  * MagickSetImageColormapColor() now properly sync the image colormap.
110  * Add MagickGetImageInterpolateMethod() and MagickSetImageInterpolateMethod().
111
1122006-06-26  6.2.8-6 Cristy  <stentz@image...>
113  * DrawSetFillRule() no longer emits an improper MVG command.
114
1152006-06-26  6.2.8-0 Cristy  <stentz@image...>
116  * Fixed small memory leak in ClearDrawingWand().
117
1182006-05-10  6.2.7-6 Cristy  <stentz@image...>
119  * Add MagickSegmentImage() method to API.
120
1212005-12-31  Cristy  <stentz@image...>
122  * Opacity value not being returned by PixelGetColorAsString() /
123    PixelGetColorAsNormalizedString() correctly (bug report by O. Watson).
124
1252005-12-28  Cristy  <stentz@image...>
126  * DrawSetGravity() actually sets the gravity when ForgetGravity is
127    specified (bug report by O. Watson).
128  * Added MagickSetIteratorIndex() and MagickGetIteratorIndex() and
129    deprecated MagickSetImageIndex() and MagickGetImageIndex().
130
1312005-12-21  Cristy  <stentz@image...>
132  * PixelSyncIterator() promotes PseudoClass images to DirectClass (bug
133    report by O. Watson).
134  * Fix PixelGetIteratorRow()  to return the correct image row.
135
1362005-12-11  Cristy  <stentz@image...>
137  * Add PixelGetIteratorRow() and PixelGetCurrentIteratorRow() methods
138    (suggested by O. Watson).
139  * Add PixelGetColorAsNormalizedString() method (suggested by O. Watson).
140
1412005-11-14  Cristy  <stentz@image...>
142  * Add MagickSigmoidalContrastImage() method.
143  * Set the pixel depth in MagickSetPixelColor().
144
1452005-10-28  Cristy  <stentz@image...>
146  * Add MagickRandomThresholdImage(), MagickRandomThresholdImageChannel(),
147    and MagickShadeImage() (suggested by O. Watson).
148
1492005-10-18  Cristy  <stentz@image...>
150  * PixelGetQuantumColor() automatically converts CMYK pixel wands to RGB.
151  * Add DrawResetVectorGraphics() method to reset the vector graphics but not
152    the drawing attributes.
153
1542005-09-20  Cristy  <yarrow@image...>
155  * Do not inherit base opacity when setting fill/stroke color.
156
1572005-09-10  Cristy  <yarrow@image...>
158  * Added MagickGetImageTicksPerSecond() and MagickSetImageTicksPerSecond().
159  * Added MagickGetMagickResource().
160  * Added MagickThumbnaiImage().
161
1622005-09-01  Cristy  <yarrow@image...>
163  * DrawSetStrokeDashArray() no longer faults for an array of one element
164    (bug report by O. Watson).
165
1662005-08-24  Cristy  <yarrow@image...>
167  * Add MagickWandGenesis() and MagickWandTermnus() methods.
168
1692005-08-06  Cristy  <yarrow@image...>
170  * Add MagickSetImageExtent() method.
171  * Add MagickSetType() method.
172
1732005-06-15  Cristy  <yarrow@image...>
174  * Add MagickClearException() to wand/magick-wand.h.
175
1762005-06-15  Cristy  <yarrow@image...>
177  * DrawGetFillOpacity() and DrawSetFillOpacity() were setting alpha values
178    rather than opacity.  Note, both of these methods are deprecated.
179  * Added MagickSetImageProgressMonitor() to monitor the progress of a specific
180    image.
181
1822005-06-07  Cristy  <yarrow@image...>
183  * Initialize pixel iterator ID in NewPixelRegionIterator (bug report by
184    O. Watson).
185  * Add MagickGetImagePixelColor() method (suggested by O. Watson).
186
1872005-06-01  Cristy  <yarrow@image...>
188  * Added methods PixelSetFirstIteratorRow(), PixelSetLastIteratorRow(),
189    and IsPixelWandSimilar().
190
1912005-05-28  Cristy  <yarrow@image...>
192  * MagickGetImageTotalInkDensity() returns the total ink density for an image.
193
1942005-05-16  Cristy  <yarrow@image...>
195  * Add MagickSetPage() and MagickSetImagePage() methods.
196
1972005-05-10  Cristy  <yarrow@image...>
198  * CloneDrawingWand() no longer faults when the supplied drawing wand has not
199    been initialized.
200
2012005-05-08  Cristy  <yarrow@image...>
202  * MagickGetImageCompressionQuality() properly returns the image compression
203    quality.  Previously it returned the wand compression quality.
204
2052005-04-29  Cristy  <yarrow@image...>
206  * PixelSetYellowQuantum() now sets the correct color component.
207  * Add MagickSetBackgroundColor() method to set the wand's background color
208    attribute.
209
2102005-04-14  Cristy  <yarrow@image...>
211  * Inherit exception when MagickWriteImageFile() fails.
212
2132005-04-11  Cristy  <yarrow@image...>
214  * Added MagickRegionOfInterestImage() to return a region of an image as a
215    new wand.
216
2172005-04-10  Cristy  <yarrow@image...>
218  * Throw exception if fdopen() fails in
219    MagickWriteImageFile()/MagickReadImageFile() methods.
220
2212005-03-22  Cristy  <yarrow@image...>
222  * Added MagickSigmoidalContrastImage() for sigmoidal non-linearity contrast
223    control.
224
2252005-03-10  Chris Madison  <madisonblu@hotma...>
226  * Added the MagickSepiaToneImage() method to simulate a sepia-toned photo.
227
2282004-03-05  Chris Madison  <madisonblu@hotma...>
229  * Add MagickGetImageAttribute() method.
230
2312005-02-15  Peter Seiderer  <ps.report@gmx.n...>
232  * Avoid an assert by checking the return from GetImageFromMagickWand(0.
233
2342005-01-19  Cristy  <yarrow@image...>
235  * Permit NULL for MagickSetFilename() & MagickSetImageFilename().
236
2372005-01-10  Cristy  <yarrow@image...>
238  * Permit NULL for MagickSetFormat() & MagickSetImageFormat().
239
2402004-12-15  Cristy  <yarrow@image...>
241  * Added ClearMagickWand(), ClearPixelIterator(), ClearPixelWand() and
242    ClearDrawingWand() methods.
243
2442004-12-10  Cristy  <yarrow@image...>
245  * Set the vector graphics length in DrawSetVectorGraphics() (bug report from
246    O. Watson).
247
2482004-12-09  Cristy  <yarrow@image...>
249  * Classic off-by-one patch for CloneDrawingWand() (bug report from O. Watson).
250
2512004-12-08  Cristy  <yarrow@image...>
252  * DrawGetStrokeOpacity() just calls DrawGetStrokeAlpha(); it is supposed to
253    return the stroke color's opacity, not the alpha (problem reports from O.
254    Watson).
255
2562004-12-07  Cristy  <yarrow@image...>
257  * Fixed problem reports from O. Watson:
258    1) If the format of an image is not set, the BLOB returned by
259       MagickGetImageBlob() will be empty, but no MagickWand error condition
260       is ever set.
261    2) If the MagickWand's image sequence's format if set (via
262       MagickSetFormat()), but the image formats of individual images are not
263       set, any attempt to retrieve the sequence's image BLOB still fails
264       (i.e. via MagickGetImagesBlob()). If the MagickWand's image format
265       has been set, the API should use that format as the exclusive format
266       for the returned BLOB.
267    3) When the situation in #2 above occurs, no error condition is
268       set. If the problem mentioned in #2 is fixed, an error condition
269       should be set if there is nothing (no format or no filename), from
270       which the API can determine the image format in which it should
271       return the BLOB.
272    4) Even though the MagickWand's image format has been set, when each
273       individual image's format/filename is empty, MagickWriteImagesFile()
274       sets the following error:
275
276         no encode delegate for this image format 'filename.ext.0'
277
278       where "filename.ext" was the name of the file on which the filehandle
279       was opened. The format of the MagickWand (if it is set). should
280       suffice as the desired encoding delegate.
281
2822004-11-18  Cristy  <yarrow@image...>
283  * Added MagickNewImage() adds a blank image canvas of the specified size and
284    background color to the wand.
285
2862004-11-15  Cristy  <yarrow@image...>
287  * Added MagickGetInterlaceScheme() to correspond to
288    MagickSetInterlaceScheme().
289
2902004-11-06  Cristy  <yarrow@image...>
291  * GNS contributed MagickQueryMultilineFontMetrics().  Its like
292    MagickQueryFontMetrics() but returns the maximum text width and height for
293    multiple lines of text.
294
2952004-11-04  Cristy  <yarrow@image...>
296  * MagickReadImageBlob() and MagickReadImageFile() calls GetFirstImageInList(),
297    previously GetLastImageInList().
298
2992004-10-28  Cristy  <yarrow@image...>
300  * MagickTrimImage() was not properly trimmming the image.
301
3022004-10-27  Cristy  <yarrow@image...>
303  * Added DrawSetTextAlignment() and DrawGetTextAlignment() methods (suggested
304    by Daniel Jackson).
305
3062004-10-25  Cristy  <yarrow@image...>
307  * Verify the Wand QuantumDepth matches that of the ImageMagick core API.
308  * Added MagickSetAdjoin() and MagickSetImageAdjoin() methods.
309
3102004-10-17  Cristy  <yarrow@image...>
311  * Added the MagickGetImagesBlob() method to turn an image sequence into a
312    blob.
313
3142004-10-14  Cristy  <yarrow@image...>
315  * Added methods MagickClearException(), DrawClearException(),
316    PixelClearException(), and PixelClearIteratorException().
317
3182004-10-12  Cristy  <yarrow@image...>
319  * Add DrawGetVectorGraphics()/DrawSetVectorGraphics()/methods as a way to
320    persist the vector graphics state.
321
3222004-09-30  Cristy  <yarrow@image...>
323  * Add new MagickQueryConfigureOption() method to return a valur associated
324    with a particular option.
325
3262004-09-29  Cristy  <yarrow@image...>
327  * Return an error if MagickSetImageIndex() requests a bogus image index.
328  * MagickWriteImages(): default to a reasonable filename when no filename is
329    provided.
330
3312004-09-28  Cristy  <yarrow@image...>
332  * Add new CloneDrawingWand() method.
333
3342004-09-15  Cristy  <yarrow@image...>
335  * If the filename parameter of MagickWriteImage() is NULL, use the existing
336    filename.
337
3382004-09-13  Chris Madison  <madisonblu@hotma...>
339  * DestroyMagickWand() was previous void, now it returns (MagickWand *) NULL
340    to force the wand to a known value and to detect logic errors in the program
341    (any reference to the wand after it is destroyed will cause a fault).
342    Other destroy methods will be changed in this manner as well.  Note,
343    this change will not affect existing programs that rely on these methods.
344
3452004-09-11  Cristy  <yarrow@image...>
346  * Relinquish pixel iterator ID to prevent small memory leak.
347
3482004-09-08  Cristy  <yarrow@image...>
349  * Add MagickSetResolution(), required to render Postscript at a density
350    other than the default (e.g. 72dpi).
351
3522004-09-03  Cristy  <yarrow@image...>
353  * Add IsMagickWand(), IsDrawingWand(), IsPixelWand(), and IsPixelIterator()
354    methods.
355  * Convert several drawing wand methods from void to MagickBooleanType so
356    they return MagickFalse if an error occurs (e.g. DrawComposite()).
357
3582004-08-28  Cristy  <yarrow@image...>
359  * We now export the DrawComposite() drawing wand method as a public method.
360    Previously it was private.
361