Version 4.0.5

May 19, 2023

Changed

  • Automate release generation via GitHub action
  • Add versioning to the docs

Fixed

  • Side-step an issue which caused Craft 4.4.x to do unwanted image transform work even when using an external service to do the transforms (#373) (#13018)
  • Remove the old Craft generated transform that's still sitting in the temp directory (#380)

Version 4.0.4

February 9, 2023

Changed

  • Use dynamic docker container name & port for the buildchain
  • Update the buildchain to use Vite ^4.0.0
  • Updated docs to use VitePress ^1.0.0-alpha.29
  • Refactored the docs buildchain to use a dynamic docker container setup

Version 4.0.3

November 17, 2022

Changed

  • Fixed HMR in local dev with explicit alias that resolves to the actual directory

Fixed

  • Fixed an issue where the craft image-optimize/optimize/create CLI command did not properly optimize all images (#350)
  • Fixed an issue which caused the Imgix auto to no longer work for auto format (#357)
  • Fixed a JavaScript console error in field settings due to Garnish shuffling around how things work for menus
  • Fixed an issue where srcsetWidth() wouldn't return the proper variant, due to strict comparison operator (#327)
  • Fixed an issue where using a transform method other than Craft along with asset.getUrl() in your templates could throw an exception (#363)

Version 4.0.2

July 17, 2022

Changed

  • Add allow-plugins to composer.json to allow CI tests to work

Fixed

  • Fixed an issue where transforms don't get deleted on remote volumes if the format was set to auto (#341)
  • Normalize for lowercase file extensions and normalize jpeg -> jpg everywhere

Version 4.0.1

July 8, 2022

Fixed

  • If there's no transform requested, return null so other plugins have a crack at it (#349)

    Fixed

  • Fixed an issue where calling generateUrl() would throw an exception for the Imgix transform method (#342)

Version 4.0.0

June 28, 2022

Changed

  • If there's no transform requested, and we're not using some external service for image transforms, return null so other plugins have a crack at it

Fixed

  • Set the variant format to the current asset format if it is left empty, otherwise Craft recursively calls getTransformUrl() and hangs the queue (#329) (#343)
  • Fixed an issue where variants would not resave under certain circumstance due to a typing issue (#335)
  • Make the properties in the OptimizedImage nullable to avoid null property values throwing an exception (#345)
  • Fixed an issue that caused sub-folders to not appear in the OptimizedImages field settings (#333)
  • Fixed an issue that could cause JavaScript errors for newly created OptimizedImages fields, and in slideouts (#344)

Version 4.0.0-beta.3

April 8, 2022

Fixed

  • Fix ImageTransform::getAssetUri() to properly handle S3 and other volume sub-directories

Version 4.0.0-beta.2

April 8, 2022

Fixed

  • Fixed an issue with properties not being initialized before being accessed, which would cause image uploads to fail (#323)

Version 4.0.0-beta.1

March 23, 2022

Added

  • Initial Craft CMS 4 compatibility

Version 1.6.42

February 23, 2022

Added

  • Added in GQL implementation for srcsetMinWidth, srcsetMaxWidth, srcsetMinWidthWebp & srcsetMaxWidthWebp. Updated the documentation to show how these are used (#315)

Changed

  • Only update variants for an existing asset if the image has been manipulated (#314)

Fixed

  • Use the new Imgix purge API endpoint properly (#4)
  • Fixed an issue where corrupted images could result in the Imgix transformer throwing an exception (#3) (#306)

Version 1.6.41

January 17, 2022

Fixed

  • Fixed an issue that could cause the JavaScript to not execute properly, causing the Settings to not appear correctly (#310)

Version 1.6.40

January 12, 2022

Added

  • Add .gitattributes & CODEOWNERS
  • Add linting to build
  • Add compression of assets
  • Add bundle visualizer

Version 1.6.39

January 4, 2022

Changed

  • Updated the buildchain to use Node 16
  • Changed buildchain to Vite from webpack 5
  • Create variants via queue when an asset is moved in Craft ^3.7.1

Version 1.6.38

November 18, 2021

Fixed

  • Fixed the display of WebP images in FireFox, Safari, and other browsers that support WebP, but not from Canvas by improving the WebP support detection method (#301)
  • Fixed the SVGO optimizer by ensuring that image processors without commandOptions have the resulting command properly padded with a space (#300)
  • Fixed an issue with the Sharp transform method where transforms could fail if the file extension was not lowercase (#4)

Version 1.6.37

November 11, 2021

Fixed

  • Fixed an issue where image placeholders would create images in incorrectly large sizes if certain EXIF data was present, and preserveExifData was set to true in config/general.php, resulting in a db error when trying to save the encoded image in the field data (#296)

Version 1.6.36

September 7, 2021

Fixed

  • Fixed an issue where the wrong Imgix API was being used for purging images (#273)

Version 1.6.35

July 14, 2021

Fixed

Version 1.6.34

June 10, 2021

Changed

Fixed

Version 1.6.33

April 23, 2021

Added

Version 1.6.32

April 15, 2021

Fixed

Version 1.6.31

April 6, 2021

Added

  • Added make update to update NPM packages
  • Added make update-clean to completely remove node_modules/, then update NPM packages

Changed

  • Use Tailwind CSS ^2.1.0 with JIT

Fixed

  • Fixed broken link to lower quality retina images article

Version 1.6.30

April 3, 2021

Added

  • Added some additional CLI command logging that shows the savings from optimization

Changed

  • Don't record or display errors that are a result of assets that are not images
  • Don't display image transform errors twice

Version 1.6.29

March 31, 2021

Fixed

Version 1.6.28

March 28, 2021

Changed

  • Updated to latest docs dependencies

Fixed

  • Fixed missing Composer dependency nystudio107/craft-plugin-manifest

Version 1.6.27

March 28, 2021

Changed

  • Move settings from the composer.json “extra” to the plugin main class
  • Move the manifest service registration to the constructor
  • Require nystudio107/craft-imageoptimize-imgix version ^1.2.1

Fixed

  • Return null if no transform needs to be done, so other plugins can hook in

Version 1.6.26

February 26, 2021

Fixed

  • Fixed a regression that caused the image sizes to show up as ??? in the Asset Detail view

Version 1.6.25

February 23, 2021

Changed

  • Updated to use craft-imageoptimize-imgix version ^1.2.0

Fixed

  • Always display sticky errors

Version 1.6.24

February 13, 2020

Added

  • Added error logging for curl errors

Changed

  • Attempt to display optimized image variants even if the image curl fails
  • Remove the use of curl to obtain the remote image sizes, replacing it with frontend JS

Version 1.6.23

February 13, 2020

Fixed

  • Fixed parse errors with PHP < 7.3

Version 1.6.22

February 10, 2020

Added

  • Added a stickyErrors property to the OptimizedImages model, so we can post-facto display if something went wrong during image generation on the frontend to users
  • Implemented useFieldset for Craft 3.6

Fixed

  • Fixed deprecation errors in Craft CMS 3.5 or later
  • Fixed an issue where aspect ratios could be improperly rounded, causing a division by zero error

Version 1.6.21

December 31, 2020

Added

  • Added a ImageOptimize Info Utility that allows you to see the ImageOptimize settings even in environments where allowAdminChanges is false
  • Added a try/catch block to Imagine calls to handle errors more gracefully

Changed

  • Split out vendors & commons chunks
  • Switch from using ->each() to using craft\db\Paginator to paginate asset query results, to address out of memory issues on massive queries
  • ImageOptimize now requires Craft CMS 3.1.19 or later

Version 1.6.20

December 8, 2020

Changed

  • Lowercase written instances of "Imgix"
  • Added additional logging for image placeholder and color extraction
  • Moved the CSS/JS buildchain over to webpack 5
  • Updated to latest npm deps

Version 1.6.19

October 7, 2020

Fixed

  • Fixed improperly generated webp URL for Imgix

Version 1.6.18

September 28, 2020

Changed

  • If an Optimized Images field is edited, only re-save the transforms for that specific field
  • Allow an optional --field to be passed into the php craft image-optimize/optimize/create console command to only create image variants associated with a specific Optimized Images field
  • Allow an optional --force flag to be passed into the php craft image-optimize/optimize/create console command for force image variant creation

Version 1.6.17

September 18, 2020

Changed

  • Sped up image optimization on multi-site setups by not spawning a new optimizing images job if the element is merely propagating to other sites

Fixed

  • Fixes issue when using asset.getUrl({ }) with Imgix, where format would be coerced to the image's extension format, when it should have been left as null.

Version 1.6.16

August 31, 2020

Changed

  • Cleaned up the field styling to make it look correct on Craft CMS > 3.5.0
  • Default to false if $variant['useAspectRatio'] is somehow null

Version 1.6.15

August 25, 2020

Added

  • Added support for Redis queue jobs
  • If an Optimized Images field isn't set to create variants for the sub-folder that an Asset is in, it'll display N/A

Changed

  • Cleaned up the field formatting for Craft CMS 3.5 CSS layout changes

Fixed

  • Fixed an issue with .webp URLs not working for URLs with ports in them
  • Make missing webp variants display better
  • Fixed an issue where images that were in sub-folders of sub-folders didn't have image variants created for them, if only specific volume sub-folders were chosen for optimization

Version 1.6.14

June 8, 2020

Fixed

  • Ensure image quality is set to null as “Auto” setting of image quality

Version 1.6.13

April 16, 2020

Fixed

  • Fixed Asset Bundle namespace case

Version 1.6.12

March 21, 2020

Added

  • Added the create-asset console command for regenerating the responsive image variants for a single Asset ID

Changed

  • Generated image URLs that have no file format extension are now properly displayed in the GUI (an issue mostly with serverless Sharp)

Version 1.6.11

February 12, 2020

Changed

  • Sanity check the inputs before normalizaing the file format

Version 1.6.10

February 11, 2020

Changed

  • Normalize the file format to lowercase before transforming

Version 1.6.9

February 6, 2020

Changed

  • Properly documented how the data in the imageTransformTypeSettings config is stored

Fixed

  • Fixed an issue where an SVG sent in to an image transform handler as a thumbnail request without specifying another format to convert to

Version 1.6.8

January 27, 2020

Fixed

  • Fixed an issue where an SVG sent in to image transform handler without specifying another format to convert to
  • Fixed an issue where MTIME or other query string params could be listed as part of the image format

Version 1.6.7

January 8, 2020

Added

  • Added the ability to retrieve the dominant color palette as RGB values, making things like gradients easier to do
  • ImageOptimize will now send back an Imgix or other transform method URL for asset.getUrl() with no transform applied

Version 1.6.6

November 19, 2019

Added

  • Added a Preferences item to control whether allow limiting the creation of Optimized Image Variants for images by sub-folders

Version 1.6.5

November 13, 2019

Added

  • Added the ability to choose the sub-folders in an asset volume in which Optimized Image Variants will be created

Changed

  • Parse volumes sub-folders as environment variables

Version 1.6.4

October 31, 2019

Changed

  • If an image is an animated .gif file, never change the file format

Version 1.6.3

October 24, 2019

Changed

  • Force update to "nystudio107/craft-imageoptimize-imgix": "^1.1.1"
  • Fixed aspect ratio for CP thumbnail images
  • Default createPlaceholderSilhouettes to false so people need to enable this setting if they want to use them (they can be on the larger side)

Version 1.6.2

September 25, 2019

Changed

  • Added support for native GraphQL in Craft 3.3

Version 1.6.1

August 13, 2019

Changed

  • Added more robust sanity checking if an invalid URL or path is being passed into ImageTransform::appendExtension()

Version 1.6.0

July 5, 2019

Added

Changed

  • Fixed an issue where ImageOptimize was not handling assets it didn't know how to transform property, resulting in generic thumbnails if you used the Embedded Assets plugin
  • Updated ImageTransformInterface to remove the deprecated $params

Version 1.5.7

June 13, 2019

Added

  • Added a lightness calculation based on a weighted average of the extracted dominant color palette to give you an idea of the image's overall lightness

Changed

  • Don't force the format for fallback images
  • Rebuilt assets to fix npm vulnerabilities

Version 1.5.6

May 21, 2019

Changed

  • Fixed an issue where newly added Image Variant blocks had incorrect ids on the Retina checkboxes
  • Updated build system

Version 1.5.5

April 22, 2019

Changed

  • Updated Twig namespacing to be compliant with deprecated class aliases in 2.7.x

Version 1.5.4

February 22, 2019

Changed

  • Fixed an issue where focal points weren't always respected for Imgix

Version 1.5.3

February 7, 2019

Changed

  • Fixed an issue where .env vars were not actually parsed

Version 1.5.2

February 7, 2019

Changed

Version 1.5.1

December 28, 2018

Changed

  • Refactored the Imgix and Thumbor Image Transforms out to external packages

Version 1.5.0

December 27, 2018

Changed

  • Refactored out the ImageTransform interface to use Yii2's DI to allow them to be stand-alone components
  • Respond to Assets::EVENT_GET_ASSET_THUMB_URL for direct thumbnail generation from third party image transform services

Version 1.4.45

November 28, 2018

Changed

  • Call App::maxPowerCaptain() whenever a queue is manually run (both via web and console request)
  • Minor Thumbor fixes

Version 1.4.44

November 18, 2018

Changed

  • Default format and quality to null so they can be omitted if you're generating transforms via Twig
  • Fix an issue with Imgix with images that have no focal point set

Version 1.4.43

November 5, 2018

Changed

  • Fix Thumbor focal point order
  • Fix a regression that broke images in sub-folders for Imgix
  • Retooled the JavaScript build system to be more compatible with edge case server setups

Version 1.4.42

October 15, 2018

Added

  • Added the ability to have OptimizedImages fields ignore SVG and/or GIF files
  • Added support Thumbor resizing service

Version 1.4.41

October 11, 2018

Changed

  • Fixed an issue where volumes with sub-folders such as Amazon S3 or Google Cloud didn't generate the correct URLs
  • Fixed the build process so it will no longer look for devServer on installs
  • Added a link to the variant does not exist to aid in diagnosing what is wrong
  • Changed the signature of ::getWebPUrl() to send in all of the transform params

Version 1.4.40

October 5, 2018

Added

  • Add Super Table conditional for field

Changed

  • Updated build process

Version 1.4.39

September 25, 2018

Changed

  • Added a try/catch around ColorThief, to catch errors thrown due to empty/transparent images
  • Fix a regression that could cause Optimized Images to not be generated correctly
  • Modernized package.json and webpack build

Version 1.4.38

August 20, 2018

Changed

  • Fixed an incompatibility with the Spoon plugin by removing matrix-field class from field type settings
  • Fixed an erroneous 2:2 aspect ratio in the default settings
  • Moved to a modern webpack build config for the Control Panel
  • Added install confetti

Version 1.4.37

August 9, 2018

Changed

  • Reverted an errant commit that removed a fix for propagating field data in multi-site environments
  • Ensure that .webp variants have fully qualified absolute URLs

Version 1.4.36

August 6, 2018

Added

  • Added the ability to access each image variant's height

Changed

  • Update to the latest version of the Imgix PHP library

Version 1.4.35

July 12, 2018

Changed

  • Catch all exceptions that happen during ResaveOptimizedImages() job so that execution can continue

Version 1.4.34

July 12, 2018

Changed

  • Smarter appending of variant creator suffixes, to handle URLs that have query strings

Version 1.4.33

May 24, 2018

Changed

  • Handle JPEGs coming in as both jpg & jpeg for the detected file format
  • Remove vestigal empty() checks

Version 1.4.32

May 9, 2018

Added

  • Improved CraftQL support by allowing parameter passing to src and srcUrls

Version 1.4.31

April 22, 2018

Added

  • Added CraftQL support

Version 1.4.30

April 9, 2018

Added

  • Added additional profiling information

Version 1.4.29

April 6, 2018

Added

  • Added profiling to the image variant creation

Changed

  • Vastly increase the speed with which the transforms are created when done via Twig templating code
  • Increased the speed of the variant creation in general

Version 1.4.28

April 2, 2018

Changed

  • Switched over to using the Unsharp Mask (usm) filter for auto-sharpening Imgix images

Version 1.4.27

April 2, 2018

Changed

  • Removed unused composer dependencies

Version 1.4.26

March 31, 2018

Changed

  • Fixed a typo with $generatePlacholders that would cause saving images to fail

Version 1.4.25

March 30, 2018

Changed

  • Fixed a typo in the config.php settings, changed generatePlacholders -> generatePlaceholders
  • Made the reduced quality of retina images if lowerQualityRetinaImageVariants is enabled less aggressive

Version 1.4.24

March 19, 2018

Changed

  • Fixed an issue with propagating field data in multi-site environments
  • Scrutinizer code cleanup / refactoring
  • If .webp support isn't configured, we don't display the images for the webp variants
  • If images are being generated via template (not recommended) disable running the image optimizers and variant creators by default

Added

  • Added craft.imageOptimize.serverSupportsWebP() function to determine whether the server is capable of creating .webp variants
  • Added validation rules for imgixSecurityToken so the value can be saved in the model

Version 1.4.23

March 3, 2018

Changed

  • The lengthy generation of placeholders should really be off by default when doing them via Twig now
  • Asset move operations now cause Optimized Image Variants to be re-saved via a non-blocking queue job

Version 1.4.22

March 2, 2018

Changed

  • Using Image Optimize via Twig should have less of a performance hit now, since all placeholder image/color palette generation is disabled
  • Fixed deprecation errors from Craft CMS 3 RC13

Version 1.4.21

February 27, 2018

Changed

  • Show a warning if people try to add an OptimizedImages field in a Matrix block

Version 1.4.20

February 27, 2018

Added

  • Allow for CLI processing of specific Asset Volumes via image-optimize/optimize/create volumehandle
  • Added automaticallyResaveImageVariants to config.php to allow disabling of the automatic re-saving of Image Variants for people who want to do it manually via the CLI
  • Added a .srcWebp() method for OptimizedImages
  • Added an optional width parameter that can be passed into .src() and .srcWebp()
  • Added support for mostly deprecated 1x, 2x, etc. srcsets by passing an optional true parameter to .srcsetWidth(XXX, true) and .srcsetWidthWebp(XXX, true)

Changed

  • Fix more deprecation errors from Craft CMS 3 RC 12

Version 1.4.19

February 23, 2018

Changed

  • Fix deprecation errors from Craft CMS 3 RC 12 (which were causing slowdowns)

Version 1.4.18

February 19, 2018

Added

  • Fix a division by 0 error with some custom Craft transforms when using Imgix as a transform method

Version 1.4.17

February 16, 2018

Added

  • Added lightswitch controls to the OptimizedImages field that let you control what is displayed

Changed

  • Ensure we handle all of the potential $transform types passed into EVENT_GET_ASSET_URL
  • Both createColorPalette and createPlaceholderSilhouettes are now off by default when using craft.imageOptimize.createOptimizedImages() via Twig, but can be overridden

Version 1.4.16

February 15, 2018

Added

  • Added support for optional security token used to sign image URLs from Imgix
  • Added image-optimize/optimize/create and image-optimize/optimize/clear console commands for command line Optimized Image Variant creation

Changed

  • Display the non-webp version of an image when it exists, but the browser doesn't support displaying .webp
  • Handles error conditions with filesize better

Version 1.4.15

February 14, 2018

Changed

  • Resave all asset volumes after the settings are changed (not just the Transform Method)
  • Save the Optimized Image Variants via an async queue when possible
  • Detect gd installation via function_exists instead of extension_loaded
  • Handle protocol-relative siteUrls better

Version 1.4.14

February 9, 2018

Changed

  • Fixed an issue where certain settings could not be saved via the Control Panel
  • Check to ensure that GD is installed before attempting to generate silhouette placeholders
  • Show a warning on the Settings page if GD is not installed

Version 1.4.13

February 5, 2018

Changed

  • Removed Edit Image button, since Craft CMS 3 now includes one in the Asset preview

Version 1.4.12

February 1, 2018

Changed

  • Removed the api-key parameter from Imgix image transform URLs

Version 1.4.11

January 30, 2018

Changed

  • Renamed the composer package name to craft-imageoptimize
  • Fixed a regression that broke protocol-relative siteUrls

Version 1.4.10

January 26, 2018

Added

  • Shows an error if an OptimizedImages field is added to anything other than an Asset's layout
  • Added a warning if a config setting is being overridden by the config.php
  • Added a number of config settings to the Control Panel GUI

Changed

  • UrlHelper::urlWithProtocol -> UrlHelper::urlWithScheme for Craft CMS 3 RC7 compatibility
  • Fixed an issue where you could delete the last Image Variant in the field settings, even though the option was disabled
  • Handle the display of Optimized Image Variant names better when coming from Imgix

Version 1.4.9

January 20, 2018

Added

  • Added an Edit Image button to the Optimized Images field view

Changed

  • Fixed getWebPUrl() for the Imgix image transform driver
  • Fixed an issue where image uploads/changes would fail if you had an invalid or non-existent activeImageVariantCreators set
  • Fixed an issue with protocol-relative siteUrls

Version 1.4.8

January 11, 2018

Changed

  • Fixed a flaw in the default aspect ratios
  • Fixed Focal Point resaving issue
  • Resaving Optimized Image Variants after making field changes should be quicker now

Version 1.4.7

December 29, 2017

Changed

  • Fixed a regression that would cause issues with PHP 7.0 (but not later versions of PHP)

Version 1.4.6

December 27, 2017

Changed

  • Handle the case of no Optimize Image Variants being created due to upscaling by just returning the original image
  • Made the documentation on the OptimizedImages Field more clear, in that it needs to be added to an Asset Volume's layout

Version 1.4.5

December 22, 2017

Added

  • Added .getMaxSrcsetWidth() to work around issues with <img srcset> choosing sizes larger than are available
  • Added a max size of 30K for generated silhouette SVGs, at which point it returns a simple SVG box

Changed

  • Better exception handling

Version 1.4.4

December 19, 2017

Added

  • Image variant creators now clean up after themselves when an Asset transform is deleted

Changed

  • ImageOptimize now requires at least Craft CMS 3 RC3 or later

Version 1.4.3

December 19, 2017

Added

  • Image transforms that are scaled down >= 50% are now auto-sharpened (controllable via the autoSharpenScaledImages setting in config.php)
  • It's now possible to set the default aspect ratios in the config.php

Changed

  • No longer possible delete the last Optimized Image variant
  • At least one Optimized Image variant will always be present

Version 1.4.2

December 15, 2017

Changed

  • Fixed an issue where .webp variants would not be created

Version 1.4.1

December 13, 2017

Changed

  • Re-create the Responsive Image Variants when an Asset is replaced
  • Handle cache busting for the Responsive Image Variants by appending an ?mtime= string to the URL
  • Better display of image variants when no variants are created
  • No longer throws errors if you don't have the an image variant creator installed
  • Wrap URLs and data returned to templates with Template::raw() so they won't be HTML entity encoded by default

Version 1.4.0

December 12, 2017

Added

  • Added craft.imageOptimize.createOptimizedImages to allow for the dynamic creation of Optimized Image variants
  • Added craft.imageOptimize.placeholderBox to create a transparent SVG placeholder box of an arbitrary size and color
  • Automatically reduce the quality of retina images (controllable via the lowerQualityRetinaImageVariants setting in config.php)
  • Don't create Optimized Image Variants if it means the original image would be up-scaled (controllable via the allowUpScaledImageVariants setting in config.php)
  • Purge URLs for assets that are deleted from services like Imgix

Changed

  • Fixed an issue where deleted Optimized Image Variant blocks would cause an error once saved
  • Changed the default optipng compression to -o3 so the compression time is more reasonable
  • Updated README.md to reflect the new features

Version 1.3.6

December 10, 2017

Changed

  • Fixed an error with Imgix transforms

Version 1.3.5

December 6, 2017

Changed

  • Switched from file_exists() to is_file() for detecting image processor and variant commands
  • Fixed an issue with Optimized Image Variant generation on certain setups
  • The OptimizedImages field now displays protocol-relative images properly
  • Added better debug logging
  • Updated to require craftcms/cms ^3.0.0-RC1

Version 1.3.4

December 3, 2017

Changed

  • Fixed an issue where selecting image variants would result in the wrong aspect ratio
  • Changed the default image variant widths

Version 1.3.3

November 30, 2017

Added

  • Auto-purge remote Imgix image URLs when assets are changed

Changed

  • Fixed an issue with newly uploaded assets that have an OptimizedImages field in their Volume Layout

Version 1.3.2

November 14, 2017

Added

  • Added media query srcset sizes for precise control over the output sizes

Version 1.3.1

November 13, 2017

Added

  • Added the display of the dominant color palette and the lazy load placeholder images to the Field
  • Optimize the placeholder images regardless of user settings
  • Fixed an issue where newly uploaded assets would not resave on the AJAX request
  • Added portrait & landscape responsive image variant presets

Version 1.3.0

November 10, 2017

Changed

  • Added support for globally replacing native Craft transforms with a service like Imgix, with zero template changes
  • Added a Welcome page after installing ImageOptimize
  • Performance improvements when generating the placeholders

Version 1.2.10

November 4, 2017

Changed

  • Fixed broken OptimizedImages Field settings
  • Fixed optipng path in config.php
  • Implemented an abstract ImageTransform class & interface

Version 1.2.9

November 3, 2017

Added

  • Added support for using Imgix to create the responsive image transforms

Changed

  • Switched over to using ResaveElements queue to handle newly uploaded Assets
  • Implemented optimized SVG data URIs, which can shave 15% off of the size of the SVG size

Version 1.2.8

October 19, 2017

Changed

  • More paranoid sanity checking of the activeImageProcessors and activeImageVariantCreators config.php settings

Added

  • Added the ability to control when image variants are created via generateTransformsBeforePageLoad config.php setting
  • Added a createColorPalette in config.php to control dominant color palette creation
  • Added a createPlaceholderSilhouettes in config.php to control silhouette placeholder image creation

Version 1.2.7

October 18, 2017

Added

  • Added the ability to make inline SVG silhouette images as placeholder images for lazing loading

Version 1.2.6

October 16, 2017

Changed

  • Moved the default variants to the config.php and Settings model, so they can be overridden

Added

  • Added the variant setting Enforce Aspect Ratio to allow for images with no fixed aspect ratio

Version 1.2.5

October 11, 2017

Added

  • Added the ability to automatically set the placeholder color to the image's dominant color
  • Added the ability to extract the 5 dominant colors from an image

Version 1.2.4

October 10, 2017

Added

  • Added automatic generation of Instagram-style low resolution placeholder images for lazing loading

Version 1.2.3

September 16, 2017

Added

  • Added support for 2x and 3x retina images
  • Added a .src() method to get the default responsive variant

Changed

  • Updated the README.md to be more descriptive

Version 1.2.2

September 11, 2017

Changed

  • Responsive Image Variants now default to jpg as a file format, for client-proofing purposes
  • Fixed an issue where re-arranging to adding/deleting Responsive Image Variants could cause issues
  • Fixed an issue with non-manipulatable images like PDF

Version 1.2.1

September 10, 2017

Changed

  • Fixed an issue that could leave stale image variants around
  • Ensure that the optimized image variants are re-created if the image is edited
  • Added logging to show the savings for image variants
  • Fixed the way the Settings page is rendered
  • Updated README.md

Version 1.2.0

September 8, 2017

Added

  • Added OptimzedImages Field
  • Updated README.md

Version 1.1.0

August 7, 2017

Added

  • Added support for automatic webp image variant creation

Version 1.0.10

August 6, 2017

Changed

  • Fixed support for the mozjpeg image processor

Version 1.0.9

July 15, 2017

Changed

  • Craft 3 beta 20 compatibility

Version 1.0.8

April 20, 2017

Changed

  • Fixed the packagist.org package name to coincide with the plugin renaming
  • Added debug trace logging in the event handler
  • Updated README.md

Version 1.0.7

April 10, 2017

Changed

  • Renamed the plugin from ImageOptim to ImageOptimize
  • Added .webp support

Version 1.0.6

April 8, 2017

Changed

  • Added createSettingsModel() to the main plugin class

Version 1.0.5

March 24, 2017

Changed

  • hasSettings -> hasCpSettings for Craft 3 beta 8 compatibility
  • Added Craft 3 beta 8 compatible settings
  • Modified config service calls for Craft 3 beta 8

Version 1.0.4

March 12, 2017

Added

  • Added code inspection typehinting for the plugin & services

Changed

  • Removed unused resources/img

Version 1.0.3

March 12, 2017

Added

  • Added support for gif images via gifsicle
  • Added craft/cms as a composer dependency

Changed

  • Code refactor/cleanup

Version 1.0.2

March 11, 2017

Added

  • Added logging of the savings for each image optimization if devMode is on

Version 1.0.1

March 11, 2017

Added

  • Added mikehaertl/php-shellcommand as a dependency in composer.json

Changed

  • Updated README.md with more information

Version 1.0.0

March 11, 2017

Added

  • Initial release