2.3.0
Release Date = November 7, 2024
- added: store errors from Critical CSS generation for future reference
- changed: Critical CSS generation included with SWIS license (beta)
2.2.2
Release Date - October 24, 2024
- fixed: post-enqueue JS/CSS parser uses incorrect handles
- fixed: some JS variable definitions not excluded from JS defer
2.2.1
Release Date - October 10, 2024
- fixed: CDATA exclusion for inline JS defer was too aggressive
- fixed: is_file() wrapper method triggers PHP warning on empty path
- fixed: caching system not fully removed after disabling page caching
- fixed: WP_CACHE constant sometimes not detected after enabling page caching
2.2.0
Release Date - August 15, 2024
- added: self-host Google Fonts for improved privacy and completely eliminate extra DNS/HTTP requests
- added: Google Fonts optimized in stylesheets where fonts are mixed with additional CSS
- added: non-enqueued Google Fonts can be managed and disabled with Slim
2.1.4
Release Date - July 31, 2024
- changed: improved performance of is_file() wrapper method(s)
- fixed: errors when clearing server caches due to namespace resolution
2.1.3
Release Date - July 25, 2024
- changed: ensure SWIS front-end options are autoloaded in WP 6.6
- fixed: Help links broken in Firefox's Strict mode
- fixed: undefined variable affecting AMP output
2.1.2
Release Date - April 11, 2024
- added: compatibility with Slider Revolution 7 rendering engine
- changed: home page cache is automatically purged when updating a post/page
- improved: detection for login page in Critical CSS function
2.1.1
Release Date - December 20, 2023
- fixed: disabling cache clear on plugin upgrade (via override) does not pre-empt all cache clearing
- fixed: compatibility with X/Pro themes and Cornerstone builder
- fixed: PHP notices when cache settings file is outdated
2.1.0
Release Date - August 31, 2023
- added: dns-prefetch and preconnect hints for Bunny Fonts
- added: WPML support for Page Cache and Critical CSS
- added: Optimize CSS preloads WPBakery, Visual Composer, and Zion Builder CSS
- added: override for CDN domain via SWIS_CDN_DOMAIN constant
- changed: updated JS/CSS Minify library
- fixed: cache engine throws preg_grep() error on multi-site sub-domain installs in rare cases
- fixed: on multisite, database table upgrades may not run prior to cache preload and other background processes
- fixed: some front-end functions produce AMP validation errors
- fixed: Optimize JS breaks some inline scrips when they contain comments
- fixed: PHP 8.1/8.2 deprecation notices
- security: randomize filename of debug log
2.0.4
Release Date - July 19, 2023
- added: dns-prefetch and preconnect hints for CSS resources
- changed: dashicons not disabled by Slim if WP admin bar is visible
- fixed: PHP 8.1 deprecation notices from usage of add_submenu_page and add_query_arg
- fixed: PHP notice when getting cache size on disk
- fixed: preconnect hints (incorrectly) skipped if dns-prefetch hint exists
- fixed: guest asset check fails in some cases
- fixed: Slim displays duplicate dependency information
- fixed: Slim missing id attributes for form elements
2.0.3
Release Date - December 21, 2022
- changed: improved Brizy Builder compatibility
- changed: exclude .build.* files from minification
- fixed: prevent JS/CSS Minify from breaking on assets generated via admin-ajax.php
- fixed: front-end Critical CSS generation broken with JS error
2.0.2
Release Date - November 16, 2022
- fixed: AffiliateWP JS broken when inline scripts are deferred
- fixed: CDN rewriting leaks into some image URLs when Easy IO is active
- fixed: CDN rewriting leaks into post editor
- fixed: Thrive quiz builder broken with SWIS minify/defer
- fixed: PHP warnings generated during theme update
2.0.1
Release Date - November 8, 2022
- changed: use defer safe mode for jQuery when inline scripts are not deferred
- fixed: inline JS for Real Cookie Banner breaks when deferred
- fixed: inline data script elements broken by JS defer
- fixed: inline script elements with reserved characters malformed
- fixed: slim.js throws errors on wp-admin
- fixed: Slim front-end panel breaks if jQuery is loaded late using non-standard hooks
2.0.0
Release Date - October 27, 2022
- added: customize JS/CSS defer per-page via the Slim front-end panel (Manage JS/CSS)
- added: delay JS per-script and per-page via Slim front-end panel
- added: defer or delay inline scripts
- added: disable, defer, and delay scripts that do not use the standard enqueue system
- added: Test Mode to limit JS/CSS optimizations and Slim rules to logged-in admins
- added: JS errors indicated on Slim panel
- changed: if JS files are deferred, inline scripts will also be deferred by default
- changed: hide assets from Slim that are not used for non-logged in visitors
1.7.1
- changed: updated Easy Digital Downloads cookies excluded from caching
- fixed: PHP warning during activation when checking for settings change
- fixed: critical CSS function attempting array to string conversion
1.7.0
- added: manual Clear Site Cache action purges server-based caches: WP object cache, WP Engine, SiteGround, Pagely, LiteSpeed, and SpinupWP
- changed: add data-no-defer to critical css control JS
- changed: critical CSS for individual pages can be removed by clearing existing CSS and saving
- changed: Easy Digital Downloads cookies added to default cache exclusions
- fixed: stdClass "not found" in EDD updater file in edge cases
- fixed: HTML parsers break Bricks front-end editor
1.6.1
- updated: plugin updater class with ability for auto-updates
- changed: page cache can be enabled on any host in conjunction with server-based page caching
- fixed: get_plugin_data function undefined in some cases
- fixed: .htaccess admin notice shown on servers where it does not exist (and is not needed)
- fixed: cache engine debug function throws error in some edge cases
- fixed: PHP empty needle error in caching function
1.6.0
- added: CriticalCSS.com integration to generate critical CSS automatically and avoid FOUC with deferred CSS
- added: cache size and clear cache button on settings page
- changed: cache preload status auto-refreshes when running in background
- changed: cache overrides take effect without toggling cache setting
- fixed: page cache upgrade routine installs advanced-cache.php incorrectly
- fixed: undefined constant notice during page cache upgrade
- fixed: undefined variable when getting cache size
- fixed: cache exclusions not saving properly
- fixed: front-end checks not detecting feeds, embeds, and previews
1.5.4
- added: configure content directory with SWIS_CONTENT_DIR
- changed: make all permissions checks filterable
- fixed: removal of dashicons CSS breaks Ninja Forms
- fixed: unaltered CSS was pre-loaded twice
- fixed: fatal error for invalid class when mobile caching enabled
- fixed: JS errors when WP admin bar is hidden
- fixed: spaces in Slim rules prevent URL matches
- fixed: conflicts with Thrive Editor
1.5.3
- fixed: newer versions of Avada/Fusion builder not detected properly
- fixed: some functions of Customizer not working with deferred JS
1.5.2
- fixed: CSS defer double-parses the fallback noscript tags
- fixed: cache preload triggered by cache clear during plugin deactivation
- fixed: HTML parsing code incorrectly handles JSON markup
1.5.1
- added: preload CSS for Avada, Brizy Builder, Gutenberg plugin, and TagDiv Composer
- fixed: JS Minify breaks when processing Brizy Builder JS
- fixed: JS Minify breaks Kali Forms
- fixed: empty wp-content folder (/) causes rewriting of page links
- fixed: CDN rewriter throws empty needle warning for strpos
- fixed: CDN rewriter and WebP cache variant incorrectly handle JSON responses
- fixed: jQuery not deferred due to updated markup in core WP
- fixed: unable to remove last rule from Eliminate Unused JS/CSS
1.5.0
- added: preload CSS for Gutenberg, Oxygen, Elementor, GenerateBlocks and Beaver Builder when Optimize CSS Loading is enabled
- added: WebP cache variant supports relative image URLs
- fixed: WebP cache variant setting not saved to disk settings file
- fixed: WebP cache variant removes background images if .webp file does not exist
- fixed: Optimize CSS loading adds extra markup for preloaded theme files
1.4.0
- added: defer and minify functions now support JS/CSS resources added without the WP enqueue system
- added: font optimizer supports CDN domain in CSS URLs
- fixed: font optimizer uses file_get_contents() which is blocked on some servers
- fixed: JS injected incorrectly into certain Oxygen Builder components
- fixed: undefined constant from EWWW IO was triggering a warning
- fixed: Optimize CSS loading skipped stylesheets with empty media attributes
- fixed: cache engine bails if doctype declaration is slightly non-standard
1.3.0
- added: mobile caching available via SWIS_CACHE_MOBILE override, use only if you deliver unique pages to mobile devices
- changed: cache clearing for plugin/theme updates is more efficient
- changed: cache engine begins buffering earlier for improved compatibility with other plugins
- fixed: entire network cache cleared if main site in sub-dir install is cleared
- fixed: cache requirements notice shows to all users
- fixed: cache clearing for WooCommerce stock updates
- fixed: cache clearing redirect fails if Referer header is missing/disabled, results in blank screen
- fixed: cache preloading fails if 301/302 redirect found
- fixed: CDN parser cannot handle img elements with empty src attributes
- fixed: CDN parser regex to detect SVG images in use elements caused excessive backtracking
- fixed: DNS prefetch/preconnect produces invalid HTML when URL does not contain a path
- update: cache clearing behavior for comments reduces unnecessary cache clearing
1.2.1
- added: embedded help and improved documentation for all settings
- changed: failure to insert gzip/cache-control rules in .htaccess failed silently, now displays an admin notice
- fixed: display of Yoast admin bar resources on JS/CSS panel
- fixed: deferring a11y and i18n dependencies causes JS errors
- fixed: cache not cleared after enabling WebP Variant
1.2.0
- added: manage JS/CSS unloads via front-end menu/console
- changed: JS/CSS unload rules use strict matching unless wildcards (*) are used
- changed: new UI to manage JS/CSS unloads
- changed: admin bar items consolidated under SWIS menu
- fixed: prefetch and preconnect hints added incorrectly if SVG title tags found in HTML
1.1.1
- fixed: conditional tag functions called before query is setup
- fixed: WP-CLI error from debug functions
1.1.0
- added: Cache Preload to prime the page cache
- added: minify additional CSS from theme customizer
1.0.5
- changed: Critical CSS inlined earlier, and removed after styles load to avoid conflicts
- fixed: Google Fonts URLs with spaces not handled properly
- fixed: Cache clearing when new comment is submitted throws error
1.0.4
- fixed: Beaver Builder cache clearing throws warnings
- fixed: CDN exclusions not saving properly
1.0.3
- fixed: JS Minify breaks Beaver Builder scripts
- fixed: license validation causes mismatched key
- removed: lazy load, as we already have it in EWWW IO & Easy IO
1.0.2
- added: CDN rewriting for Ultimate Member AJAX requests
- fixed: jQuery safe mode not working with WP 5.6
1.0.1
- added: Lazy Load for external CSS and separate style blocks (div elements only for now)
- changed: better support for WP Offload Media with WebP cache variant
- changed: CDN rewriter has better detection for custom wp-includes and wp-content folders
- fixed: cache engine not finding settings file
- fixed: WP_CACHE not defined when other plugins leave it defined as false after deactivation
1.0.0
- added: docs for finding unused CSS/JS and critical CSS added to Help Beacon
- change: CDN rewriter has better https detection
0.9.5
- added: Cache module has ability to create a WebP version of your pages for supported browsers
- changed: Cache module allows query strings, with a default set of exclusions to bypass caching
- changed: Cache module has smarter cache clearing when a post/page (or any custom post type) is published/updated
- changed: improved detection of existing prefetch/preconnect hints
- fixed: cache clearing by URL for sub-directory installations
0.9.4
- changed: CDN rewriter hooks into more image URL functions
- changed: browser-native lazy loading attributes no longer added by SWIS to prevent theme/plugin conflicts
- changed: license status refreshes automatically when expiration date is reached
- fixed: DNS prefetch function causes warning when using strpos on an array
0.9.3
- fixed: JS/CSS exclusion code running in page builder mode
- fixed: Lazy Loader parsing (and breaking) JSON responses
- fixed: Divi style.css broken by CSS Minify
- fixed: CDN rewriter pre-empts Easy IO rewriting
0.9.2
- added: ability to add domains for DNS prefetch and preconnect hints
- changed: prevent DNS prefetch for fonts.googleapis.com when font optimization is enabled
- changed: use better escaping function for Critical CSS setting
- fixed: license activation error messages not displayed
- fixed: lazy loader not detecting Easy IO capability
0.9.1
- changed: added '.min' suffix to minified JS/CSS files to avoid conflicts with other minifiers.
- fixed: error with Lazy Load and AMP
0.9.0