Fast Velocity Minify - Version 2.7.7

Version Description

[2019.10.15] = * added a capability check on the status page ajax request, which could show the cache file path when debug mode is enabled to subscribers

Download this release

Release Info

Developer Alignak
Plugin Icon 128x128 Fast Velocity Minify
Version 2.7.7
Comparing to
See all releases

Code changes from version 2.7.3 to 2.7.7

Files changed (3) hide show
  1. fvm.php +29 -9
  2. inc/functions.php +21 -55
  3. readme.txt +17 -294
fvm.php CHANGED
@@ -5,7 +5,7 @@ Plugin URI: http://fastvelocity.com
5
  Description: Improve your speed score on GTmetrix, Pingdom Tools and Google PageSpeed Insights by merging and minifying CSS and JavaScript files into groups, compressing HTML and other speed optimizations.
6
  Author: Raul Peixoto
7
  Author URI: http://fastvelocity.com
8
- Version: 2.7.3
9
  License: GPL2
10
 
11
  ------------------------------------------------------------------------
@@ -303,6 +303,12 @@ function fastvelocity_admintoolbar() {
303
 
304
  # function to list all cache files
305
  function fastvelocity_min_files_callback() {
 
 
 
 
 
 
306
  global $cachedir;
307
 
308
  # default
@@ -1340,16 +1346,23 @@ for($i=0,$l=count($header);$i<$l;$i++) {
1340
  continue;
1341
  }
1342
 
 
 
 
 
 
 
 
1343
  # append code to merged file
1344
  $code.= $res['code'];
1345
  $log.= $res['log'];
1346
 
1347
- # Add extra data from wp_add_inline_script before
1348
  if (!empty( $wp_scripts->registered[$handle]->extra)) {
1349
- if (!empty( $wp_scripts->registered[$handle]->extra['before'])){
1350
- $code.= PHP_EOL . implode(PHP_EOL, $wp_scripts->registered[$handle]->extra['before']);
1351
  }
1352
- }
1353
 
1354
  # consider dependencies on handles with an empty src
1355
  } else {
@@ -1535,16 +1548,23 @@ for($i=0,$l=count($footer);$i<$l;$i++) {
1535
  continue;
1536
  }
1537
 
1538
- # append code to merged file
1539
- $code.= $res['code'];
1540
- $log.= $res['log'];
1541
-
1542
  # Add extra data from wp_add_inline_script before
1543
  if (!empty($wp_scripts->registered[$handle]->extra)){
1544
  if (!empty($wp_scripts->registered[$handle]->extra['before'])){
1545
  $code.= PHP_EOL.implode(PHP_EOL, $wp_scripts->registered[$handle]->extra['before']);
1546
  }
1547
  }
 
 
 
 
 
 
 
 
 
 
 
1548
 
1549
  # consider dependencies on handles with an empty src
1550
  } else {
5
  Description: Improve your speed score on GTmetrix, Pingdom Tools and Google PageSpeed Insights by merging and minifying CSS and JavaScript files into groups, compressing HTML and other speed optimizations.
6
  Author: Raul Peixoto
7
  Author URI: http://fastvelocity.com
8
+ Version: 2.7.7
9
  License: GPL2
10
 
11
  ------------------------------------------------------------------------
303
 
304
  # function to list all cache files
305
  function fastvelocity_min_files_callback() {
306
+
307
+ # must be able to cleanup cache
308
+ if (!current_user_can('manage_options')) {
309
+ wp_die( __('You do not have sufficient permissions to access this page.'));
310
+ }
311
+
312
  global $cachedir;
313
 
314
  # default
1346
  continue;
1347
  }
1348
 
1349
+ # Add extra data from wp_add_inline_script before
1350
+ if (!empty( $wp_scripts->registered[$handle]->extra)) {
1351
+ if (!empty( $wp_scripts->registered[$handle]->extra['before'])){
1352
+ $code.= PHP_EOL . implode(PHP_EOL, $wp_scripts->registered[$handle]->extra['before']);
1353
+ }
1354
+ }
1355
+
1356
  # append code to merged file
1357
  $code.= $res['code'];
1358
  $log.= $res['log'];
1359
 
1360
+ # Add extra data from wp_add_inline_script after
1361
  if (!empty( $wp_scripts->registered[$handle]->extra)) {
1362
+ if (!empty( $wp_scripts->registered[$handle]->extra['after'])){
1363
+ $code.= PHP_EOL . implode(PHP_EOL, $wp_scripts->registered[$handle]->extra['after']);
1364
  }
1365
+ }
1366
 
1367
  # consider dependencies on handles with an empty src
1368
  } else {
1548
  continue;
1549
  }
1550
 
 
 
 
 
1551
  # Add extra data from wp_add_inline_script before
1552
  if (!empty($wp_scripts->registered[$handle]->extra)){
1553
  if (!empty($wp_scripts->registered[$handle]->extra['before'])){
1554
  $code.= PHP_EOL.implode(PHP_EOL, $wp_scripts->registered[$handle]->extra['before']);
1555
  }
1556
  }
1557
+
1558
+ # append code to merged file
1559
+ $code.= $res['code'];
1560
+ $log.= $res['log'];
1561
+
1562
+ # Add extra data from wp_add_inline_script after
1563
+ if (!empty($wp_scripts->registered[$handle]->extra)){
1564
+ if (!empty($wp_scripts->registered[$handle]->extra['after'])){
1565
+ $code.= PHP_EOL.implode(PHP_EOL, $wp_scripts->registered[$handle]->extra['after']);
1566
+ }
1567
+ }
1568
 
1569
  # consider dependencies on handles with an empty src
1570
  } else {
inc/functions.php CHANGED
@@ -414,12 +414,17 @@ $printurl = str_ireplace(array(site_url(), home_url(), 'http:', 'https:'), '', $
414
  $code = fastvelocity_min_get_css($hurl, file_get_contents($f).$inline, $disable_minification);
415
  }
416
 
417
- # log, save and return
418
- $log = $printurl;
419
- if($fvm_debug == true) { $log.= " --- Debug: $printhandle was opened from $f ---"; }
420
- $log.= PHP_EOL;
421
- $return = array('request'=>$dreq, 'log'=>$log, 'code'=>$code, 'status'=>true);
422
- return json_encode($return);
 
 
 
 
 
423
  }
