-
[minimagick] Use
-append
when calling#append
with no arguments (@janko) -
[vips] Avoid lines on the side when rotating by multiples of 90 degrees (@etherbob)
-
Add
#resize_to_cover
that allows resizing an image to cover a given rectangle without cropping the excess (@brendon)
- Prevent remote shell execution when using
#apply
with 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
#crop
which acceptsleft, top, width, height
arguments (@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
:loader
option for explicitly setting input file type (@janko)
- [vips] Use integer precision when sharpening for better quality (@metaskills)
- Bump
mini_magick
dependency 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
#remove
that's used for removing image metadata chainable (@janko)
- [vips]
#rotate
now always callsvips_similarity()
and forwards all options to it (@janko)
-
[vips] In
#composite
accept:offset
option for the position of the overlay image (@janko) -
[vips] In
#composite
accept:gravity
option for the direction of the overlay image (@janko) -
[vips] In
#composite
accept blend mode as an optional:mode
parameter which defaults to:over
(@janko) -
[minimagick] In
#composite
rename:compose
option to:mode
(@janko) -
[minimagick] In
#composite
replace:geometry
option with:offset
which accepts an array (@janko)
-
[minimagick, vips] Add
#composite
method (@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
-background
option in#rotate
when:background
is not given (@janko) -
[vips] Modify
#rotate
to accept only:background
and not othervips_similarity()
options (@janko)
-
[minimagick, vips] Add
#rotate
method (@janko) -
[vips] Use native
vips_image_hasalpha()
andvips_addalpha()
functions in#resize_and_pad
(@janko)
-
[minimagick] Allow appending "+" operators in
#loader
and#saver
using the valuefalse
(@janko) -
[core] Fix
#apply
not accepting a Hash as an argument (@janko) -
[core] Allow sending any builder commands via
#apply
, not just operations (@janko) -
[minimagick] Add
#define
as 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_splitting
saver option (@janko) -
[core] Add
#apply
for applying a list of operations (@janko)
-
Depend on
mini_magick
andruby-vips
gems (@janko, @mokolabs) -
[minimagick] Remove deprecated API in favor of the chainable API (@janko)
-
[core] Rename
Builder#default_options
toBuilder#options
(@janko) -
[minimagick] Remove
:fail
loader 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#autorot
if:autorotate
loader option was passed in (@janko) -
[minimagick] Allow using value
nil
to add ImageMagick options that don't have a value (@janko) -
[vips] Accept
:quality
saver 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
:destination
is used (@janko) -
[vips] Fix
:alpha
not correctly adding alpha for certain types of images (@janko)
- [minimagick] Rename
#limit
to#limits
to still allow adding-limit
arguments directly (@janko)
-
[minimagick] Fix broken deprecated
#convert
(@janko) -
[minimagick] Add
#limit
for specifying resource limits using-limit
(@janko) -
[minimagick] Use
-thumbnail
instead of-resize
in#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
#crop
and#resample
macros (@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
Tempfile
object in case of processing errors (@janko) -
[core] Allow returning
nil
in the#custom
block (@janko) -
[core] Allow specifying a path string as source file (@janko)
-
[core] Allow saving to a specific location with the
:destination
call option (@janko)
-
Added libvips module (@GustavoCaso, @janko)
-
Drop official support for MRI 2.0 and 2.1
- Add
lib/image_processing.rb
to 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_minimagick
public (janko-m) -
Add
ImageProcessing::MiniMagick#auto_orient
(janko-m)
- Include the actual code in the gem (janko-m)
-
Add
ImageProcessing::MiniMagick#resample
for changing resolution (janko-m) -
Fix padding in
ImageProcessing::MiniMagick#resize_and_pad
(janko-m)