Version 5.0.1
April 14, 2026
Fixed
- Incorrect handling of upscale images setting
Version 5.0.0
April 8, 2026
Breaking Changes
- Dropped Craft CMS 4 support. Now requires Craft CMS ^5.6.0 and PHP 8.2+
- Renamed plugin class from
PlugintoImgix(requires"class": "Newism\\Imgix\\Imgix"in composer.jsonextra) - Config file must return an array (not a
BaseConfigobject). Fluent syntax is still supported forVolumeSettingswithin the array - Replaced
pathPrefix(strip-based) path config withincludeFilesystemSubfolder(build-from-components) approach - Non-image assets are now skipped by default via
skipTransformto avoid unnecessary imgix delivery credits
Added
- Read-only CP settings page showing resolved config values, env var mappings, validation status, and per-volume path debug with sample assets
VolumeSettingsmodel for type-safe per-volume configuration with fluent settersincludeFilesystemSubfoldersetting (defaulttrue) to include the filesystem subfolder (e.g. S3 bucket subfolder) in imgix paths- Per-volume
subPathsetting for web folder sources serving multiple volumes #[EnvName('DOMAIN')]attribute forimgixDomainso env var maps toCRAFT_IMGIX_DOMAIN(notCRAFT_IMGIX_IMGIX_DOMAIN)App::envConfig()integration for automatic env var overrides withCRAFT_IMGIX_prefix- Settings model validation with
defineRules()andattributeLabels() - Config file auto-copied to
config/newism-imgix.phpon plugin install - CpScreenSlideout links to edit filesystem and volume from the settings page
- Asset action menu purge uses Craft's built-in
formsubmit(no inline JS)
Changed
- Path construction now builds from components (
filesystem subfolder + volume subpath + asset path) instead of parsing filesystem URLs - Volume subpath is now always included in imgix paths (fixes missing subpath bug)
getSettingsForVolume()caches results per volume handle for performanceassetVolumeCanBePurged()no longer triggersgenerateUrl()— uses settings check only- Purge URL query-string stripping consolidated to
purgeUrl()only performAction()inPurgeImgixAssetalways returnstruewith count-based messages- Translation placeholder used for error messages in
PurgeController - Consistent use of
self::getInstance()instead of static$pluginproperty
Removed
ImageTransformBehaviorandEVENT_DEFINE_BEHAVIORS/EVENT_DEFINE_FIELDSlisteners (redundant since Craft 5.6.0 DI override preserves subclass properties)- Redundant temp filesystem version check (the
hasUrlscheck already handles it) - Inline JS for asset edit page purge action (replaced with
formsubmit)
Version 5.0.0-alpha.8
October 14, 2025
- Added:
skipTransformconfig setting to skip imgix transforms for specific assets. Useful for excluding non-image assets like PDFs. - Added: Imgix purge functionality triggered on Asset changes and manual element actions.
Version 5.0.0-alpha.7
September 22, 2025
- Fixed:
ratiofor CraftCMS v5.8+
Version 5.0.0-alpha.6
August 9, 2025
- Added:
signingKeysetting to the plugin config
Version 5.0.0-alpha.5
May 12, 2025
- Fix: defer to the default Craft CMS transforms when the filesystem is Temp… again
- Changed:
defaultImgixParamstoimgixDefaultParamsin the plugin config - Added:
enabledsetting to the plugin config - Added:
imgixDomainsetting to the plugin config - Added:
volumessetting to the plugin config allowing overriding at a volume level
Version 5.0.0-alpha.4
May 12, 2025
- Fix: defer to the default Craft CMS transforms when the filesystem is Temp
Version 5.0.0-alpha.3
May 12, 2025
- Fix: return a null URL for admin svg image placeholders in card configuration previews
Version 5.0.0-alpha.2
May 3, 2025
- Fix: Added
rasterize-bypassimgix parameter to prevent rasterization of SVGs where no transform is provided.
Version 5.0.0-alpha.1
February 2, 2027
- Initial release - starting at v5 to match current Craft CMS Version.