424
 
425
  # failover when home_url != site_url
@@ -433,12 +438,15 @@ $printurl = str_ireplace(array(site_url(), home_url(), 'http:', 'https:'), '', $
433
  $code = fastvelocity_min_get_css($hurl, file_get_contents($f).$inline, $disable_minification);
434
  }
435
 
436
- # log, save and return
437
- $log = $printurl;
438
- if($fvm_debug == true) { $log.= " --- Debug: $printhandle was opened from $f ---"; }
439
- $log.= PHP_EOL;
440
- $return = array('request'=>$dreq, 'log'=>$log, 'code'=>$code, 'status'=>true);
441
- return json_encode($return);
 
 
 
442
  }
443
  }
444
  }
@@ -484,52 +492,10 @@ $printurl = str_ireplace(array(site_url(), home_url(), 'http:', 'https:'), '', $
484
  return json_encode($return);
485
  }
486
  }
487
-
488
-
489
- # if remote urls failed... try to open locally again, regardless of OS in use
490
- if (stripos($hurl, $wp_domain) !== false) {
491
- # default
492
- $f = str_ireplace(rtrim($wp_home, '/'), rtrim($wp_home_path, '/'), $hurl);
493
- clearstatcache();
494
- if (file_exists($f)) {
495
- if($type == 'js') {
496
- $code = fastvelocity_min_get_js($hurl, file_get_contents($f), $disable_minification);
497
- } else {
498
- $code = fastvelocity_min_get_css($hurl, file_get_contents($f).$inline, $disable_minification);
499
- }
500
-
501
- # log, save and return
502
- $log = $printurl;
503
- if($fvm_debug == true) { $log.= " --- Debug: $printhandle was opened from $f ---"; }
504
- $log.= PHP_EOL;
505
- $return = array('request'=>$dreq, 'log'=>$log, 'code'=>$code, 'status'=>true);
506
- return json_encode($return);
507
- }
508
-
509
- # failover when home_url != site_url
510
- $nhurl = str_ireplace(site_url(), home_url(), $hurl);
511
- $f = str_ireplace(rtrim($wp_home, '/'), rtrim($wp_home_path, '/'), $nhurl);
512
- clearstatcache();
513
- if (file_exists($f)) {
514
- if($type == 'js') {
515
- $code = fastvelocity_min_get_js($hurl, file_get_contents($f), $disable_minification);
516
- } else {
517
- $code = fastvelocity_min_get_css($hurl, file_get_contents($f).$inline, $disable_minification);
518
- }
519
-
520
- # log, save and return
521
- $log = $printurl;
522
- if($fvm_debug == true) { $log.= " --- Debug: $printhandle was opened from $f ---"; }
523
- $log.= PHP_EOL;
524
- $return = array('request'=>$dreq, 'log'=>$log, 'code'=>$code, 'status'=>true);
525
- return json_encode($return);
526
- }
527
- }
528
-
529
 
