-
Add support for MiniMagick 5.x (@lukeasrodgers)
-
Fix
#resize_to_coverwhen dealing with EXIF orientated images (@brendon)
-
[minimagick] Use
-appendwhen calling#appendwith no arguments (@janko) -
[vips] Avoid lines on the side when rotating by multiples of 90 degrees (@etherbob)
-
Add
#resize_to_coverthat allows resizing an image to cover a given rectangle without cropping the excess (@brendon)
- Prevent remote shell execution when using
#applywith operations coming from user input (@janko)
- Fix format fallback for files ending with a dot on Ruby 2.7+ (@coding-chimp)
- Add instrumentation support via
#instrumenter(@janko)
-
[minimagick] Handle destination format having no file extension (@janko)
-
[minimagick] Disable sharpening on
#resize_*operators by default (@flori) -
[minimagick] Add
#cropwhich acceptsleft, top, width, heightarguments (@janko)
- [vips] Fix auto-rotation not working in certain cases on libvips 8.9.0 (@janko)
- Fix Ruby 2.7 warnings for separation of positional and keyword arguments (@kamipo, @janko)
- [vips] Fix compatibility with ruby-vips 2.0.17+ (@janko)
- [minimagick] Add
:loaderoption for explicitly setting input file type (@janko)
- [vips] Use integer precision when sharpening for better quality (@metaskills)
- Bump
mini_magickdependency to>= 4.9.5(@chioreandan)
- Bring back support for MRI 2.3 (@janko)
-
Drop support for MRI 2.2 and 2.3 (@janko)
-
[vips] Allow forcing a specific loader or saver (@janko)
- [vips] Perform resize-on-load when possible, significantly improving resizing speed (@janko)
- [vips] Make
#removethat's used for removing image metadata chainable (@janko)
- [vips]
#rotatenow always callsvips_similarity()and forwards all options to it (@janko)
-
[vips] In
#compositeaccept:offsetoption for the position of the overlay image (@janko) -
[vips] In
#compositeaccept:gravityoption for the direction of the overlay image (@janko) -
[vips] In
#compositeaccept blend mode as an optional:modeparameter which defaults to:over(@janko) -
[minimagick] In
#compositerename:composeoption to:mode(@janko) -
[minimagick] In
#compositereplace:geometryoption with:offsetwhich accepts an array (@janko)
-
[minimagick, vips] Add
#compositemethod (@janko) -
[core] Allow operations to accept blocks (janko-m)
-
[minimagick] Accept RGB(A) arrays for color names for
:background(@janko) -
[minimagick] Don't add empty
-backgroundoption in#rotatewhen:backgroundis not given (@janko) -
[vips] Modify
#rotateto accept only:backgroundand not othervips_similarity()options (@janko)
-
[minimagick, vips] Add
#rotatemethod (@janko) -
[vips] Use native
vips_image_hasalpha()andvips_addalpha()functions in#resize_and_pad(@janko)
-
[minimagick] Allow appending "+" operators in
#loaderand#saverusing the valuefalse(@janko) -
[core] Fix
#applynot accepting a Hash as an argument (@janko) -
[core] Allow sending any builder commands via
#apply, not just operations (@janko) -
[minimagick] Add
#defineas a wrapper around-define(@janko)
-
[minimagick] Disallow splitting multi-layer images into multiple single-layer images by default to avoid unexpected behaviour, but can be re-enabled with the
:allow_splittingsaver option (@janko) -
[core] Add
#applyfor applying a list of operations (@janko)
-
Depend on
mini_magickandruby-vipsgems (@janko, @mokolabs) -
[minimagick] Remove deprecated API in favor of the chainable API (@janko)
-
[core] Rename
Builder#default_optionstoBuilder#options(@janko) -
[minimagick] Remove
:failloader option in favor of the existing:regard_warnings(@janko) -
[vips, minimagick] Don't fail on warnings when loading the image (@janko)
-
[vips] Don't apply
Vips::Image#autorotif:autorotateloader option was passed in (@janko) -
[minimagick] Allow using value
nilto add ImageMagick options that don't have a value (@janko) -
[vips] Accept
:qualitysaver option as an alias to:Q(@janko) -
[minimagick] Automatically sharpen thumbnails after resizing (@janko, @mokolabs)
-
[vips] Automatically sharpen thumbnails after resizing (@janko, @mokolabs)
-
[minimagick] Avoid
#resize_*operations stripping data by switching back to-resize(@janko) -
[core] Make sure an empty destination file doesn't remain on processing errors when
:destinationis used (@janko) -
[vips] Fix
:alphanot correctly adding alpha for certain types of images (@janko)
- [minimagick] Rename
#limitto#limitsto still allow adding-limitarguments directly (@janko)
-
[minimagick] Fix broken deprecated
#convert(@janko) -
[minimagick] Add
#limitfor specifying resource limits using-limit(@janko) -
[minimagick] Use
-thumbnailinstead of-resizein#resize_*methods (@janko) -
[minimagick] Add loader and saver options (@janko)
- [minimagick] Fix bang methods in deprecated API calling nondestructive versions (@janko)
- [minimagick] Add back default offset arguments to deprecated
#crop(@janko)
- [minimagick] Don't print deprecation warning for old API twice when IO objects are used (@janko)
-
[minimagick] Rewrite MiniMagick module to use the chainable API (@janko)
-
[minimagick] Deprecate the old API (@janko)
-
[minimagick] Raise an exception on processing warnings (@janko)
-
[minimagick] Speed up
.valid_image?by an order of magnitude (@janko) -
[minimagick] Don't accept arbitrary IO object anymore (@janko)
-
[minimagick] Removed unnecessary
#cropand#resamplemacros (@janko) -
[vips] Ignore undefined loader/saver options (@janko)
-
[vips] Preserve transparent background in
#resize_to_pad(@janko) -
[vips] Remove the ability to specify colors using names (@janko)
-
[minimagick, vips] Autorotate images after loading them (@janko)
-
[core] Delete result
Tempfileobject in case of processing errors (@janko) -
[core] Allow returning
nilin the#customblock (@janko) -
[core] Allow specifying a path string as source file (@janko)
-
[core] Allow saving to a specific location with the
:destinationcall option (@janko)
-
Added libvips module (@GustavoCaso, @janko)
-
Drop official support for MRI 2.0 and 2.1
- Add
lib/image_processing.rbto allow loading viaBundler.require(@printercu)
- Fix last changes being incompatible with older Ruby versions, again (@janko)
- Fix last changes being incompatible with older Ruby versions (@janko)
- Don't use path of input file as basename for output file (@janko)
- Maintain transparent background of PNGs in
#resize_to_fill(janko-m)
- Add
#corrupted?for checking whether an image is corrupted (janko-m)
- Add cropping functionality to
ImageProcessing::MiniMagick(paulgoetze)
-
Rewind the file after making a copy in non-destructive methods (janko-m)
-
Add ability to supply page number to
#convert(janko-m)
- Don't error when checking MiniMagick version for older versions of MiniMagick (janko-m)
-
Fix uploading tempfiles to S3 using aws-sdk (janko-m)
-
Make nondestructive methods available on class methods on
ImageProcessing::MiniMagick(janko-m)
-
Make
ImageProcessing::MiniMagick#with_minimagickpublic (janko-m) -
Add
ImageProcessing::MiniMagick#auto_orient(janko-m)
- Include the actual code in the gem (janko-m)
-
Add
ImageProcessing::MiniMagick#resamplefor changing resolution (janko-m) -
Fix padding in
ImageProcessing::MiniMagick#resize_and_pad(janko-m)