Skip to content

Releases: minimagick/minimagick

v4.2.0

20 Mar 10:32
Compare
Choose a tag to compare
  • Added MiniMagick::Image#details, which parses the output of identify -verbose and returns it as a Hash.

v4.1.1

19 Mar 13:06
Compare
Choose a tag to compare
  • 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.

v4.1.0

17 Feb 12:13
Compare
Choose a tag to compare
  • 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

08 Feb 01:13
Compare
Choose a tag to compare
  • Allow filenames with colon in their names (thanks to @agorf)

v4.0.3

29 Jan 23:24
Compare
Choose a tag to compare
  • 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

02 Jan 10:56
Compare
Choose a tag to compare
  • 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

23 Nov 18:02
Compare
Choose a tag to compare
  • MiniMagick::Image#colorspace now returns the colorspace without arguments, and with arguments it changes the colorspace.

v4.0.0

13 Nov 23:45
Compare
Choose a tag to compare

Features

  • Improved configuration for MiniMagick, see MiniMagick::Configuration
  • Enabled using ImageMagick's command-line tools directly.
  • Added MiniMagick::Image#validate!, which raises MiniMagick::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 use MiniMagick::Image#combine_options.
  • Removed deprectated methods MiniMagick::Image.from_blob and MiniMagick::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 for MiniMagick::Image (commit)

v4.0.0.rc

04 Oct 22:49
Compare
Choose a tag to compare
v4.0.0.rc Pre-release
Pre-release

Features

  • Improved configuration for MiniMagick, see MiniMagick::Configuration
  • Enabled using ImageMagick's command-line tools directly.
  • Added MiniMagick::Image#validate!, which raises MiniMagick::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 use MiniMagick::Image#combine_options.
  • Removed deprectated methods MiniMagick::Image.from_blob and MiniMagick::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

11 Sep 01:54
Compare
Choose a tag to compare

Bug fixes

  • fixed hangups happening when imagemagick errors during processing – @janko-me134fed