396 Commits

Author SHA1 Message Date
mark-young-atg 264b0b1d01 Provide a 'Changelog' link on rubygems.org/gems/image_processing (#129) 2024-08-27 15:56:26 +02:00
Geremia Taglialatela b07cb21626 Opt-in for MFA requirement (#127) 2024-07-25 09:44:05 +02:00
Geremia Taglialatela 682a32cd46 Fix typos (#126) 2024-07-25 09:42:06 +02:00
Janko Marohnić 56a839ed53 Bump to 1.13.0 2024-07-24 18:54:09 +02:00
Janko Marohnić 4cc044087e Revert "Don't allow calling Kernel methods via loader/saver options"
It doesn't fully resolve the security vulnerability, and there is no
point in only partially resolving it.

See https://github.com/janko/image_processing/issues/100

This reverts commit aed5b80cd7.
2024-07-24 18:48:04 +02:00
Janko Marohnić 84e5b61fcc Still support -append in MiniMagick 2024-06-15 23:19:48 +02:00
Janko Marohnić 619c791bc7 Avoid attempting to call non-existing rot0 operation 2024-06-15 23:13:37 +02:00
Janko Marohnić 9d72e46bce Support resize-on-load for resize to cover
We can now rename it back to `#resize_to_cover`, since vips backend
requires all `resize_to_*` operations to support resize-on-load.
2024-06-15 23:10:03 +02:00
Janko Marohnić c2a9a73044 Remove non-existing #append Vips API
Closes #122
2024-06-10 14:53:27 +02:00
Andrew Stevenson 02c3cc4d05 use rot command where possible (#118) 2024-06-06 12:25:08 +02:00
Brendon Muir 8c85ad9252 Add resize_to_cover (#120)
* Add resize_to_cover

* Add an initial resize_to_cover test

* Fix method name and add passing tests for VIPS

* Add cover method for MiniMagick and add tests

* Rearrange VIPS tests to match source code order

* Update CHANGELOG.md

* Add documentation for cover to both engines
2024-06-06 12:02:29 +02:00
Janko Marohnić fd9980b06e Test on Ruby 3.3 2024-06-06 11:54:31 +02:00
Petrik de Heus c20d147765 Remove trailing whitespace in README (#116) 2023-09-24 15:53:48 +02:00
Petrik de Heus 843a859e12 Fix failing test (#117)
The following test currently fails on CI:

   1) Failure:
      ImageProcessing::Vips::#resize_and_pad#test_0006_accepts thumbnail
      options [/home/runner/work/image_processing/image_processing/test/vips_test.rb:310]:
      Expected 1 to be > 3.

By using `:entropy` instead of `:centre` the images differ more
according to DHash.
2023-09-24 15:53:28 +02:00
Vít Ondruch 709bcf7eec Fix compatibility with Minitest 5.19+ (#114)
The `MiniTest` was renamed to `Minitest`:

https://github.com/minitest/minitest/commit/9a57c520ceac76abfe6105866f8548a94eb357b6

And the `MiniTest` constant is now loaded just when `MT_COMPAT` environment variable is set:

https://github.com/minitest/minitest/commit/a2c6c18570f6f0a1bf6af70fe3b6d9599a13fdd6

This fixes following issue:

~~~
$ ruby -Ilib:test -e 'Dir.glob "./test/**/*_test.rb", &method(:require)'
/builddir/build/BUILD/test/test_helper.rb:17:in `<top (required)>': uninitialized constant MiniTest (NameError)
class MiniTest::Test
      ^^^^^^^^
Did you mean?  Minitest
	from <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in `require'
	from <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in `require'
	from /builddir/build/BUILD/image_processing-1.12.2/usr/share/gems/gems/image_processing-1.12.2/test/builder_test.rb:1:in `<top (required)>'
	from <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in `require'
	from <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in `require'
	from <internal:dir>:220:in `glob'
	from -e:1:in `<main>'
~~~
2023-08-31 14:10:34 +02:00
Janko Marohnić 4e35a481f2 Test on JRuby 9.4 2022-12-25 23:11:47 +01:00
Janko Marohnić 5bf2004993 Add Ruby 3.2 to the CI matrix 2022-12-25 23:11:20 +01:00
Janko Marohnić aed5b80cd7 Don't allow calling Kernel methods via loader/saver options 2022-07-31 16:48:01 +02:00
Janko Marohnić 12e7cf50b5 Bump to 1.12.2 2022-03-01 22:15:04 +01:00
Janko Marohnić 038e4574e8 Prevent remote shell execution in #apply
If the operations are coming from user input, this could allow the user
to execute arbitrary shell commands via `Kernel#system` and
`Kernel#spawn`:

  ImageProcessing::Vips.apply({ system: "echo something" })

We prevent this by using `#public_send` instead of `#send`, which goes
to method missing instead of calling private methods, which include
`Kernel#system` and `Kernel#spawn`.
2022-03-01 22:15:04 +01:00
Olle Jonsson 183c0589a9 CI: Add Ruby 3.1 to build matrix (#99) 2022-02-17 12:09:16 +01:00
HM Tanbir d6ae192c2e Update Readme based on debian/ubuntu command (#95) 2022-01-13 08:55:34 +01:00
Janko Marohnić f28553aadf Revert "Test on JRuby 9.3"
There are test failures on CI that are likely related to the new
version.
2021-09-26 10:47:37 +02:00
Janko Marohnić 7402dc0c96 Test on JRuby 9.3 2021-09-26 10:40:24 +02:00
Janko Marohnić f0c152e83b Replace Phashion with dhash-vips
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.
2021-09-26 10:39:56 +02:00