530
  # else fail
531
  $log = $printurl;
532
- if($fvm_debug == true) { $log.= " --- Debug: $printhandle failed. Tried wp_remote_get, curl and local file_get_contents. ---"; }
533
  $return = array('request'=>$dreq, 'log'=>$log, 'code'=>'', 'status'=>false);
534
  return json_encode($return);
535
  }
414
  $code = fastvelocity_min_get_css($hurl, file_get_contents($f).$inline, $disable_minification);
415
  }
416
 
417
+ # check for php code, skip if found
418
+ if(strtolower(substr($code, 0, 5)) != "<?php" && stripos($code, "<?php") === false) {
419
+ # log, save and return
420
+ $log = $printurl;
421
+ if($fvm_debug == true) { $log.= " --- Debug: $printhandle was opened from $f ---"; }
422
+ $log.= PHP_EOL;
423
+ $return = array('request'=>$dreq, 'log'=>$log, 'code'=>$code, 'status'=>true);
424
+ return json_encode($return);
425
+ }
426
+
427
+
428
  }
429
 
430
  # failover when home_url != site_url
438
  $code = fastvelocity_min_get_css($hurl, file_get_contents($f).$inline, $disable_minification);
439
  }
440
 
441
+ # check for php code, skip if found
442
+ if(strtolower(substr($code, 0, 5)) != "<?php" && stripos($code, "<?php") === false) {
443
+ # log, save and return
444
+ $log = $printurl;
445
+ if($fvm_debug == true) { $log.= " --- Debug: $printhandle was opened from $f ---"; }
446
+ $log.= PHP_EOL;
447
+ $return = array('request'=>$dreq, 'log'=>$log, 'code'=>$code, 'status'=>true);
448
+ return json_encode($return);
449
+ }
450
  }
451
  }
452
  }
492
  return json_encode($return);
493
  }
494
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
495
 
496
  # else fail
497
  $log = $printurl;
498
+ if($fvm_debug == true) { $log.= " --- Debug: $printhandle failed. Tried wp_remote_get and local file_get_contents. ---"; }
499
  $return = array('request'=>$dreq, 'log'=>$log, 'code'=>'', 'status'=>false);
500
  return json_encode($return);
501
  }
readme.txt CHANGED
@@ -1,10 +1,10 @@
1
  === Fast Velocity Minify ===
2
  Contributors: Alignak
3
  Tags: PHP Minify, Lighthouse, GTmetrix, Pingdom, Pagespeed, CSS Merging, JS Merging, CSS Minification, JS Minification, Speed Optimization, HTML Minification, Performance, Optimization, Speed, Fast
4
- Requires at least: 4.5
5
- Requires PHP: 5.5
6
- Stable tag: 2.7.3
7
- Tested up to: 5.2.2
8
  License: GPLv3 or later
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
@@ -198,6 +198,18 @@ Please backup your site before updating. Version 3.0 will have a major code rewr
198
 
199
  == Changelog ==
200
 
 
 
 
 
 
 
 
 
 
 
 
 
201
  = 2.7.3 [2019.07.29] =
202
  * Beaver Builder compatibility fix
203
 
@@ -253,297 +265,8 @@ Please backup your site before updating. Version 3.0 will have a major code rewr
253
  * improved compatibility with page cache plugins and servers (purging FVM without purging the page cache should be fine now)
