Features
- Improved configuration for
MiniMagick
, seeMiniMagick::Configuration
- Enabled using ImageMagick's command-line tools directly.
- Added
MiniMagick::Image#validate!
, which raisesMiniMagick::Invalid
when the image is invalid (useful for nicer control flow). - Added reader methods for common
MiniMagick::Image
attributes:#width
,#height
,#type
,#size
,#exif
etc. - Added
MiniMagick::Image#resolution
MiniMagick::Image.new
now accepts an optional block, which does an additional#combine_options
(just a handy shortcut).- Added
MiniMagick::Image#layers
(aliased to#frames
and#pages
) for accessing layers from multilayered images (GIFs, PSDs, PDFs etc).
Backwards incompatible
- Removed implicit queueing of commands. Previously when you did
image.resize("500x500")
, the resizing will actually get executed only when we call a terminal method, like#write
. Now commandsa are executed immediately, which may be slower depending on how much chained commands you have. To get around this, just useMiniMagick::Image#combine_options
. - Removed deprectated methods
MiniMagick::Image.from_blob
andMiniMagick::Image.from_file
. - Removed
MiniMagick::Image#<<
- It doesn't work on JRuby anymore
- JRuby has a bug in the "open3" standard library, they added it to their bug list, and hopefully they will fix it soon. Until then you can use the 3.x versions of MiniMagick.
Bug fixes
MiniMagick::Image#format
now doesn't leave any tempfiles behind.- Fixed some issues when files would have spaces in their filenames.
- Fixed some issues where certain shell errors would raise weird errors.
- Fixed
image["EXIF:*"]
returning gibberish. - Lowered memory usage.
- Metods for command-line tools are now defined dynamically based on
-help
, so now each tool will respond only to options it actually has.