This ZenCache release candidate includes 3 important announcements, 16 bug fixes, 13 enhancements, Multisite Domain Mapping Compatibility, and improved compatibility with bbPress, Akismet, and WooCommerce. You can download and try out this release using the link below. Please report bugs and feedback on GitHub.

Special Note to Beta Testers: This is a big release with a lot of changes. If you don't normally download and test release candidates, we'd love if you made an exception and test this one for us. 🙂 If you have any problems, please let us know right away on GitHub. Thank you!

Important Announcements

This version of ZenCache requires PHP 5.4+. As announced in the previous release, the minimum PHP version required to run ZenCache has changed to PHP 5.4+ as of December 1st, 2015. Please see announcement with further details: New Minimum PHP Version: PHP 5.4

This version of ZenCache also does not support the PHP APC Extension. As announced in the previous release, ZenCache no longer runs with the PHP APC extension enabled as of December 1st, 2015. Please see announcement with further details: PHP APC Extension No Longer Supported

Finally, this release of ZenCache Lite has been built from the ZenCache Pro codebase, which is more polished and up-to-date. The completely restructured codebase improves performance, enhances flexibility, and makes it easier to build in new features. With this release, many of the changes and improvements that were released as part of ZenCache Pro releases over the past 6 months are now being included in the Lite version. See the full changelog below for a complete list of changes.

Download

Download ZenCache Lite v160120-RC Release Candidate

Installation Instructions

  1. Deactivate and Delete any existing ZenCache plugin via Dashboard -> Plugins
  2. Download the release candidate using the link above
  3. Install the release candidate you downloaded by going to Dashboard -> Plugins -> Add New -> Upload and selecting the downloaded zip file
  4. Activate ZenCache

