Skip to content

Releases: wpsharks/comet-cache-pro

ZenCache Lite v160120-RC

20 Jan 03:13
Compare
Choose a tag to compare

v160103

03 Jan 20:29
Compare
Choose a tag to compare
  • Bug Fix: Fixed an issue that was unexpectedly producing "Failed to update your /.htaccess file" error messages. The .htaccess routines are now more intelligent and take into consideration which plugin options are enabled and which options require updating the .htaccess file. This also improves performance by avoiding unnecessary read/writes to the .htaccess file. Props @patdumond. See Issue #641.
  • Bug Fix: When allow_url_fopen is disabled via the PHP configuration, the Auto-Cache Engine is unable to read the XML Sitemap and was silently failing with only PHP Warning in the PHP error log. The Auto-Cache Engine currently requires PHP URL-aware fopen wrappers. A new Dashboard notice displays an error message when allow_url_fopen is disabled and prevents the Auto-Cache Engine from attempting to run. See Issue #644.
  • Bug Fix: Fixed an Auto-Cache Engine bug that was producing false-positive Dashboard errors related to timeouts: "Problematic XML Sitemap URL - WP_Http says: Operation timed out after 5001 milliseconds with 0 bytes received." Due to the way ZenCache was checking the XML Sitemap URL more than necessary, timeouts were more likely to occur. We now only check the URL repeatedly when a failure has been encountered. If the URL is confirmed as working, we don't check the URL again until the Auto-Cache Engine runs (every 15 minutes by default) or until the Plugin Options are saved. If you are still seeing timeout errors after this update, please see this article. See Issue #643.
  • Bug Fix: Fixed an Auto-Cache Engine bug where ZenCache would would check both the non-SSL (http://) and the SSL (https://) version of the XML Sitemap URL when the Site Address was configured to use SSL. See Issue #643.
  • Enhancement: It's now possible to override the ZenCache Nonce exclusion globally (dangerous) or only for Logged-In Users (safer). Please see this article for full details. Issue #637.
  • Akismet Compatibility: Fixed a bug with Akismet compatibility where ZenCache was not properly disabling the Akismet Comment Nonce, which resulted in pages being unnecessarily excluded from the cache due to the presence of the akismet_comment_nonce in the markup. Props @Kalfer. See Issue #642.

v151220

21 Dec 00:50
Compare
Choose a tag to compare
  • New Feature!: It's now possible to customize the Cache Cleanup Schedule and set your own schedule in ZenCache → Plugin Options → Manual Cache Clearing → Cache Cleanup Schedule. ZenCache uses wp_get_schedules() when generating the list of available schedules, which makes it possible to create your own custom cron schedule using a plugin like WP Crontrol and use that to define a custom Cache Cleanup Schedule. Props @kristineds. See Issue #472.
  • New Feature! It's now possible to configure the Pro Plugin Updater to check for Beta versions (Release Candidates) of the plugin. See ZenCache → Plugin Updater → Beta Testers. We publish Release Candidates a week or so before official releases to allow for additional testing and early preview of upcoming features and bug fixes. If you're not already on our Beta Testers mailing list, you can signup here. Props @kristineds. See Issue #352.
  • New Feature! It's now possible to clear Expired WordPress Transients from the Clear Cache Option Menu in the WordPress Admin Bar. The WordPress Transients API has no functionality to automatically clean up expired transients; doing so is left for plugin authors and we've found that very few plugins that use the Transient API actually clean up expired transients properly, which can lead to your database being full of expired transient data that is no longer used. Props @kristineds. See Issue #459.
  • New Feature! Client-Side Caching now includes a new URI Exclusion Patterns for Client-Side Caching, allowing you to exclude specific URIs from being cached by a client-side browser when Client-Side Caching is enabled. Props @renzms. See Issue #498.
  • Bug Fix: Fixed a bug that was generating a "Failed to update your /.htaccess file" error message. The routines that update your .htaccess file were failing if your .htaccess file already contained the word "ZenCache" (case-insensitive). See Issue #617 and Issue #620.
  • Bug Fix: Fixed a bug that in some scenarios could cause custom .htaccess rules to be lost if your .htaccess file was using the exact same comment start and end markers as ZenCache (# BEGIN ZenCache and # END ZenCache). If you were using those exact same start and end markers, ZenCache was replacing whatever was between them with a copy of the ZenCache .htaccess rules. ZenCache now uses a unique marker (WmVuQ2FjaGU) to identify its own code blocks inside your .htaccess file. See Issue #620.
  • Bug Fix: Fixed a bug with clearing cache files for paginated pages where the pagination_base had been changed from the default page to something else (e.g., a translated string). The WP Rewrite API is now used to include pagination_base and comments_pagination_base when building paths to cache files to determine which cache files should be cleared. Props @renzms. See Issue #607.
  • Bug Fix: Fixed a bug with the Static CDN Filters that affected sites using a permalink structure that ended with .htm or .html. This bug was supposed to be fixed back in v151002 but another bug prevented the fix from working properly. This release fixes the issue once and for all. See Issue #495.
  • Bug Fix: With Logged-In User caching enabled, there were some scenarios where the user cache was being cleared on every page load when a user was logged in. ZenCache now hooks into updated_user_metadata instead of update_user_metadata to clear a specific user cache. Props @kristineds. See Issue #623.
  • Bug Fix: Fixed a bug where the Auto-Cache Engine cron event would disappear in some scenarios. Props @patdumond, @MarioKnight. See Issue #613.
  • Bug Fix: ZenCache no longer caches any pages that contain _wpnonce in the markup. This ensures that pages containing time-sensitive nonce values are not cached. Props @kristineds and @jaswsinc. See Issue #601.
  • Bug Fix: This release attempts to resolve reports of Error 500 and Internal Server Error issues when running with PHP 5.6 + OPcache. Instead of clearing the entire Opcode cache whenever the plugin options are saved, we only invalidate the advanced-cache.php file, which is rebuilt each time you update your configuration options. Props @jaswsinc. Also props to @MarioKnight and @CotswoldPhoto for helping us narrow this down. See Issue #624.
  • Bug Fix: Fixed a bug where ZenCache could inadvertently corrupt the .htaccess file if it contained invalid UTF-8 characters. This has been fixed by first checking the .htaccess file for invalid UTF-8 characters via wp_check_invalid_utf8(). See Issue #633.
  • Enhancement: Improved WP Cron-related configuration and validation of custom cron schedules. See PR #197.
  • Enhancement: ZenCache now clears the cache whenever a WordPress plugin is activated or deactivated. Many WordPress plugins change content on the front-end of the site, so this enhancement ensures that an old cache file is never served to visitors. If you want to disable this automatic behavior, see this article. Props @renzms. See Issue #424.
  • Enhancement: The Auto-Cache Engine diagnostic reporting for XML Sitemap-related errors has been greatly improved. The Dashboard notice now explains exactly what error is occurring when the Auto-Cache Engine attempts to verify that the XML Sitemap exists. Props @jaswsinc. See Issue #615 and Issue #618.
  • Enhancement: Auto-Cache Engine XML Sitemap error checking is now more intelligent. When configured, the XML Sitemap URL is now checked upon every admin_init to verify that the XML Sitemap is accessible and valid. If a previous error has been fixed, the error message will disappear immediately instead of taking 15 minutes (the Auto-Cache Engine run cycle). See Issue #616.
  • Enhancement: Static CDN Filters are no longer applied by default for Logged-In Users. This was causing some confusion because Logged-In User caching is disabled by default. There is no harm in applying Static CDN Filters to all users (logged-in or not logged-in), in fact we recommend it, however we now disable this functionality by default to avoid confusion. A new option allows you to control this behavior and enable Static CDN Filters for Logged-In users; see ZenCache → Logged-In Users → Static CDN Filters Enabled for Logged-In Users & Comment Authors? Props @kristineds, @lkraav, and @isaumya. See Issue #486.
  • Enhancement: The Static CDN Filters now attempt to obey the ZENCACHE_ALLOWED and DONOTCACHEPAGE constants so that Static CDN Filters are not applied when caching is disabled. However, due to the way Static CDN Filters are implemented this is not always reliable. If you need to programmatically disable Static CDN Filters, see this article. See Issue #628.
  • Enhancement: When activating ZenCache for the first time, a new Dashboard message now includes a helpful link to the options page to enable caching and review the options. Props @kristineds. See Issue #112.
  • Enhancement: The automatic Cache Cleanup schedule that cleans up (deletes) expired/stale cache files has been changed from once every day to once every hour. Running the cleanup hourly makes ZenCache smarter when configured in certain ways and saves disk space. Props @kristineds. See Issue #472.
  • Enhancement: The new default value for "Clear the PHP OPcache Too?" when clearing the cache manually is now disabled. Instead of having this option enabled by default, we automatically invalidate only the advanced-cache.php file in PHP's opcode cache whenever you update your configuration options, which allows ZenCache to function as expected. That was the most important reason for needing to clear the opcode cache in previous versions. Props @jaswsinc. Also props to @MarioKnight and @CotswoldPhoto for helping us narrow this down. See Issue #624.
  • Enhancement: Improved .htaccess utilities so that an exclusive lock is acquired when reading+writing to the file. This helps avoid inadvertently corrupting the .htaccess file in scenarios where another process might be reading/writing to it at the same time. See Issue #633.
  • Multisite Enhancement: The Auto-Cache Engine has a new configuration option when running on WP Multisite Networks that allows you to define whether or not the Auto-Cache Engine should look for XML ...
Read more

v151216 (Release Candidate)

16 Dec 15:16
Compare
Choose a tag to compare
Pre-release
  • New Feature!: It's now possible to customize the Cache Cleanup Schedule and set your own schedule in ZenCache → Plugin Options → Manual Cache Clearing → Cache Cleanup Schedule. ZenCache uses wp_get_schedules() when generating the list of available schedules, which makes it possible to create your own custom cron schedule using a plugin like WP Crontrol and use that to define a custom Cache Cleanup Schedule. Props @kristineds. See Issue #472.
  • New Feature! It's now possible to configure the Pro Plugin Updater to check for Beta versions (Release Candidates) of the plugin. See ZenCache → Plugin Updater → Beta Testers. We publish Release Candidates a week or so before official releases to allow for additional testing and early preview of upcoming features and bug fixes. If you're not already on our Beta Testers mailing list, you can signup here. Props @kristineds. See Issue #352.
  • New Feature! It's now possible to clear Expired WordPress Transients from the Clear Cache Option Menu in the WordPress Admin Bar. The WordPress Transients API has no functionality to automatically clean up expired transients; doing so is left for plugin authors and we've found that very few plugins that use the Transient API actually clean up expired transients properly, which can lead to your database being full of expired transient data that is no longer used. Props @kristineds. See Issue #459.
  • New Feature! Client-Side Caching now includes a new URI Exclusion Patterns for Client-Side Caching, allowing you to exclude specific URIs from being cached by a client-side browser when Client-Side Caching is enabled. Props @renzms. See Issue #498.
  • Bug Fix: Fixed a bug that was generating a "Failed to update your /.htaccess file" error message. The routines that update your .htaccess file were failing if your .htaccess file already contained the word "ZenCache" (case-insensitive). See Issue #617 and Issue #620.
  • Bug Fix: Fixed a bug that in some scenarios could cause custom .htaccess rules to be lost if your .htaccess file was using the exact same comment start and end markers as ZenCache (# BEGIN ZenCache and # END ZenCache). If you were using those exact same start and end markers, ZenCache was replacing whatever was between them with a copy of the ZenCache .htaccess rules. ZenCache now uses a unique marker (WmVuQ2FjaGU) to identify its own code blocks inside your .htaccess file. See Issue #620.
  • Bug Fix: Fixed a bug with clearing cache files for paginated pages where the pagination_base had been changed from the default page to something else (e.g., a translated string). The WP Rewrite API is now used to include pagination_base and comments_pagination_base when building paths to cache files to determine which cache files should be cleared. Props @renzms. See Issue #607.
  • Bug Fix: Fixed a bug with the Static CDN Filters that affected sites using a permalink structure that ended with .htm or .html. This bug was supposed to be fixed back in v151002 but another bug prevented the fix from working properly. This release fixes the issue once and for all. See Issue #495.
  • Bug Fix: With Logged-In User caching enabled, there were some scenarios where the user cache was being cleared on every page load when a user was logged in. ZenCache now hooks into updated_user_metadata instead of update_user_metadata to clear a specific user cache. Props @kristineds. See Issue #623.
  • Bug Fix: Fixed a bug where the Auto-Cache Engine cron event would disappear in some scenarios. Props @patdumond, @MarioKnight. See Issue #613.
  • Bug Fix: ZenCache no longer caches any pages that contain _wpnonce in the markup. This ensures that pages containing time-sensitive nonce values are not cached. Props @kristineds and @jaswsinc. See Issue #601.
  • Bug Fix: This release attempts to resolve reports of Error 500 and Internal Server Error issues when running with PHP 5.6 + OPcache. Instead of clearing the entire Opcode cache whenever the plugin options are saved, we only invalidate the advanced-cache.php file, which is rebuilt each time you update your configuration options. Props @jaswsinc. Also props to @MarioKnight and @CotswoldPhoto for helping us narrow this down. See Issue #624.
  • Enhancement: Improved WP Cron-related configuration and validation of custom cron schedules. See PR #197.
  • Enhancement: ZenCache now clears the cache whenever a WordPress plugin is activated or deactivated. Many WordPress plugins change content on the front-end of the site, so this enhancement ensures that an old cache file is never served to visitors. If you want to disable this automatic behavior, see this article. Props @renzms. See Issue #424.
  • Enhancement: The Auto-Cache Engine diagnostic reporting for XML Sitemap-related errors has been greatly improved. The Dashboard notice now explains exactly what error is occurring when the Auto-Cache Engine attempts to verify that the XML Sitemap exists. Props @jaswsinc. See Issue #615 and Issue #618.
  • Enhancement: Auto-Cache Engine XML Sitemap error checking is now more intelligent. When configured, the XML Sitemap URL is now checked upon every admin_init to verify that the XML Sitemap is accessible and valid. If a previous error has been fixed, the error message will disappear immediately instead of taking 15 minutes (the Auto-Cache Engine run cycle). See Issue #616.
  • Enhancement: Static CDN Filters are no longer applied by default for Logged-In Users. This was causing some confusion because Logged-In User caching is disabled by default. There is no harm in applying Static CDN Filters to all users (logged-in or not logged-in), in fact we recommend it, however we now disable this functionality by default to avoid confusion. A new option allows you to control this behavior and enable Static CDN Filters for Logged-In users; see ZenCache → Logged-In Users → Static CDN Filters Enabled for Logged-In Users & Comment Authors? Props @kristineds, @lkraav, and @isaumya. See Issue #486.
  • Enhancement: The Static CDN Filters now attempt to obey the ZENCACHE_ALLOWED and DONOTCACHEPAGE constants so that Static CDN Filters are not applied when caching is disabled. However, due to the way Static CDN Filters are implemented this is not always reliable. If you need to programmatically disable Static CDN Filters, see this article. See Issue #628.
  • Enhancement: When activating ZenCache for the first time, a new Dashboard message now includes a helpful link to the options page to enable caching and review the options. Props @kristineds. See Issue #112.
  • Enhancement: The automatic Cache Cleanup schedule that cleans up (deletes) expired/stale cache files has been changed from once every day to once every hour. Running the cleanup hourly makes ZenCache smarter when configured in certain ways and saves disk space. Props @kristineds. See Issue #472.
  • Enhancement: The new default value for "Clear the PHP OPcache Too?" when clearing the cache manually is now disabled. Instead of having this option enabled by default, we automatically invalidate only the advanced-cache.php file in PHP's opcode cache whenever you update your configuration options, which allows ZenCache to function as expected. That was the most important reason for needing to clear the opcode cache in previous versions. Props @jaswsinc. Also props to @MarioKnight and @CotswoldPhoto for helping us narrow this down. See Issue #624.
  • Multisite Enhancement: The Auto-Cache Engine has a new configuration option when running on WP Multisite Networks that allows you to define whether or not the Auto-Cache Engine should look for XML Sitemaps on each of the child blogs. This now defaults to being off; i.e., by default, child blogs are no longer checked. Props @jaswsinc. See Issue #618.
  • Multisite Enhancement: The Auto-Cache Engine XML Sitemap diagnostic reporting is now always disabled for child blogs and only errors related to a primary sitemap location are displayed on the Dashboard. Props @jaswsinc. See Issue #618.
  • bbPress Compatibility: This release improves compatibility with bbPress when ZenCache Logged-In User caching is enabled. In thi...
Read more

v151105 (Release Candidate)

05 Nov 03:32
Compare
Choose a tag to compare
Pre-release
  • New Feature! The Clear Cache button in the Admin Bar now includes a sub-menu with several new options for clearing the cache from anywhere on your site. You can clear the cache for just the Home Page, the Current URL, a Specific URL, PHP's OPCache (if active), or the CDN Cache (when Static CDN Filters are configured). This menu comes in two flavors and can be customized (or disabled entirely) inside ZenCache → Plugin Options → Manual Cache Clearing. Props @jaswsinc. See Issue #596.
  • New Feature! It's now possible to specify a list of Custom URLs whose cache files should be cleared whenever you update a Post/Page, approve a Comment, or make other changes where ZenCache detects that a Post/Page cache should be cleared to keep your site up-to-date. See ZenCache → Plugin Options → Automatic Cache Clearing → Misc. Auto-Clear Options → Auto-Clear a List of Custom URLs Too? Props @kristineds. See Issue #111.
  • New Feature! A new watered-down Regular Expression syntax is now supported in several existing ZenCache features, including the new list of Custom URLs to Auto-Clear, URI Exclusion Patterns, HTTP Referrer Exclusion Patterns, User-Agent Exclusion Patterns, and the HTML Compressor CSS Exclusion Patterns and JavaScript Exclusion Patterns. This new syntax greatly increases the power and flexibility of each of these features and makes things possible like the much-requested ability to Auto-Clear the Home Page or Posts Page of a site whenever a post cache is cleared. For more information on this new watered-down Regular Expression syntax, this KB Article. Props @kristineds @jaswsinc. See Issue #191.
  • Bug Fix: Fixed a bug with Static CDN Filters and Cross-Origin Resource Sharing (CORS) that was generating a "Cross-Origin Request Blocked" error. ZenCache will now update the root .htaccess file to include a Header set Access-Control-Allow-Origin "*" rule for ttf, ttc, otf, eot, woff, woff2, font.css, css, and js files whenever the Static CDN Filters are enabled. This is necessary to avoid "Cross-Origin Request Blocked" errors. Note that if you are already experiencing this error, you should create and configure a new CDN hostname to resolve the issue. In our tests it appears that some CDNs are caching the initial header response received by the server, which means it's necessary to send the Access-Control-Allow-Origin header before configuring the Static CDN Filters with a CDN hostname. See Issue #427.
  • Bug Fix: Removed eot,ttf,otf,woff font extensions from the Static CDN Filter Blacklisted Extensions. These were added in a previous release in an attempt to resolve an issue with Cross-Origin Resource Sharing (CORS), however now that the HTML Compressor has been updated to work with Static CDN Filters, the CSS compressed by the HTML Compressor is now served from the CDN. Fonts are most likely to be referenced by CSS, which is static. So when Static CDN Filters are applied, the CSS is getting moved to the CDN and the fonts are then expected to live on the CDN too. By excluding them from the Static CDN Filter, we were creating a problem instead of solving one. This release removes the font extensions from the default Blacklisted Extensions so that fonts can be hosted on the CDN alongside the CSS that references them. See Issue #427.
  • Bug Fix: Fixed a bug related to updating plugins with WP-CLI on a site that was running ZenCache Pro. While ZenCache Pro updates must still be done through the ZenCache Pro Updater inside the Dashboard, updating other plugins via WP-CLI was generating a harmless ZenCache exception: "Invalid argument; host token empty!". With this fix, ZenCache will properly detect when WP-CLI is running to avoid these errors. Props @MarioKnight @renzms. See Issue #563.
  • Bug Fix: Fixed a bug where post previews were being cached when Logged-In User Caching and GET Request caching were both enabled (both are disabled by default). This release now detects previews in this scenario and excludes those requests from being cached. Props @clavaque @kristineds. See Issue #583.
  • Bug Fix: Fixed an issue where a PHP Notice was generated when an inactive WordPress component was being upgraded. This issue did not have any adverse affect on the site, but this fix resolves the issue so that the notice won't appear in PHP logs. See Issue #589.
  • Bug Fix: Fixed a bug where a commented-out WP_CACHE definition in wp-config.php (such as what WP Super Cache leaves behind) was being incorrectly ignored and resulted in caching being silently disabled. Props @davidfavor. See Issue #591.
  • Bug Fix: Fixed a bug where in some scenarios a page might not be cached due to a stray AUTH_COOKIE or SECURE_AUTH_COOKIE cookie, even when the user is not logged in. Props @jaswsinc @renzms. See Issue #592.
  • Enhancement: Excluded several unnecessary files from the plugin zip file that were being used during the build process but were not necessary to run the plugin. Props @bridgeport. See Issue #579.
  • Enhancement: When the Cache Directory location is changed, ZenCache now cleans up the old Cache Directory and any old cache files instead of leaving them behind. Props @clavaque @renzms. See Issue #580.
  • Enhancement: Added a new API Function that allows a site owner to clear the cache for a specific URL via zencache::clearUrl($url);. See this article for further details. Props @kristineds. See Issue #590.
  • Enhancement: Improved the HTML Notes generated by ZenCache when s2Member (a membership plugin for WordPress) is specifically disabling caching. s2Member automatically disables caching on certain pages that are required to remain dynamic. The HTML Notes generated by ZenCache now explain when this is happening. Props @renzms. See Issue #504.
  • Enhancement: In Logged-In User Caching, the "Yes, but DON'T maintain a separate cache for each user" option has been hidden because this particular option has the potential to create a security issue if not configured properly. If you were already using this option, it will not be hidden and it will continue to work. Otherwise, if you require this particular option you can now enable it using a filter (see this comment). Props @renzms @jaswsinc. See Issue #497.
  • Enhancement: The Auto-Cache Engine now detects when the configured XML Sitemap is not valid or is unreachable and displays an appropriate notice. Props @kristineds and @jaswsinc. See Issue #555.

v150919 (Release Candidate)

19 Sep 00:12
Compare
Choose a tag to compare
Pre-release

Testers: How You Can Help

Please download ZenCache Pro v150919 and install it on your sites. You can leave feedback on Slack in the #zencache channel (please call out @channel) or if you feel you've discovered a bug, feel free to open a new GitHub issue and preface the title of your Issue with v150919-RC:.

Things to consider asking yourself when testing: "What's confusing?" "How might this be used in an unexpected way?" "What kinds of scenarios can I create that probably haven't already been tested?"

The following areas could use particular attention when testing/reviewing:

  • Cache Statistics (ZenCache → Cache Statistics); this is a whole new feature so this should be a primary focus when testing/reviewing.
  • Specifying which WordPress Roles/Capabilities are allowed to clear the cache.
  • Clearing the CDN Cache
  • HTML Compressor bug related to <noscript> tags.
  • Bug with the Static CDN Filters that affected sites using a permalink structure that ended with .htm or .html.

Please review the complete changelog below to see what has changed in this release:


Changelog

  • New Feature! Cache Statistics is a completely new ZenCache Pro feature that will help site owners better understand their WordPress site cache. An easy-to-access Cache Stats menu button in the Admin Bar is accompanied by a whole new page that shows Current Cache Totals (including total number of cache files and total size of cache on the disk), Current Disk Health (including total disk capacity and total available), Current System Health (including memory usage and load average), and two beautiful Polar Area pie charts that show you both current and historical data on Cache File Counts and Cache File Sizes with a 30-Day High, Current Total, Page Cache total, and HTML Compressor total for each chart. Props to @jaswsinc. See Issue #83.
  • New Feature! It's now possible to specify which WordPress Roles/Capabilities are allowed to clear the cache from the WordPress Admin bar. A new option inside Dashboard → ZenCache → Plugin Options → Manual Cache Clearing allows specifying a comma-delimited list of Roles and/or Capabilities under, "Also allow others to clear the cache from their Admin Bar?". If a user has an allowed Role/Capability, they will see the "Clear Cache" button in their Admin Bar. This feature is also compatible with WordPress Multisite Networks, allowing a Network Administrator to define which Child Site roles should allow a Child Site user to see the "Clear Cache" button for their Child Site. Props @danielmt2k @jaswsinc. See Issue #68.
  • New Feature! It's now possible to "Disable Cache Expiration If Server Load Average is High" (see Dashboard → ZenCache → Plugin Options → Cache Expiration Time). This allows you to provide a specific load average that should cause ZenCache to disable cache expiration and help reduce stress on the server; i.e., to avoid generating a new version of the cache while the server is very busy. Props @jaswsinc. See Issue #347.
  • New Feature! It's now possible to manually clear the CDN Cache when Static CDN Filters are enabled. Inside the Static CDN Filters options panel there's a new "Clear CDN Cache" button and there's also a new option ("Clear the CDN Cache Too?") inside Dashboard → ZenCache → Plugin Options → Manual Cache Clearing that allows you to specify whether or not you'd like the CDN Cache to be cleared whenever the "Clear Cache" button is clicked (either from the Admin Bar or from inside the Plugin Options). Props @kristineds @jaswsinc. See Issue #488.
  • New Feature! When your server has the PHP OPCache Extension installed, ZenCache can now be configured to also clear the PHP opcode cache whenever you clear the cache manually using the ZenCache "Clear Cache" button. See ZenCache Options → Manual Cache Clearing → Clear the PHP OPCache Too? (note that this option only appears if you have the OPCache Extension installed). Props @jaswsinc. See Issue #489.
  • Bug Fix: Fixed an HTML Compressor bug related to CSS pseudo-classes where spaces between the class name and pseudo-class name were being removed when CSS was minified. Props @patdumond @jaswsinc. See Issue #544.
  • Bug Fix: Fixed an HTML Compressor bug related to <noscript> tags. The HTML Compressor now makes no adjustments to anything inside <noscript> tags, and the same has always been true for IE conditional comments as well. Props @rtrevellyan @jaswsinc. See Issue #65.
  • Bug Fix: Fixed an issue related to a popular NGINX server configuration (try_files $uri $uri/ /index.php?q=$uri&$args;) that was preventing the entire site from being cached. ZenCache disables caching by default for all requests that include a query string (see Dashboard → ZenCache → Plugin Options → GET Requests) and this particular NGINX configuration passes all requests to WordPress with a ?q= query variable, which was resulting in ZenCache disabling caching on all pages. This release implements better detection for NGINX and works around this scenario. Props @jaswsinc. See Issue #561.
  • Bug Fix: Fixed a bug with the Static CDN Filters that affected sites using a permalink structure that ended with .htm or .html. Generally, files that end in .htm or .html are considered static files, hence the reason ZenCache was rewriting URLs with those extensions to point at the configured CDN. However, if a site uses .htm or .html in their permalink structure, all links to Posts/Pages within the site will appear to be static files when they are in fact dynamic and therefore should not be rewritten. ZenCache now checks the permalink structure and excludes .htm and .html from the allowed extensions when the permalink structure is using one of these. Props @jaswsinc. See Issue #495.
  • Multisite Bug Fix: Fixed a bug in the Auto-Cache Engine that was resulting in duplicate Cron Jobs being created for each Child Site. The Auto-Cache Engine now only runs from the Main Site in a network, as it should. When the Auto-Cache Engine runs on the Main Site, it will also run for each of the Child Blogs (see this article for more information). Props @jaswsinc. See Issue #543.
  • Enhancement: Improved HTML Compressor HTTP connection handling, timeouts, protocol, BOM markers, exceptions, Referer: and User-Agent: headers. Props @LittleBastard77 @jaswsinc. See Issue #391 and Issue #69.
  • Enhancement: Manual Cache Clearing options have now been separated from Automatic Cache Clearing options inside the ZenCache Plugin Options to improve the differentiation between these.
  • Enhancement: New icons in the ZenCache Plugin Options help improve the visual representation of each panel.

v150605 (Release Candidate)

09 Jun 19:47
Compare
Choose a tag to compare
Pre-release
  • Restructured Codebase: The entire ZenCache codebase has been restructured to improve performance, enhance flexibility, and make it easier to build in new features!
  • New Feature! The free version of ZenCache now supports several new options that were previously only available in the Pro version. You can now toggle the Auto-Clear Cache routines for the Home Page, Posts Page, Author Page, Category Archives, Tag Archives, Custom Term Archives, RSS/RDF/Atom Feeds, and XML Sitemaps. This gives you more control over exactly when ZenCache purges the cache for these parts of your site. See ZenCache → Plugin Options → Clearing the Cache for further details.
  • New Feature! URI Exclusion Patterns are now available in ZenCache Lite! This previously Pro-only feature is now available in the free version of ZenCache and allows you to exclude a list of URIs from being cached by ZenCache. See ZenCache → Plugin Options → URI Exclusion Patterns for further details.
  • New Feature! HTTP Referrer Exclusion Patterns are now available in ZenCache Lite! This previously Pro-only feature is now available in the free version of ZenCache and allows you to define a list of referring URLs or domains that send you traffic. When ZenCache sees a request coming from one of those URLs or domains, it will not cache that particular request. See ZenCache → Plugin Options → HTTP Referrer Exclusion Patterns for further details.
  • New Pro Feature!: HTML Compression now supports compressing JSON (in addition to the already supported HTML, JavaScript, and CSS compression). Props @jaswsinc. See Issue #469.
  • New Pro Feature!: Static CDN Filters now supports multiple CDN hostnames. This allows you to configure more than one CDN hostname, also referred to as Domain Sharding. This makes it possible for site owners to work around web browser concurrency limits, allowing the browser to download many resources simultaneously, which increases overall speed. Props to @isaumya and @jaswsinc. See Issue #468.
  • Enhancement (Pro): Static CDN Filters now also apply to any static files that are referenced inside CSS files. Props @jaswsinc. See Issue #461.
  • Enhancement: Completed a major restructure of the entire codebase to improve modularity and dependency management. Props @jaswsinc.
  • Enhancement (Pro): Static CDN Filters now supports the ability to configure separate CDN hostname(s) for each domain (or sub-domain) that you run in a WordPress Multisite Network. Props @jaswsinc. See Issue #475.
  • Enhancement (Pro): Static CDN Filters now support sub-domains when ZenCache is running inside a WordPress Multisite Network. Props @jaswsinc. See Issue #439.
  • Bug Fix (Pro): Static CDN Filters were not being applied to the primary site on WP Multisite installations that used subdomains. Props to @isaumya for discovering this bug. See Issue #470.

v141229 (Release Candidate)

30 Dec 04:30
Compare
Choose a tag to compare
Pre-release
  • Bug Fix: We have had a few reports of getMTime Stat failing when clearing the cache. This fix clears the Stat Cache before iteration when deleting files from the cache directory. Props @jaswsinc. See #385.
  • Bug Fix: Addressed another issue related to "Fatal Error: 'Unable to clear dir'" and tmp directories that don't get cleared by Quick Cache. This fix discards iteration references before renaming the tmp directories. Props @jaswsinc. See #288.
  • Enhancement: Added a new filter (quick_cache\\share_disable_cache_locking) to allow disabling cache locking. Simply return boolean TRUE to this filter to disable cache locking. This may be useful for site owners who are experiencing issues with cache locking on web hosting platforms with filesystems that don't properly support locking. Note that this filter must be applied using an Advanced Cache Plugin (see Dashboard → Quick Cache → Plugin Options → Theme/Plugin Developers). See also #387.
  • Enhancement: Added a new filter that allows forcing Semaphore cache locking on hosting platforms where sem_get() is available and would result in improved performance. Return sem to the quick_cache\\share::cache_lock_lock_type filter to force Semaphore cache locking, or flock to use the default method that uses flock(). Note that this filter must be applied using an Advanced Cache Plugin (see Dashboard → Quick Cache → Plugin Options → Theme/Plugin Developers). See also #387.

v141127 (Release Candidate)

27 Nov 16:39
Compare
Choose a tag to compare
Pre-release
  • Bug Fix: Addressed another issue with "Fatal Error: 'Unable to clear dir'" messages by adding new blocking methods for cache lock and unlock, making it so that cache writes (including clearing, purging, wiping) all gain an exclusive lock on the cache directory while work is underway. Props @jaswsinc. See #288.
  • Bug Fix: Fixed a Home Page clearing bug that arose in the previous release as the result of an extra leading \/ in one of our regex patterns. Props @jaswsinc. See #365.

v141103 (Release Candidate)

03 Nov 22:04
Compare
Choose a tag to compare
Pre-release
  • Enhancement: All dashboard notices will now include the number of files cleared for each notice. Props @jaswsinc. See #351.
  • Enhancement: Quick Cache is now capable of doing atomic clearing/purging/wiping. On a Multisite network, this is now accomplished on a blog-specific basis, without needing to scan the entire network-wide cache directory. This should improve performance considerably on large networks (i.e. those with VERY large cache directories). Props @jaswsinc. See #288 and #351.
  • Enhancement: Added a new class file (/includes/utils-feed.php) and refactored the XML feed clearing routine. With these utilities in place, the auto_clear_xml_feeds_cache() method is now much easier to deal with and comprehend. Props @jaswsinc. See #351.
  • Enhancement: Quick Cache now scans each scheme sub-directory, i.e. /http/ and /https/, separately to help break apart what was previously a much larger directory scan for sites that serve pages over both schemes. This will improve performance on both standard and Multisite network installs. See #351.
  • Enhancement: Refactored codebase to improve modularity by creating new methods in includes/share.php for network-wide clearing/purging/wiping, host/blog-specific clearing/purging/wiping, recursively deleting a directory, assisting in translations, and several new string utilities. Props @jaswsinc. See #351.
  • Enhancement: Renamed all \quick_cache\plugin::auto_purge_* methods, giving them the proper prefix of auto_clear_* instead to reflect proper Wipe/Clear/Purge terminology. Along with this, all of the auto_purge_ option keys have been renamed as well. See new Wipe/Clear/Purge wiki article for a description of these terms. Props @jaswsinc. See #351.
  • Enhancement: All URI and Referrer exclusion patterns are now caSe insensitive. WordPress v4.0 will serve URIs without cAse sensitivity. All of the Quick Cache codebase has been updated to support caSe insensitive clearing/purging/wiping; along with caSe insensitive pattern matching against URIs. Props @jaswsinc. See #351.
  • Bug Fix (Pro): Fixed a bug with the Auto-Clear Author Cache routine that was presenting dashboard notices even when change_notifications_enable was off. Props @jaswsinc. See #351.
  • Bug Fix: Fixed a bug that was occasionally generating "Fatal Error: 'Unable to clear dir'" messages. The root cause of this is believed to be non-atomic purging of cache directories which, on a busy site, could result in new cache files being created before a purging routine was finished clearing the directory. Clearing/purging/wiping is now atomic in all scenarios. Props @jaswsinc. See #288 and #351.
  • Bug Fix: Fixed a bug in the Auto-Clear Custom Post Type Archive Cache that was not checking for the $post_id in $this->static[__FUNCTION__]. Props @jaswsinc. See #351.
  • Bug Fix: Fixed a bug with the uninstaller whereby attempting to uninstall after receiving a notice that PHP 5.3+ is required would result in a blank screen and require manual removal of the plugin. See #334.
  • Bug Fix: Fixed an issue with detecting cacheable requests that was, in rare instances, resulting in blank white pages for some site owners. See #279.