254
  * added a daily cronjob, to delete public invalid cache files that are older than 3 months (your page cache should expire before this)
255
 
256
- = 2.5.9 [2019.02.19] =
257
- * fixed some PHP notices, when wordpress fails to download a missing js/css file
258
-
259
- = 2.5.8 [2019.02.06] =
260
- * minor bug fix with the defer for pagespeed option
261
-
262
- = 2.5.7 [2019.02.04] =
263
- * reverted back the css merging method to version 2.5.2 due to some compatibility issues
264
-
265
- = 2.5.6 [2019.01.18] =
266
- * fixed some php notices
267
- * disabled FVM on amp pages
268
- * expected to be the last update on the 2.x branch, before 3.0 major release
269
-
270
- = 2.5.5 [2019.01.12] =
271
- * fixed the dynamic urls being forced as http://
272
- * fixed the inlined styles being stripped when the inline all CSS option is enabled
273
- * added option to disable merging of inlined css code (for when you have dynamic inline css code)
274
- * other minor bug fixes
275
-
276
- = 2.5.4 [2019.01.11] =
277
- * css merging bug fixes
278
-
279
- = 2.5.3 [2019.01.11] =
280
- * fixed inlined css code being minified, even when minification is off
281
- * compatibility and performance improvements for the CSS merging and inlining functionality
282
-
283
- = 2.5.2 [2019.01.11] =
284
- * removed CURL as a fallback method (CURL is already a fallback on the WP HTTP API) as per WP recommendation
285
- * fixed a query monitor notice about mkdir
286
- * removed some legacy code + some minor performance improvements on the code
287
- * improvement for the defer for pagespeed option and ignore list
288
- * improvement for the loadCSS functionality
289
- * improvements for merging the google fonts option
290
-
291
- = 2.5.1 [2018.12.17] =
292
- * minor bug fix related to the font awesome option
293
- * added cache purging support to Breeze (Cloudways)
294
-
295
- = 2.5.0 [2018.12.13] =
296
- * bug fixes with the google fonts merging option
297
- * better default settings
298
-
299
- = 2.4.9 [2018.12.13] =
300
- * improved the google fonts merging to only allow existing google fonts (no more google fonts 404 errors due to the merging of the fonts)
301
- * downgraded PHP Minify to version 1.3.60 due to someone reporting a server error with the new version
302
-
303
- = 2.4.8 [2018.12.07] =
304
- * changed the file permissions for the generated cache directory and files, to match the uploads directory
305
- * added some extra checks for when PHP is running in safe mode
306
-
307
- = 2.4.7 [2018.12.06] =
308
- * added better default options after new install
309
- * added option to preserve FVM settings on deactivation
310
- * added an HTML comment to the frontend with the path and notification, when FVM cannot generate the cache files (ie: wrong file permissions)
311
- * added a notification on wp-admin when FVM cannot generate the cache files due to wrong permissions
312
- * added an option to force "chmod 0777" on FVM cache files, to avoid errors on servers that need more than "chmod 0755"
313
- * improved the google fonts merging option when the enqueue is faulty (ie: incomplete google font urls )
314
- * fixed the cache purge notifications not showing on wp-admin
315
-
316
- = 2.4.6 [2018.12.05] =
317
- * fixed a bug that could cause an error 500 if an enqueued CSS or JS file was not found
318
- * added brotli_static support, if you have the php-ext-brotli extension installed - https://github.com/kjdev/php-ext-brotli
319
-
320
- = 2.4.5 [2018.12.04] =
321
- * fixed a bug, where it may show a warning during cache purge on wp-admin
322
- * exclude footer FVM generated files from the HTTP header preload option (footer files are not in the critical path)
323
-
324
- = 2.4.4 [2018.12.03] =
325
- * added option to inline CSS in the footer, while still preserving the merged file in the header
326
- * improvements for the google fonts merging option
327
- * fixed double notification, when purging caches without a cache plugin
328
-
329
- = 2.4.3 [2018.12.03] =
330
- * added font-display, to ensure text remains visible during webfont load for inlined google fonts and font-awesome
331
- * added automatic removal of "source mappings" from JS files during merging or minification
332
- * added font awesome async and exclusion from PSI options, as well as merging and inlining when the url matches "font-awesome" (ie: cdnjs)
333
- * added automatically inline of small CSS code (up to 20KB) for any FVM CSS files in the footer (requests reduction)
334
- * added automatically inline of small CSS code (up to 20KB) for any FVM CSS files in the header, which are not of mediatype "all"
335
- * improved the cache purge button (no more redirect from frontend to backend)
336
- * updated PHP Minify and Path Converter from master
337
- * bug fixes related to "Exclude JS files from PSI" option
338
-
339
- = 2.4.2 [2018.11.29] =
340
- * fixed a bug with the "Exclude JS files in the ignore list from PSI" option (it wasn't excluding properly)
341
- * improved functionality with the "Exclude CSS files from PSI" option (now works with both inline and link stylesheets)
342
- * added an option to automatically preload the CSS and JS files generated by FVM (beware that some server caches like Pantheon may push old css and js files even after purging caches on FVM)
343
- * improved JavaScript minification
344
-
345
- = 2.4.1 [2018.11.27] =
346
- * better FVM default settings
347
-
348
- = 2.4.0 [2018.11.26] =
349
- * bug fixes related to the inline css option
350
- * changed a few options and added better descriptions to the admin options
351
-
352
- = 2.3.9 [2018.11.24] =
353
- * there was an error on my end while pushing 2.3.8... this is a version bump
354
-
355
- = 2.3.8 [2018.11.24] =
356
- * removed the dynamic protocol in favour of auto detecting HTTP(s)
357
- * fixed a bug where some CSS files were being removed with the latest CSS inline method
358
- * fixed a bug where the wrong file path was being generated for fonts and some static assets (when the plugin or theme, uses relative paths and the Inline CSS option is enabled)
359
-
360
- = 2.3.7 [2018.11.24] =
361
- * bug fixes and performance improvements
362
- * changed a few "options" location to other tabs
363
- * changed the "Inline CSS" method to inline each file right separatly, instead of merging it and then inline it (also improves compatibility)
364
- * added option to exclude JS and CSS files from PSI separatly (will load them Async, so make sure to read the instructions for each)
365
- * added a dedicated Critical Path CSS for "is_front_page" (more conditionals on the roadmap)
366
- * renamed some labels to be more explicit regardless of what they do
367
-
368
- = 2.3.6 [2018.11.20] =
369
- * added better header preloader and preconnect headers for css and js files
370
- * added support to automatically purge the cache enabler plugin
371
- * added option to reload the cache, while preserving the old static files
372
- * added better default options after first install
373
- * added and reorganized some options
374
- * added a new developers tab
375
- * removed the YUI compressor option (defaults to PHP Minify)
376
- * readme and screenshots update
377
- * tested up to WP 5.0 tag
378
-
379
- = 2.3.5 [2018.08.27] =
380
- * added thinkwithgoogle support for the defer for insights option
381
- * added HyperCache support, thanks to @erich_k4wp
382
- * added suport for wp_add_inline_script, thanks to @yuriipavlov
383
- * fixed a bug where some inlined css was missing if not attached to a parent css file
384
- * the ignore list now also supports CSS handle names (no JS yet)
385
- * updated PHP Minify from master on github
386
- * improved performance for gtmetrix tests
387
-
388
- = 2.3.4 [2018.06.30] =
389
- * bug fix
390
-
391
- = 2.3.3 [2018.06.30] =
392
- * added a check to prevent creating an empty js or css file
393
- * added an option to force the CDN option when using the defer for insights option
394
- * removed the alternative HTML minification method
395
- * minor performance and bug fixes
396
-
397
- = 2.3.2 [2018.06.03] =
398
- * added some compatibility fixes when merging and minifying JS files
399
- * added an option to enable an "FVM Purge" button on the admin bar
400
- * moved all large transients (cached css or js code) to temporary disk files to reduce the database load
401
-
402
- = 2.3.1 [2018.06.01] =
403
- * bug fixes and performance tweaks for the "fix page editors" option
404
-
405
- = 2.3.0 [2018.05.24] =
406
- * added wp cli support for purge cache (usage: wp fvm purge)
407
- * added wp cli support for getting the cache size (usage: wp fvm stats)
408
-
409
- = 2.2.9 [2018.05.23] =
410
- * fixed several bugs related to notices, css minification and file paths
411
- * added more pcre.backtrack_limit and pcre.recursion_limit to avoid blank pages on some servers
412
- * added new option to defer the ignore list for pagespeed
413
-
414
- = 2.2.8 [2018.01.21] =
415
- * rollback to 2.2.6 + bugfixes
416
-
417
- = 2.2.7 [2018.02.19] =
418
- * fixed a bug with the blacklist functionality
419
- * replaced PHP Minify with JSMin as the default JS minification
420
- * replaced PHP Minify with CSSTidy as the default CSS minification
421
- * replaced PHP Minify with Minify HTML as the default HTML minification
422
- * moved the intermediary cache from transients to disk files
423
-
424
- = 2.2.6 [2018.01.06] =
425
- * fixed a bug with html minification on some files that should not be minified
426
- * fixed a bug with the defer for pagespeed insights
427
- * updated the default blacklist (delete all entries and save again, to restore)
428
-
429
- = 2.2.5 [2017.12.18] =
430
- * fixed a fatal error reported on the support forum
431
-
432
- = 2.2.4 [2017.12.17] =
433
- * added custom cache directory and url support
434
- * cleaned up some old unused code
435
- * updated to the latest PHP Minify version
436
- * added better descriptions and labels for some options
437
- * added auto exclusion for js and css files when defer for pagespeed is enabled
438
-
439
- = 2.2.3 [2017.12.16] =
440
- * added robots.txt and ajax requests to the exclusion list
441
- * added some cdn fixes
442
- * added a new Pro tab
443
- * added a global critical path css section
444
- * added an option to dequeue all css files
445
- * added an option to load CSS Async with LoadCSS (experimental)
446
- * added an option to merge external resources together
447
- * added the possibility to manage the default ignore list (reported files that cause conflicts when merged)
448
- * added the possibility to manage the blacklist (files that cannot be merged with normal files)
449
- * added better descriptions and labels for some options
450
-
451
- = 2.2.2 [2017.11.12] =
452
- * fixed the current cdn option box
453
- * fixed some other minor bugs and notices
454
- * added option to remove all enqueued google fonts (so you can use your own CSS @fontfaces manually)
455
- * added font hinting for the "Inline Google Fonts CSS" option, so it looks better on Windows
456
-
457
- = 2.2.1 [2017.08.21] =
458
- * added unicode support to the alternative html minification option
459
- * improved some options description
460
-
461
- = 2.2.0 [2017.08.13] =
462
- * fixed some debug notices
463
- * fixed the alternative html minification option
464
-
465
- = 2.1.9 [2017.08.11] =
466
- * fixed a development bug
467
-
468
- = 2.1.8 [2017.08.11] =
469
- * fixed the html minification not working
470
- * added support for the cdn enabler plugin (force http or https method)
471
-
472
- = 2.1.7 [2017.07.17] =
473
- * improved html minification speed and response time to the first byte
474
- * fixed a random bug with the html minification library on large html pages (white pages)
475
- * added support for the "Nginx Cache" plugin purge, by Till Krüss
476
-
477
- = 2.1.6 [2017.07.17] =
478
- * fixed a php notice in debug mode
479
- * children styles (added with wp_add_inline_style) are now kept in order and merged together in place
480
- * added faqs for possible "visual composer" issues
481
-
482
- = 2.1.5 [2017.07.17] =
483
- * css bug fixes and performance improvements
484
- * added support for auto purging on WP Engine
485
-
486
- = 2.1.4 [2017.07.14] =
487
- * added compatibility with WP Engine.com and other providers that use a CNAME with their own subdomain
488
-
489
- = 2.1.3 [2017.07.11] =
490
- * updated PHP Minify for better compatibility
491
- * added an alternative mode for html minification (because PHP Minify sometimes breaks things)
492
- * css bug fixes and performance improvements
493
-
494
- = 2.1.2 [2017.06.27] =
495
- * fixed another error notice when debug mode is on
496
-
497
- = 2.1.1 [2017.06.24] =
498
- * fixed an error notice
499
-
500
- = 2.1.0 [2017.06.21] =
501
- * some performance improvements
502
-
503
- = 2.0.9 [2017.06.01] =
504
- * several bug and compatibility fixes
505
-
506
- = 2.0.8 [2017.05.28] =
507
- * fixed a notice alert on php for undefined function
508
-
509
- = 2.0.7 [2017.05.28] =
510
- * added support for auto purging of LiteSpeed Cache
511
- * added support for auto purging on Godaddy Managed WordPress Hosting
512
- * added the ie only blacklist, wich doesn't split merged files anymore, like the ignore list does
513
- * added auto updates for the default ignore list and blacklist from our api once every 24 hours
514
- * added cdn rewrite support for generated css and js files only
515
- * removed url protocol rewrites and set default to dynamic "//" protocols
516
- * updated the faqs
517
-
518
- = 2.0.6 [2017.05.22] =
519
- * added a "Troubleshooting" option to fix frontend editors for admin and editor level users
520
- * updated the faqs
521
-
522
- = 2.0.5 [2017.05.15] =
523
- * fixed preserving the SVG namespace definition "http://www.w3.org/2000/svg" used on Bootstrap 4
524
- * added some exclusions for Thrive and Visual Composer frontend preview and editors
525
-
526
- = 2.0.4 [2017.05.15] =
527
- * improved compatibility with Windows operating systems
528
-
529
- = 2.0.3 [2017.05.15] =
530
- * fixed an "undefined" notice
531
-
532
- = 2.0.2 [2017.05.14] =
533
- * improved compatibility on JS merging and minification
534
-
535
- = 2.0.1 [2017.05.11] =
536
- * fixed missing file that caused some errors on new installs
537
-
538
  = 2.0.0 [2017.05.11] =
539
- * moved the css and js merging base code back to 1.4.3 because it was better for compatibility
540
- * removed the font awesome optimization tweaks because people have multiple versions and requirements (but duplicate css and js files are always removed)
541
- * added all usable improvements and features up to 1.5.2, except for the "Defer CSS" and "Critical Path" features (will consider for the future)
542
- * added info to the FAQ's about our internal blacklist for known CSS or JS files that are always ignored by the plugin
543
- * changed the way CSS and JS files are fetched and merged to make use of the new improvements that were supposed to be on 1.4.4+
544
- * changed the advanced settings tab back to the settings page for quicker selection of options by the advanced users
545
- * changed the cache purging option to also delete our plugin transients via the API, rather than just let them expire
546
- * changed the "Inline all CSS" option into header and footer separately
547
 
548
  = 1.0 [2016.06.19] =
549
  * Initial Release
1
  === Fast Velocity Minify ===
2
  Contributors: Alignak
3
  Tags: PHP Minify, Lighthouse, GTmetrix, Pingdom, Pagespeed, CSS Merging, JS Merging, CSS Minification, JS Minification, Speed Optimization, HTML Minification, Performance, Optimization, Speed, Fast
4
+ Requires at least: 4.7
5
+ Requires PHP: 5.6
6
+ Stable tag: 2.7.7
7
+ Tested up to: 5.3
8
  License: GPLv3 or later
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
198
 
199
  == Changelog ==
200
 
201
+ = 2.7.7 [2019.10.15] =
202
+ * added a capability check on the status page ajax request, which could show the cache file path when debug mode is enabled to subscribers
203
+
204
+ = 2.7.6 [2019.10.10] =
205
+ * bug fix release
206
+
207
+ = 2.7.5 [2019.10.09] =
208
+ * added support to "after" scripts added via wp_add_inline_script
209
+
210
+ = 2.7.4 [2019.08.18] =
211
+ * change to open JS/CSS files suspected of having PHP code via HTTP request, instead of reading the file directly from disk
212
+
213
  = 2.7.3 [2019.07.29] =
214
  * Beaver Builder compatibility fix
215
 
265
  * improved compatibility with page cache plugins and servers (purging FVM without purging the page cache should be fine now)
266
  * added a daily cronjob, to delete public invalid cache files that are older than 3 months (your page cache should expire before this)
267
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
268
  = 2.0.0 [2017.05.11] =
269
+ * version 2.x branch release
 
 
 
 
 
 
 
270
 
271
  = 1.0 [2016.06.19] =
272
  * Initial Release