Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): update dependency mini_magick to v5 #423

Closed
wants to merge 1 commit into from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Aug 28, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
mini_magick (changelog) '~> 4.13', '>= 4.13.2' -> '~> 5.1' age adoption passing confidence

Release Notes

minimagick/minimagick (mini_magick)

v5.1.0

Compare Source

  • New cli_env configuration was added for setting extra environment variables for every CLI command:

    MiniMagick.configure do |config|
      config.cli_env = { "MAGICK_MEMORY_LIMIT" => "128MiB" }
    end
  • New graphicsmagick configuration was added for telling MiniMagick to use GraphicsMagick instead of MiniMagick:

    MiniMagick.configure do |config|
      config.graphicsmagick = true # prepend all commands with "gm"
    end

    Previously, the recommended approach was setting MiniMagick.cli_prefix = "gm", but that doesn't work when ImageMagick 7 is installed, as in that case MiniMagick will try to prepend magick on top of gm.

v5.0.1

Compare Source

  • MiniMagick::Image#write doesn't delete the internal tempfile anymore, which restores use cases like:

    image = MiniMagick::Image.open("...")
    image.resize("500x500")
    image.write("foo.jpg")
    image.blur
    image.write("bar.png")
  • Prevented MiniMagick::Image#to_ary being called by ruby in certain cases, such as [image].flatten(1).

v5.0.0

Compare Source

Improvements

  • New class method shorthands were added for the tool API:

BEFORE

MiniMagick::Tool::Convert.new { |convert| ... }
MiniMagick::Tool::Identify.new { |convert| ... }

...

AFTER

MiniMagick.convert { |convert| ... }
MiniMagick.identify { |identify| ... }

...


* `Image#write` now deletes the underlying tempfile if `Image.open` was used, instead of relying on the tempfile to eventually be garbage collected.

#### Backwards compatibility

* Removed official GraphicsMagick support. GraphicsMagick can be used by setting `cli_prefix`:

```rb
MiniMagick.configure do |config|
  config.cli_prefix = "gm"
end

Some features won't be supported, such as MiniMagick.timeout (GraphicsMagick doesn't support time limits), Image#data (GraphicsMagick doesn't support JSON image details) and Image#exif (returns different format).

As a result, MiniMagick.cli and MiniMagick.processor configuration has been removed as well.

  • MiniMagick::Image and MiniMagick.convert now use magick instead of the deprecated magick convert on ImageMagick 7. This should be backwards compatible, but there might be small differences in options and behavior.

  • Removed deprecated posix-spawn shell backend, along with MiniMagick.shell_api configuration.

    Ruby 2.x has long used vfork, so there is no performance advantage of using posix-spawn. Additionally, Ruby 3.x has switched to non-blocking pipes, which should resolve deadlocks people experienced with Open3. See https://github.com/minimagick/minimagick/pull/558 for more details.

  • Removed obsolete Image#run_command.

  • Removed deprecated Image#mime_type, as it wasn't accurate.

    MIME type from file content should be determined either using Marcel or MimeMagic, or mime-types or MiniMime using Image#type.

  • The MiniMagick::Tool::* classes have been deprecated in favor of the class-level interface.

  • The MiniMagick.timeout configuration now uses the native ImageMagick timeout environment variable $MAGICK_TIME_LIMIT. This variable doesn't support timeouts lower than 1 second.

  • The MiniMagick.whiny configuration has been renamed to MiniMagick.errors.

  • Images are no longer automatically validated on Image.open, Image.read or Image.create.

  • The deprecated Image#details method has been removed in favor of the more reliable Image#data.

  • The Image#respond_to_missing? method has been removed, meaning that Image#respond_to? will return false for ImageMagick option methods.

    As a result, the undocumented MiniMagick::Tool.option_methods method has been removed as well, along with the no-op MiniMagick.reload_tools.

  • Removed the obsolete MiniMagick.processor_path configuration, which as mostly an alias for MiniMagick.cli_path.

  • Removed the deprecated MiniMagick.debug configuration in favor of MiniMagick.logger.level = Logger::DEBUG.

  • Removed the unused MiniMagick.validate_on_write configuration.

  • Additional Pathname#open or URI#open options for Image.open need to be passed in as keyword arguments instead of a hash.


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

Copy link
Contributor Author

renovate bot commented Aug 28, 2024

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: Gemfile.lock
Fetching gem metadata from https://rubygems.org/........
Resolving dependencies...

Could not find compatible versions

Because image_processing >= 1.0.0, < 1.8.0 depends on mini_magick ~> 4.0
  and image_processing >= 1.8.0, < 1.9.2 depends on mini_magick >= 4.9.3, < 5,
  image_processing >= 1.0.0, < 1.9.2 requires mini_magick >= 4.0, < 5.
And because image_processing >= 1.9.2 depends on mini_magick >= 4.9.5, < 5
  and carrierwave >= 2.0.0.rc depends on image_processing ~> 1.1,
  carrierwave >= 2.0.0.rc requires mini_magick >= 4.0, < 5.
So, because Gemfile depends on carrierwave ~> 2.1
  and Gemfile depends on mini_magick ~> 5.1,
  version solving has failed.

@renovate renovate bot added the dependencies Pull requests that update a dependency file label Aug 28, 2024
@renovate renovate bot force-pushed the renovate/mini_magick-5.x branch from d529fe5 to ac81f32 Compare November 3, 2024 10:48
@renovate renovate bot force-pushed the renovate/mini_magick-5.x branch from ac81f32 to 659f28c Compare November 22, 2024 01:03
@lodewiges
Copy link
Contributor

image_processing needs to be updated to support mini_magick. This will happend most likely comming month

@lodewiges
Copy link
Contributor

will be finished in #471

@lodewiges lodewiges closed this Jan 30, 2025
Copy link
Contributor Author

renovate bot commented Jan 30, 2025

Renovate Ignore Notification

Because you closed this PR without merging, Renovate will ignore this update. You will not get PRs for any future 5.x releases. But if you manually upgrade to 5.x then Renovate will re-enable minor and patch updates automatically.

If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.

@renovate renovate bot deleted the renovate/mini_magick-5.x branch January 30, 2025 01:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file status:waiting for depencies
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant