Wand Changelog

Version 0.3.8

Released on August 3, 2014.

  • Fixed a bug that transparent background becomes filled with white when SVG is converted to other bitmap image format like PNG. [#184]
  • Added Image.negate() method. [#174 by Park Joon-Kyu]
  • Fixed a segmentation fault on Image.modulate() method. [#173 by Ted Fung, #158]
  • Added suggestion to install freetype also if Homebrew is used. [#141]
  • Now image/x-gif also is determined as animation. [#181 by Juan-Pablo Scaletti]

Version 0.3.7

Released on March 25, 2014.

  • A hotfix of debug prints made at 0.3.6.

Version 0.3.6

Released on March 23, 2014.

  • Added Drawing.rectangle() method. Now you can draw rectangles. [#159]
  • Added Image.compression property. [#171]
  • Added contextlib.nested() function to wand.compat module.
  • Fixed UnicodeEncodeError when Drawing.text() method gives Unicode text argument in Python 2. [#163]
  • Now it now allows to use Wand when Python is invoked with the -OO flag. [#169 by Samuel Maudo]

Version 0.3.5

Released on September 13, 2013.

  • Fix segmentation fault on Image.save() method. [#150]

Version 0.3.4

Released on September 9, 2013.

  • Added Image.modulate() method. [#134 by Dan P. Smith]
  • Added Image.colorspace property. [#135 by Volodymyr Kuznetsov]
  • Added Image.unsharp_mask() method. [#136 by Volodymyr Kuznetsov]
  • Added 'jpeg:sampling-factor' option to Image.options dictionary (and OPTIONS constant). [#137 by Volodymyr Kuznetsov]
  • Fixed ImageMagick shared library resolution on Arch Linux. [#139, #140 by Sergey Tereschenko]
  • Added Image.sample() method. [#142 by Michael Allen]
  • Fixed a bug that Image.save() preserves only one frame of the given animation when file-like object is passed. [#143, #145 by Michael Allen]
  • Fixed searching of ImageMagick shared library with HDR support enabled. [#148, #149 by Lipin Dmitriy]

Version 0.3.3

Released on August 4, 2013. It’s author’s birthday.

  • Added Image.gaussian_blur() method.
  • Added Drawing.stroke_color property. [#129 by Zeray Rice]
  • Added Drawing.stroke_width property. [#130 by Zeray Rice]
  • Fixed a memory leak of Color class. [#127 by Wieland Morgenstern]
  • Fixed a bug that Image.save() to stream truncates data. [#128 by Michael Allen]
  • Fixed broken display() on Python 3. [#126]

Version 0.3.2

Released on July 11, 2013.

  • Fixed incorrect encoding of filenames. [#122]
  • Fixed key type of Image.metadata dictionary to str from bytes in Python 3.
  • Fixed CentOS compatibility [#116, #124 by Pierre Vanliefland]
    • Made DrawSetTextInterlineSpacing() and DrawGetTextInterlineSpacing() optional.
    • Added exception in drawing API when trying to use DrawSetTextInterlineSpacing() and DrawGetTextInterlineSpacing() functions when they are not available.
    • Added WandLibraryVersionError class for library versions issues.

Version 0.3.1

Released on June 23, 2013.

  • Fixed ImportError on Windows.

Version 0.3.0

Released on June 17, 2013.

See also

What’s new in Wand 0.3?
This guide introduces what’s new in Wand 0.3.
  • Now also works on Python 2.6, 2.7, and 3.2 or higher.
  • Added wand.drawing module. [#64 by Adrian Jung]
  • Added Drawing.get_font_metrics() method. [#69, #71 by Cha, Hojeong]
  • Added Image.caption() method. [#74 by Cha, Hojeong]
  • Added optional color parameter to Image.trim() method.
  • Added Image.border() method. [2496d37f75d75e9425f95dde07033217dc8afefc by Jae-Myoung Yu]
  • Added resolution parameter to Image.read() method and the constructor of Image. [#75 by Andrey Antukh]
  • Added Image.liquid_rescale() method which does seam carving. See also Seam carving (also known as content-aware resizing).
  • Added Image.metadata immutable mapping attribute and Metadata mapping type for it. [#56 by Michael Elovskikh]
  • Added Image.channel_images immutable mapping attribute and ChannelImageDict mapping for it.
  • Added Image.channel_depths immutable mapping attribute and ChannelDepthDict mapping for it.
  • Added Image.composite_channel() method.
  • Added Image.read() method. [#58 by Piotr Florczyk]
  • Added Image.resolution property. [#58 by Piotr Florczyk]
  • Added Image.blank() method. [#60 by Piotr Florczyk]
  • Fixed several memory leaks. [#62 by Mitch Lindgren]
  • Added ImageProperty mixin class to maintain a weak reference to the parent image.
  • Ranamed wand.image.COMPOSITE_OPS to COMPOSITE_OPERATORS.
  • Now it shows helpful error message when ImageMagick library cannot be found.
  • Added IPython-specialized formatter.
  • Added QUANTUM_DEPTH constant.
  • Added these properties to Color class:
    • red_quantum
    • green_quantum
    • blue_quantum
    • alpha_quantum
    • red_int8
    • green_int8
    • blue_int8
    • alpha_int8
  • Added Image.normalize() method. [#95 by Michael Curry]
  • Added Image.transparent_color() method. [#98 by Lionel Koenig]
  • Started supporting resizing and cropping of GIF images. [#88 by Bear Dong, #112 by Taeho Kim]
  • Added Image.flip() method.
  • Added Image.flop() method.
  • Added Image.orientation property. [88574468a38015669dae903185fb328abdd717c0 by Taeho Kim]
  • wand.resource.DestroyedResourceError becomes a subtype of wand.exceptions.WandException.
  • Color is now hashable, so can be used as a key of dictionaries, or an element of sets. [#114 by klutzy]
  • Color has normalized_string property.
  • Image has histogram dictionary.
  • Added optional fuzz parameter to Image.trim() method. [#113 by Evaldo Junior]

Version 0.2.4

Released on May 28, 2013.

  • Fix NameError in Resource.resource setter. [#89 forwareded from Debian bug report #699064 by Jakub Wilk]
  • Fix the problem of library loading for Mac with Homebrew and Arch Linux. [#102 by Roel Gerrits, #44]

Version 0.2.3

Released on January 25, 2013.

  • Fixed a bug that Image.transparentize() method (and Image.watermark() method which internally uses it) didn’t work.
  • Fixed segmentation fault occured when Color.red, Color.green, or Color.blue is accessed.
  • Added Color.alpha property.
  • Fixed a bug that format converting using Image.format property or Image.convert() method doesn’t correctly work to save blob.

Version 0.2.2

Released on September 24, 2012.

  • A compatibility fix for FreeBSD. [Patch by Olivier Duchateau]
  • Now Image can be instantiated without any opening. Instead, it can take width/height and background. [#53 by Michael Elovskikh]
  • Added Image.transform() method which is a convenience method accepting geometry strings to perform cropping and resizing. [#50 by Mitch Lindgren]
  • Added Image.units property. [#45 by Piotr Florczyk]
  • Now Image.resize() method raises a proper error when it fails for any reason. [#41 by Piotr Florczyk]
  • Added Image.type property. [#33 by Yauhen Yakimovich, #42 by Piotr Florczyk]

Version 0.2.1

Released on August 19, 2012. Beta version.

  • Added Image.trim() method. [#26 by Jökull Sólberg Auðunsson]
  • Added Image.depth property. [#31 by Piotr Florczyk]
  • Now Image can take an optional format hint. [#32 by Michael Elovskikh]
  • Added Image.alpha_channel property. [#35 by Piotr Florczyk]
  • The default value of Image.resize()‘s filter option has changed from 'triangle' to 'undefined'. [#37 by Piotr Florczyk]
  • Added version data of the linked ImageMagick library into wand.version module:
    • MAGICK_VERSION (GetMagickVersion())
    • MAGICK_VERSION_INFO (GetMagickVersion())
    • MAGICK_VERSION_NUMBER (GetMagickVersion())
    • MAGICK_RELEASE_DATE (GetMagickReleaseDate())
    • MAGICK_RELEASE_DATE_STRING (GetMagickReleaseDate())

Version 0.2.0

Released on June 20, 2012. Alpha version.

  • Added Image.transparentize() method. [#19 by Jeremy Axmacher]
  • Added Image.composite() method. [#19 by Jeremy Axmacher]
  • Added Image.watermark() method. [#19 by Jeremy Axmacher]
  • Added Image.quantum_range property. [#19 by Jeremy Axmacher]
  • Added Image.reset_coords() method and reset_coords option to Image.rotate() method. [#20 by Juan Pablo Scaletti]
  • Added Image.strip() method. [#23 by Dmitry Vukolov]
  • Added Image.compression_quality property. [#23 by Dmitry Vukolov]
  • Now the current version can be found from the command line interface: python -m wand.version.

Version 0.1.10

Released on May 8, 2012. Still alpha version.

  • So many Windows compatibility issues are fixed. [#14 by John Simon]
  • Added wand.api.libmagick.
  • Fixed a bug that raises AttributeError when it’s trying to warn. [#16 by Tim Dettrick]
  • Now it throws ImportError instead of AttributeError when the shared library fails to load. [#17 by Kieran Spear]
  • Fixed the example usage on index page of the documentation. [#18 by Jeremy Axmacher]

Version 0.1.9

Released on December 23, 2011. Still alpha version.

  • Now wand.version.VERSION_INFO becomes tuple and wand.version.VERSION becomes a string.
  • Added Image.background_color property.
  • Added == operator for Image type.
  • Added hash() support of Image type.
  • Added Image.signature property.
  • Added wand.display module.
  • Changed the theme of Sphinx documentation.
  • Changed the start example of the documentation.

Version 0.1.8

Released on December 2, 2011. Still alpha version.

  • Wrote some guide documentations: Reading images, Writing images and Resizing and cropping.
  • Added Image.rotate() method for in-place rotation.
  • Made Image.crop() to raise proper ValueError instead of IndexError for invalid width/height arguments.
  • Changed the type of Image.resize() method’s blur parameter from numbers.Rational to numbers.Real.
  • Fixed a bug of raising ValueError when invalid filter has passed to Image.resize() method.

Version 0.1.7

Released on November 10, 2011. Still alpha version.

  • Added Image.mimetype property.
  • Added Image.crop() method for in-place crop.

Version 0.1.6

Released on October 31, 2011. Still alpha version.

  • Removed a side effect of Image.make_blob() method that changes the image format silently.
  • Added Image.format property.
  • Added Image.convert() method.
  • Fixed a bug about Python 2.6 compatibility.
  • Use the internal representation of PixelWand instead of the string representaion for Color type.

Version 0.1.5

Released on October 28, 2011. Slightly mature alpha version.

  • Now Image can read Python file objects by file keyword argument.
  • Now Image.save() method can write into Python file objects by file keyword argument.
  • Image.make_blob()‘s format argument becomes omittable.

Version 0.1.4

Released on October 27, 2011. Hotfix of the malformed Python package.

Version 0.1.3

Released on October 27, 2011. Slightly mature alpha version.

  • Pixel getter for Image.
  • Row getter for Image.
  • Mac compatibility.
  • Windows compatibility.
  • 64-bit processor compatibility.

Version 0.1.2

Released on October 16, 2011. Still alpha version.

  • Image implements iterable interface.
  • Added wand.color module.
  • Added the abstract base class of all Wand resource objects: wand.resource.Resource.
  • Image implements slicing.
  • Cropping Image using its slicing operator.

Version 0.1.1

Released on October 4, 2011. Still alpha version.

  • Now it handles errors and warnings properly and in natural way of Python.
  • Added Image.make_blob() method.
  • Added blob parameter into Image constructor.
  • Added Image.resize() method.
  • Added Image.save() method.
  • Added Image.clone() method.
  • Drawed the pretty logo picture (thanks to Hyojin Choi).

Version 0.1.0

Released on October 1, 2011. Very alpha version.