Skip to content
This repository was archived by the owner on Jun 18, 2026. It is now read-only.

chore(bot): bump image from 0.63.0 to 0.68.0#708

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/hex/image-0.68.0
Open

chore(bot): bump image from 0.63.0 to 0.68.0#708
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/hex/image-0.68.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 1, 2026

Copy link
Copy Markdown
Contributor

Bumps image from 0.63.0 to 0.68.0.

Release notes

Sourced from image's releases.

Image version 0.68.0

Bug Fixes

  • Fix remove_metadata/2 with :xmp selector. It was a silent no-op due to a typo in the header map. Thanks to @​hlindset for the PR. Closes #198.

Image version 0.67.0

Enhancements

  • Adds Image.vignette/2.

  • Adds Image.Palette.extract/2 — perceptual palette extraction from an image via K-means in Oklab plus the Color.Palette.Cluster merge / phantom-guard / centroid-aware-rep pipeline (requires :scholar and :nx).

  • Adds Image.gamma/2 — per-band gamma curve adjustment (wraps Vix.Vips.Operation.gamma/2).

  • Adds Image.sepia/2 — single-pass sepia tone via a 3×3 colour-recombination matrix; accepts a 0.0..1.0 strength that blends the matrix with the identity (matching imgix's sepia=N percentage).

  • Adds Image.posterize/2 — quantises each band to 2..256 evenly-spaced levels for a flat-shaded, comic-strip rendering.

  • Adds Image.opacity/2 — multiplies the alpha band by a 0.0..1.0 factor; adds an opaque alpha band first when the input has none.

  • Adds Image.set_orientation/2 — overrides the EXIF orientation tag without rotating the underlying pixels (paired with Image.open/2's default autorotate: false for full caller control over orientation; matches imgix's or=N).

  • Adds :lossy and :chroma_subsampling options to Image.write/3. :lossy (boolean) toggles the lossless wire format on WebP / AVIF and palette-quantisation on PNG. :chroma_subsampling selects :auto / :on (4:2:0) / :off (4:4:4) on JPEG and AVIF.

  • Adds Image.tint/2 — colour-tinted monochrome via a single 3×3 luminance + tint colour-recombination matrix. Used for the imgix monochrome=#hex / ImageKit e-monochrome family of CDN options.

  • Adds Image.fade/2 — alpha-gradient fade-out on one or more edges via SVG <linearGradient> masks combined with a per-pixel min. Supports :top, :bottom, :left, :right, or :all, with :length as either pixels or a fraction of the relevant dimension. Used for Cloudinary e_fade.

  • Adds Image.drop_shadow/2 — soft drop shadow under the image's alpha-shaped silhouette. Composites a Gaussian-blurred, opacity-scaled, tinted copy of the alpha band beneath the original. Used for ImageKit e-shadow and Cloudinary e_shadow.

  • Adds Image.minimize_metadata/2 with a :keep option — caller-controlled list of EXIF fields to preserve when minimising metadata. The 1-arity variant continues to default to [:copyright, :artist]; the 2-arity variant lets callers pass keep: [:copyright] (preserve only copyright), keep: [] (strip everything), or any other subset.

  • Adds Image.enhance/2 — content-aware automatic enhancement composed of luminance equalisation + mild saturation boost + mild sharpen. Approximates the CDN-style "improve" / "auto-enhance" calls used by Cloudinary, imgix, and ImageKit. Tunable via :saturation and :sharpen_sigma options.

  • Adds Image.to_colorspace/3 — ICC-profile-driven colourspace conversion. Accepts the libvips built-in profile atoms (:srgb, :cmyk, :p3) or a path to an .icc file via Image.ICCProfile.known?/1 validation. Options: :input_profile, :intent (:relative / :perceptual / :saturation / :absolute), and :depth (8 / 16). Wraps Vix.Vips.Operation.icc_transform/3.

Removed

  • Image.QRcode is removed. QR encoding and decoding move to the sibling image_qrcode package, which is built on Nayuki's QR-Code-generator + quirc and does not depend on :evision. Migration: replace Image.QRcode.encode/2 / Image.QRcode.decode/1 with Image.QRCode.encode/2 / Image.QRCode.decode/1 (note the capital "C") and add {:image_qrcode, "~> 0.1"} to your deps. The Image.to_evision/2 and Image.from_evision/1 interop helpers are unchanged.

Bug Fixes

  • Image.add_alpha/2's :opaque and :transparent atoms now produce alpha = 255 and alpha = 0 respectively, matching the standard libvips / RGBA convention. The previous values were inverted relative to their names; integer values pass through unchanged.

Image version 0.66.0

Enhancements

  • Relax Nx support to allow ~> 0.10 (not ~> 0.11). This allows Bumblebee to be configured in image_vision since Bumblebee only supports Nx ~> 0.9.0 or ~> 0.10.0.

Image version 0.65.0

... (truncated)

Changelog

Sourced from image's changelog.

Image 0.68.0

This is the changelog for Image version 0.68.0 released on May 31st, 2026. For older changelogs please consult the release tag on GitHub

Bug Fixes

  • Fix remove_metadata/2 with :xmp selector. It was a silent no-op due to a typo in the header map. Thanks to @​hlindset for the PR. Closes #198.

Image 0.67.0

This is the changelog for Image version 0.67.0 released on May 3rd, 2026. For older changelogs please consult the release tag on GitHub

Enhancements

  • Adds Image.vignette/2.

  • Adds Image.Palette.extract/2 — perceptual palette extraction from an image via K-means in Oklab plus the Color.Palette.Cluster merge / phantom-guard / centroid-aware-rep pipeline (requires :scholar and :nx).

  • Adds Image.gamma/2 — per-band gamma curve adjustment (wraps Vix.Vips.Operation.gamma/2).

  • Adds Image.sepia/2 — single-pass sepia tone via a 3×3 colour-recombination matrix; accepts a 0.0..1.0 strength that blends the matrix with the identity (matching imgix's sepia=N percentage).

  • Adds Image.posterize/2 — quantises each band to 2..256 evenly-spaced levels for a flat-shaded, comic-strip rendering.

  • Adds Image.opacity/2 — multiplies the alpha band by a 0.0..1.0 factor; adds an opaque alpha band first when the input has none.

  • Adds Image.set_orientation/2 — overrides the EXIF orientation tag without rotating the underlying pixels (paired with Image.open/2's default autorotate: false for full caller control over orientation; matches imgix's or=N).

  • Adds :lossy and :chroma_subsampling options to Image.write/3. :lossy (boolean) toggles the lossless wire format on WebP / AVIF and palette-quantisation on PNG. :chroma_subsampling selects :auto / :on (4:2:0) / :off (4:4:4) on JPEG and AVIF.

  • Adds Image.tint/2 — colour-tinted monochrome via a single 3×3 luminance + tint colour-recombination matrix. Used for the imgix monochrome=#hex / ImageKit e-monochrome family of CDN options.

  • Adds Image.fade/2 — alpha-gradient fade-out on one or more edges via SVG <linearGradient> masks combined with a per-pixel min. Supports :top, :bottom, :left, :right, or :all, with :length as either pixels or a fraction of the relevant dimension. Used for Cloudinary e_fade.

  • Adds Image.drop_shadow/2 — soft drop shadow under the image's alpha-shaped silhouette. Composites a Gaussian-blurred, opacity-scaled, tinted copy of the alpha band beneath the original. Used for ImageKit e-shadow and Cloudinary e_shadow.

  • Adds Image.minimize_metadata/2 with a :keep option — caller-controlled list of EXIF fields to preserve when minimising metadata. The 1-arity variant continues to default to [:copyright, :artist]; the 2-arity variant lets callers pass keep: [:copyright] (preserve only copyright), keep: [] (strip everything), or any other subset.

  • Adds Image.enhance/2 — content-aware automatic enhancement composed of luminance equalisation + mild saturation boost + mild sharpen. Approximates the CDN-style "improve" / "auto-enhance" calls used by Cloudinary, imgix, and ImageKit. Tunable via :saturation and :sharpen_sigma options.

  • Adds Image.to_colorspace/3 — ICC-profile-driven colourspace conversion. Accepts the libvips built-in profile atoms (:srgb, :cmyk, :p3) or a path to an .icc file via Image.ICCProfile.known?/1 validation. Options: :input_profile, :intent (:relative / :perceptual / :saturation / :absolute), and :depth (8 / 16). Wraps Vix.Vips.Operation.icc_transform/3.

Removed

  • Image.QRcode is removed. QR encoding and decoding move to the sibling image_qrcode package, which is built on Nayuki's QR-Code-generator + quirc and does not depend on :evision. Migration: replace Image.QRcode.encode/2 / Image.QRcode.decode/1 with Image.QRCode.encode/2 / Image.QRCode.decode/1 (note the capital "C") and add {:image_qrcode, "~> 0.1"} to your deps. The Image.to_evision/2 and Image.from_evision/1 interop helpers are unchanged.

Bug Fixes

  • Image.add_alpha/2's :opaque and :transparent atoms now produce alpha = 255 and alpha = 0 respectively, matching the standard libvips / RGBA convention. The previous values were inverted relative to their names; integer values pass through unchanged.

... (truncated)

Commits
  • ff902fa Remove color migration guide from the package
  • 3149f2a Remove unneeded color migration guide
  • b7b36aa Update nx/exla to ~> 0.12
  • fe440f0 Update changelog, bump verion
  • 6d6cef7 Merge pull request #198 from hlindset/fix-xmp-removal-via-atom-selector
  • 1f525d6 fix xmp header name in @metadata_fields
  • b065465 add failing remove_metadata/2 test
  • 110f437 Proper release version
  • bfa581c Update changelog release date
  • 2c13c6d Fix Image.resize/3 false-pattern dialyzer warning; harden Image.exif/1 agains...
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [image](https://github.com/elixir-image/image) from 0.63.0 to 0.68.0.
- [Release notes](https://github.com/elixir-image/image/releases)
- [Changelog](https://github.com/elixir-image/image/blob/main/CHANGELOG.md)
- [Commits](elixir-image/image@v0.63.0...v0.68.0)

---
updated-dependencies:
- dependency-name: image
  dependency-version: 0.68.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file elixir Pull requests that update Elixir code labels Jun 1, 2026
@codecov

codecov Bot commented Jun 1, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 79.42%. Comparing base (015b0c3) to head (4f34174).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #708      +/-   ##
==========================================
+ Coverage   79.38%   79.42%   +0.04%     
==========================================
  Files          84       84              
  Lines        2450     2450              
==========================================
+ Hits         1945     1946       +1     
+ Misses        505      504       -1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

dependencies Pull requests that update a dependency file elixir Pull requests that update Elixir code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants