Version Description
- Fixed slowdown in memcached engine
- Fixed Purge Cache menu links so they flush current blog in WPMU
- Fixed error during upgrade, "Call to undefined method W3TC\Util_Content::is_database_error"
- Updated Redis cache engine to avoid "Function Redis::delete() is deprecated" warning
Download this release
Release Info
Developer | fredericktownes |
Plugin | W3 Total Cache |
Version | 0.10.1 |
Comparing to | |
See all releases |
Code changes from version 0.10.0 to 0.10.1
- BrowserCache_Plugin.php +1 -1
- Cache_Memcached.php +2 -1
- Cache_Redis.php +7 -4
- Cdn_Plugin.php +2 -2
- DbCache_Plugin.php +1 -1
- Extension_CloudFlare_Plugin_Admin.php +1 -1
- Extension_FragmentCache_Plugin_Admin.php +1 -1
- Minify_Plugin.php +1 -1
- ObjectCache_Plugin.php +1 -1
- PgCache_Plugin.php +1 -1
- Util_Content.php +10 -0
- Varnish_Plugin.php +1 -1
- readme.txt +8 -1
- w3-total-cache-api.php +1 -1
- w3-total-cache.php +1 -1
BrowserCache_Plugin.php
CHANGED
@@ -345,7 +345,7 @@ class BrowserCache_Plugin {
|
|
345 |
'id' => 'w3tc_flush_browsercache',
|
346 |
'parent' => 'w3tc_flush',
|
347 |
'title' => __( 'Browser Cache: Update Media Query String', 'w3-total-cache' ),
|
348 |
-
'href' => wp_nonce_url(
|
349 |
'admin.php?page=w3tc_dashboard&w3tc_flush_browser_cache' ),
|
350 |
'w3tc' )
|
351 |
);
|
345 |
'id' => 'w3tc_flush_browsercache',
|
346 |
'parent' => 'w3tc_flush',
|
347 |
'title' => __( 'Browser Cache: Update Media Query String', 'w3-total-cache' ),
|
348 |
+
'href' => wp_nonce_url( admin_url(
|
349 |
'admin.php?page=w3tc_dashboard&w3tc_flush_browser_cache' ),
|
350 |
'w3tc' )
|
351 |
);
|
Cache_Memcached.php
CHANGED
@@ -59,8 +59,9 @@ class Cache_Memcached extends Cache_Base {
|
|
59 |
if ( defined( '\Memcached::OPT_REMOVE_FAILED_SERVERS' ) ) {
|
60 |
$this->_memcache->setOption( \Memcached::OPT_REMOVE_FAILED_SERVERS, true );
|
61 |
}
|
62 |
-
if ( defined( '\Memcached::OPT_BINARY_PROTOCOL' ) ) {
|
63 |
$this->_memcache->setOption( \Memcached::OPT_BINARY_PROTOCOL, true );
|
|
|
64 |
}
|
65 |
|
66 |
if ( isset( $config['aws_autodiscovery'] ) &&
|
59 |
if ( defined( '\Memcached::OPT_REMOVE_FAILED_SERVERS' ) ) {
|
60 |
$this->_memcache->setOption( \Memcached::OPT_REMOVE_FAILED_SERVERS, true );
|
61 |
}
|
62 |
+
if ( defined( '\Memcached::OPT_BINARY_PROTOCOL' ) && defined( '\Memcached::OPT_TCP_NODELAY' ) ) {
|
63 |
$this->_memcache->setOption( \Memcached::OPT_BINARY_PROTOCOL, true );
|
64 |
+
$this->_memcache->setOption( \Memcached::OPT_TCP_NODELAY, true );
|
65 |
}
|
66 |
|
67 |
if ( isset( $config['aws_autodiscovery'] ) &&
|
Cache_Redis.php
CHANGED
@@ -86,12 +86,14 @@ class Cache_Redis extends Cache_Base {
|
|
86 |
$v = $accessor->get( $storage_key );
|
87 |
$v = @unserialize( $v );
|
88 |
|
89 |
-
if ( !is_array( $v ) || !isset( $v['key_version'] ) )
|
90 |
return array( null, $has_old_data );
|
|
|
91 |
|
92 |
$key_version = $this->_get_key_version( $group );
|
93 |
-
if ( $v['key_version'] == $key_version )
|
94 |
return array( $v, $has_old_data );
|
|
|
95 |
|
96 |
if ( $v['key_version'] > $key_version ) {
|
97 |
$this->_set_key_version( $v['key_version'], $group );
|
@@ -152,7 +154,8 @@ class Cache_Redis extends Cache_Base {
|
|
152 |
return true;
|
153 |
}
|
154 |
}
|
155 |
-
|
|
|
156 |
}
|
157 |
|
158 |
/**
|
@@ -167,7 +170,7 @@ class Cache_Redis extends Cache_Base {
|
|
167 |
if ( is_null( $accessor ) )
|
168 |
return false;
|
169 |
|
170 |
-
return $accessor->
|
171 |
}
|
172 |
|
173 |
/**
|
86 |
$v = $accessor->get( $storage_key );
|
87 |
$v = @unserialize( $v );
|
88 |
|
89 |
+
if ( !is_array( $v ) || !isset( $v['key_version'] ) ) {
|
90 |
return array( null, $has_old_data );
|
91 |
+
}
|
92 |
|
93 |
$key_version = $this->_get_key_version( $group );
|
94 |
+
if ( $v['key_version'] == $key_version ) {
|
95 |
return array( $v, $has_old_data );
|
96 |
+
}
|
97 |
|
98 |
if ( $v['key_version'] > $key_version ) {
|
99 |
$this->_set_key_version( $v['key_version'], $group );
|
154 |
return true;
|
155 |
}
|
156 |
}
|
157 |
+
|
158 |
+
return $accessor->setex( $storage_key, 1, '' );
|
159 |
}
|
160 |
|
161 |
/**
|
170 |
if ( is_null( $accessor ) )
|
171 |
return false;
|
172 |
|
173 |
+
return $accessor->setex( $storage_key, 1, '' );
|
174 |
}
|
175 |
|
176 |
/**
|
Cdn_Plugin.php
CHANGED
@@ -779,7 +779,7 @@ class Cdn_Plugin {
|
|
779 |
'id' => 'w3tc_cdn_flush_all',
|
780 |
'parent' => 'w3tc_flush',
|
781 |
'title' => __( 'CDN: All', 'w3-total-cache' ),
|
782 |
-
'href' => wp_nonce_url(
|
783 |
'admin.php?page=w3tc_cdn&w3tc_flush_cdn' ),
|
784 |
'w3tc' )
|
785 |
);
|
@@ -790,7 +790,7 @@ class Cdn_Plugin {
|
|
790 |
'id' => 'w3tc_cdn_flush',
|
791 |
'parent' => 'w3tc_flush',
|
792 |
'title' => __( 'CDN: Manual Purge', 'w3-total-cache' ),
|
793 |
-
'href' => wp_nonce_url(
|
794 |
'meta' => array( 'onclick' => "w3tc_popupadmin_bar(this.href); return false" )
|
795 |
);
|
796 |
}
|
779 |
'id' => 'w3tc_cdn_flush_all',
|
780 |
'parent' => 'w3tc_flush',
|
781 |
'title' => __( 'CDN: All', 'w3-total-cache' ),
|
782 |
+
'href' => wp_nonce_url( admin_url(
|
783 |
'admin.php?page=w3tc_cdn&w3tc_flush_cdn' ),
|
784 |
'w3tc' )
|
785 |
);
|
790 |
'id' => 'w3tc_cdn_flush',
|
791 |
'parent' => 'w3tc_flush',
|
792 |
'title' => __( 'CDN: Manual Purge', 'w3-total-cache' ),
|
793 |
+
'href' => wp_nonce_url( admin_url( 'admin.php?page=w3tc_cdn&w3tc_cdn_purge' ), 'w3tc' ),
|
794 |
'meta' => array( 'onclick' => "w3tc_popupadmin_bar(this.href); return false" )
|
795 |
);
|
796 |
}
|
DbCache_Plugin.php
CHANGED
@@ -216,7 +216,7 @@ class DbCache_Plugin {
|
|
216 |
'id' => 'w3tc_flush_dbcache',
|
217 |
'parent' => 'w3tc_flush',
|
218 |
'title' => __( 'Database', 'w3-total-cache' ),
|
219 |
-
'href' => wp_nonce_url(
|
220 |
'admin.php?page=w3tc_dashboard&w3tc_flush_dbcache' ),
|
221 |
'w3tc' )
|
222 |
);
|
216 |
'id' => 'w3tc_flush_dbcache',
|
217 |
'parent' => 'w3tc_flush',
|
218 |
'title' => __( 'Database', 'w3-total-cache' ),
|
219 |
+
'href' => wp_nonce_url( admin_url(
|
220 |
'admin.php?page=w3tc_dashboard&w3tc_flush_dbcache' ),
|
221 |
'w3tc' )
|
222 |
);
|
Extension_CloudFlare_Plugin_Admin.php
CHANGED
@@ -157,7 +157,7 @@ class Extension_CloudFlare_Plugin_Admin {
|
|
157 |
'id' => 'w3tc_flush_cloudflare',
|
158 |
'parent' => 'w3tc_flush',
|
159 |
'title' => __( 'CloudFlare: All', 'w3-total-cache' ),
|
160 |
-
'href' => wp_nonce_url(
|
161 |
'admin.php?page=w3tc_dashboard&w3tc_cloudflare_flush' ), 'w3tc' )
|
162 |
);
|
163 |
|
157 |
'id' => 'w3tc_flush_cloudflare',
|
158 |
'parent' => 'w3tc_flush',
|
159 |
'title' => __( 'CloudFlare: All', 'w3-total-cache' ),
|
160 |
+
'href' => wp_nonce_url( admin_url(
|
161 |
'admin.php?page=w3tc_dashboard&w3tc_cloudflare_flush' ), 'w3tc' )
|
162 |
);
|
163 |
|
Extension_FragmentCache_Plugin_Admin.php
CHANGED
@@ -112,7 +112,7 @@ class Extension_FragmentCache_Plugin_Admin {
|
|
112 |
'id' => 'w3tc_flush_fragmentcache',
|
113 |
'parent' => 'w3tc_flush',
|
114 |
'title' => __( 'Fragment Cache: All Fragments', 'w3-total-cache' ),
|
115 |
-
'href' => wp_nonce_url(
|
116 |
'admin.php?page=w3tc_dashboard&w3tc_flush_fragmentcache' ), 'w3tc' )
|
117 |
);
|
118 |
}
|
112 |
'id' => 'w3tc_flush_fragmentcache',
|
113 |
'parent' => 'w3tc_flush',
|
114 |
'title' => __( 'Fragment Cache: All Fragments', 'w3-total-cache' ),
|
115 |
+
'href' => wp_nonce_url( admin_url(
|
116 |
'admin.php?page=w3tc_dashboard&w3tc_flush_fragmentcache' ), 'w3tc' )
|
117 |
);
|
118 |
}
|
Minify_Plugin.php
CHANGED
@@ -304,7 +304,7 @@ class Minify_Plugin {
|
|
304 |
'id' => 'w3tc_flush_minify',
|
305 |
'parent' => 'w3tc_flush',
|
306 |
'title' => __( 'Minify', 'w3-total-cache' ),
|
307 |
-
'href' => wp_nonce_url(
|
308 |
'admin.php?page=w3tc_dashboard&w3tc_flush_minify' ),
|
309 |
'w3tc' )
|
310 |
);
|
304 |
'id' => 'w3tc_flush_minify',
|
305 |
'parent' => 'w3tc_flush',
|
306 |
'title' => __( 'Minify', 'w3-total-cache' ),
|
307 |
+
'href' => wp_nonce_url( admin_url(
|
308 |
'admin.php?page=w3tc_dashboard&w3tc_flush_minify' ),
|
309 |
'w3tc' )
|
310 |
);
|
ObjectCache_Plugin.php
CHANGED
@@ -272,7 +272,7 @@ class ObjectCache_Plugin {
|
|
272 |
'id' => 'w3tc_flush_objectcache',
|
273 |
'parent' => 'w3tc_flush',
|
274 |
'title' => __( 'Object Cache', 'w3-total-cache' ),
|
275 |
-
'href' => wp_nonce_url(
|
276 |
'admin.php?page=w3tc_dashboard&w3tc_flush_objectcache' ), 'w3tc' )
|
277 |
);
|
278 |
|
272 |
'id' => 'w3tc_flush_objectcache',
|
273 |
'parent' => 'w3tc_flush',
|
274 |
'title' => __( 'Object Cache', 'w3-total-cache' ),
|
275 |
+
'href' => wp_nonce_url( admin_url(
|
276 |
'admin.php?page=w3tc_dashboard&w3tc_flush_objectcache' ), 'w3tc' )
|
277 |
);
|
278 |
|
PgCache_Plugin.php
CHANGED
@@ -293,7 +293,7 @@ class PgCache_Plugin {
|
|
293 |
'id' => 'w3tc_flush_pgcache',
|
294 |
'parent' => 'w3tc_flush',
|
295 |
'title' => __( 'Page Cache: All', 'w3-total-cache' ),
|
296 |
-
'href' => wp_nonce_url(
|
297 |
'admin.php?page=w3tc_dashboard&w3tc_flush_pgcache' ),
|
298 |
'w3tc' )
|
299 |
);
|
293 |
'id' => 'w3tc_flush_pgcache',
|
294 |
'parent' => 'w3tc_flush',
|
295 |
'title' => __( 'Page Cache: All', 'w3-total-cache' ),
|
296 |
+
'href' => wp_nonce_url( admin_url(
|
297 |
'admin.php?page=w3tc_dashboard&w3tc_flush_pgcache' ),
|
298 |
'w3tc' )
|
299 |
);
|
Util_Content.php
CHANGED
@@ -75,4 +75,14 @@ class Util_Content {
|
|
75 |
|
76 |
return $comment;
|
77 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
78 |
}
|
75 |
|
76 |
return $comment;
|
77 |
}
|
78 |
+
|
79 |
+
|
80 |
+
|
81 |
+
/**
|
82 |
+
* Deprecated. Added to prevent loading-order errors during upgrades
|
83 |
+
* from older w3tc plugin versions
|
84 |
+
**/
|
85 |
+
static public function is_database_error() {
|
86 |
+
return false;
|
87 |
+
}
|
88 |
}
|
Varnish_Plugin.php
CHANGED
@@ -77,7 +77,7 @@ class Varnish_Plugin {
|
|
77 |
'id' => 'w3tc_flush_varnish',
|
78 |
'parent' => 'w3tc_flush',
|
79 |
'title' => __( 'Reverse Proxy', 'w3-total-cache' ),
|
80 |
-
'href' => wp_nonce_url(
|
81 |
'admin.php?page=w3tc_dashboard&w3tc_flush_varnish' ),
|
82 |
'w3tc' )
|
83 |
);
|
77 |
'id' => 'w3tc_flush_varnish',
|
78 |
'parent' => 'w3tc_flush',
|
79 |
'title' => __( 'Reverse Proxy', 'w3-total-cache' ),
|
80 |
+
'href' => wp_nonce_url( admin_url(
|
81 |
'admin.php?page=w3tc_dashboard&w3tc_flush_varnish' ),
|
82 |
'w3tc' )
|
83 |
);
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: fredericktownes
|
|
3 |
Tags: seo, cache, caching, compression, maxcdn, nginx, varnish, redis, new relic, aws, amazon web services, s3, cloudfront, rackspace, cloudflare, azure, apache
|
4 |
Requires at least: 3.2
|
5 |
Tested up to: 5.2
|
6 |
-
Stable tag: 0.10.
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
@@ -44,6 +44,7 @@ https://youtu.be/7AsNSSrZq4Y
|
|
44 |
* Caching of database objects in memory or on disk
|
45 |
* Caching of objects in memory or on disk
|
46 |
* Caching of fragments in memory or on disk
|
|
|
47 |
* Minification of posts and pages and feeds
|
48 |
* Minification of inline, embedded or 3rd party JavaScript (with automated updates)
|
49 |
* Minification of inline, embedded or 3rd party CSS (with automated updates)
|
@@ -270,6 +271,12 @@ Please reach out to all of these people and support their projects if you're so
|
|
270 |
|
271 |
== Changelog ==
|
272 |
|
|
|
|
|
|
|
|
|
|
|
|
|
273 |
= 0.10.0 =
|
274 |
* Improved Statistics component for pro users
|
275 |
* Improved support for CloudFront distributions with multiple origins
|
3 |
Tags: seo, cache, caching, compression, maxcdn, nginx, varnish, redis, new relic, aws, amazon web services, s3, cloudfront, rackspace, cloudflare, azure, apache
|
4 |
Requires at least: 3.2
|
5 |
Tested up to: 5.2
|
6 |
+
Stable tag: 0.10.1
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
44 |
* Caching of database objects in memory or on disk
|
45 |
* Caching of objects in memory or on disk
|
46 |
* Caching of fragments in memory or on disk
|
47 |
+
* Caching methods include local Disk, Redis, Memcached, APC, APCu, eAccelerator, XCache, and WinCache
|
48 |
* Minification of posts and pages and feeds
|
49 |
* Minification of inline, embedded or 3rd party JavaScript (with automated updates)
|
50 |
* Minification of inline, embedded or 3rd party CSS (with automated updates)
|
271 |
|
272 |
== Changelog ==
|
273 |
|
274 |
+
= 0.10.1 =
|
275 |
+
* Fixed slowdown in memcached engine
|
276 |
+
* Fixed Purge Cache menu links so they flush current blog in WPMU
|
277 |
+
* Fixed error during upgrade, "Call to undefined method W3TC\Util_Content::is_database_error"
|
278 |
+
* Updated Redis cache engine to avoid "Function Redis::delete() is deprecated" warning
|
279 |
+
|
280 |
= 0.10.0 =
|
281 |
* Improved Statistics component for pro users
|
282 |
* Improved support for CloudFront distributions with multiple origins
|
w3-total-cache-api.php
CHANGED
@@ -5,7 +5,7 @@ if ( !defined( 'ABSPATH' ) ) {
|
|
5 |
}
|
6 |
|
7 |
define( 'W3TC', true );
|
8 |
-
define( 'W3TC_VERSION', '0.10.
|
9 |
define( 'W3TC_POWERED_BY', 'W3 Total Cache' );
|
10 |
define( 'W3TC_EMAIL', 'w3tc@w3-edge.com' );
|
11 |
define( 'W3TC_TEXT_DOMAIN', 'w3-total-cache' );
|
5 |
}
|
6 |
|
7 |
define( 'W3TC', true );
|
8 |
+
define( 'W3TC_VERSION', '0.10.1' );
|
9 |
define( 'W3TC_POWERED_BY', 'W3 Total Cache' );
|
10 |
define( 'W3TC_EMAIL', 'w3tc@w3-edge.com' );
|
11 |
define( 'W3TC_TEXT_DOMAIN', 'w3-total-cache' );
|
w3-total-cache.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/*
|
3 |
Plugin Name: W3 Total Cache
|
4 |
Description: The highest rated and most complete WordPress performance plugin. Dramatically improve the speed and user experience of your site. Add browser, page, object and database caching as well as minify and content delivery network (CDN) to WordPress.
|
5 |
-
Version: 0.10.
|
6 |
Plugin URI: https://www.w3-edge.com/wordpress-plugins/w3-total-cache/
|
7 |
Author: Frederick Townes
|
8 |
Author URI: http://www.linkedin.com/in/fredericktownes
|
2 |
/*
|
3 |
Plugin Name: W3 Total Cache
|
4 |
Description: The highest rated and most complete WordPress performance plugin. Dramatically improve the speed and user experience of your site. Add browser, page, object and database caching as well as minify and content delivery network (CDN) to WordPress.
|
5 |
+
Version: 0.10.1
|
6 |
Plugin URI: https://www.w3-edge.com/wordpress-plugins/w3-total-cache/
|
7 |
Author: Frederick Townes
|
8 |
Author URI: http://www.linkedin.com/in/fredericktownes
|