Releases: minimagick/minimagick
Releases · minimagick/minimagick
v4.2.0
v4.1.1
v4.1.0
-
Added
MiniMagick::Tool#stack
for building ImageMagick stacks:MiniMagick::Tool::Convert.new do |convert| convert << "wand.gif" convert.stack do |stack| stack << "wand.gif" stack.rotate(30) end convert << "images.gif" end
convert wand.gif \( wand.gif -rotate 90 \) images.gif
v4.0.4
v4.0.3
-
When dealing with very large images, it can happen that your process runs our of memory (by raising
Errno:: ENOMEM
). You can now tell MiniMagick to use posix-spawn for executing shell commands, which uses much less memory:MiniMagick.configure do |config| config.shell_api = "posix-spawn" end
v4.0.2: Enable whiny to be globally configured
- Raise an error if ImageMagick/GraphicsMagick is not installed
- Sometimes ImageMagick returns status code 1 when everything is ok, which was previously mitigatable when using the "metal" approach, but now it can be globally configured through
MiniMagick.whiny
v4.0.1
v4.0.0
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). - Allowed options to take multiple values (commit)
- Added
MiniMagick::Image#signature
, which helps determine if two images are different (pull request)
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#<<
- Removed dashed versions of processing methods, so the following won't work anymore:
MiniMagick::Image.open(path).combine_options do |c|
c.send("brightness-contrast", "0x10")
end
# NoMethodError: undefined method `brightness-contrast' for #<MiniMagick::Tool::Mogrify:0x007f548bcf0530>
- It currently doesn't work on JRuby
- 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. - Allowed some EXIF data to have commas in their value (commit)
- 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. - All image info is now being cached (commit)
- Any eventual stderr when command passes is now outputed (commit)
#respond_to?
now works properly forMiniMagick::Image
(commit)
v4.0.0.rc
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.