External Images changelog
Keep your images off your server - on a CDN, S3, anywhere
Latest version3.43
Released3 August 2026
Tested up toWordPress 7.0
Product page
What External Images does, what it costs and who it is for.
Knowledge base
Setup guides, how-tos and troubleshooting for External Images.
Discord support
Ask a question in the External Images channel and get an answer from Dave.
Downloads & licence
Grab the latest build or check your licence and renewal status.
3.433 August 2026
- Updated the shared Super Speedy settings module: AI agents can check your licence and install other Super Speedy plugins over MCP, now also exposed on AI Engine's MCP endpoint when AI Engine is active
- New Check frequency setting - cap licence, update and changelog checks to once a day or once a week, and see when the licence was last checked
- Licence and changelog checks fail fast when superspeedyplugins.com cannot be reached, instead of hanging the settings page
- The newest installed copy of the shared Super Speedy settings code now runs site-wide, whichever plugin loads first - previously the alphabetically-first plugin's often-older copy won
- AI agents can read and change External Images settings over MCP, count how products are imaged, and verify a sample of external image URLs - also exposed on AI Engine's MCP endpoint
- Fixed a fatal `array_key_exists() Argument #2 ($array) must be of type array, false given
on PHP 8, hit on an HTTPS site when a product carried a malformedhttp://image URL such ashttp:///photo.jpg` or one with a non-numeric port - Malformed image URLs no longer raise PHP 8.1 deprecation notices when the proxy filename or the image host is read from them
- Security the Per Website tab's HTTPS checkbox now requires a nonce and the
manage_optionscapability, and only ever writes its owneissl-options - Removed
ssl-proxy.php, an unused legacy file that was still reachable over the web - New Proxy HTTP Images setting, off by default. On an HTTPS site, an image whose host offers no HTTPS at all is blocked by browsers as mixed content. Switch this on to serve those images from your own server instead, at the cost of storing each one in
uploads/external-images/ - Removed the "External Images DB update required" notice and its Run DB Update now button. The one statement behind it now runs by itself, once, with nothing to click
- Security the variation gallery endpoint now checks that the id it is given is a published variation, instead of acting on any post id
- Removed the
EI_BETAconstant. It was defined but never read, so setting it did not opt a site into beta releases - Tested up to WordPress 7.0
- Removed leftover debug logging. The plugin no longer writes to the browser console, including once per row per second on the WP All Import review screen
- The HTTPS support probe now times out after 3 seconds instead of stalling the page when a supplier host is unresponsive
- A supplier recorded as having no HTTPS is re-checked monthly, so a host that was briefly down is not proxied forever. Untick it on the Per Website tab to pin the choice and stop the re-check
- Pick largest now ignores an image whose size could not be read, rather than letting the failure decide which image wins
- Fixed a notice "Translation loading for the external-images domain was triggered too early" on WordPress 6.7 or later when the site language is not English, and the "Cannot modify header information - headers already sent" warnings it caused when activating the plugin
- Licence declarations in the plugin header and readme corrected to GPLv3
3.4229 July 2026
- Fixed the zoom and lightbox button disappearing after selecting a variation on a variable product.
- Fixed the lightbox opening a variation image at the wrong size after switching variation.
- The hover magnifier now activates based on each image's real width, measured once the image loads.
- The placeholder used when an image URL carries no dimensions now matches your store's configured single-product image width.
3.4127 July 2026
- Fixed clicking a product image opened the lightbox on a black screen. External images were published as 0 pixels wide, and WooCommerce's built-in PhotoSwipe lightbox sizes the enlarged image from that width, so it rendered at nothing. Affects the native WooCommerce gallery used by Divi and most other themes
- Fixed the hover magnifier never activated on external images, for the same reason - WooCommerce only binds it when the image is wider than the gallery container
- Image dimensions are now taken from the image URL wherever the CDN or feed encodes them (
-800x600.jpg,?width=1500,?w=640&h=480, Cloudinaryw_1200,h_800and similar). When the URL says nothing, a placeholder in your store's own product aspect ratio is used instead. Neither costs a remote request, so imports and page loads stay as fast as before - The exact size is corrected in the browser once each image loads, so the lightbox opens at the image's true aspect ratio
- Existing products are fixed automatically. A stored width of 0 is now treated as unknown and recalculated when it is read, rather than being trusted and published
- Added filters
ei_getimagesize,ei_placeholder_image_sizeandei_configured_image_ratiofor overriding the published dimensions
3.4024 July 2026
- Updated super-speedy-settings (shared across all Super Speedy plugins): added a settings-version report to the licence-check and download requests for better licence and update-download debugging
3.3920 July 2026
- Updated super-speedy-settings to the latest version
3.3818 July 2026
- Updated super-speedy-settings to the latest version
3.3710 July 2026
- Updated super-speedy-settings refreshed the Super Speedy settings page with new plugin and service-panel icons (shared across all Super Speedy plugins).
3.3610 July 2026
- Updated super-speedy-settings (shared across all Super Speedy plugins): re-enabled TLS certificate verification on the licence/update check, escaped all dynamic output in the admin licence table, and added a capability check to the licence recheck handler.
3.3526 May 2026
- Added new postmeta filter to add front-end gallery compatibility to latest Houzez theme - they no longer use metabox for their metadata
3.3420 May 2026
- Updated the Super Speedy Settings page: added a "Recheck Licenses" button above the licence table so customers have a clear way to refresh licence status after a renewal or upgrade without scrolling down to the licence-key field. The button is disabled until a licence key is entered/saved and re-enables as you type.
- The Recheck flow now also force-bypasses the auth-server's own 1-hour licence cache (via a
force=1flag on thewpiapi/check_product_keycall), so renewals/upgrades that completed less than an hour before a recheck no longer show as expired/exceeded. Normal admin page loads continue to use both caches as before — only an explicit Recheck click bypasses them. (Lives in thesuper-speedy-settingssubmodule, so the change propagates to every Super Speedy plugin.)
3.3318 November 2025
- Added full namespacing for plugin update checker to prevent conflicts with 3rd party plugins
3.3227 May 2025
- Removed code for checking for and deleting orphans - this can be handled through a KB article instead as it's a one-off job to clean up data
3.3119 May 2025
- Further improvements for image galleries, variation galleries and all ways of saving, updating or importing images to prevent duplicate entries in database
3.3015 May 2025
- Hotfix to remove some debug I'd added
3.2915 May 2025
- Speed boost for image retrieval
- Improvement for image galleries to prevent duplicate DB attachment entries being created
Showing the 15 most recent of 156 releases. View the full history
