W3 Total Cache - Version 0.10.1

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 Icon 128x128 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 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( network_admin_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
- return $accessor->delete( $storage_key );
 
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->delete( $storage_key );
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( network_admin_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( network_admin_url( 'admin.php?page=w3tc_cdn&w3tc_cdn_purge' ), 'w3tc' ),
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( network_admin_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( network_admin_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( network_admin_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( network_admin_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( network_admin_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( network_admin_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( network_admin_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.0
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.0' );
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.0
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