Skip to content

chore(deps): bump image from 0.63.0 to 0.67.0#64

Merged
JOY (JOY) merged 2 commits into
mainfrom
dependabot/hex/image-0.67.0
Jul 26, 2026
Merged

chore(deps): bump image from 0.63.0 to 0.67.0#64
JOY (JOY) merged 2 commits into
mainfrom
dependabot/hex/image-0.67.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github May 9, 2026

Copy link
Copy Markdown

Bumps image from 0.63.0 to 0.67.0.

Release notes

Sourced from image's releases.

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

Bug Fixes

  • Use the updated colorspace names in Color 0.4.0.

Image version 0.64.0

... (truncated)

Changelog

Sourced from image's changelog.

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.

Image 0.66.0

This is the changelog for Image version 0.66.0 released on April 25th, 2026. For older changelogs please consult the release tag on GitHub

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.

... (truncated)

Commits
  • 110f437 Proper release version
  • bfa581c Update changelog release date
  • 2c13c6d Fix Image.resize/3 false-pattern dialyzer warning; harden Image.exif/1 agains...
  • e6a7330 Remove Jason
  • 86f9028 Add json_polyfill when required
  • 7c36ecf Add Image.enhance/2 (luminance equalisation + saturation + sharpen)
  • 9a5f545 Add Image.tint/2, fade/2, drop_shadow/2; extend minimize_metadata/2 with :keep
  • d4aa131 Add gamma/sepia/posterize/opacity/set_orientation; fix add_alpha :opaque/:tra...
  • fef5505 Add Image.Palette.extract/2 (Oklab K-means + Color.Palette.Cluster pipeline)
  • 22c80db Update Image.vignette/2
  • 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.67.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.67.0)

---
updated-dependencies:
- dependency-name: image
  dependency-version: 0.67.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 May 9, 2026
@chatgpt-codex-connector

Copy link
Copy Markdown

Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits.
Credits must be used to enable repository wide code reviews.

@JOY
JOY (JOY) force-pushed the dependabot/hex/image-0.67.0 branch 2 times, most recently from 59f6007 to b9e9e94 Compare July 26, 2026 10:56
@JOY
JOY (JOY) force-pushed the dependabot/hex/image-0.67.0 branch from b9e9e94 to 1395fb6 Compare July 26, 2026 10:57

@JOY JOY (JOY) left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Independent review completed: dependency diff, compatibility, lockfile consistency, and current checks verified. No must-fix findings.

@JOY
JOY (JOY) merged commit e96db6e into main Jul 26, 2026
5 checks passed
@JOY
JOY (JOY) deleted the dependabot/hex/image-0.67.0 branch July 26, 2026 12:23
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 elixir Pull requests that update elixir code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant