Version |
Release Date |
Change Log |
6.9.2 |
2022-10-25 |
- changed: improved Easy IO detection for site URL changes
- changed: load backup class earlier to prevent issues with custom image uploaders
- fixed: and improved the ewwwio_translated_media_ids filter, props @ocean90
- fixed: Lazy Load JS throws error if inline script vars are missing
- fixed: Easy IO + Lazy Load auto-scale produces invalid URL if an image with no query string is constrained by height
|
6.9.1 |
2022-10-05 |
- changed: default syntax for MySQL 8.x to use faster upgrade query
- fixed: bulk action parameter was not validated properly when selecting attachments for optimization
- fixed: undefined function ewww_image_optimizer_get_primary_wpml_id
- fixed: PHP notices when Easy IO filters srcset URLs
|
6.9.0 |
2022-09-28 |
- added: allow translation plugins to filter attachment IDs for retrieving Media Library results via ewwwio_primary_translated_media_id/ewwwio_translated_media_ids
- changed: include upstream lazysizes unveilhooks for use by developers, props @saas786
- fixed: Easy IO compatibility with S3 Uploads 3.x
- fixed: better compatibility with S3 Uploads when using autoload
- fixed: PHP notices when removing images and backups are disabled
- fixed: trailing comma after parameters in WP-CLI remove_originals function
- fixed: Easy IO srcset URL construction not accounting for object versioning with S3 (or other cloud storage)
|
6.8.0 |
2022-08-31 |
- added: ability to store image backups on local storage
- added: tool to bulk restore images under Tools menu and WP-CLI
- added: WebP cleanup tool can be resumed and run via WP-CLI
- added: Delete Originals can be run via WP-CLI
- added: remove originals after conversion (like PNG to JPG) via WP-CLI
- added: exclude by page for Easy IO, Lazy Load, and WebP delivery methods
- changed: ensure full-size image is optimized after resizing with Imsanity
- fixed: incorrect cfasync attribute used for JS WebP scripts
|
6.7.0 |
2022-07-21 |
- added: API keys can be used to auto-register sites for Easy IO, including sub-keys
- changed: expose legacy resize dimensions with removal option
- fixed: Lazy Load not using EWWWIO_CONTENT_DIR
- fixed: Easy IO Premium/WebP compression disabled incorrectly when in Easy Mode
- fixed: JS WebP body script throws error if wp_head script missing
- fixed: Lazy Load Auto-scale adds query parameters to SVG images
- fixed: JS WebP and Lazy Load prevent image loading in GiveWP iframe
- fixed: Auto Scale crops too much for object-* images in Oxygen
- fixed: trailing space on image URL handled incorrectly
- updated: Gifsicle to version 1.93 and Pngquant to 2.17
- removed: free binaries for SunOS, may use free cloud-based JPG compression instead
|
6.6.0 |
2022-06-07 |
- added: AVIF support via Easy IO, enable on site management at ewww.io
- added: sharpening setting to improve WP resizing via ImageMagick and WebP conversion
- added: AVIF quality setting on Advanced tab
- added: ability for Easy IO to get full-size path when using offloaded media
- changed: JPG quality and WebP quality moved to Advanced tab
- changed: allow .htaccess rules on Cloudways with notice about WebP Redirection toggle
- fixed: front-end HTML parsers running within Bricks editor
- fixed: Easy IO not finding scaled full-size for dynamic size generation
- fixed: cover images not cropped properly by Easy IO
- fixed: Easy IO URLs leaking into post editor with WP 6.0
|
6.5.2 |
2022-05-19 |
- added: automatic optimization for Crop Thumbnails plugin
- added: filters to adjust sharpening parameters for core WP (ImageMagick) image resizing
- changed: Easy IO WebP quality can be defined separately from the JPG quality used for resizing operations
- fixed: Picture WebP rewriting disabled on embeds
- fixed: Lazy Load integration with WooCommerce Product Recommendations handling AJAX output incorrectly
- fixed: PHP notice when checking for presence of mod_rewrite/mod_headers
|
6.5.1 |
2022-04-28 |
- fixed: LQIP option not available on sub-domain multisite install unless Easy IO is active on site 1
- fixed: API quota function doesn't handle expired status correctly
|
6.5.0 |
2022-04-07 |
- added: Lazy Load and Easy IO support for multiple background images and mixing with gradients
- changed: all Easy IO settings available to all plan levels
- changed: Easy IO CDN image links constrained to 2560px, use EIO_PRESERVE_LINKED_IMAGES to override
- fixed: database upgrade fails on MySQL 5.6
- fixed: LQIP and SVG placeholder options not auto-loaded correctly
- fixed: regression in legacy translation loader
|
6.4.2 |
2022-03-08 |
- added: JS/Picture WebP rewriters support FacetWP AJAX responses
- fixed: errors from posix_getpwuid() and posix_getgrgid() not handled correctly
- fixed: PNGOUT download URLs were moved, causing auto-install to fail
- fixed: Easy IO was adding srcset markup for SVG images
|
6.4.1 |
2022-02-10 |
- added: use decoding=async to prevent images from blocking text render
- fixed: database upgrade fails on MySQL 8.0.x
- fixed: Auto-scale incorrectly handles Divi parallax background images
- fixed: native lazy loading used on inline PNG placeholders
- fixed: WebP rewriters not recognizing WP Offload Media Path (object prefix) setting
|
6.4.0 |
2022-01-20 |
- added: free API-based WebP generation for servers that cannot generate WebP images locally
- added: detection for Jetpack Boost lazy load function
- added: JS WebP handling for WooCommerce product variations
- changed: SVG placeholder setting removed from UI as PNG placeholders can now provide the same benefits (and better).
- changed: Lazy Load no longer excludes first image in a page due to potential CLS issues and auto-scaling suppression
- fixed: PNG thumbnails skipped from WebP conversion when using exec-free mode
- fixed: SVG placeholders broken when existing img src is single-quoted
- fixed: Lazy Loader incorrectly parses fall-back iframe from Google Tag Manager, triggering 403 errors in some WAF systems
- fixed: error when disabling Easy IO
- fixed: Easy IO misses some image URLs on multi-site when using domain-mapping
- fixed: SVG level cannot be set when using API if svgcleaner was not installed previously
- fixed: Easy IO URL rewriter changing links if they matched a custom upload folder
- fixed: Easy IO incompatible with Toolset Blocks
- fixed: Easy IO incorrectly sizing wide/full width cover blocks
- fixed: SWIS CDN compat called too early in some cases
- updated: PHP EXIF library dependency updated to 0.9.9
- removed: PHP 7.1 is no longer supported
|
6.3.0 |
2021-10-14 |
- added: EIO_LAZY_FOLD override to configure number of images above-the-fold that will be skipped by Lazy Load
- added: Easy IO URLs for custom (non-WP) srcset markup
- added: Easy IO support for CSS background images with relative URLs
- fixed: Easy IO scaling not working on full-size images without srcset/responsive markup
- fixed: WebP and Lazy Load function skip images dynamically created by Brizy builder
- fixed: Easy IO conflict on Elementor preview pages
- fixed: EXACTDN_CONTENT_WIDTH not effective at overriding $content_width during image_downsize filter
|
6.2.5 |
2021-09-15 |
- added: Easy IO and Lazy Load support for AJAX responses from FacetWP
- changed: Vimeo videos excluded from iframe lazy load
- changed: use 'bg-image-crop' class on elements with CSS background images that need to be cropped by auto-scaling
- fixed: sub-folder multi-site installs which use separate domains could not activate Easy IO, define EXACTDN_SUB_FOLDER to override
- fixed: Lazy Load PNG placeholders cannot be cached if the WP_CONTENT_DIR location is read-only (notably on Pantheon servers)
- fixed: is_amp() called too early
- fixed: Fusion Builder (Avada) does not load when Lazy Load, WebP, or Easy IO options are enabled
- fixed: png_alpha() check uses more memory than is available, causing some uploads to fail
|
6.2.4 |
2021-08-31 |
- added: Multi-site domain-based installs can activate/register sites en masse, and directly upon site creation
- changed: improved db upgrade routine for updated column
- changed: JS WebP script moved back to page head
- fixed: local PNG placeholders enabled with Easy IO when placeholder folder is not writable
- fixed: WebP Rewriters not detecting upload URL correctly for CDN support
- fixed: iframe lazy loading breaks Gravity Forms and FacetWP when parsing JSON
- fixed: is_amp() called too early
- fixed: SQL error when running "wp-cli ewwwio optimize media" - props @komsitr
- fixed: local savings query sometimes returns no results
- fixed: PHP warnings when local tools are disabled
|
6.2.3 |
2021-08-13 |
- fixed: db error when MariaDB 10.1 does not permit ALTER for setting default column value
- fixed: Lazy Load missing placeholder folder when Easy IO is enabled
|
6.2.2 |
2021-08-11 |
- added: disable Easy IO's "deep" integration with image_downsize filter via EIO_DISABLE_DEEP_INTEGRATION override
- added: integration with JSON/AJAX respones from Spotlight Social Media Feeds plugin
- changed: PNG placeholders are now inlined for less HTTP requests and better auto-scaling
- changed: Bulk Optimizer processes images from oldest to newest for the Media Library
- changed: Resize Detection uses minified JS and console logging suppressed unless using SCRIPT_DEBUG
- fixed: Easy IO does not rewrite image (href) links if image_downsize integration has rewritten the img tag
- fixed: Lazy Load throws error when ewww_webp_supported not defined in edge cases
- fixed: front-end scripts loading for page builders when they shouldn't be
- fixed: when using WP/LR Sync, EWWWIO_WPLR_AUTO does not trigger optimization for new images
- fixed: img element search parsing JSON incorrectly
- fixed: WebP uploads not resized to max dimensions
|
6.2.1 |
2021-07-22 |
- fixed: Lazy Load regression prevents above-the-fold CSS background images from loading
- fixed: WebP Conversion for CMYK images leaves empty color profile attached
|
6.2.0 |
2021-07-21 |
- added: PHP-based WebP Conversion via GD/Imagick in free mode when exec() is disabled
- added: enable -sharp_yuv option for WebP conversion with the EIO_WEBP_SHARP_YUV override
- added: WebP Conversion for CMYK images
- added: webp-supported conditional class added to body tag when JS WebP is active
- added: WP-CLI command can be run with --webp-only option
- added: Lazy Load for iframes, add 'iframe' in exclusions to disable
- added: compatibility with S3 Uploads 3.x
- added: preserve metadata and apply lossless compression to linked versions of images via Easy IO with EIO_PRESERVE_LINKED_IMAGES constant
- added: Easy IO rewrites URLs in existing picture elements
- changed: JS WebP scripts moved to beginning of page footer
- changed: native lazy loading is now enabled for right-sized PNG placeholders, override with EIO_DISABLE_NATIVE_LAZY constant
- changed: add resume ability to Delete Originals tool
- changed: move Easy IO check-in to wp_cron
- fixed: empty .webp images sometimes produced when cwebp encounters an error
- fixed: Bulk Optimizer for NextGEN loading incorrect script
- fixed: Bulk Optimizer for NextGEN fails to verify nonce for selective optimization
- fixed: Last Optimized times for Optimized Images table were incorrect
- fixed: Add Missing Dimensions overwrites smaller width/height attribute if only one is set
- fixed: replacing an existing attribute (like width) with a numeric value is broken
|
6.1.9 |
2021-07-01 |
- fixed: Easy IO's Include All Resources compat with Oxygen Builder and Beaver Builder
- fixed: regex to detect SVG images in use elements caused excessive backtracking
- fixed: WebP version of full-size image not removed when attachment deleted due to undefined variable
- fixed: Easy IO adds invalid zoom parameter of 1920 to srcset URL
|
6.1.8 |
2021-06-24 |
- fixed: Lazy Load fails to auto-scale with img-crop class for Easy IO
- fixed: WebP files sometimes fail to be re-generated after Photo Engine (WP/LR) sync
- fixed: Lazy Load throws JS error in SCRIPT_DEBUG mode
|
6.1.7 |
2021-06-18 |
- fixed: syntax error due to trailing comma after last parameter in function call(s).
|
6.1.6 |
2021-06-18 |
- added: support for BuddyPress uploads via Vikinger theme.
- added: compatibility with Weglot.
- added: use 'img-crop' id/class, or data-img-crop attribute to force cropping with Easy IO + Lazy Load.
- changed: Resize Existing enabled by default for new installs.
- changed: Lazy Load JS moved to footer
- fixed: prevent Resize Detection from flagging SVG files.
|
6.1.5 |
2021-05-25 |
- changed: use core wp_getimagesize() for proper error handling
- fixed: prevent erasing title attributes for admin users when Lazy Load and Resize Detection are enabled
- fixed: creates empty file when image is too large for WebP conversion
|
6.1.4 |
2021-05-07 |
- changed: better handling for API quotas
- fixed: picture elements not parsed when using JS WebP with Lazy Load
- fixed: bundled tools don't work if the binary/tool directory is mounted on a filesystem separate from wp-content/
- fixed: bulk optimizer not finding images from cloud storage (like S3) when local versions are removed
|
6.1.3 |
2021-04-29 |
- changed: bulk optimizer no longer skips image types set to "no compression" in WebP-only mode
- fixed: CNAME setting from WP Offload Media triggers "unknown" error in Easy IO
- fixed: missing EIO_LL_THRESHOLD variable for minified JS
|
6.1.2 |
2021-04-20 |
- fixed: bug from bypass/exclusion code for bulk scanner in 6.1.1
- fixed: running is_file on system binaries may trigger open_basedir warnings, use EWWWIO_OPEN_BASEDIR to override PHP's open_basedir restriction
|
6.1.1 |
2021-04-06 |
- change: added setting to enable adding of missing width/height dimensions, disabled by default
- fixed: warning from plugins using core wp_lazy_load filter without second parameter/argument
|
6.1.0 |
2021-04-01 |
- added: ability to use SVG placeholders for more efficient lazy load
- added: Easy IO and Lazy Load add missing width and height to image elements
- added: Lazy Load - right-sized placeholders can be generated for full-sized images
- added: configure Lazy Load pre-load threshold via EIO_LL_THRESHOLD constant
- changed: Lazy Load for external (non-inline) CSS images must be configured for specific elements
- changed: Easy IO's Include All Resources unlocked for all plans
- changed: native lazy loading is now disabled when using EWWW IO lazy load, override with EIO_ENABLE_NATIVE_LAZY constant
- changed: Lazy Load pre-load threshold increased from 500px to 1000px
- changed: Lazy Load picture elements use right-sized img placeholder instead of 1x1 inline GIF
- changed: system-installed binary detection improved
- fixed: native iframe lazy load disabled in WP 5.7+
- fixed: detection for Shield Security plugin lock to location
- fixed: relative path migration showing errors in site tools
- fixed: WebP rewriters not handling relative image urls
- fixed: existing
- fixed: elements inside elements incorrectly handled by JS WebP Rewriting
- fixed: removing metadata clobbers APNG animations
- fixed: some JSON elements still being altered by Lazy Load
- fixed: Easy IO throws warnings when WP content is not in a sub-directory
- updated: jpegtran to version 9d
- updated: cwebp to version 1.2.0
- updated: pngquant to version 2.13.1
|
6.0.3 |
2021-02-18 |
- fixed: syntax error on PHP 7.2 or less
|
6.0.2 |
2021-02-18 |
- security: new version of PNGOUT available on settings page (if enabled)
- added: compatibility with Phoenix Media Rename plugin
- changed: Easy IO supports img tags with SVG images
- fixed: bulk optimizer gives incorrect message about not enough credits for unlimited plans
- fixed: db install workaround for MariaDB 10.4 bug
- fixed: errors with custom db setups when DB_* constants are not defined
- fixed: error with JS WebP when a class attribute with no value is encountered
|
6.0.1 |
2021-01-28 |
- changed: more reliable Cloudflare detection for WebP delivery methods
- fixed: lazy load for external CSS breaking div elements in JS/JSON
- fixed: call to undefined function from Imsanity
- fixed: database upgrade check triggers error on MySQL 8.0.17+
- fixed: delete originals tool is slow
- fixed: wpdb error when attempting to run migration routine for fresh installs
|
6.0.0 |
2021-01-19 |
- added: tool to delete originals from WP 5.3+ auto-scaling behavior (Tools menu)
- added: JS WebP recognizes video elements added via JS (e.g. infinite scroll)
- added: automatically convert GIF to PNG during new uploads, unless animated
- added: JS WebP and picture WebP auto-detect configuration for S3 Uploads and WP Stateless
- added: Lazy Load for external CSS and separate style blocks (div elements only for now)
- added: Easy IO/CDN rewriting for Ultimate Member AJAX-powered activity wall
- changed: settings UI revamped with wizard for first-time installs
- changed: automatic PNG to JPG threshold lowered to 250kb
- changed: extensions for WP_Image_Editor now disabled by default, use EWWW_IMAGE_OPTIMIZER_ENABLE_EDITOR constant to enable them
- changed: JS WebP can be used with picture WebP + Lazy Load to support CSS background images
- changed: better compatibility with Theia Smart Thumbnails
- changed: Lazy Load auto-sizing will no longer decrease the image size, only increasing is allowed
- changed: filter to include additional HTML element types via eio_allowed_background_image_elements filter for Lazy Load and Easy IO
- fixed: compatibility between Easy IO and Autoptimize
- fixed: Easy IO uses hard crop when constraining an image via a width/height found in the style attribute
- fixed: Easy IO uses hard-coded wp-content/ and wp-includes/ paths in some cases
- fixed: Easy IO not activating properly when plugin is activated network-wide for multi-site installs
- fixed: database upgrade throws errors on MariaDB 10.4.x
- fixed: WebP .htaccess error in Vary header rule
- fixed: Easy IO doubles part of image URL when there are no thumbnails, but one is requested by a plugin or theme
- fixed: Easy IO minifier breaks Beaver Builder
- fixed: Lazy Load breaks Beaver Builder text editor
- removed: JS defer with Easy IO, use SWIS Performance instead: https://ewww.io/swis/
|
5.8.2 |
2020-11-12 |
- security: improper nonce verification for Nextgen bulk optimizer initialization (minor severity)
- changed: Easy IO verification performed via API for better reliability
- fixed: Easy IO missing https availability for admin-ajax.php requests when home_url is using plain http
- fixed: Easy IO silently fails to rewrite URLs when using CNAME with WP Offload Media
- fixed: wp_lazy_loading_enabled filter should have 3 parameters
- fixed: Easy IO shows alert for domain change when a non-default WPML language is active
- fixed: JS WebP does not auto-detect WP Offload Media CNAME
|
5.8.1 |
2020-10-30 |
- fixed: Easy IO parser has typo in $webp_quality variable
|
5.8.0 |
2020-10-20 |
- added: SVG optimization, huge thanks to @samsk for making this happen!
- added: WebP quality setting, changed default to 75
- fixed: Lazy Load and other front-end parsers breaks JSON-encoded img elements
- fixed: Easy IO adds excess markup for images with height and/or width set to 'auto'
- fixed: memory_limit check should be case-insensitive: g vs. G
- fixed: PHP error during detection of Cache Enabler's WebP option
- fixed: table upgrade routine error when primary key already exists
- fixed: deleting files by always using realpath, props @ocean90
- fixed: Easy IO skips images in AJAX Load More requests
|
5.7.1 |
2020-09-15 |
- added: alert on domain change for Easy IO, like if you clone from a production environment to staging
- changed: Easy IO domain and plan_id refresh automatically when visiting settings page
- changed: better JS WebP and WPBakery Page Builder compatibility
- changed: restore savings gauge for network settings page
- fixed: resize detection visible for editors, should be admin-only
- fixed: (force) re-optimize not working with parallel mode
- fixed: upload error when WP cannot load image editor
|
5.6.2 |
2020-08-05 |
- fixed: fatal error for undefined add_query_var
|
5.6.1 |
2020-08-05 |
- changed: prevent unintentional image re-optimization from plugins with a threshold of 5x, indicate intential regen with ewww_image_optimizer_allowed_reopt filter
- changed: include lazy load and WebP in optimization score
- fixed: query paramaters added to videos via image_downsize filter
- fixed: WP-CLI command triggers async queueing
- fixed: WPML check skips too many images during bulk scanner
- fixed: WP-CLI command options for FlAGallery and NextGEN using outdated code
- fixed: re-optimization tracker not tracking
|
5.6.0 |
2020-07-15 |
- added: if exec() is disabled, free cloud-based JPG compression will be enabled
- added: tool to remove originals for converted images
- changed: improved handling of WPML replicas in media library list mode and bulk optimizer
- fixed: JS WebP, picture WebP, and Easy IO errors with WP Offload Media 2.4
- fixed: JS WebP cannot find local paths when WP_CONTENT_DIR is outside ABSPATH
- fixed: Easy IO hard crops images when requested height/width is 9999
- fixed: Lazy Load and WebP parsers running on customizer preview pane
|
5.5.0 |
2020-06-30 |
- added: GIF to WebP conversion with API and Easy IO
- changed: plugin removed from disallowed list on WP Engine!
- changed: disable Lazy Load auto-scale by defining EIO_LL_AUTOSCALE as false
- fixed: async functions use of wp_die causes empty errors when wp_cron is run from WP-CLI
- fixed: big image size filter throws error when other plugins run the filter with fewer than 3 parameters
- fixed: styling broken for optimization info on Nextgen gallery pages
- fixed: broken link for network admin settings from single-site plugins page
|
5.4.1 |
2020-06-16 |
- fixed: Bulk Optimizer sticks on stage 2 when there are no images to optimize
- fixed: transparency in PNG images with color type 0 or 2 not detected
- fixed: transparency false positives for PNG images with color types 4 and 6
- fixed: lazy load skips img elements with unquoted src attributes
- fixed: images converted by PNG to JPG (and friends) do not have restore links in library
|
5.3.2 |
2020-05-21 |
- added: defer jQuery also with EXACTDN_DEFER_JQUERY override
- added: Lazy Load supports VC grid layouts retrieved via AJAX
- fixed: Lazy Load and JS WebP prevent loading of images in oEmbed endpoint
- fixed: jQuery exclusion was preventing deferral of jQuery extensions also
- fixed: Lazy Load parsing Owl Lazy images
- fixed: Easy IO adds srcset/sizes to feeds
- fixed: filename in attachment metadata not updated for duplicate thumbnails after conversion success
- fixed: notices for undefined variables during bulk optimize
|
5.3.1 |
2020-05-05 |
- added: defer JS with Easy IO via EXACTDN_DEFER_SCRIPTS override
- fixed: warning related to user-defined exclusions in JS and picture WebP
- fixed: AMP compatiblity for Lazy Load and WebP rewriters was broken
- fixed: images not loading on WPURP/WPRM print recipe pages
|
5.3.0 |
2020-04-29 |
- added: Easy IO replaces image URLs within style elements for page builders like Elementor and Divi
- added: option to use tags for WebP rewriting
- added: ability to define exclusions for JS WebP and WebP
- added: include .webp images when using WP Offload Media to copy images from bucket to server
- added: cleanup/migration tool for folks using EWWW IO 3+ years to remove old metadata entries
- added: fetch original_image for optimization when local images are removed (WP Offload Media and Microsoft Azure Storage for WordPress)
- changed: scheduled optimizer uses async/background mode to prevent timeouts
- changed: images that exceed the max resize dimensions will be queued by the bulk scanner even if previously compressed
- changed: for security, EWWW IO will only optimize images within the WP root folder, content folder, or uploads folder
- changed: WebP Only mode will bypass the check for TinyPNG compression
- changed: background/async mode uses better queueing system for speed and reliability
- changed: image queue information moved to Tools page
- changed: image re-opt troubleshooting moved to Tools page
- fixed: noresize in filename has no effect when using Media File Renamer
- fixed: debug_message() throws a warning with non-string values
- fixed: notices when uploading animated GIFs using GD
- fixed: notices when parsing JSON data from Envira
- fixed: fatal error when a WP_Error is passed from Envira to Easy IO
- fixed: executables could not be installed on Windows due to behavior of is_executable() on directories
- fixed: Include All Resources rewrites wrong URLs when quotes are html-encoded
- fixed: tags do not follow Lazy Load exclusions
- fixed: tags broken when exluding images from Lazy Load
- fixed: Azure storage plugin doesn't re-upload optimized images
|
5.2.5 |
2020-04-01 |
- removed: data-pin-media attribute, as Pinterest is handling WebP images properly now
|
5.1.4 |
2020-01-07 |
- fixed: warnings on FlaGallery's manage gallery page
- fixed: cwebp version test results in false-positives
- fixed: EWWW IO resize limits are ignored when higher than WP default
- fixed: PNGOUT warning during one-click conversion
- fixed: WebP images not removed from remote storage when an attachment is deleted (WP Offload Media)
- fixed: after running regen for single thumbs with Image Regenerate & Select Crop plugin, regenerated images were not automatically optimized
|
5.1.1 |
2019-10-17 |
- fixed: no optimization when escapeshellarg() is disabled
- fixed: warning thrown by implode() when JS WebP is enabled with no WebP URLs
|
5.1.0 |
2019-10-16 |
- added: WebP-only mode for Bulk Optimizer
- added: JS WebP Rewriting for pull-mode CDNs via WebP URLS without Force WebP
- added: JS WebP Rewriting zero-conf for WP Offload Media
- added: force lossy PNG to WebP conversion with EWWW_IMAGE_OPTIMIZER_LOSSY_PNG2WEBP override (set to true)
- changed: bulk optimizer runs wp_update_attachment_metadata() in separate request to avoid timeouts
- fixed: WebP warning regarding missing modules displayed even if green WebP test image is working
- fixed: Nextgen bulk actions not working
- fixed: unable to regenerate existing thumbnails with Image Regenerate & Select Crop plugin
- updated: WebP (cwebp) binary to version 1.0.3
- updated: Pngquant binary to version 2.12.5
- updated: cwebp requires Mac OS X 10.14
- updated: FreeBSD 10 is EOL, version 11 is the supported/tested version
|
5.0.0 |
2019-09-26 |
- added: use native lazy load attributes to supplement lazy loader and make placeholders more efficient
- added: GCS sub-folder rewriting with ExactDN for cleaner URLs
- added: option to optimize original versions of scaled images for WP 5.3
- added: ability to erase optimization history from Tools page
- changed: define EWWWIO_WPLR_AUTO (any value) to enable auto-optimize on images from WP/LR Sync
- changed: thumbnails could be converted even if original was not
- changed: Show Optimized Images table moved to Tools menu
- fixed: full-size image optimization not deferred if scaled by WP 5.3
- fixed: data-width and data-height attributes missing when JS WebP active
- security: rewrote escapeshellarg() wrapper to be more secure
|
4.9.3 |
2019-09-10 |
- fixed: ExactDN incorrectly scales Elementor background images rather than cropping
- fixed: ExactDN cannot work with Divi/Elementor background images due to use of external CSS files
- fixed: JS WebP rewriting picture tags that already have WebP markup in Force WebP mode
- fixed: JS WebP incorrectly parses GIF/SVG images in Force WebP mode
- fixed: JS WebP does not support lazy load + infinite scroll
- fixed: Lazy Load auto-scaling breaks if background image is enclosed in encoded quotes
- fixed: GRAND FlaGallery integration broken by hook suffix change
|
4.8.1 |
2019-07-03 |
- added: Lazy Load background image support added for span elements
- changed: constrain by height for background images that are taller than they are wide
- changed: debug.log moved to more suitable location
- fix: Lazy Load breaks when an image has an empty class attribute
- fix: regression that caused jpegtran and pngout tests to fail on Windows
- fix: writing to debug.log causes errors
|
4.8.0 |
2019-06-05 |
- added: ability to resize images outside media library via scheduled or bulk optimization
- added: compatibility with WP Stateless for GSC
- added: use ewww_image_optimizer_autoconvert_threshold filter to modify conversion threshold (default of 300kb)
- changed: Lazy Load without ExactDN uses blank PNG placeholders for better srcset auto-sizing
- changed: API backups taken prior to resizing/scaling rather than just before compression
- changed: ExactDN + Lazy Load uses scaling rather than cropping by default
- changed: prevent NextGEN backup images from being optimized
- fixed: bulk optimizer not resuming when non-media library images remain in queue
- fixed: notices when a user-selected admin theme is unavailable
- fixed: privacy policy function triggers notices in WP-CLI
- fixed: background-image attributes with single-quotes now supported by ExactDN, Lazy Load, and JS WebP
- fixed: background-image attributes getting extra arguments with lazy load
- fixed: On multi-site installs, site admins could add folders to optimize outside of the uploads folder
- fixed: LQIP with SVG files results in duplicate requests
- fixed: image optimization results in media library report file missing when using WP Stateless
- fixed: plugin checking for 'nice' on Windows servers
|
4.7.4 |
2019-05-07 |
- fixed: ExactDN modifies Autoptimize CDN setting even when Include All Resources is disabled
- fixed: noscript elements with newlines being parsed incorrectly by Lazy Load and JS WebP
- fixed: Lazy Load parsing breaking img elements in script blocks
- fixed: Lazy Load and JS WebP bail when SVGs are wrapped in XML tags
- fixed: ExactDN mixes x and w srcset descriptors
- fixed: page parsers (ExactDN, Lazy, JS WebP) still fail to process some img elements that have unquoted src attributes
|
4.7.3 |
2019-04-18 |
- added: disable WebP script block on certain pages by defining EWWW_IMAGE_OPTIMIZER_NO_JS as true
- changed: use SVG inline image placeholder if width and height are known when LQIP is disabled or ExactDN is not available
- changed: Lazy Load ignores images using browser-native loading attribute
- fixed: page parsers (ExactDN, Lazy, JS WebP) do not properly handle attributes that start on a new line
- fixed: page parsers do not recognize img elements with unquoted attributes
- fixed: uninstaller cannot clear queue table due to undefined table name
- fixed: implode throws notice when image sizes array is multi-dimensional
- fixed: srcset url replaced incorrectly when using pixel density descriptors
- fixed: srcset url added with 0 width when width attribute is empty
|
4.7.2 |
2019-04-02 |
- changed: JS WebP no longer necessary with ExactDN
- fixed: fatal error from NextGEN get_image_sizes() method
- fixed: debugging mode gets stuck
- fixed: ExactDN has unexpected results when content_width global equals zero
- fixed: img elements with unquoted src attributes ignored by ExactDN, Lazy Load, and JS WebP
|
4.7.1 |
2019-03-26 |
- added: CSS background image support for
- elements
- added: ExactDN + Lazy Load will auto-calculate dimensions for img elements without srcset/responsive markup
- added: ExactDN parses thumbnail url for personalization.com + WooCommerce integration
- added: ExactDN can use data-actual-width attribute for srcset generation
- added: ExactDN + Lazy Load uses devicePixelRatio to provide clearer background images
- fixed: Lazy Load for CSS background images misfires when display height is greater than width
- fixed: visitors without JS see Lazy Load placeholder + fallback image
|
4.7.0 |
2019-03-19 |
- added: lazy load (on ExactDN tab for now)
- added: JS WebP supports background images via lazy load (div elements only for now)
- added: ExactDN supports compression of background images (div elements only for now)
- added: compat with Google Cloud Storage via WP Offload Media
- added: automatic PNG to JPG conversion for ExactDN
- added: ExactDN parsing for legacy WooCommerce API (current API works as-is)
- changed: responsive image 'sizes' attribute can be auto-calculated by lazy load
- changed: JS WebP no longer requires jQuery
- changed: ExactDN srcset multipliers include fullscreen value of 1920px
- changed: force resize function to ignore filesize with ewww_image_optimizer_resize_filesize_ignore filter
- changed: prevent .php script/style generators from going through ExactDN
- changed: ExactDN sites can dismiss exec notice to disable local compression
- changed: automatic compression disabled during WooCommerce regen with admin notice
- changed: use wp_resource_hints filter to include ExactDN dns-prefetch earlier in the page header
- changed: gather debugging information on settings page even when debugging is not enabled yet
- fixed: Bulk Optimize scanner does not update queue in some cases
- fixed: ExactDN does not handle themes that support wide and full-screen images in block editor
- fixed: ExactDN constrains images to 640px in Twenty Nineteen theme
- fixed: ExactDN mangles Flatsome lazy load placeholder image URL
- fixed: empty attributes not recognized properly by HTML parser, resulting in broken markup
- fixed: table nav button styling broken in WP 5.1
- fixed: ExactDN applies resizing args during image_downsize() even when full/original image is too small
- fixed: animated GIF resizing breaks the use of image_resize_dimensions filter in WP_Image_Editor_GD
- fixed: NextGen bulk optimizer unable to decode meta_data
|
4.6.3 |
2019-02-12 |
- changed: folders to ignore setting applies to resizing also
- fixed: lazy load placeholders have inconsistent URLs with ExactDN
- fixed: bulk resume indicator gets stuck
- fixed: bulk scanning queue gets out of sync and skips images
- fixed: async processing does not handle memory limit specified in G (gigabytes)
|
4.6.2 |
2019-01-31 |
- changed: API key may be defined as EWWW_IMAGE_OPTIMIZER_CLOUD_KEY
- fixed: if img tag is missing dimensions, ExactDN sometimes loads original rather than existing thumbnail
- fixed: TinyPNG/TinyJPG images skipped when Force Re-optimize is checked
|
4.6.1 |
2019-01-24 |
- added: automatic configuration for ExactDN + WP Offload Media
- fixed: bulk action from media library skipping last attachment in selection
- fixed: uninstall function throws fatal error preventing deletion
|
4.6.0 |
2019-01-15 |
- added: preserve animations in GIF images during resize operations for sites using Imagick extension
- changed: EXACTDN_EXCLUDE applies to all resources, including images, CSS, JS, fonts, etc.
- changed: API/ExactDN preserves color profiles, even when removing image metadata
- changed: new queue table for bulk optimizer to avoid exceeding max packet size for MySQL
- changed: unit tests run on PHP 7.3 also
- fixed: too many settings updates when trying to prevent slow queries
- fixed: ExactDN rewrites urls to static HTML files
- fixed: ExactDN skips 1x url in some cases, causing browser upscaling
- fixed: PHP notice when EXACTDN_EXCLUDE is defined
- fixed: race condition in Alt WebP prevents Webp derivatives from replacing the originals
|
4.5.3 |
2018-12-06 |
- fixed: ExactDN duplicates srcset instead of replacing it
- security: remote code execution, low exposure
|
4.5.2 |
2018-11-29 |
- added: automatic migration to move image paths from absolute to relative
- changed: default quality for PNG to JPG did not match WordPress default
- fixed: legacy absolute paths not matched during bulk scanner when relative matching is enabled
- fixed: PNG to JPG auto-convert produces larger JPG images in some cases
|
4.5.1 |
2018-11-20 |
- changed: optimization results are tracked by relative urls instead of absolute ones for better portability, migration tool coming soon
- changed: ExactDN defaults to crop when explicit dimensions are given to image_downsize(), revert to scaling with EXACTDN_IMAGE_DOWNSIZE_SCALE
- fixed: WooCommerce thumbnail regeneration triggers excessive admin-ajax requests within EWWW IO
- fixed: ExactDN filtering REST API media endpoint for Gutenberg editor requests
- fixed: ExactDN adding unneeded resize parameters to full-size image urls
- fixed: Alt WebP skipping images with query strings
- fixed: Alt WebP not working with Jetpack Lazy Load for images missing srcset
- fixed: Show Optimized Images table does not display images saved to ewwwio_images table with relative path matching
- fixed: Show Optimized Images table has broken thumbs when WP_CONTENT_DIR is outside of ABSPATH
|
4.5.0 |
2018-11-08 |
- added: Alt WebP supports BJ Lazy Load, a3 Lazy Load, WP Rocket Lazy Load, Jetpack Lazy Load, and WP Retina Lazy Load
- added: ExactDN rewrites relative image urls that start with a single slash
- changed: ExactDN srcset markup for smaller images improved
- fixed: errors during upload/download with WP Offload Media
- fixed: Alt WebP refuses to process page when FB tracking pixel is present
- fixed: SVG files within
- fixed: thumbnail generation fails with S3 Uploads plugin
- fixed: unable to modify WebP conversion option when ExactDN is enabled
- fixed: ExactDN inserts full-size image without arguments
- removed: PHP 5.5 no longer supported
|
4.4.2 |
2018-10-11 |
- added: notice for Pantheon users that an API key is required
- added: ExactDN fully supports protocol-relative urls for non-image resources
- changed: better lazy load support in ExactDN
- fixed: optimization failure produces rename() errors
- fixed: folder scanner ignores files with no extension
- fixed: Alt WebP blocks on Facebook tracking pixel
- fixed: ExactDN srcset functions cause duplicate image requests with zoom=1
- fixed: ExactDN srcset fill adds double arguments to urls
- fixed: srcset fill generates notices with non-numeric widths
- fixed: bulk scanner stuck in resume mode with nothing to do
|
4.4.1 |
2018-09-25 |
- fixed: ExactDN srcset fill replaces images with first image on page
|
4.4.0 |
2018-09-25 |
- added: preserve animations in GIF images during resize operations
- added: ExactDN will fill in srcset/sizes attributes for all images based on detected width for better mobile support
- added: configuration options in the settings page for several "hidden" ExactDN options
- changed: Alt WebP still depends on jQuery, but jQuery can be loaded in async or defer mode
- changed: Remove Metadata option has been renamed, if you previously had it configured as an override (JPEGTRAN_COPY), please use the new name: EWWW_IMAGE_OPTIMIZER_METADATA_REMOVE
- changed: ExactDN uses premium compression by default
- fixed: regression with ExactDN and max-width style attributes
- fixed: WP esc_url mangles ExactDN urls
- fixed: WebP images missing from S3 when using WP Offload S3
- fixed: PDF uploads with S3 Uploads plugin
- deprecated: PHP 5.5 support will be removed in the next major release (version 4.5)
- removed: PHP 5.4 no longer supported
|
4.3.2 |
2018-08-28 |
- changed: prevent dynamic JS/CSS urls within wp-admin/ from being rewritten by ExactDN
- fixed: auto-convert PNG to JPG was running on images with transparency
- fixed: Alt WebP broken on sites that have jquery-migrate disabled
|
4.3.1 |
2018-08-14 |
- fixed: fatal error on older WP versions due to missing privacy policy function
|
4.3.0 |
2018-08-14 |
- added: Alt WebP enables instant conversion with ExactDN, no need for bulk optimize
- added: links within settings and other notices for contextual help
- added: auto-convert large PNG images to JPG during upload, define EWWW_IMAGE_OPTIMIZER_DISABLE_AUTOCONVERT to skip
- added: use file modification time to add query strings on JS/CSS files for cache invalidation on ExactDN
- added: use EXACTDN_EXCLUDE in wp-config.php to bypass ExactDN for JS, CSS, etc.
- added: NextGEN image urls properly rewritten for ExactDN
- added: NextGEN dynamic thumbs included during manual/bulk optimization
- added: auto-installer for Cloud plugin when running EWWW IO on a "banned" webhost
- added: suggested privacy policy text for users of the API and ExactDN
- added: detect wordpress.com sites and disable exec function and binaries
- changed: resizing uses the primary media dimensions unless the "other" dimensions are configured
- changed: Resize Other Images removed from GUI, configure via Overrides tab
- changed: filter NextGEN quality to prevent oversized thumbs
- changed: allow crop via filter even when one dimension is the same as the original
- changed: auto-rotate function disabled with EWWW_IMAGE_OPTIMIZER_DISABLE_AUTOROTATE
- changed: one-click copy for debug info, and debug collapsed by default in media library and bulk results
- changed: bulk operations for batches of NextGEN images now use the bulk optimizer page instead of loading inline
- fixed: thumbs not generated during WP/LR Sync
- fixed: uploading images in the Gutenberg editor uses the wrong resize dimensions
- fixed: unique filename function producing names with a hyphen and no digits
- fixed: encoded ampersands within the path portion of a url prevent ExactDN parsing
- fixed: entering a decimal for bulk delay does nothing
- fixed: if urls on a localized WPML domain are using the default domain, ExactDN ignores them
- fixed: toggle for plugin status and bulk status generate admin-ajax.php 403 errors
- fixed: PNGOUT installer confirmation notice was missing
- deprecated: PHP 5.4 support will be removed in the next major release (version 4.4)
|
4.2.3 |
2018-07-10 |
- added: skip resizing for images with noresize in the filename
- added: notice about plugins that remove query strings when ExactDN is active
- changed: cache busting for ExactDN uses theme directory modified time with fallback to EWWW IO version
- fixed: exactdn test verification attempts to access WP_Error as an array
|
4.2.2 |
2018-06-20 |
- added: view pages with ExactDN or the entire plugin disabled via GET paramaters: ewwwio_disable and exactdn_disable
- changed: moved to v2 quota endpoint for API
- changed: S3 uploads no longer deferred until after optimization by default, define EWWW_IMAGE_OPTIMIZER_DEFER_S3 as true to override
- changed: image editor extensions can be disabled separately from media library optimization via EWWW_IMAGE_OPTIMIZER_DISABLE_EDITOR
- changed: use exactdn url instead of standard API url for verification simulation and fallback
- fixed: async test outputs unescaped html on settings page when debugging enabled
- fixed: debugging uses extra memory when dumping output to file
- fixed: json_encode dies silently when passing non-utf8 data, results in AJAX/bulk errors
- fixed: disabled auto-optimization bypassed for resizes when max dimensions are set
- fixed: NextGEN support disabled for version 3
- fixed: progressbar color does not match admin theme for NextGEN/Nextcellent
- fixed: optimization details overlay styling missing for NextGEN with some locales
- fixed: FlAGallery batch optimization from Manage Galleries/Images broken
- fixed: undefined variable notices for resize detection and forced re-optimization
- updated: PEL library for maintaining metadata during JPG auto-rotation
|
4.2.1 |
2018-05-07 |
- fixed: EXACTDN_LOCAL_DOMAIN does not work with auto-verification
- fixed: uncaught error during upgrade when 'SHOW FULL COLUMNS' fails
- fixed: async simulation gets 403 error
|
4.2.0 |
2018-05-03 |
- added: disable ExactDN attachment ID queries if they take too long
- added: ExactDN compatibility with a3 Lazy Load
- added: ability to re-test async/background mode if it gets disabled
- changed: better compatibility between Autoptimize and ExactDN
- changed: .webp files removed when restoring original from API
- changed: Force re-optimize checkbox persists up to an hour if bulk optimizer is interrupted
- fixed: CSS, JS, and other resources could be skipped by ExactDN in certain circumstances
- fixed: Jupiter theme captcha incompatible with ExactDN
- fixed: prevent calls to php_uname when it is disabled
- fixed: MacOS X installer for PNGOUT
- fixed: prevent notices due to empty output from exec()
- fixed: ExactDN fails to crop when image_downsize() is called with explicit dimensions
- fixed: ExactDN breaks image resizing with Themify themes
- fixed: multi-site settings throws error during submission when ExactDN is active
- fixed: single-site override option displayed when plugin activated per-site
- removed: PHP 5.3 no longer supported
|
4.1.3 |
2018-04-12 |
- fixed: infinite loop when removing invalid API key
- fixed: img elements with incorrect attachment ID being replaced with wrong image src
- fixed: ExactDN CSS and JS parsing incompatible with Autoptimize
|
4.0.6 |
2018-01-03 |
- changed: dummy images have no args appended with exactdn except for ssl flag
- fixed: resize_detection.js being combined with other scripts by Autoptimize
- fixed: retina optimization not deferred in async mode
- fixed: PDF files could trigger license exceeded message
- fixed: binary detection not fully functional with MacOS and PHP 7.2
- fixed: compatibility with Regenerate Thumbnails version 3
|
3.6.1 |
2017-08-11 |
- fixed: bulk optimizer fails to initialize if the bulk_attachments array is set to an empty string
- fixed: misplaced parenthesis breaks option overrides
|
3.5.1 |
2017-07-20 |
- added: optional help beacons on bulk and settings pages
- added: disable deferring of WP Offload S3 uploads with EWWW_IMAGE_OPTIMIZER_NO_DEFER_S3
- added: override use of wp_add_inline_script with non-standard jQuery by defining EWWW_IMAGE_OPTIMIZER_WEBP_INLINE_FALLBACK
- fixed: javascript for bulk optimizers in NextGEN, NextCellent and FlaGallery
|