* Reduce the total number of SQL queries used to obtain information
* Stop triggering PHP code and SQL queries on pages where they are not relevant
* Cache SQL queries that are time consuming, which is ideal for websites with a very large database (e.g. tens / hundred of thousands of users)
* Fix: The "usermeta" table is populated with duplicate entries, leading to a larger database, and sometimes, leading to a high CPU usage
* New Option: "Settings" -- "Plugin Usage Preferences" -- "Plugin Access" / Choose user roles or particular users, apart from administrators, that could have access to the plugin area * e.g. the admin could give Asset CleanUp Pro access within the Dashboard to a developer that is optimizing the website, but the developer does not have the "administrator" role for security reasons
* "wpacu_access_role" filter is no longer active (related to the option mentioned above), as it wasn't 100% effective into changing who accesses the Asset CleanUp Pro area
* "Nextend Social Login and Register" plugin compatibility / Make sure the homepage is still detected if the following query string is in the URI: "nsl_bypass_cache"
* Improvement: When using specific themes, the navigation sub-tabs from the "CSS & JS Manager" were overwritten by the theme's style (added unique references to the HTML classes)
* Improvement: Clear cache after "Plugin Manager" form is submitted (some plugins might load specific assets, and a cache clearing is recommended)
* Fix: After a theme is switched, there's sometimes a browser error showing up related to multiple failed redirects
* Fix: Sometimes, the verification of a valid URL fails (e.g. fonts.googleapis.com), and its size is not show in the CSS/JS manager
* Fix: PHP Warning - Undefined array key "within_conditional_comments" in [...]/wp-content/plugins/wp-asset-clean-up-pro/pro/classes/PositionsPro.php on line 245
* Added the option to load an asset as an exception on all taxonomy / author pages / e.g. when a site-wide unloading rule is set, you can make a load exception and load the asset on all "category" taxonomy pages
* Make sure the red background is kept whenever a load exception is unchecked if there was already an unloading rule set (this is more for aesthetics reasons)
* Prevent possible is_file() errors whenever minify CSS/JS is enabled
* Whenever the following option is enabled, the META generator tags are stripped faster after being cached: 'HTML Source CleanUp' -- 'Remove All "generator" meta tags?'
* If the menu from the sidebar is not showing up, make sure that "Asset CleanUp Pro" from "Settings" (Dashboard sidebar) is always highlighted, whenever a plugin page is visited
* Change the way the plugin submenu is created to avoid, in some environments, errors such as the following one: "NOTICE: PHP message: PHP Warning: Undefined array key 2 in /wordpress/wp-admin/includes/plugin.php on line 2012"
* Hardcoded assets: When altering any hardcoded asset, make sure that prior to this, only the assets that are needed are fetched to save resources (e.g. if only LINK tags have to be altered, do not fetch at all any SCRIPT tags)
* Fix: Sometimes errors were showing up related to bulk unloads whenever the CSS/JS manager was updated
* CSS Minifier Improvement: Specific "var()" statements were minified incorrectly in Bootstrap / more: https://github.com/matthiasmullie/minify/issues/422
* Fix: When CSS files about to be optimised (e.g. minified) contain "@import", make sure the fetching and the combining of the imported CSS files is done properly (e.g. instead of loading five CSS files, only one will load, as the other four will be merged into the main one that had the @import in the first place)
* Fix: In some environments that have PHP 8+ installed, when non-admin users were logging-in an error was showing up: Uncaught TypeError: in_array(): Argument #2 ($haystack) must be of type array, string given
* FIx: When using WP CLI (or something similar) and PHP 8.1+ is installed, a harmless error is showing up due to the fact that the global $_SERVER variable had missing keys / e.g. $_SERVER['REQUEST_URI'] is not detected, leading to an error such as "rtrim(): Passing null to parameter #1 ($string) of type string is deprecated"
* Backend Speed Improvement: The plugin processes its PHP code faster, thus reducing the total processing time by ~40 milliseconds for non-cached pages (e.g. backend speed testing plugins such as "Query Monitor" and "Code Profiler" were used to optimize the PHP code)
* "Overview" area: Added the option to clear any rules set for plugins that are deactivated / deleted
* Fix: Sometimes rules were applied to hardcoded assets incorrectly as different tags without content were considered to be the same
* Fix: Make sure the "Update" button is disabled when submitting the form from the CSS/JS manager
* Fix in the "CSS/JS manager" area: If an attribute is set (e.g. "defer') to show "everywhere", make sure that "On this page" is not checked
* Fixes in "Overview" area: If an attribute is set (e.g. "defer") to show "everywhere", it shows multiple times (instead of just once) when WPML plugin is enabled; If the path to the site URL was e.g. domain.com/blog, the "href" value from "Overview" was not including the "blog" path, causing "404 Not Found" errors and confusing the administrator
* Added "wp wpacu update" CLI command to be used in updating the plugin, in case the most recent version doesn't show yet in the list from "wp plugin list" (basically, it attempts a "force" download of the latest version)
* Fix: "JavaScript" was shown instead of "stylesheet" when specific unload rules were applied
* Fix: Make sure the right message is shown to the popup that has a loading spinner (e.g. when the rules from "Plugins Manager" were all turned off, the message from clearing the cache was shown instead)
* "Plugins Manager": Allow the option to unload a plugin depending on the logged-in user role (e.g. for a "subscriber" that has access to the Dashboard, specific plugins that you know are useless for this type of user, could be unloaded to make the Dashboard load faster)
* CSS/JS manager: When the "src" of a SCRIPT tag or "href" of a LINK tag starts with "data:text/javascript;base64," and "data:text/css;base64," respectively, a note will be shown with the option to view the decoded CSS/JS code
* Fix: In some environments, the tags with "as" attribute were not properly detected (e.g. when "DOMDocument" is not enabled by default in the PHP configuration)