Releases: minimagick/minimagick
Releases · minimagick/minimagick
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.
v3.8.1
Big refactor and windows compatibility improvements
Bug fixes:
- fixed a resource leak for remote URLs - @tmorton - c12decb
- fixed exif inspection - @john-griffin - 578df15
- fixed removing temporary file - @edogawaconan - bbe1f94
Refactors:
- split minimagick into multiple files
- stopped relying on which to pick processor dinamically(gm or mogrify) and instead used a method that is windows and *nix compatible
- removed files that made minimagick gem impossible to install in windows
- made test build pass with windows (and every new pull request from now should be)
Thanks to everybody that helped in that release! This is a good milestone and minimagick needed all that renewal.