Imgix Asset Transformer icon

Imgix Asset Transformer

Version 5.1.0

July 28, 2026

Added

  • {{ imgix.filesystemUrl(asset) }} bypasses imgix completely and uses the filesystem url without any transforms. Use if the original image is required.
  • renderOriginal: true transform property serves the original file from the imgix CDN with no rendering parameters. imgixDefaultParams, all calculated params and revAssetUrls cache busting are skipped — dl is the only imgix param that still applies. Any other param, even one requesting the image's native width, sends the file through imgix's pipeline and re-encodes it.
  • includeLibraryParam config setting (default true) controls whether the imgix SDK's ixlib param is added to generated URLs. Set to false for bare URLs. ixlib has no effect on the image returned.

Changed

  • skipTransform has been renamed to skipImgix. It never skipped a transform — it skips imgix entirely and falls back to the filesystem URL. The old name still works but is deprecated, and support for it will be removed in 6.0.

Fixed

  • Control Panel images are now the correct size in preview and links
  • Transforms are no longer saved onto asset
  • Callable skipImgix values set via per-volume VolumeSettings are no longer lost when volume settings are merged, which silently disabled skipping for that volume

Version 5.0.3

July 27, 2026

Fixed

  • The revAssetUrls was being appended to the signed URL resulting in sig_invalid errors.

Version 5.0.2

May 28, 2026

Fixed

  • Imgix transforms use the q value defined in the global or volume-specific imgixDefaultParams settings

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 Plugin to Imgix (requires "class": "Newism\\Imgix\\Imgix" in composer.json extra)
  • Config file must return an array (not a BaseConfig object). Fluent syntax is still supported for VolumeSettings within the array
  • Replaced pathPrefix (strip-based) path config with includeFilesystemSubfolder (build-from-components) approach
  • Non-image assets are now skipped by default via skipTransform to 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
  • VolumeSettings model for type-safe per-volume configuration with fluent setters
  • includeFilesystemSubfolder setting (default true) to include the filesystem subfolder (e.g. S3 bucket subfolder) in imgix paths
  • Per-volume subPath setting for web folder sources serving multiple volumes
  • #[EnvName('DOMAIN')] attribute for imgixDomain so env var maps to CRAFT_IMGIX_DOMAIN (not CRAFT_IMGIX_IMGIX_DOMAIN)
  • App::envConfig() integration for automatic env var overrides with CRAFT_IMGIX_ prefix
  • Settings model validation with defineRules() and attributeLabels()
  • Config file auto-copied to config/newism-imgix.php on 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 performance
  • assetVolumeCanBePurged() no longer triggers generateUrl() — uses settings check only
  • Purge URL query-string stripping consolidated to purgeUrl() only
  • performAction() in PurgeImgixAsset always returns true with count-based messages
  • Translation placeholder used for error messages in PurgeController
  • Consistent use of self::getInstance() instead of static $plugin property

Removed

  • ImageTransformBehavior and EVENT_DEFINE_BEHAVIORS/EVENT_DEFINE_FIELDS listeners (redundant since Craft 5.6.0 DI override preserves subclass properties)
  • Redundant temp filesystem version check (the hasUrls check already handles it)
  • Inline JS for asset edit page purge action (replaced with formsubmit)

Version 5.0.0-alpha.8

October 14, 2025
  • Added: skipTransform config 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: ratio for CraftCMS v5.8+

Version 5.0.0-alpha.6

August 9, 2025
  • Added: signingKey setting 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: defaultImgixParams to imgixDefaultParams in the plugin config
  • Added: enabled setting to the plugin config
  • Added: imgixDomain setting to the plugin config
  • Added: volumes setting 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-bypass imgix 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.