Phashion currently doesn't install on Apple Silicon, and it doesn't seem
it's going to get fixed.
An upside is that this will now work on JRuby as well, since dhash-vips
doesn't use C extensions.
Prior to 1.0, ImageProcessing *was* just a set of helper methods.
However, in 1.0 it implemented a builder pattern and became much more
than just helper methods. So we update the gem description to reflect
that.
ruby-vips 2.0.17 rewrote the introspection API, which is unfortunate
since it breaks ImageProcessing. On the bright side, the new
introspection API does much more for us, and uses caching for
optimization, so it's an improvement.
ruby-vips 2.0.11 adds Vips::Image#add_alpha and Vips::Image#has_alpha?,
which call the corresponding C functions directly, so we can now remove
our own implementations.
This will make maintenance a lot easier, because we'll be able to adapt to
changes in mini_magick and ruby-vips gems, as we will have the ability
to bump their versions.
This also makes installation easier, because the user doesn't need to
remember to add those gems to the Gemfile, and doesn't need to remember
which versions should be specified.
The downside is that both gems will always be installed, which might
cause concern for some users. However, considering that both gems are
very small (mini_magick is 43KB and ruby-vips is 233KB), and that both
can be normally installed without ImageMagick or libvips being
installed, I think the ends justify the means. And there is no rational
reason for concern, because only the gem that's used will actually be
loaded.