Skip to content

Releases: minimagick/minimagick

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

Big refactor and windows compatibility improvements

25 Nov 23:46
Compare
Choose a tag to compare

Bug fixes:

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.