Skip to content

Eleventy Image v6.0.0

Latest
Compare
Choose a tag to compare
@zachleat zachleat released this 08 Jan 17:18

Notably, for maximum compatibility this package is still CommonJS (not yet ESM). Node minimum is still 18+ (unchanged from Eleventy Image v4).

Breaking Changes

  • useCacheValidityInHash option has been removed #146
  • Transform method will reuse existing <img width> attribute (if single integer) as eleventy:widths value #234

The following changes likely require no action on your part (but are nonetheless breaking):

  • Better color support (P3, AdobeRGB, et al): images retain ICC profiles by default #244
  • Dependency major upgrade: @11ty/eleventy-fetch from v4 to v5
  • Dependency major upgrade @11ty/eleventy-utils from v1 to v2
  • Default metadata object returned will no longer include empty format arrays { jpeg: [] } #242

Features

  • Uses native fetch() (no more node-fetch, via eleventy-fetch upgrade) and works better with caching on remote urls, consistency on file names with sync methods #252 #262 #146
  • returnType: "html" option will return the generated HTML directly instead of the metadata object #267
    • htmlOptions: {} are options passed to the generateHTML function
  • Output format filtering (opt-out with formatFiltering option). Filters out output formats that do not support animation or transparency automatically.
    • Animation friendly formats #260
    • Transparency friendly formats #105
  • Adds failOnError: true option to avoid throwing an error when image processing fails (and failing your build) #225 See also the eleventy:optional attribute below.
  • Adds new transform hook for running your own sharp customizations #52 (comment) (can be used to add custom cropping!)
  • Improved error messaging when incorrectly using the default export with eleventyConfig.addPlugin #263
  • Concurrency auto-scales per machine resources (between 8 min and 16 max) #258
  • Support full URLs in urlPath option #239
  • generateHTML: Missing sizes error relaxed when using loading="lazy" HTML, swap to use sizes="auto" instead #207
  • New generateHTML option (also available via htmlOptions) forfallback: "smallest" to choose smallest image for <img> fallback and width/height dimensions #265 #129

Transform Method

  • Reuse existing <img width> attribute (if single integer) as eleventy:widths value #234
  • Adds eleventy:optional HTML attribute so that errors in image processing will not fail the build (in different ways) #259
    1. Remove src attribute
    2. Leave as-is eleventy:optional="keep"
    3. Replace with a transparent Data URI eleventy:optional="placeholder"
  • Decode file name paths #253
  • Support transforming <picture> nodes #214
  • Preserve attributes on img and picture elements #214 (comment) #241 #243 #251
  • Fix for relative references when using permalinks with non-index.html file names #236

Full Milestone (×26 issues closed): https://github.com/11ty/eleventy-img/milestone/22?closed=1
Full Changelog (×75 commits, +2,347/-992): v5.0.0...v6.0.0