- Added User-Agent identifier 'JchOptimizeCrawler' for recache crawler
- Dont record hits on articles while using Page Cache if option disabled in component
- Improved compatibility with Cloudflare caching by removing no-cache header from .htaccess codes
- Improved implementation of background image lazy loading
- Modify default HTML sections in Reduce DOM feature
- [HIGH] Feature to update CRSF token broken
- [HIGH] Fixed intermittent uncaught error when saving page cache.
- [LOW] Don't lazy load background images without a valid path
- [LOW] Fixed exceptions caused by invalid selectors while lazy loading background images.
- [LOW] Fixed issue with incorrect character encoding in some CSS files
- [MEDIUM] Page Cache would print multiple lines of Ajax codes included by JCH Optimize
- [MEDIUM] Responsive images loading when not enabled
- Add configure Helper settings for Reduce Unused JavaScript and Optimize CSS Delivery.
- Added Mobile and Desktop only settings in LCP feature.
- Added setting to crop mobile image rather than resize preserving aspect ratio when generating responsive images.
- Added settings to exclude sections from Reduce DOM feature and to include selected DIVs using id or class.
- Added settings to lazyload selected images above the fold such as hidden slider images and submenu icons.
- Remove Expired Delete Cache function. Use Recache CRON to avoid cache-buildup.
- Separate Image features from CSS features on Dashboard.
- Settings 'Include Files' in Http/2 Preload and 'Preconnect domains' in Preconnect 3rd party Origins now accept crossorigin attribute values.
- Use Joomla Dashboard component to style Dashboard.
- Minimum supported Joomla version is now 4.3.0
- Namespace Lazysizes library to avoid conflicts.
- modeSwitcher module added to free version
- Add setting to load LCP images using id/class
- Added settings to lazy load hidden images above the fold.
- [LOW] Optimize by URls didn't work on a few sites.
- CSS loaded asynchronously in Optimize CSS Delivery feature is added to the bottom of the page.
- Use loading attribute to lazy load images instead of JavaScript. JavaScript is only used to lazy load background images and audio/video
Bug fixes
[LOW] WEBP and responsive images were not loaded over CDN.
Miscellaneous changes
Added support for resizing WEBP images to create responsive images
Background images that are LCP with responsive images generated can now be appropriately preloaded with high priority
- Add responsive images feature
- Removed cache expiry mode setting
- [HIGH] Fix CSS issue with handling cassiopeia template
- [MEDIUM] Backup images were only saved when WEBP images generated
- Further improvement in how cache expiry function to improve stability and efficiency
- Add setting to limit max file size for upload in Optimize Image feature.
- Improve event messaging in modal while optimizing images using websockets.
- Improved caching to reduce server resource usage.
- [LOW] Couldn't exclude JavaScript files with async attributes.
- Error messages for failed requests during recache is logged.
- Add setting to easily find the Elements above fold value. Only works if Debug Plugin is enabled.
- Improved code that was causing high resource usage on some sites.
- The new Optimize Image feature wasn't working optimally on some servers.
- [LOW] Fix issue with unfound UnlinkException PHP errors.
- [MEDIUM] Fixed issue with preloads triggering warning in browser console about request credentials mode don't match