All notable changes to this project are documented in this file. This project adheres to Semantic Versioning.
- Improved C extension building process - @u338steven
- Fixed ImageMagick version detection on Windows - @maisumakun
- GitHub repository moved back to github.com/rmagick/rmagick - @wurde, @vassilevsky
- Fix loop in linked list in
ImageList
methods => they no longer hang - @u338steven
- Ability to remove alpha channel - @ollie
- C local variables guarded against GC to avoid segfaults - @u338steven
- trace_proc protected with a mutex to avoid segfaults - @u338steven
RMagick.rb
moved to deprecated directory - @mockdeep- Better ImageMagick feature detection - @bf4
- Prevent compilation failures if prefix is an empty string - @voxik
SplineInterpolatePixel
preprocessor check removed - @joshk- Make error format a string literal - @mtasaka
- Automatically set
ARCHFLAGS
on OS X - @u338steven - Fixed
rmagick/version
require failure - @u338steven - Fixed escaping of
%
inDraw#get_type_metrics
- @mkluczny - Silence warnings on Ruby 2.2 when comparing Enums - @meanphil
- Multiple test suite improvements - @mockdeep, @bf4
- Ruby source code formatting with RuboCop - @vassilevsky
- Proof of concept for using
pkg-config
in place ofMagick-config
on debian based systems (#129) - @theschoolmaster - Changed
Image#resample
to callingResampleImage
(#127, related #29, #45) - @u338steven - Fixed #122:
lib/RMagick.rb
is overwritten bylib/rmagick.rb
on case-insensitive systems (#124) - @u338steven - New class
SolidFill
in order to fill image with monochromatic background (#123) - @prijutme4ty - Quotes for correct path of font file (#121) - @markotom
- Allow
MagickCore6
fromMagick-config
(#120) - @chulkilee - Fixed: build error with ImageMagick 6.8.9 (when deprecated functions are excluded) (#112) - @u338steven
- Fixed: related x_resolution, y_resolution (#102) - @u338steven
- Lots of test fixes - @u338steven
- Fix pixel hash test (#95) - @ioquatix
- Fixed: build error on Windows Ruby x64 (with ImageMagick 6.8.0-10 / ImageMagick 6.8.7-7) (#94) - @u338steven
- Fix installation error on systems with HRDI enabled RMagick (#90) - @bricef
- Fixed issues preventing RMagick from working with version 6.8 or higher
- Fixed issues preventing RMagick from working with ruby 1.9.3
- Fixed bug preventing RMagick from working with version 6.5.9 or higher
- Added Doxygen documentation, for automatic documentation
- Fixed bug #27467, get RMagick to compile witH ImageMagick 6.5.7
- Fixed bug #27607, switch
Pixel#from_hsla
andPixel#to_hsla
to use ranges 0-255 instead of 0-100 for saturation and lightness (range used by ImageMagick 6.5.6-5 and higher). Also added ability to specify all arguments to these functions as percentages (bug report by Arthur Chan).
- Add feature tests for
SinusoidFunction
andPolynomialFunction
enum values to allow compiling with ImageMagick 6.4.8-7 (bug report by Mark Richman)
- Fix bug #27239, allow 2.12.0 to compile with older releases of ImageMagick (bug report by Sam Lown)
- Added
Image#function_channel
(available in ImageMagick 6.4.8-8) - Added
Image#auto_level_channel
,Image#auto_gamma_channel
(available in ImageMagick 6.5.5-1) - Added
Draw#interline_spacing
,#interline_spacing=
(available in ImageMagick 6.5.5-8)
- Applied Alexey Borzenkov's mingw patches to
extconf.rb
. - Fixed a bug in
Magick.trace_proc
that could cause a segv at program exit with Ruby 1.9.1 (bug report by Larry Young) - Added new
CompressionType
enum valuesZipSCompression
,PixCompression
,Pxr24Compression
,B44Compression
,B44ACompression
(available in ImageMagick 6.5.5-4)
- Fix bug #26475, dissolve and watermark don't work with new versions of ImageMagick (reported by Jim Crate)
- Add
Image#composite_mathematics
(available in ImageMagick 6.5.4-3) - Add new
LinearDodgeCompositeOp
,LinearBurnCompositeOp
,PegtopCompositeOp
,PinLightCompositeOp
,VividLightCompositeOp
enum values (available in ImageMagick 6.5.4-3)
- ImageMagick releases earlier than 6.3.5-10 and Ruby releases earlier than 1.8.5 no longer supported.
- (Experimental) Support the use of Ruby managed memory for all memory allocations (available in ImageMagick 6.5.3-10)
- Add
Image#selective_blur_channel
(available in ImageMagick 6.5.0-3) - Add new
AlphaBackgroundChannel
enum value (available in ImageMagick 6.5.2-5) - Add new
DistortCompositeOp
enum value (available in ImageMagick 6.5.3-7)
- Add new
HorizontalTileEdgeVirtualPixelMethod
,VerticalTileEdgeVirtualPixelMethod
,CheckerTileVirtualPixelMethod
VirtualPixelMethod
enum values (available in ImageMagick 6.5.0-1) - Added
BilinearForwardDistortion
,BilinearReverseDistortion
enums (available in ImageMagick 6.5.1-2) - Add missing composite operators to
Magick::Draw#composite
method - Add warning about dropping support for ImageMagick < 6.3.5 and Ruby < 1.8.5
- Fix bug #25892, stack buffer overflow in
Magick::TypeMetric.to_s
(reported by Roman Simecek)
- Fix a bug that prevents the use of transparent background colors when built with ImageMagick 6.4.9-0
- Fix #23209, improve RVG's letter spacing (patch from Jonah Fox)
- Add
Draw#kerning=
attribute (available in ImageMagick 6.4.7-8) - Add
Draw#interword_spacing=
attribute (available in ImageMagick 6.4.8-0) - Add
Draw#kerning
,Draw#interword_spacing
primitive methods (available in ImageMagick 6.4.8-3) - Feature #23171, support
ImageList
,Draw
,Pixel
marshaling. - Support all the new
EvaluateOperator
constants
- Add the
endian
,scene
, andtransparent_color
attributes toImage::Info
- Deprecate
Image#endian=
attribute setter - Add the
transparent_chroma
method to theImage
class (available in ImageMagick 6.4.5-6) - Add the
sparse_color
method to theImage
class (available in ImageMagick 6.4.3) - Update
Image#change_geometry
to work with the newParseSizeGeometry
API in ImageMagick 6.4.6-9.
- Fix bug #22740, some
Image::Info
attribute values are not propogated to the image object (bug report by Thomas Watson)
- Fix bug #22471,
Magick::fonts
can abend on 64-bit systems (bug report and patch by James Le Cuirot) ImageList.new
accepts a block which is passed on toImage::read
when reading the input images. The block is executed in the context of anImage::Info
object.- Add support for the "user" image property.
- Define the
Magick::FatalImageMagickError
exception class, raised if ImageMagick raises a fatal (unrecoverable) exception. - Added feature #22618,
Image#total_ink_density
(request by F. Behrens)
- Fix bug #22152,
extconf.rb
does not respect theLDFLAGS
environment variable (bug report by Joseph Sokol-Margolis) - Fix bug #22190, the
NoDitherMethod
enum value is not defined in ImageMagick 6.4.2 - Add the
TrimBoundsLayer
ImageLayerMethod
enum value (available in ImageMagick 6.4.3-8) - Add the
CopyAlphaChannel
,ExtractAlphaChannel
,OpaqueAlphaChannel
,ShapeAlphaChannel
, andTransparentAlphaChannel
AlphaChannelType
enum values (available in ImageMagick 6.4.3-7) - Rename
Image#affinity
andImageList#affinity
toImage#remap
andImageList#remap
. Retain the old names as aliases. (Changed in ImageMagick 6.4.4-0)
- Fix bug #21237,
Image::write
ignores format attribute when called with aTempfile
pathname (bug report by Jack Shedd) - Fix bug #21897,
ImageList#from_blob
abends when certain corrupt JPEG images are used (bug report by Peter Szabo) - Add
Image#composite_tiled
,Image#composite_tiled!
(ref: http://rubyforge.org/forum/forum.php?thread_id=27347&forum_id=33) - Add
Image#deskew
(available with ImageMagick 6.4.2-5) - Add
Image#define
,Image#undefine
(available in ImageMagick 6.3.6) - Add
Image#level_colors
(available in ImageMagick 6.4.2-1) - Add
Image#levelize_channel
(available in ImageMagick 6.4.2-1) - Add
Image#affinity
,ImageList#affinity
(available in ImageMagick 6.4.3-6). These methods replaceImage#map
andImageList#map
. - Accept
DitherMethod
values for thedither
argument toImage#quantize
,ImageList#quantize
- Add the
BarrelDistortion
,PolynomialDistortion
,ShepardsDistortion
,PolarDistortion
, andDePolarDistortion
MagickDistortion
Method enum values (available in ImageMagick 6.4.2-6) - Add the
HorizontalTileVirtualPixelMethod
andVerticalTileVirtualPixelMethod
VirtualPixelMethod
enum values (available in ImageMagick 6.4.2-6) - Add
DitherMethod
enum class - Added general-purpose
OptionalMethodArguments
class to handle ad-hoc optional arguments. - Support optional "distort:viewport" and "distort:scale" arguments to
Image#distort
- Support optional
highlight_color
andlowlight_color
arguments toImage#compare_channel
- Add support for
MergeLayer
toMagick::ImageList#optimize_layers
(patch #21189, submitted by Andrew Watson) - Add
PowQuantumOperator
argument forImage#quantum_operator
(available in ImageMagick 6.4.1-9)
- Update
Pixel#to_color
to work with the newQueryMagickColorname
API in ImageMagick 6.4.1-9.
- Added
Image#add_compose_mask
,#delete_compose_mask
(feature #20531)
- Added
Image#image_type=
(feature #20490)
- Added
Image#encipher
,Image#decipher
(available with ImageMagick 6.3.8-6) - Added
DXT1Compression
,DXT3Compression
, andDXT5Compression
CompressionType
enums (available in ImageMagick 6.3.9-4) - Added optional "use hex format" argument to
Pixel#to_color
- Support
:area
resource type inMagick.limit_resource
Pixel.from_HSL
andPixel#to_HSL
are deprecated. UsePixel.from_hsla
andPixel#to_hsla
instead. The new methods rely on the ImageMagick 6.3.5 and later API.- The
Image#alpha
andalpha=
attributes are deprecated. Usealpha()
andalpha?
instead. - The
Image#mask=
attribute is deprecated. Usemask()
instead. - The use of Ruby older than version 1.8.4 with RMagick is deprecated and will not be supported in a future release.
- Fix bug #18271, rvg width and height attributes wrong after a call to viewbox (reported by Greg Jarman)
- Fix bug #18016, add test for
InitializeMagick
inlibMagickCore
toextconf.rb
- Added
Image#opaque_channel
,Image#paint_transparent
(available with ImageMagick 6.3.7-10) - Added
Image#liquid_rescale
(available with ImageMagick 6.3.8-2) - Added
CMYColorspace
ColorspaceType
value - Fixed bug #17148, compiler error message on Solaris (bug report by Trever Wennblom)
- Fixed bug #17470,
get_exif_by_number
,get_exif_by_entry
may fail when called with one or more arguments
- Added
Image::Info#caption=
attribute - Rename
Image#crop_resized
,#crop_resized!
to#resize_to_fill
,#resize_to_fill!
. Add aliases for the old names. - Fix bug #16776, in the
axes.rb
example the last 2 arguments toborder.rectangle
are swapped (bug report by Alain Feler) - Fix bug #16931, apostrophe in #error directive causes error in some versions of GCC (bug report by Justin Dossey)
- Replaced
configure
/make
/make install
with standard Rubysetup.rb
,extconf.rb
- Removed support for Ruby earlier than 1.8.2
- Removed support for GraphicsMagick. As a result these methods are no
longer available:
Image#grayscale_pseudo_class
,Image#statistics
. - Removed support for all releases of ImageMagick earlier than 6.3.0.
- Removed deprecated
Image#random_channel_threshold
. UseImage#random_threshold_channel
instead - Removed deprecated
Image#channel_threshold
. UseImage#random_threshold_channel
instead - Removed unecessary
Image#montage=
- Removed unecessary and undocumented
Image#image_type=
- Removed deprecated
Image::Info#tile_info
,tile_info=
attributes. - Removed deprecated
Image::Info#tile
,tile=
attributes. Use#extract
,#extract=
instead - Removed deprecated
Image::Info#subimage
,subimage=
attributes. Usescene
,scene=
instead - Removed deprecated
Image::Info#subrange
,subrange=
attributes. Usenumber_scenes
,number_scenes=
instead - Removed deprecated
Magick.set_monitor
. UseImage#set_monitor
,Image::Info#set_monitor
instead - Removed deprecated
RunlengthEncodedCompression
CompressionType
. UseRLECompression
instead - Deprecated
Image#matte
,matte=
with ImageMagick 6.3.5 and later - Added
Image::Info#stroke=
,stroke_width=
andundercolor=
attributes - Added
Image::Info#tile_offset=
attribute - Added
Draw#fill_pattern=
and#stroke_pattern=
annotate attributes - Changed
Image::Info[]
andImage::Info[]=
to allow an omitted "format" argument - Added
Image#destroy!
,destroyed?
,check_destroyed
methods - Support
Image
object creation/destruction tracing with theMagick.trace_proc
attribute - Added
Magick::QuantumRange
.Magick::MaxRGB
is deprecated. - Added
OptimizeTransLayer
,RemoveDupsLayer
,RemoveZeroLayer
,OptimizeImageLayer
ImageLayerMethods
enum values (available with ImageMagick 6.3.3),MosaicLayer
,FlattenLayer
(available with ImageMagick 6.3.6) - RMagick works with Q32 version of ImageMagick
- Added
ChangeMaskCompositeOp
,DivideCompositeOp
,LinearLightCompositeOp
CompositeOperator
enum values - Added
SplineInterpolatePixel
InterpolatePixelMethod
enum value - Added
DitherVirtualPixelMethod
,RandomVirtualPixelMethod
,BlackVirtualPixelMethod
,GrayVirtualPixelMethod
,WhiteVirtualPixelMethod
(available with ImageMagick 6.3.5), andMaskVirtualPixelMethod
(available with ImageMagick 6.3.3)VirtualPixelMethod
enum values - Added
GIFInterlace
,JPEGInterlace
,PNGInterlace
Interlace
type enum values (available with ImageMagick 6.3.4) - Added
SentinelFilter
FilterTypes
enum value (available in ImageMagick 6.3.6) - Added
Image.combine
- Added
Image#separate
(available with ImageMagick 6.3.2) - Added
Image#distort
(available with ImageMagick 6.3.5) - Added
Image#each_pixel
(thanks to Russell Norris for the suggestion and code) - Added
Image#histogram?
(available with ImageMagick 6.3.5) - Added
Image#sync_profiles
(available with ImageMagick 6.3.2) - Added
Image#extent
(available with ImageMagick 6.3.1) - Added
Image#excerpt
,Image#excerpt!
(available with ImageMagick 6.3.5) - Added
Image::Info#attenuate
- Added
Image#clut_channel
(available with ImageMagick 6.3.5) - Feature Request #16264, added
ImageList#composite_layers
(available with ImageMagick 6.3.3, request from Steve Martocci) - Added
Image#alpha=
(available with ImageMagick 6.3.5) - Added
Image#gravity=
- Added
Image#equalize_channel
(available with ImageMagick 6.3.6) - Added new
FilterTypes
valuesKaiserFilter
,WelshFilter
,ParzenFilter
,LagrangeFilter
,BohmanFilter
,BartlettFilter
(available with ImageMagick 6.3.6) - Fix bug #10339,
Image#trim
does not support "reset page information option" (bug report from Nobody) - Renamed
RMagick.so
toRMagick2.so
to prevent confusion betweenRMagick.rb
andRMagick.so
- Feature Request #16276, re-organize doc to not split
Image
method pages in the middle of an initial letter (request from Roy Leban) - Updated for ImageMagick 6.3.7-5
- Made changes as necessary to work with current Ruby 1.9.0
- Fix bug #16221, starting with ImageMagick 6.3.2, get_exif_by_entry/number returns empty array/hash when no arguments are specified, even though the image has EXIF data (bug report from Paul Clegg)
- Fix bug #15887, the x_ and y_resolution attributes don't respect the units attribute (bug report from Ben Greenburg)
- Fix bug #15889, memory leak in Draw#composite method (bug report from Till Vollmer)
- Update Magick::Pixel.from_HSL, #to_HSL to work with new APIs in ImageMagick 6.3.5-9.
- Fixed bug #12089 (bug report from Hans de Graaff)
- Fixed bug #12671, incorrect link in HTML doc (bug report from Thomas R. Koll
- Fixed bug #11890, incorrect usage description for Draw#text_undercolor in HTML doc (bug report from Ezra Freedman)
- Fixed bug #12706, specifying both a gravity and offsets to Image#composite positions the composite image incorrectly (bug report from Benoit Larroque)
- Fix bug #11033, make distclean misses some files (bug report from Lucas Nussbaum)
- Work around SetMagickRegistry problem in ImageMagick 6.3.4-7
- Fix bug #10070, memory leak in Draw#get_type_metrics, Draw#get_multiline_type_metrics, Draw#annotate (bug report from Sinclair Bain)
- Fix bug #10080, scripts in examples directory should not be marked executable (bug report from Lucas Nussbaum)
- Fix bug #9637, export_pixels always exports all 0's for 1-bit images (bug report from Doug Patterson)
- Fix bug #8927, RMagick and rbgsl both export the name ID_call (bug report from Shin Enomoto)
- Fix bug #8697, Image::Info.fill= doesn't work when creating "caption:" format images (bug report from choonkeat)
- Fix bug #8408, a compatibility problem with some versions of ImageMagick before 6.2.5 (bug report from Geir Gluckstad)
- Fix bug #8307, compatibility problems with older (6.0.x) versions of ImageMagick (bug report from Chris Taggart)
- Added fx method to ImageList class
- Added wet_floor method to the Image class
- Added linear_stretch method to the Image class (available with ImageMagick 6.3.1-1)
- Added recolor method to the Image class (available with ImageMagick 6.3.1-3)
- Added polaroid method to the Image class (available with ImageMagick 6.3.1-6)
- Added origin attribute to the Image::Info class (supported by ImageMagick 6.3.1-4 and later)
- Added PaletteBilevelMatteType to the ImageType enum
- Fix bug #6260, some RVG examples produce all-black GIF images
- Fix bug #7034, fix the matte method in the Draw class
- Fix bug #7373, default channels should be RGB instead of RGBA
- Fix bug #7716, Pixel#intensity wrong for gray images (bug report from Morio Miki)
- Fix bug #7949, Magick::Draw.new abends when an exception occurs before the draw object is fully initialized (bug report from Andrew Kaspick)
- Fix bug #8015, Magick::Draw.new doesn't call the optional arguments block in the right scope (bug report from Andrew Kaspick)
- Tested with ImageMagick 6.3.2-0
- Handle change to the type of the ColorInfo.color field introduced by ImageMagick 6.3.0
- Feature request #5015, support CMYK->RGB conversions. Added the add_profile and delete_profiles to the Image class. Fixed the profile!, iptc_profile, and color_profile methods. Added the black_point_compensation attribute. (requested by Niklas Ekman)
- Added adaptive_blur, adaptive_blur_channel, find_similar_region, sketch methods to the Image class (available with ImageMagick 6.2.8-6)
- Added adaptive_resize to the Image class (available with ImageMagick 6.2.9)
- Added resample method to the Image class (thanks to Ant Peacocke for the idea)
- Added four new compositing methods to the Image class: blend, displace, dissolve, and watermark
- Feature request #5418, add get_iptc_dataset and each_iptc_dataset to the Image class (requested by Oliver Andrich)
- Added the bias and mask attributes to the Image class
- Added optional qualifier argument to Image#rotate
- Patch #5742 from Douglas Sellers, adds channel method to the Image::Info class.
- Added new ChannelType enum values
- Added texture= attribute writer to the Image::Info class
- Added tile= attribute writer to the Draw class
- Added pixel_interpolation_method attribute, InterpolatePixelMethod enum class to the Image class (available with ImageMagick 6.2.9)
- Added "Magick Command Options and Their Equivalent Methods" page to the documentation
- Fix bug #5079, Image#quantum_operator method doesn't work (bug report from Pedro Martins)
- Fix bug #5080, incorrect RVG images when non-0 values used for the min_x or min_y arguments to RVG#viewbox (bug report from Daniel Harple)
- Fix bug #5370, the clip_mask= attribute doesn't work
- Fix bug #5506, wrong argument used to intialize AffineMatrix (bug report from Michael Shantzis)
- Added transform, transform!, transpose, transpose! methods to Image class (available with ImageMagick 6.2.8)
- Feature #4844, add auto_orient, auto_orient! methods to Image class (suggestion from John Oordopjes, available with ImageMagick 6.2.8)
- Added adaptive_sharpen, adaptive_sharpen_channel methods to Image class (available with ImageMagick 6.2.7)
- Added composite_image_channel, composite_image_channel! methods to Image class (added in ImageMagick 6.2.6)
- Added radial_blur_channel method to Image class (available in ImageMagick 6.2.4)
- Fix bug #4806, add hash, eql? methods to Pixel class (bug report from Tim Pease)
- Change extension filename to match RubyGems 0.9.0 expectations.
- Fix bug #4821, correct doc for Image#rotate (bug report from Tim Pease)
- Update the Draw#annotate documentation
- Fix bug #4630, the new signature for #level is incompatible with releases prior to 1.10.1 (bug report from Al Evans)
- Fix bug #4511, add Makefile, rmagick_config.h as dependencies in the Makefile (bug report from Eric Hodel)
- Ensure ExceptionInfo structures are freed
- Feature #3705, add resize_to_fit (thanks to Robert Manni for the code)
- Added optimize_layers method to the ImageList class (available with ImageMagick 6.2.6)
- Added limit_resource method to the Magick module
- Replaced install.rb with setup.rb, improved gem install (bug report from Ryan Davis)
- Added --disable-htmldoc option to setup.rb
- Fix bug #4104, incorrect label on example (reported by Jason Lee)
- Added contrast_stretch_channel to the Image class (available with ImageMagick 6.2.6)
- Improved Magick exception handling to eliminate memory leaks when an exception is rescued and execution continues.
- Tested with ImageMagick 6.2.7
- Fix bug #3437, memory leak in ImageList#to_blob
- Fix bug #3363, Image#composite doesn't work when the source image is bigger than the destination
- Fix bug #3635, Image#import_pixels doesn't accept FloatPixel or DoublePixel storage types
- Feature #3597, add border_color attribute to the Draw class
- Added add_noise_channel method to Image class (available with ImageMagick 6.2.5)
- Added vignette method to the Image class (available with ImageMagick 6.2.6)
- Added crop_resize method to the Image class (thanks to Jerret Taylor for the suggestion and original code)
- Added export_pixels_to_str method to the Image class
- Provided default arguments to Image#export_pixels
- Added "order" option to Image#ordered_dither
- Added cyan, magenta, yellow, and black attribute accessors to the Pixel class
- Added CineonLogRGBColorspace, LABColorspace, Rec601LumaColorspace, Rec601YCbCrColorspace, Rec709LumaColorspace, Rec709YCbCrColorspace, LogColorspace enumerators to the ColorspaceType enumeration class.
- Fixed bug #2844, Image#to_blob exits if the image is a 0x0 JPEG
- Fixed bug #2688, Image#annotate, Draw#get_multiline_type_metrics handle newline characters properly
- Tested with ImageMagick 6.2.6
- Removed support for all versions of ImageMagick prior to 6.0.0
- Feature #2521, add Image#distortion_channel method
- Fixed bug #2546, ImageList#to_blob builds multi-image blobs again. (ImageMagick 6.2.0 silently broke the ImageToBlob method.) Thanks to Tom Werner for reporting this bug.
- Test with GraphicsMagick 1.1.7
- Feature #2412, add the virtual_pixel_method attribute and the VirtualPixelMethod enumeration
- Feature #2462, add the ticks_per_second attribute
- Fixed bug #2157, Image#total_colors is now an alias of Image#number_colors
- Fixed bug #2155, Image#dispose= now accepts a DisposeType enum, #dispose now returns a DisposeType enum.
- Fixed bug #2156, Image#properties no longer returns garbage for the property name and value.
- Fixed bug #2190, Image#compose now returns a CompositeOperator
- Fixed bug #2191, Image#composite no longer abends when called with 0 arguments
- Fixed bug #2213, ImageList#montage method no longer leaves the imagelist corrupt after raising an ImageMagickError
- Feature #2159, added GrayChannel ChannelType enum value, BlendCompositeOp and ColorBurnCompositeOp CompositeOperator enum values, RLECompression CompressionType enum value, deprecate RunlengthCompression
- Feature #2172, added optional argument to crop and crop! to reset the saved page offsets after cropping
- Deprecated Image#channel_threshold. This method is deprecated in ImageMagick.
- Feature #2373, change Image#import_pixels to accept a pixel data buffer as well as a pixel data array. (Thanks to Ara T. Howard for this suggestion!)
- Fixed to compile without errors with ImageMagick 6.2.4-4.
- Added Image#monitor=, Image::Info#monitor=. Deprecated Magick.set_monitor.
- Fixed bug #2070, support color names with embedded spaces
- Fixed bug #2109, properly scope Magick constants in RVG
- Tested with ImageMagick 6.2.3-2
- Added comment, delay, dispose, fill, gravity, and label attributes to Image::Info
- Fix bug #1983, potential buffer overflow in version_constants
- Added feature #2015, support the pointsize, authenticate, and sampling_factor attributes in Image::Info
- Fix bugs #1876, #1888, #1919
- Added feature #1941, RVG's polyline, polygon accept array arguments
- Numerous fixes to the RVG documentation
- Added Image#shadow (ImageMagick 6.1.7)
- Added Image::Info#undefine, #[], #[]=
- Added sigmoidal_contrast_channel, sepiatone to Image class (ImageMagick 6.2.1)
- Added JPEG2000Compression constant (ImageMagick 6.2.2)
- Incorporated RVG classes
- Added RVG documentation, examples, updated installer
- Tested with ImageMagick 6.2.2-0, latest GraphicsMagick 1.2
- Fix bug #1727
- Fix affine_transform.rb
- Tested with ImageMagick 6.2.1
- Fix bug #1553, a build issue with ImageMagick 6.0.x
- Fix bugs #1308, #1310, #1314, #1533
- Fix bugs #1250, #1253
- Tested with ImageMagick 6.1.7, Ruby 1.8.2
- Added splice, set_channel_depth to Image class (ImageMagick 6.0.0)
- Added sharpen_channel, blur_channel to Image class (ImageMagick 6.0.1)
- Added get_multiline_type_metrics to Draw class (ImageMagick 6.1.5), added new example scripts and images
- Added normalize_channel, unsharp_mask_channel to Image class (ImageMagick 6.1.0)
- Added read_inline to Image class
- Renamed channel_compare to compare_channel, retained old name as an alias for backward compatibility.
- Added default values for unsharp_mask arguments
- Fixed bug #1193
- Fixed segfault in destroy_Draw when Ruby gc'd the temp file name array before calling destroy_Draw
- Tested with ImageMagick 6.1.6, GraphicsMagick 1.1.4, Ruby 1.8.2preview3.
- Fixed ImageList#deconstruct to return an imagelist
- Fixed installation procedure to propagate user's CFLAGS, CPPFLAGS, and LDFLAGS through to the low-level Makefile
- Fixed bugs #1048, #1127
- Changed to match changes in ImageMagick 6.1.4 API
- Fixed bug #950
- Added posterize, gaussian_blur_channel, convolve_channel methods to Image class (ImageMagick 6.0.0)
- Added new CompositeOperator constants (ImageMagick 6.0.0)
- Added trim and trim! methods to Image class
- Added each method to Enum subclasses
- Added stroke_width= attribute to the Draw class
- Fixed bugs #624, #642, #716, applied patch #819 (thanks to Daniel Quimper)
- Tested with ImageMagick 6.0.5-2, GraphicsMagick 1.1.3, Ruby 1.8.2
- Added meaningful implementations of dup and clone to the Image and Draw classes. Clarified the documentation.
- Do not allow changes to frozen Image, ImageList, and Draw objects.
- Raise TypeError if freeze method sent to Image::Info or ImageList::Montage object.
- Added view method to Image, Image::View class (thanks to Ara T. Howard and Charles Comstock on c.l.r for the discussion which prompted me to add this class)
- Added grayscale_pseudo_class method to Image class (GraphicsMagick 1.1)
- Added radial_blur, random_threshold_channel methods to Image class (ImageMagick 6.0.0)
- Added quantum_operator method to Image class (GraphicsMagick 1.1, ImageMagick 6.0.0)
- Added statistics method to Image class (GraphicsMagick 1.1)
- Support channel_extrema, channel_mean with GraphicsMagick 1.1
- Added endian attribute to Image class
- Added composite! method to Image class
- Deprecated random_channel_threshold method when linked with ImageMagick 6.0.0.
- Revised and updated documentation
- Implemented enumeration values as instances of an Enum class. Based on a description by Paul Brannon in ruby-talk 79041.
- Added HSLColorspace, HWBColorspace constants (ImageMagick 5.5.7, GraphicsMagick 1.0.2)
- Added CopyCyanCompositeOp, CopyMagentaCompositeOp, CopyYellowCompositeOp, CopyBlackCompositeOp constants (ImageMagick 5.5.7, GraphicsMagick 1.1)
- Added ReplaceCompositeOp. CopyCompositeOp constants (ImageMagick 6.0.0)
- Added color_histogram to Image class. (ImageMagick 6.0.0, GraphicsMagick 1.1)
- Added define method to Image::Info class (ImageMagick 6.0.0, GraphicsMagick 1.1)
- Added tint, each_profile, channel_extrema, channel_compare, channel_depth, channel_mean, quantum_depth, preview, gamma_channel, negate_channel, bilevel_channel methods to Image class (ImageMagick 6.0.0)
- Added get_exif_by_entry, get_exif_by_tag to Image class
- Added border! method to Image class
- Added fcmp, intensity methods to Pixel class
- Added Version_long constant
- The 'fuzz' attribute in the Image and ImageInfo classes now accepts a percentage value as well as a numeric value.
- Added Geometry class and changed all methods that accept a geometry string to accept a Geometry object as well
- Added dup and clone methods to the ImageList, Image, and Draw classes (Fix for bug #254.)
- Tested with latest ImageMagick 6.0.0 beta and GraphicsMagick 1.1 snapshot
- Fix profile! to require only 2 arguments, as documented.
- Correct spelling of 'transparent' in text_antialias.rb example.
- Add output of
Magick-config --libs
to LIBS variable in configure - Minor fixes in documentation
- Test with GraphicsMagick 1.0.4
- Test with latest ImageMagick 5.5.8 beta
- Fixed default base URI in the links to the installed xMagick doc
- Applied the patch for bug #76 that caused the rubyname.rb example to hang when installing on FreeBSD.
- Fixed the <=> method in Image to return nil when the class of the other object is not Image
- Added code to ensure that the `text' argument to Draw#text is not nil or empty
- Fixed the handle_error function to re-initialize the exception structure after destroying its contents.
- Added strip!, import_pixels, export_pixels, random_channel_threshold to the Image class. (Available only with ImageMagick 5.5.8, which is still in beta.)
- Added black_threshold and white_threshold to the Image class.
- Added format= attribute writer to the Image class
- Added monochrome= attribute writer to the Image::Info class
- Added annotate to the Image class.
- Made the image argument to get_type_metrics optional. (Thanks to Hal Fulton for suggesting this change and the annotate change!)
- Enhance the read, write, and ping methods in both the Image class and the ImageList class to accept an open File object as well as a filename argument.
- Added change_geometry to the Image class
- Changed configure to generate top-level Makefile with install and uninstall targets. (Thanks to Bob Friesenhahn for the suggestion and the the Makefile!)
- Incorporated 1.2.2.1 patch to correct problems when building with Ruby 1.6.7.
- Added "magick_location" attribute to the ImageMagickError class. (Available only with GraphicsMagick 1.1, not yet released.)
- Tested with ImageMagick 5.5.8 beta
- Tested with GraphicsMagick 1.0.2 and 1.1 snapshot
- Tested with Ruby 1.8.0
- Changed to MIT license
- Fixed many bugs in configuration script
- Added support for GraphicsMagick 1.0 (with assistance from Bob Friesenhahn)
- Changed default documentation directory (--doc-dir option default) to $prefix/share/RMagick
- Added "examples" directory to contain example programs that aren't referenced by the documentation
- Yet another fix to the Cygwin installation procedure
- Changed install to work correctly on Cygwin (Cygwin testing by Yuki Hirakawa and David Martinez Garcia.)
- Changed install to support Gentoo ebuild (Gentoo support provided by Tom Payne.)
- Changed configure script to find IM doc in IM 5.5.7
- Added Image#capture
- Added optional matte_pct argument to Image#colorize
- Add default argument values to Image#gaussian_blur
- Fix bug in Image#store_pixels that prevented it from working with GIF and other PseudoClass image formats
- Changed Image#crop and Image#crop! to accept a GravityType constant as the first argument, instead of the x- and y-offset arguments. (Suggested by Robert Wagner.)
- Added Image::Info#filename=, image_type=
- Added ImageList#map as an alias for Enumerable#map
- Added fetch, insert, select, reject methods to ImageList class for Ruby 1.8.0
- Undefined zip and transpose methods in ImageList class for Ruby 1.8.0
- ImageMagick 5.5.7 supported
- Fixed bug in handle_error that caused an abend when linked with IM 5.5.6
- Added RMAGICK image "format". When read, returns 252x108 RMagick logo in PNG format.
- Changed examples to give all floating point constants a leading digit.
- Added Image#rotate!
- Tested with Ruby 1.8.0preview2
- Added Image#extract_info, Image::Info#extract=, Image::Info#scene=, Image::Info#number_scenes=, Image::Info#tile=
- Added Draw#text_align, Draw#text_anchor, Draw#text_undercolor
- ImageMagick 5.5.6 supported
- Fixed warnings when compiling with Ruby 1.8.0
- Added Draw#rotation=, rotated_text.rb
- Fixed temp image files in Montage_texture and Draw_composite
- ImageMagick 5.5.5 supported
- Added channel.rb example
- Fixed install problems with IM 5.5.1
- Cleaned up documentation.
- Added logging methods Magick.set_log_event_mask and Magick.set_log_format
- Added Magick.set_monitor
- Added custom serialization methods _dump and _load to Image class. Added marshaling section to usage doc.
- Added Image#mime_type
- Changed install to use autoconf-generated configure script
- Replaced makedoc.rb with post-install.rb hook
- Added rmconst.rb utility script
- ImageMagick 5.5.4 supported
- Changed ImageList#<=> to use same algorithm as Array#<=>
- Changed Draw class variables to class constants
- Fixed bug in Magick::colors method that caused some colors to be repeated or missed when the optional block is used
- Changed fill classes to not inherit from common Fill class. Removed Fill class.
- Improved usage documentation
- Added Image#level_channel, introduced with IM 5.5.3
- ImageMagick 5.5.3 supported
- Ruby 1.6.8, 1.8.0preview1 supported
- Added crop!, flip!, flop!, magnify!, minify!, resize!, sample!, scale!, shave!, channel_threshold methods to Image class
- Documented DisposeType, ColorSeparationMatteType and OptimizeType constants
- Changed Image#<=>, ImageList#<=> to raise TypeError if the other argument is not in the same class
- Deleted Image#==, ImageList#==, include Comparable in both classes
- Added Image#thumbnail, thumbnail!, adaptive_threshold for 5.5.2 & later
- Used image list functions in 5.5.2 & later
- ImageMagick 5.5.2 supported
- Removed last vestiges of 5.4.9 support
- Added -Wl,rpath option to $LDFLAGS in extconf.rb
- #include <sys/types.h> in rmagick.h
- Changed set_cache_threshold to call SetMagickResourceLimit instead of SetCacheThreshold
- Changed Image_texture_flood_fill to clone texture image instead of adding a reference
- Many fixes to the Array methods in ImageList
- Defined Image#<=>, defined Image#== in terms of Image#<=>
- Defined ImageList#<=> in terms of Image#<=>
1st beta