v4.7.2 2017/06/20
Avoid defining methods at runtime whenever a processing method is invoked,
which means that Ruby can keep its method cache, instead of having to clear it
on each processing invocation (thanks to @printercu).
v4.7.1 2017/06/15
Fix errors when calling MiniMagick::Image.open with URLs like
https://pbs.twimg.com/media/DCOD2DXVwAI4xsL.jpg:large, where the : would get
included in the file extension and cause errors with some ImageMagick commands
due to : being a special character to ImageMagick.
4.7.0 2017/03/28
* Added MiniMagick::Image#get_pixels, which returns a matrix where each member
is a 3-element array of numbers between 0 and 255, one for each of the RGB
channels.
* When MiniMagick.timeout is set and the command times out, previously the
command would still continue running in the background. Now when
Timeout::Error is raised, we also kill the subprocess running the command
with SIGTERM.
* Implementation of posix-spawn has been improved, where now both stdout and
stderr are read from at the same time, stdin pipe is closed immediately
after writing the input, and stdout and stderr pipes are closed once the
command finishes. This now has essentially the same behaivour as
Open3.popen3 with a block.
v4.6.1 12 Feb 2017
* Fixed MiniMagick::Image#data to be work for multilayer images where array is
returned as the JSON representation (@bytheway875)
* Fixed stdout and stderr buffer overload that can happen when processing many
images using posix-spawn (@lest)
v4.6.0 3 Dec 2016
* Fix Image#exif raising an error when an exif value contains a "=" chracter
* Fix Image#exif raising an error when an exif value spans on multiple lines
* Introduced Image#data as an alternative to Image#details, which uses
ImageMagick's ability to retrieve identify -verbose output in JSON
format. This eliminates possibility of any parsing errors. It is available
on ImageMagick 6.8.8-3 or above.
* Allow Image#format to accept a hash of options as a third argument, which
will be added to the convert command before original path is added
* Support Pathname in Image.new, as we already supported Pathname in
Image.open
* Added Tool#stdout which adds - to the command (the same as Tool#stdin does)
v4.5.1
* Fixed MiniMagick logging commands by default
v4.5.0
New features
* Added the ability for ImageMagick commands to accept standard input:
identify = MiniMagick::Tool::Identify.new
identify.stdin # adds "-"
identify.call(stdin: image_content)
* Added ability to capture stdout, stderr and exist status by passing a block
to MiniMagick::Tool#call:
compare = MiniMagick::Tool::Compare.new
# build the command
compare.call do |stdout, stderr, status|
# ...
end
* Added ability to assign MiniMagick.logger to Rails.logger
Bug fixes
* The value of MiniMagick.whiny configuration option is now respected
* The new filename when calling #format is now generated better when calling
on a layer
* Delete *.cache files generated by .mpc files when deleting MiniMagick::Image
Deprecations
* Whiny option should now be passed as a keyword argument:
MiniMagick::Tool::Identify.new(false) # deprecated
MiniMagick::Tool::Identify.new(whiny: false) # good
* Passing the whiny argument to MiniMagick::Tool#call is deprecated, it should
now always be passed to MiniMagick::Tool.new
4.4.0
* Using MiniMagick::Image#format now works when the image instance is a
layer/frame/page.
* Calling MiniMagick::Tool#clone as a way of adding the -clone CLI option now
works properly (before it would call Object#clone).
* Badly encoded lines in identify -verbose don't cause an error anymore in
MiniMagick::Image#details.
* MiniMagick::Image#details doesn't hang anymore when clipping paths are
present
* Added MiniMagick::Image#tempfile for accessing the underlying temporary
file.
* Restore the old behaviour of MiniMagick::Image#respond_to? by looking
at mogrify -help and finding the method. This restores compatibilty
with CarrierWave.
Problems found with existing digests:
Package fotoxx distfile fotoxx-14.03.1.tar.gz
ac2033f87de2c23941261f7c50160cddf872c110 [recorded]
118e98a8cc0414676b3c4d37b8df407c28a1407c [calculated]
Package ploticus-examples distfile ploticus-2.00/plnode200.tar.gz
34274a03d0c41fae5690633663e3d4114b9d7a6d [recorded]
da39a3ee5e6b4b0d3255bfef95601890afd80709 [calculated]
Problems found locating distfiles:
Package AfterShotPro: missing distfile AfterShotPro-1.1.0.30/AfterShotPro_i386.deb
Package pgraf: missing distfile pgraf-20010131.tar.gz
Package qvplay: missing distfile qvplay-0.95.tar.gz
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
v4.3.5
* mini_magick/version.rb is now properly required in the main file (previously
MiniMagick.version was throwing a NoMethodError unless you explicitly
required mini_magick/version.rb)
v4.3.4
* Fix MiniMagick::Tool#tile method being applied as a creation operator
(tile:) instead of an option (-tile)
v4.3.3
* Fixed a bug where, if you would reference any image info inside Image#format
{} or Image#combine_options {}, this info would be cached even after these
methods were executed, leaving the MiniMagick::Image instance with stale
data.
v4.3.2
* Fixed MiniMagick::Image.new("...").format("<ext>") not working if the image
didn't have an extension.
v4.3.1
* Reverted making MiniMagick configuration thread safe, until we figure out
what caused #328.
v4.3.0
* Fixed early reportings of ImageMagick/GraphicsMagick not being installed by
removing the automagically generated methods (commit)
* MiniMagick.with_cli is now thread-safe, as well as other configuration
options
v4.2.10
* Make GraphicsMagick's mogrify support the "-gravity" option.
v4.2.9
* Fixes MiniMagick::Image#size to properly return filesize in bytes
* Added MiniMagick::Image#human_size which holds ImageMagick's human-readable
size string.
v4.2.8
This version has been yanked as it holds a backwards incompatibility which
breaks CarrierWave.
* MiniMagick.with_cli will now restore the old CLI even when errors occur.
* Fixed race condition which caused the MiniMagick::Tool methods not to be
defined yet (can happen in multithreaded environments)
Backwards compatibility
* MiniMagick::Image#size now returns a string with the filesize unit included
4.2.7
* Fix Ruby 1.9.3
4.2.5
* Fixed MiniMagick::Image#details parsing
4.2.4
* Fixed detecting MiniMagick version
* Fix the private method 'format' called on mogrify for real
4.2.3
* Fixed a rush mistake
4.2.2
* Raise proper error in #cheap_info on invalid image
* Improved MiniMagick::Image#details parsing
* Attempt to solve private method 'format' called on mogrify
4.2.1
* Attempt to fix#279
4.1.1
* Fix MiniMagick::Image#composite defaulting to JPG extension. The default is
now the extension of the base image, the one on which composite is called.
4.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
4.0.4
* Allow filenames with colon in their names (thanks to @agorf)
* Dec 28, 2011 - Releasing v3.4 - Better windows support. Fixed problem with
combine_options. Fixed up readme. [hcatlin]
* Dec 21, 2011 - Refactored gem structure a little and added a few bug fixes
to better support Windows users - No changes to API though [2potatocakes]
* Use lang/ruby/gem.mk instead of misc/rubygems/rubygem.mk.
* Add LICENSE.
* Remove default value of GEM_BUILD.
* Ajust new ruby package's framework.
Changes are unknown.
MiniMagick gives you access to all the command-line options ImageMagick
has (found at http://www.imagemagick.org/script/mogrify.php). Using
MiniMagick as an alternative to RMagick allows the Ruby processes memory
to remain small because it spawns ImageMagick's mogrify program, which
has much lower memory usage than RMagick.