An epic 15 minutes of jazz from Kamasi Washington’s soul; “Truth”. I’ve been listening to this on repeat since I heard it yesterday evening on Lefto’s radioshow. So beautiful & moving, so rooted in the past and yet so fresh and timeless!
So work on Autoptimize 2.2 is almost finished and I need your help testing this version before releasing (targeting May, but that depends on you!). The more people I have testing, the faster I might be able to push this thing out and there’s a lot to look forward to;
New option: enable/ disable AO for logged in users for all you pagebuilders out there
New option: enable/ disable AO for cart/ checkout pages of WooCommerce, Easy Digital Downloads & WP eCommerce
New minification/ caching system, significantly speeding up your site for non-cached pages (previously part of a power-up)
Additional support for HTTP/2 setups (no GUI, you might need to have a look at the API to see/ use all possibilities)
Important improvements to the logic of which JS/ CSS can be optimized (getPath function) increasing reliability of the aggregation process
Updated to a newer version of the CSS Minification component (albeit not the 3.x one, which seems a tad too fresh and which would require me to drop support for PHP 5.2 which will come but just not yet)
API: Lots of extra filters, making AO (even) more flexible.
Historically Autoptimize used its own JS-implementation to defer the loading of the main CSS, hooking into the domContentLoaded event and this has worked fine. I knew about Filament Group’s loadCSS, but saw no urgent reason to implement it as I saw no big advantages vs. my homegrown solution. That changed when criticalcss.com’s Jonas contacted me, pointing out that the best way to load CSS is now using the rel="preload" approach, which as of loadCSS 1.3 is also the way loadCSS works;
As rel="preload" currently is only supported by Chrome & Opera (both Blink-based), a JS polyfill is needed for other browsers which uses loadCSS to load the CSS. Hopefully other browsers catch up on rel="preload" because it is a very elegant solution which allows the CSS to load sooner then with the old code while still being non-render blocking. What more could one which for (“Unicorns” my 10yo daughter might say, but what does she know)?