ChangelogLast updated: 31 July 2026
JCOGS Image Pro is updated regularly. The updates deliver new features, improvements and bug fixes to JCOGS Image Pro.
Details of changes made each time it is updated are recorded here.
It is strongly recommended that if you have the opportunity you update JCOGS Image Pro to the latest version on a regular basis.
2.1.0 (31 July 2026)
Improvements
- introduced support for the Imagick and Gmagick graphics libraries as alternatives to GD, selectable via a new Image Processing Driver Control Panel setting (#145)
- added ICC colour profile management for Imagick/Gmagick installs: embed, convert or pass through profiles via the new icc_profile template parameter, plus a three-state Default ICC Profile Behaviour Control Panel setting
- added the source_icc_profile parameter to specify the assumed icc profile for untagged source images, enabling correct colour conversion even when no ICC profile is embedded
- expanded the bundled ICC profile library to 25 profiles (sRGB and Adobe RGB variants, video profiles, 14 Adobe CMYK print profiles, and an ISO greyscale profile), listed with their parameter values on the System Settings page
- migrated built-in filters to give more consistent results across GD, Imagick and Gmagick
- updated processed image cache key generation now reflects the active graphics library, allowing driver switching without need for cache regeneration
- added an ICC profile detection warning to alert developers when a source image's embedded colour profile has been lost under GD (suppressed when Imagick/Gmagick is active) (#144)
- improved Imagick performance for the blur filter and lazy-loading placeholder generation (#148)
- reduced unnecessary processing overhead for the base64_orig template variable so source data is only captured when a tag actually requests it, removing a significant delay for HEIC sources under Imagick (#147)
- the face_detect filter now works correctly under Imagick/Gmagick as well as GD (#149)
- updated the bundled Imagine library to version 1.5.4
Bug fixes
- where max/min constraints could distort images instead of preserving aspect ratio by default; distortion now only occurs when fit="distort" is explicitly requested, and invalid fit values now fall back safely to contain (#146)
- where the built-in face detection skin-tone clustering fallback added unnecessary processing time without reliably improving detection results (now disabled by default) (#149)
2.0.6 (10 June 2026)
Improvements
- added some automatic URL validation checks to highlight to developers when mismatches between base_url and the URLs given for locally stored EE Files Upload locations could lead to slower image processing and related javascript issues (#143)
Bug fixes
- where auto cache management failed to spot changes in images in file manager (#134)
- where cache audit interval advanced setting is always visible regardless of 'show advanced' toggle (#138)
- where the max and related max parameters are not being respected during image generation (#139)
- where colour fill fallback would not work if an image source was specified but not found (#140)
- where a source image ending in .jpeg would always get reprocessed even if a cached copy was present (#141)
- where sometimes a defective template might cause Image Pro to generate a php warning (#142)
2.0.5 (8 April 2026)
Improvements
- responsive images using srcset parameter can now be specified using pixel-density format as well as width format (#133)
Bug fixes
- where parameter pass-through operation was inconsistent (#133)
- where preset full-edit mode for several parameters used default input field rather than custom entry screens (#133)
2.0.4 (24 March 2026)
Improvements
- preload now works more elegantly with fetchpriority
- some useful changes in how Image Pro interacts with ExpressionEngine store and its license server
for example the add-on now notifies users if there is an update available
Bug fixes
- where under some conditions an Ansel exception report relates to a fault involving a table linked to JCOGS Image (#117)
- where opening CP cache page generated insecure http traffic errors in browser console (#120)
- where when EE throttling is enabled, messages relating to this appear in the Image Pro error log report (#121)
- where watermarking using a transparent / gradient png where opacity less than 100 is also specified would generate odd results (#122)
- where some preset parameters have issues rendering controls in Full Edit mode (#123)
- where alt="" text is not always rendered in the generated <img> tag (#124)
- where heic library code might be flagged as a virus on some servers (#130)
- where there could be a conflict with unrelated Symfony modules (#131)
2.0.3 (4 February 2026)
Improvements
- Cache writes now avoid double-encoding by writing already-encoded bytes directly when generating the main cached derivative.
- Added two extension hooks during cache writes to support companion add-ons (for example EXIF/IPTC/XMP metadata injection) without requiring Image Pro to re-read output from storage:
jcogs_img_pro_post_encode_image_bytes(post-encode, pre-write; allows byte-level modification)jcogs_img_pro_after_write_image_file(post-write; optional side-effects/logging workflows)
- Responsive
srcsetgeneration now respects hard caps derived frommax_widthandmaxparameters (even whenallow_scale_largeris enabled). - Improved responsive
srcsethandling:- More permissive parsing for common width formats (e.g.
320w,320px,50%). - More tolerant
srcsetbuilding when variant info is provided in different shapes.
- More permissive parsing for common width formats (e.g.
Bug fixes
- where some border parameter configurations would be stripped by security validation before processing (#116)
- where Image Field could trigger a resize after a crop unnecessarily (#115)
- where setting fallback to colour field could prevent source image being processed (#114)
- where some small bugs in pro were closed (#113)
- where preset/edit class' javascript still included some debugging code (#112)
2.0.2 (14 January 2026)
Improvements
- Ensure that the error log table does not get over-long due to loops generating multiple instances of the same error (#108)
Bug fixes
- where a pair tag processing run triggers a warning about bulk tag use (#107)
- where EE files meta data variables were not populating correctly (#109)
- where some unrelated Files system operations could trigger an exception error (#110)
- where clicking on 'view details' in error reporter doesn't show any errors (#111)
2.0.1 (25 November 2025)
Improvements
- Redesigned Clear Cache and Audit buttons in Cache Location Details (#98)
- Optimisations to cached image processing to improve performance (#101)
- Improvements to performance and operation of srceset processing (#102)
Bug fixes
- Cache Status panel not updating after cache audit / delete operation (#95)
- Where under some conditions lazy images would be not returned from cache (#96)
- Save button in ImageDefaults CP page is missing lang value - so key showing (#97)
- Where the cache_log table did not have indexes properly applied (#99)
- where use of 'empty' positional parameters might fail on some complex parameters (#100)
- where sometimes height and width variables were blank for cached images (#101)
- where fast cache detection was missing srcset variants, plus srcset not respecting allow_scale_larger parameter (#102)
- where some text prompts in add-on CP pages were inaccurate (#103)
- where CDN prefix definition in named connection is not being added to processed image path (#104)