Version Description
- Update plugin upgrade process for multisite networks (#303)
- Update
wp-config.php
file handling (#302)
Download this release
Release Info
Developer | keycdn |
Plugin | Cache Enabler – WordPress Cache |
Version | 1.8.7 |
Comparing to | |
See all releases |
Code changes from version 1.8.6 to 1.8.7
- advanced-cache.php +2 -2
- cache-enabler.php +1 -1
- constants.php +1 -1
- inc/cache_enabler.class.php +31 -19
- inc/cache_enabler_disk.class.php +66 -26
- inc/cache_enabler_engine.class.php +3 -0
- readme.txt +15 -11
advanced-cache.php
CHANGED
@@ -4,8 +4,8 @@
|
|
4 |
*
|
5 |
* The advanced-cache.php creation method uses this during the disk setup and
|
6 |
* requirements check. You can copy this file to the wp-content directory and edit
|
7 |
-
* the $cache_enabler_constants_file value as needed. It will
|
8 |
-
* or abandoned.
|
9 |
*
|
10 |
* @since 1.2.0
|
11 |
* @change 1.8.6
|
4 |
*
|
5 |
* The advanced-cache.php creation method uses this during the disk setup and
|
6 |
* requirements check. You can copy this file to the wp-content directory and edit
|
7 |
+
* the $cache_enabler_constants_file value as needed. It will automatically delete
|
8 |
+
* itself if stale or abandoned.
|
9 |
*
|
10 |
* @since 1.2.0
|
11 |
* @change 1.8.6
|
cache-enabler.php
CHANGED
@@ -6,7 +6,7 @@ Description: Simple and fast WordPress caching plugin.
|
|
6 |
Author: KeyCDN
|
7 |
Author URI: https://www.keycdn.com
|
8 |
License: GPLv2 or later
|
9 |
-
Version: 1.8.
|
10 |
*/
|
11 |
|
12 |
/*
|
6 |
Author: KeyCDN
|
7 |
Author URI: https://www.keycdn.com
|
8 |
License: GPLv2 or later
|
9 |
+
Version: 1.8.7
|
10 |
*/
|
11 |
|
12 |
/*
|
constants.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
*/
|
7 |
|
8 |
$cache_enabler_constants = array(
|
9 |
-
'CACHE_ENABLER_VERSION' => '1.8.
|
10 |
'CACHE_ENABLER_MIN_PHP' => '5.6',
|
11 |
'CACHE_ENABLER_MIN_WP' => '5.1',
|
12 |
'CACHE_ENABLER_DIR' => __DIR__,
|
6 |
*/
|
7 |
|
8 |
$cache_enabler_constants = array(
|
9 |
+
'CACHE_ENABLER_VERSION' => '1.8.7',
|
10 |
'CACHE_ENABLER_MIN_PHP' => '5.6',
|
11 |
'CACHE_ENABLER_MIN_WP' => '5.1',
|
12 |
'CACHE_ENABLER_DIR' => __DIR__,
|
inc/cache_enabler.class.php
CHANGED
@@ -232,8 +232,8 @@ final class Cache_Enabler {
|
|
232 |
* When the plugin is uninstalled.
|
233 |
*
|
234 |
* This runs on the 'uninstall_cache-enabler/cache-enabler.php' action. It deletes
|
235 |
-
* the 'cache_enabler' option and
|
236 |
-
*
|
237 |
*
|
238 |
* @since 1.0.0
|
239 |
* @change 1.6.0
|
@@ -313,27 +313,28 @@ final class Cache_Enabler {
|
|
313 |
}
|
314 |
|
315 |
/**
|
316 |
-
* Update the disk and backend requirements.
|
317 |
*
|
318 |
* This update process begins by first deleting the settings and
|
319 |
* advanced-cache.php files and then maybe unsets the WP_CACHE constant in the
|
320 |
* wp-config.php file. A new advanced-cache.php file is then created and the
|
321 |
-
* WP_CACHE constant is maybe set.
|
322 |
-
*
|
323 |
-
*
|
324 |
-
* cache is cleared.
|
325 |
*
|
326 |
-
* @since
|
|
|
327 |
*/
|
328 |
public static function update() {
|
329 |
|
330 |
self::update_disk();
|
331 |
-
self::
|
332 |
-
self::
|
333 |
}
|
334 |
|
335 |
/**
|
336 |
-
* Add or update backend requirements.
|
337 |
*
|
338 |
* This adds or updates the 'cache_enabler' option in the database, which triggers
|
339 |
* the creation of the settings file. It will call self::on_update_backend() when
|
@@ -369,19 +370,29 @@ final class Cache_Enabler {
|
|
369 |
}
|
370 |
|
371 |
/**
|
372 |
-
* Update the disk requirements.
|
373 |
*
|
374 |
* This deletes the settings and advanced-cache.php files and then maybe unsets
|
375 |
* the WP_CACHE constant in the wp-config.php file. A new advanced-cache.php file
|
376 |
-
* is then created and the WP_CACHE constant is maybe set.
|
|
|
|
|
377 |
*
|
378 |
-
* @since
|
|
|
379 |
*/
|
380 |
public static function update_disk() {
|
381 |
|
382 |
-
|
383 |
-
|
384 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
385 |
}
|
386 |
|
387 |
/**
|
@@ -557,12 +568,13 @@ final class Cache_Enabler {
|
|
557 |
* Uninstall backend requirements.
|
558 |
*
|
559 |
* @since 1.5.0
|
560 |
-
* @change 1.8.
|
561 |
*/
|
562 |
private static function uninstall_backend() {
|
563 |
|
564 |
delete_option( 'cache_enabler' );
|
565 |
delete_transient( 'cache_enabler_cache_size' );
|
|
|
566 |
}
|
567 |
|
568 |
/**
|
@@ -707,7 +719,7 @@ final class Cache_Enabler {
|
|
707 |
/**
|
708 |
* Get the plugin settings from the database for the current site.
|
709 |
*
|
710 |
-
* This can update the disk and backend requirements and then clear the
|
711 |
* cache if the settings do not exist or are outdated. If that occurs, the
|
712 |
* settings after the update will be returned.
|
713 |
*
|
232 |
* When the plugin is uninstalled.
|
233 |
*
|
234 |
* This runs on the 'uninstall_cache-enabler/cache-enabler.php' action. It deletes
|
235 |
+
* the 'cache_enabler' option and plugin transients from the database for each
|
236 |
+
* site in the installation.
|
237 |
*
|
238 |
* @since 1.0.0
|
239 |
* @change 1.6.0
|
313 |
}
|
314 |
|
315 |
/**
|
316 |
+
* Update the disk and backend requirements for the current site.
|
317 |
*
|
318 |
* This update process begins by first deleting the settings and
|
319 |
* advanced-cache.php files and then maybe unsets the WP_CACHE constant in the
|
320 |
* wp-config.php file. A new advanced-cache.php file is then created and the
|
321 |
+
* WP_CACHE constant is maybe set. If a multisite network, the preceding actions
|
322 |
+
* will only be done when the first site in the network is updated. Next, the
|
323 |
+
* 'cache_enabler' option is updated in the database for the current site, which
|
324 |
+
* triggers a new settings file to be created. Lastly, the site cache is cleared.
|
325 |
*
|
326 |
+
* @since 1.8.0
|
327 |
+
* @change 1.8.7
|
328 |
*/
|
329 |
public static function update() {
|
330 |
|
331 |
self::update_disk();
|
332 |
+
self::update_backend();
|
333 |
+
self::clear_site_cache();
|
334 |
}
|
335 |
|
336 |
/**
|
337 |
+
* Add or update the backend requirements for the current site.
|
338 |
*
|
339 |
* This adds or updates the 'cache_enabler' option in the database, which triggers
|
340 |
* the creation of the settings file. It will call self::on_update_backend() when
|
370 |
}
|
371 |
|
372 |
/**
|
373 |
+
* Update the disk requirements for the current site.
|
374 |
*
|
375 |
* This deletes the settings and advanced-cache.php files and then maybe unsets
|
376 |
* the WP_CACHE constant in the wp-config.php file. A new advanced-cache.php file
|
377 |
+
* is then created and the WP_CACHE constant is maybe set. If a multisite network,
|
378 |
+
* the 'cache_enabler_disk_updated' site transient is set afterward to only allow
|
379 |
+
* this to be ran once.
|
380 |
*
|
381 |
+
* @since 1.8.0
|
382 |
+
* @change 1.8.7
|
383 |
*/
|
384 |
public static function update_disk() {
|
385 |
|
386 |
+
if ( is_multisite() ) {
|
387 |
+
if ( get_site_transient( 'cache_enabler_disk_updated' ) !== CACHE_ENABLER_VERSION ) {
|
388 |
+
self::each_site( true, 'Cache_Enabler_Disk::clean' );
|
389 |
+
Cache_Enabler_Disk::setup();
|
390 |
+
set_site_transient( 'cache_enabler_disk_updated', CACHE_ENABLER_VERSION, HOUR_IN_SECONDS );
|
391 |
+
}
|
392 |
+
} else {
|
393 |
+
Cache_Enabler_Disk::clean();
|
394 |
+
Cache_Enabler_Disk::setup();
|
395 |
+
}
|
396 |
}
|
397 |
|
398 |
/**
|
568 |
* Uninstall backend requirements.
|
569 |
*
|
570 |
* @since 1.5.0
|
571 |
+
* @change 1.8.7
|
572 |
*/
|
573 |
private static function uninstall_backend() {
|
574 |
|
575 |
delete_option( 'cache_enabler' );
|
576 |
delete_transient( 'cache_enabler_cache_size' );
|
577 |
+
delete_site_transient( 'cache_enabler_disk_updated' );
|
578 |
}
|
579 |
|
580 |
/**
|
719 |
/**
|
720 |
* Get the plugin settings from the database for the current site.
|
721 |
*
|
722 |
+
* This can update the disk and backend requirements and then clear the site
|
723 |
* cache if the settings do not exist or are outdated. If that occurs, the
|
724 |
* settings after the update will be returned.
|
725 |
*
|
inc/cache_enabler_disk.class.php
CHANGED
@@ -922,6 +922,11 @@ final class Cache_Enabler_Disk {
|
|
922 |
/**
|
923 |
* Get the name of the settings file for the current site.
|
924 |
*
|
|
|
|
|
|
|
|
|
|
|
925 |
* @since 1.5.5
|
926 |
* @change 1.8.0
|
927 |
*
|
@@ -934,7 +939,6 @@ final class Cache_Enabler_Disk {
|
|
934 |
|
935 |
$settings_file_name = '';
|
936 |
|
937 |
-
// When creating or deleting the settings file.
|
938 |
if ( function_exists( 'home_url' ) ) {
|
939 |
$settings_file_name = parse_url( home_url(), PHP_URL_HOST );
|
940 |
|
@@ -944,7 +948,6 @@ final class Cache_Enabler_Disk {
|
|
944 |
}
|
945 |
|
946 |
$settings_file_name .= '.php';
|
947 |
-
// When getting the plugin settings from the settings file.
|
948 |
} elseif ( is_dir( CACHE_ENABLER_SETTINGS_DIR ) ) {
|
949 |
if ( $fallback ) {
|
950 |
$settings_files = array_map( 'basename', self::get_dir_objects( CACHE_ENABLER_SETTINGS_DIR ) );
|
@@ -1010,15 +1013,17 @@ final class Cache_Enabler_Disk {
|
|
1010 |
*
|
1011 |
* This will create the settings file if it does not exist and the cache engine
|
1012 |
* was started late. If that occurs, the settings from the new settings file will
|
1013 |
-
* be returned.
|
|
|
|
|
1014 |
*
|
1015 |
-
* This can update the disk and backend requirements and then clear the
|
1016 |
-
*
|
1017 |
* created and an empty array returned.
|
1018 |
*
|
1019 |
* @since 1.5.0
|
1020 |
* @since 1.8.0 The `$update` parameter was added.
|
1021 |
-
* @change 1.8.
|
1022 |
*
|
1023 |
* @param bool $update Whether to update the disk and backend requirements if the settings are
|
1024 |
* outdated. Default true.
|
@@ -1052,10 +1057,17 @@ final class Cache_Enabler_Disk {
|
|
1052 |
Cache_Enabler::update();
|
1053 |
}
|
1054 |
} else {
|
1055 |
-
$
|
|
|
1056 |
|
1057 |
-
if ( $settings_file
|
1058 |
$settings = include $settings_file;
|
|
|
|
|
|
|
|
|
|
|
|
|
1059 |
}
|
1060 |
}
|
1061 |
}
|
@@ -1343,10 +1355,17 @@ final class Cache_Enabler_Disk {
|
|
1343 |
/**
|
1344 |
* Set or unset the WP_CACHE constant in the wp-config.php file.
|
1345 |
*
|
|
|
|
|
|
|
|
|
|
|
1346 |
* @since 1.5.0
|
1347 |
-
* @
|
|
|
1348 |
*
|
1349 |
-
* @param
|
|
|
1350 |
*/
|
1351 |
private static function set_wp_cache_constant( $set = true ) {
|
1352 |
|
@@ -1357,36 +1376,57 @@ final class Cache_Enabler_Disk {
|
|
1357 |
// The config file resides one level above ABSPATH but is not part of another installation.
|
1358 |
$wp_config_file = dirname( ABSPATH ) . '/wp-config.php';
|
1359 |
} else {
|
1360 |
-
|
|
|
1361 |
}
|
1362 |
|
1363 |
-
if ( !
|
1364 |
-
return;
|
1365 |
}
|
1366 |
|
1367 |
$wp_config_file_contents = file_get_contents( $wp_config_file );
|
1368 |
|
1369 |
if ( ! is_string( $wp_config_file_contents ) ) {
|
1370 |
-
return;
|
1371 |
}
|
1372 |
|
1373 |
-
|
|
|
1374 |
|
1375 |
-
|
1376 |
-
|
1377 |
-
|
1378 |
-
|
1379 |
-
$
|
1380 |
-
|
1381 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1382 |
}
|
1383 |
|
1384 |
-
if ( ! $
|
1385 |
-
|
1386 |
-
$wp_config_file_contents = preg_replace( '/\/\*\* Enables page caching for Cache Enabler\. \*\/' . PHP_EOL . '.+' . PHP_EOL . '.+' . PHP_EOL . '\}' . PHP_EOL . PHP_EOL . '/', '', $wp_config_file_contents );
|
1387 |
}
|
1388 |
|
1389 |
-
file_put_contents( $wp_config_file, $
|
|
|
|
|
1390 |
}
|
1391 |
|
1392 |
/**
|
922 |
/**
|
923 |
* Get the name of the settings file for the current site.
|
924 |
*
|
925 |
+
* This uses home_url() in the late cache engine start to get the settings file
|
926 |
+
* name when creating and deleting the settings file or when getting the plugin
|
927 |
+
* settings from the settings file. Otherwise, it finds the name of the settings
|
928 |
+
* file in the settings directory when the cache engine is started early.
|
929 |
+
*
|
930 |
* @since 1.5.5
|
931 |
* @change 1.8.0
|
932 |
*
|
939 |
|
940 |
$settings_file_name = '';
|
941 |
|
|
|
942 |
if ( function_exists( 'home_url' ) ) {
|
943 |
$settings_file_name = parse_url( home_url(), PHP_URL_HOST );
|
944 |
|
948 |
}
|
949 |
|
950 |
$settings_file_name .= '.php';
|
|
|
951 |
} elseif ( is_dir( CACHE_ENABLER_SETTINGS_DIR ) ) {
|
952 |
if ( $fallback ) {
|
953 |
$settings_files = array_map( 'basename', self::get_dir_objects( CACHE_ENABLER_SETTINGS_DIR ) );
|
1013 |
*
|
1014 |
* This will create the settings file if it does not exist and the cache engine
|
1015 |
* was started late. If that occurs, the settings from the new settings file will
|
1016 |
+
* be returned. Before it is created, checking if the settings file exists after
|
1017 |
+
* retrieving the database settings is done in case an update occurred, which
|
1018 |
+
* would have resulted in a new settings file being created.
|
1019 |
*
|
1020 |
+
* This can update the disk and backend requirements and then clear the site cache
|
1021 |
+
* if the settings are outdated. If that occurs, a new settings file will be
|
1022 |
* created and an empty array returned.
|
1023 |
*
|
1024 |
* @since 1.5.0
|
1025 |
* @since 1.8.0 The `$update` parameter was added.
|
1026 |
+
* @change 1.8.7
|
1027 |
*
|
1028 |
* @param bool $update Whether to update the disk and backend requirements if the settings are
|
1029 |
* outdated. Default true.
|
1057 |
Cache_Enabler::update();
|
1058 |
}
|
1059 |
} else {
|
1060 |
+
$_settings = Cache_Enabler::get_settings();
|
1061 |
+
$settings_file = self::get_settings_file();
|
1062 |
|
1063 |
+
if ( is_file( $settings_file ) ) {
|
1064 |
$settings = include $settings_file;
|
1065 |
+
} else {
|
1066 |
+
$settings_file = self::create_settings_file( $_settings );
|
1067 |
+
|
1068 |
+
if ( $settings_file !== false ) {
|
1069 |
+
$settings = include $settings_file;
|
1070 |
+
}
|
1071 |
}
|
1072 |
}
|
1073 |
}
|
1355 |
/**
|
1356 |
* Set or unset the WP_CACHE constant in the wp-config.php file.
|
1357 |
*
|
1358 |
+
* This has some functionality copied from wp-load.php when trying to find the
|
1359 |
+
* wp-config.php file. It will only set the WP_CACHE constant if the wp-config.php
|
1360 |
+
* file is considered to be default and it is not already set. It will only unset
|
1361 |
+
* the WP_CACHE constant if previously set by the plugin.
|
1362 |
+
*
|
1363 |
* @since 1.5.0
|
1364 |
+
* @since 1.8.7 The return value was updated.
|
1365 |
+
* @change 1.8.7
|
1366 |
*
|
1367 |
+
* @param bool $set (Optional) True to set the WP_CACHE constant, false to unset. Default true.
|
1368 |
+
* @return string|bool Path to the updated wp-config.php file, false otherwise.
|
1369 |
*/
|
1370 |
private static function set_wp_cache_constant( $set = true ) {
|
1371 |
|
1376 |
// The config file resides one level above ABSPATH but is not part of another installation.
|
1377 |
$wp_config_file = dirname( ABSPATH ) . '/wp-config.php';
|
1378 |
} else {
|
1379 |
+
// The config file could not be found.
|
1380 |
+
return false;
|
1381 |
}
|
1382 |
|
1383 |
+
if ( ! is_writable( $wp_config_file ) ) {
|
1384 |
+
return false;
|
1385 |
}
|
1386 |
|
1387 |
$wp_config_file_contents = file_get_contents( $wp_config_file );
|
1388 |
|
1389 |
if ( ! is_string( $wp_config_file_contents ) ) {
|
1390 |
+
return false;
|
1391 |
}
|
1392 |
|
1393 |
+
if ( $set ) {
|
1394 |
+
$default_wp_config_file = ( strpos( $wp_config_file_contents, '/** Sets up WordPress vars and included files. */' ) !== false );
|
1395 |
|
1396 |
+
if ( ! $default_wp_config_file ) {
|
1397 |
+
return false;
|
1398 |
+
}
|
1399 |
+
|
1400 |
+
$found_wp_cache_constant = preg_match( '#define\s*\(\s*[\'\"]WP_CACHE[\'\"]\s*,.+\);#', $wp_config_file_contents );
|
1401 |
+
|
1402 |
+
if ( $found_wp_cache_constant ) {
|
1403 |
+
return false;
|
1404 |
+
}
|
1405 |
+
|
1406 |
+
$new_wp_config_lines = '/** Enables page caching for Cache Enabler. */' . PHP_EOL;
|
1407 |
+
$new_wp_config_lines .= "if ( ! defined( 'WP_CACHE' ) ) {" . PHP_EOL;
|
1408 |
+
$new_wp_config_lines .= "\tdefine( 'WP_CACHE', true );" . PHP_EOL;
|
1409 |
+
$new_wp_config_lines .= '}' . PHP_EOL;
|
1410 |
+
$new_wp_config_lines .= PHP_EOL;
|
1411 |
+
|
1412 |
+
$new_wp_config_file_contents = preg_replace( '#(/\*\* Sets up WordPress vars and included files\. \*/)#', $new_wp_config_lines . '$1', $wp_config_file_contents );
|
1413 |
+
} else { // Unset.
|
1414 |
+
if ( strpos( $wp_config_file_contents, '/** Enables page caching for Cache Enabler. */' ) !== false ) {
|
1415 |
+
$new_wp_config_file_contents = preg_replace( '#/\*\* Enables page caching for Cache Enabler\. \*/' . PHP_EOL . '.+' . PHP_EOL . '.+' . PHP_EOL . '\}' . PHP_EOL . PHP_EOL . '#', '', $wp_config_file_contents );
|
1416 |
+
} elseif ( strpos( $wp_config_file_contents, '// Added by Cache Enabler' ) !== false ) { // < 1.5.0
|
1417 |
+
$new_wp_config_file_contents = preg_replace( '#.+Added by Cache Enabler\r\n#', '', $wp_config_file_contents );
|
1418 |
+
} else {
|
1419 |
+
return false; // Not previously set by the plugin.
|
1420 |
+
}
|
1421 |
}
|
1422 |
|
1423 |
+
if ( ! is_string( $new_wp_config_file_contents ) || empty( $new_wp_config_file_contents ) ) {
|
1424 |
+
return false;
|
|
|
1425 |
}
|
1426 |
|
1427 |
+
$wp_config_file_updated = file_put_contents( $wp_config_file, $new_wp_config_file_contents, LOCK_EX );
|
1428 |
+
|
1429 |
+
return ( $wp_config_file_updated === false ) ? false : $wp_config_file;
|
1430 |
}
|
1431 |
|
1432 |
/**
|
inc/cache_enabler_engine.class.php
CHANGED
@@ -32,6 +32,9 @@ final class Cache_Enabler_Engine {
|
|
32 |
/**
|
33 |
* Whether the cache engine is started.
|
34 |
*
|
|
|
|
|
|
|
35 |
* @since 1.5.0
|
36 |
*
|
37 |
* @var bool
|
32 |
/**
|
33 |
* Whether the cache engine is started.
|
34 |
*
|
35 |
+
* The cache engine is considered to have been started early when started in the
|
36 |
+
* advanced-cache.php drop-in file and started late when started on the 'init' action.
|
37 |
+
*
|
38 |
* @since 1.5.0
|
39 |
*
|
40 |
* @var bool
|
readme.txt
CHANGED
@@ -55,12 +55,16 @@ Cache Enabler captures page contents and saves it as a static HTML file on the s
|
|
55 |
|
56 |
== Changelog ==
|
57 |
|
|
|
|
|
|
|
|
|
58 |
= 1.8.6 =
|
59 |
-
* Add `cache_enabler_settings_before_validation` filter hook (#298)
|
60 |
-
* Add additional validation when creating cached files (#299)
|
61 |
-
* Add type casts to several filter hooks (#299)
|
62 |
* Update requirements check notices (#300)
|
63 |
* Update `advanced-cache.php` drop-in file handling (#297)
|
|
|
|
|
|
|
64 |
|
65 |
= 1.8.5 =
|
66 |
* Update required WordPress version from 5.5 to 5.1 (#295)
|
@@ -79,29 +83,29 @@ Cache Enabler captures page contents and saves it as a static HTML file on the s
|
|
79 |
* Fix requirements check (#285)
|
80 |
|
81 |
= 1.8.0 =
|
82 |
-
* Update `advanced-cache.php` drop-in file handling to improve reliability and compatibility (#
|
83 |
* Update settings file to be deleted before the `home` option is updated to prevent a leftover settings file (#279)
|
84 |
* Update `cache_enabler_bypass_cache` filter hook default value to allow a complete override (#277)
|
85 |
-
* Update cache size transient to be in real time (#
|
86 |
* Update cache expiry time to always be a non-negative integer (#265)
|
87 |
* Update WP-CLI `clear` subcommand (#261)
|
88 |
* Update required WordPress version from 5.1 to 5.5 (#260)
|
89 |
* Update plugin upgrade process to improve reliability and compatibility (#260)
|
90 |
* Update getting the cache file path to improve creating cache files (#256)
|
91 |
* Update HTML5 doctype check to be less strict (#254)
|
92 |
-
* Update permalink structure handling (#
|
93 |
-
* Update requirements check to improve notices shown (#
|
94 |
* Update cache clearing structure to enhance the automatic cache clearing actions (#247)
|
95 |
-
* Add WP-Cron event to clear the expired cache on an hourly basis (#
|
96 |
-
* Add new cache clearing structure for option actions (#
|
97 |
-
* Add cache engine restart support (#
|
98 |
* Add `constants.php` file to plugin directory to allow constant overrides (#260)
|
99 |
* Add wildcard cache clearing support (#246)
|
100 |
* Add Brotli compression support (#243 @nlemoine)
|
101 |
* Add new cache clearing structure for term actions (#234 @davelit)
|
102 |
* Add cache iterator to improve cache object handling (#237)
|
103 |
* Fix WebP URL conversion edge case (#275)
|
104 |
-
* Deprecate `cache_enabler_clear_site_cache_by_blog_id` and `cache_enabler_clear_page_cache_by_post_id` action hooks in favor of replacements (#
|
105 |
|
106 |
= 1.7.2 =
|
107 |
* Update string to be translatable (#235 @timse201)
|
55 |
|
56 |
== Changelog ==
|
57 |
|
58 |
+
= 1.8.7 =
|
59 |
+
* Update plugin upgrade process for multisite networks (#303)
|
60 |
+
* Update `wp-config.php` file handling (#302)
|
61 |
+
|
62 |
= 1.8.6 =
|
|
|
|
|
|
|
63 |
* Update requirements check notices (#300)
|
64 |
* Update `advanced-cache.php` drop-in file handling (#297)
|
65 |
+
* Add additional validation when creating cached files (#299)
|
66 |
+
* Add type casts to several filter hooks (#299)
|
67 |
+
* Add `cache_enabler_settings_before_validation` filter hook (#298)
|
68 |
|
69 |
= 1.8.5 =
|
70 |
* Update required WordPress version from 5.5 to 5.1 (#295)
|
83 |
* Fix requirements check (#285)
|
84 |
|
85 |
= 1.8.0 =
|
86 |
+
* Update `advanced-cache.php` drop-in file handling to improve reliability and compatibility (#260 and #283)
|
87 |
* Update settings file to be deleted before the `home` option is updated to prevent a leftover settings file (#279)
|
88 |
* Update `cache_enabler_bypass_cache` filter hook default value to allow a complete override (#277)
|
89 |
+
* Update cache size transient to be in real time (#237 and #269)
|
90 |
* Update cache expiry time to always be a non-negative integer (#265)
|
91 |
* Update WP-CLI `clear` subcommand (#261)
|
92 |
* Update required WordPress version from 5.1 to 5.5 (#260)
|
93 |
* Update plugin upgrade process to improve reliability and compatibility (#260)
|
94 |
* Update getting the cache file path to improve creating cache files (#256)
|
95 |
* Update HTML5 doctype check to be less strict (#254)
|
96 |
+
* Update permalink structure handling (#251 and #263)
|
97 |
+
* Update requirements check to improve notices shown (#249 and #260)
|
98 |
* Update cache clearing structure to enhance the automatic cache clearing actions (#247)
|
99 |
+
* Add WP-Cron event to clear the expired cache on an hourly basis (#237, #268, and #281)
|
100 |
+
* Add new cache clearing structure for option actions (#272 and #280)
|
101 |
+
* Add cache engine restart support (#271 and #278)
|
102 |
* Add `constants.php` file to plugin directory to allow constant overrides (#260)
|
103 |
* Add wildcard cache clearing support (#246)
|
104 |
* Add Brotli compression support (#243 @nlemoine)
|
105 |
* Add new cache clearing structure for term actions (#234 @davelit)
|
106 |
* Add cache iterator to improve cache object handling (#237)
|
107 |
* Fix WebP URL conversion edge case (#275)
|
108 |
+
* Deprecate `cache_enabler_clear_site_cache_by_blog_id` and `cache_enabler_clear_page_cache_by_post_id` action hooks in favor of replacements (#247 and #274)
|
109 |
|
110 |
= 1.7.2 =
|
111 |
* Update string to be translatable (#235 @timse201)
|