Changelog for ZenCache v160120-RC (Release Candidate)

  • Announcement: This version of ZenCache requires PHP 5.4+. As announced in the previous release, the minimum PHP version required to run ZenCache has changed to PHP 5.4+ as of December 1st, 2015. Please see announcement with further details: New Minimum PHP Version: PHP 5.4
  • Announcement: This version of ZenCache does not support the PHP APC Extension. As announced in the previous release, ZenCache no longer runs with the PHP APC extension enabled as of December 1st, 2015. Please see announcement with further details: PHP APC Extension No Longer Supported
  • Announcement: Restructured Codebase. The entire ZenCache codebase has been restructured to improve performance, enhance flexibility, and make it easier to build in new features! This release of ZenCache Lite has been built from the ZenCache Pro codebase, which is more polished and up-to-date. This release includes many changes and improvements that were released as part of ZenCache Pro releases over the past 6 months and are now being included in the Lite version. See the full changelog below for a complete list of changes.
  • 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: 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 in the Dynamic Version Salt filter that was generating PHP notices and warnings. See Issue #522.
  • Bug Fix: Fixed an issue with backwards compatibility that was preventing some AC Plugins from working properly. See Issue #514.
  • Bug Fix: Fixed a bug where saving a Post/Page as a Draft as a user with an Editor role would unnecessarily clear the Home Page cache. See Issue #625.
  • 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.
  • 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 where, in some rare cases, wp-config.php would end up with two WP_CACHE definitions. Props @jaswsinc. See Issue #509.
  • Bug Fix: Saving a Post as a Draft was incorrectly purging XML Sitemap cache files. Props @jaswsinc. See Issue #368.
  • Multisite Bug Fix: Fixed a bug where the Clear Cache button wouldn't clear Child-Site Logged-In User Home Page cache files on WordPress Multisite Networks. Props @jaswsinc. See Issue #409
  • Multisite Bug Fix: Fixed a bug where the Home Page cache was not clearing on Child Sites in a Multisite Network. Props @jaswsinc. See Issue #409
  • Multisite Bug Fix: Fixed a bug with 404 Request caching on Multisite Networks where ZenCache Pro was not considering that each child blog in a multisite network will have its own 404 error page. Props @jaswsinc. See Issue #539.
  • Multisite Bug Fix: Fixed a bug where clearing the cache from the main site of a multisite network, when there are child blogs in sub-directories, resulted in all child blogs being cleared from the cache, not just the main site as would be expected. This has been resolved and only the main site is cleared when clicking the Clear Cache button. Note that the Wipe Cache button can still be used to clear the cache for all sites in a Multisite Network. Props @jaswsinc. See Issue #540.
  • Multisite Bug Fix: Fixed a bug where Wiping the cache on a multisite network resulted in the very next page view being cached incorrectly. Props @jaswsinc. See Issue #541.
  • 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.
  • 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: 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: Improved compatibility with any Custom Post Type that uses hierarchies. Props @jaswsinc.
  • 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: 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.
  • Enhancement: The installed plugin version is now shown at the top of the ZenCache Options Page. Props @renzms. See Issue #502.
  • Enhancement: New transition in/out effects on the Cache Cleared Dashboard notifications. Props @jaswsinc. See Issue #538.
  • New Feature! A new watered-down Regular Expression syntax is now supported in several existing ZenCache features, including XML Sitemap Patterns, URI Exclusion Patterns, HTTP Referrer Exclusion Patterns, and User-Agent Exclusion Patterns. (It is also supported in the Pro-only Custom URLs to Auto-Clear, 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.
  • Multisite Domain Mapping Compatibility: ZenCache is now fully compatible with the WordPress MU Domain Mapping plugin, including Multisite Networks using domain mapping on top-level domains, sub-domains, and sub-directories. Multiple variations of each site spread across an unlimited number of domain mappings and/or the original blog domain/path is also supported. All Pro-only features, including the Auto-Cache Engine, Static CDN Filters, and HTML Compression, are also now compatible with domain mapping. Props @jaswsinc. See Issue #339.
  • bbPress Compatibility: This release greatly improves compatibility with bbPress. Events like creating a new Forum, creating a new Topic, and posting a reply to a Topic (including threaded replies), now properly clear the necessary cache files to ensure that cached bbPress pages remain up-to-date. Props @jaswsinc. See Issue #168.
  • bbPress Compatibility: This release improves compatibility with bbPress when ZenCache Logged-In User caching is enabled. In this scenario, bbPress may generate links for Admins that contain time-sensitive _wpnonce values which could expire if cached and result in certain admin-related actions failing. ZenCache no longer caches pages that contain _wpnonce in the markup. This ensures that pages containing time-sensitive nonce values are not cached. Props @kristineds, @jaswsinc, and @clavaque. See Issue #601.
  • 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.
  • Akismet Compatibility: ZenCache no longer caches pages that contain akismet_comment_nonce in the markup. This ensures that a page that contains a time-sensitive nonce value does not get cached. Props @kristineds and @jaswsinc. See Issue #601.
  • Akismet Compatibility: ZenCache now automatically disables the Akismet Comment Nonce using the akismet_comment_nonce filter, which improves compatibility between Akismet and the page caching functionality provided by ZenCache. This ensures that pages do not contain time-sensitive nonce values that should not be cached. If you'd like to revert this behavior, please see this article. Props @kristineds and @jaswsinc. See Issue #601.
  • WooCommerce Compatibility: This release improves compatibility with the WooCommerce Product Stock feature. When the Product Stock changes, ZenCache will now clear the cache file for the associated Product to ensure that the stock quantity that appears on the site remains up-to-date. See Issue #597.
  • Pro Preview Update: This release updates the Pro Preview to include several new Pro features that have been added over the past 6 months, including the ability to clear the PHP OPCache whenever manually clearing the cache (ZenCache Options → Manual Cache Clearing → Clear the PHP OPCache Too?), clear the CDN Cache whenever manually clearing the cache (ZenCache Options → Manual Cache Clearing → CDN Cache Clear the CDN Cache Too?), disable cache expiration if the server load average is high (ZenCache Options → Cache Expiration Time → Disable Cache Expiration If Server Load Average is High), the ability to specify which WordPress Roles/Capabilities are allowed to clear the cache from the WordPress Admin bar (ZenCache Options → Manual Cache Clearing → Also allow others to clear the cache from their Admin Bar?), a completely new Cache Statistics feature that allows you to monitor the health and status of your cache (ZenCache → Stats / Charts), the ability to specify a list of Custom URLs whose cache files should be cleared whenever ZenCache detects that a Post/Page cache should be cleared (ZenCache Options → Automatic Cache Clearing → Misc. Auto-Clear Options → Auto-Clear a List of Custom URLs Too?), a new menu of Clear Cache options in the Admin Bar that allows you to clear the cache for just the Home Page, the Current URL, a Specific URL, PHP's OPCache, or the CDN Cache (ZenCache Options → Plugin Options → Manual Cache Clearing), the ability to customize the Cache Cleanup Schedule and set your own schedule (ZenCache Options → Manual Cache Clearing → Cache Cleanup Schedule), the ability to configure the Pro Plugin Updater to check for Beta versions, an option to clear Expired WordPress Transients, and URI Exclusion Patterns for Client-Side Caching.

Please note that when this version leaves beta and an official release is made, the WordPress Plugin Updater will automatically detect the new version on WordPress.org and ask you to upgrade

Please report bugs and feedback on GitHub.