ZenCache v151114 was released on November 14th, 2015. This release includes 2 important announcements, 3 new features, 7 bug fixes, and 6 enhancements. The new features include a new Clear Cache Options Menu in the WordPress Admin Bar, the ability to specify a list of Custom URLs to Auto-Clear, and a brand new Watered-Down Regex Syntax that is supported throughout the plugin.
Important Announcements
This will be the last release of ZenCache to support PHP 5.3 and the PHP APC extension. If your site is currently running on PHP 5.3, you will need to upgrade your server to PHP 5.4+ to run the next version of ZenCache. We're also dropping support for the outdated and buggy PHP APC extension.
For more details, please see the announcements here:
New Feature: Clear Cache Options Menu
A new Clear Cache Options Menu in the WordPress Admin Bar allows you to 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).
You can even customize how this menu is displayed in your Admin Bar using one of two styles; the default dropdown menu that appears below the 'Clear Cache' button, or a split menu that adds a new dropdown arrow:
New Feature: Auto-Clear Custom URLs
The other big addition is a brand new section inside the Automatic Cache Clearing panel that allows you to specify a list of Custom URLs that should always be cleared whenever ZenCache clears a Post/Page cache.
There are many possible uses for this feature. For example, if you've coded a Custom Archive page that lists the latest posts on your site, you could add the URL to the Custom URLs to Auto-Clear list and ZenCache would make sure that the cache for that page is always cleared whenever a Post/Page is published or edited. (ZenCache intelligently auto-clears WordPress-generated archive pages whenever necessary, but it doesn't know about Custom Archive pages that you may have built on your own.)
New Feature: Watered-Down Regex Syntax
True Regular Expressions (i.e., the full syntax) can be very handy for a variety of reasons. However, it is also quite complex--more complex than what most ZenCache users need. So for that reason, ZenCache now supports a custom, watered-down version of regex. It can be used in exclusion patterns, custom URLs, and more. This provides a good balance between flexibility and simplicity.
There are many possibilities with this new syntax, allowing you to gain fine control over patterns that you provide to ZenCache. To see examples for each section of ZenCache that supports this new syntax, please see this KB Article.
Changelog for ZenCache Pro v151114
- Announcement: The next version of ZenCache will require PHP 5.4+. As of December 1st, 2015, the minimum PHP version required to run ZenCache will change to PHP 5.4+. This release of ZenCache will be the last version to support PHP 5.3. Please see announcement with further details: New Minimum PHP Version: PHP 5.4
- Announcement: The next version of ZenCache will not support the PHP APC Extension. As of December 1st, 2015, ZenCache will no longer run with the PHP APC extension enabled. Please see announcement with further details: PHP APC Extension No Longer Supported
- 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, XML Sitemap Patterns, 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 aHeader set Access-Control-Allow-Origin "*"
rule forttf
,ttc
,otf
,eot
,woff
,woff2
,font.css
,css
, andjs
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 theAccess-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 inwp-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
orSECURE_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.
Props to everyone who helped with this release, including @jaswsinc, @kristineds, @renzms, @bridgeport, @davidfavor, @MarioKnight, @clavaque, @Kalfer, and our 160 Beta Testers!
Upgrading to the Latest Version
ZenCache Pro users who have configured the Plugin Updater (Dashboard → ZenCache → Plugin Updater) should receive a notification to upgrade on the WordPress Dashboard. If you have not configured the Plugin Updater, you can download the latest version of ZenCache Pro by logging into your ZenCache.com account here. You'll find a download link for the latest version on your Account page. There's also a Release Archive if you need to access previous versions of ZenCache.
Please report bugs and feedback on GitHub. If you are a ZenCache Pro user and require priority support, please open a support ticket here.