ShortPixel Image Optimizer - Version 4.22.7

Version Description

Release date January 17th, 2022 * Fix: switched all requests to the API to https to avoid insecure warnings; * Fix: certain excludes by path were seen as regex-only and weren't processed correctly; * Fix: the upgrade pop-up was not considering properly AVIF & WebP when proposing upgrade options; * Fix: in certain cases, on Custom Media, there were some PHP Notices related to backups; * Fix: AVIF files weren't removed when deleting an image from the Media Library; * Fix: when the option to optimize images added in the front-end was enabled, some unnecessary calls to the backend were made in some cases; * Language: 0 new string added, 0 updated, 0 fuzzed, and 0 obsoleted.

Download this release

Release Info

Developer petredobrescu
Plugin Icon 128x128 ShortPixel Image Optimizer
Version 4.22.7
Comparing to
See all releases

Code changes from version 4.22.6 to 4.22.7

class/Controller/AdminNoticesController.php CHANGED
@@ -583,7 +583,7 @@ class AdminNoticesController extends \ShortPixel\Controller
583
  wp_enqueue_style('short-pixel-modal.min.css', plugins_url('/res/css/short-pixel-modal.min.css',SHORTPIXEL_PLUGIN_FILE), array(), SHORTPIXEL_IMAGE_OPTIMISER_VERSION);
584
 
585
  $message = '<div id="shortPixelProposeUpgradeShade" class="sp-modal-shade" style="display:none;">
586
- <div id="shortPixelProposeUpgrade" class="shortpixel-modal shortpixel-hide" style="min-width:610px;margin-left:-305px;">
587
  <div class="sp-modal-title">
588
  <button type="button" class="sp-close-upgrade-button" onclick="ShortPixel.closeProposeUpgrade()">&times;</button>' .
589
  __('Upgrade your ShortPixel account', 'shortpixel-image-optimiser') . '
583
  wp_enqueue_style('short-pixel-modal.min.css', plugins_url('/res/css/short-pixel-modal.min.css',SHORTPIXEL_PLUGIN_FILE), array(), SHORTPIXEL_IMAGE_OPTIMISER_VERSION);
584
 
585
  $message = '<div id="shortPixelProposeUpgradeShade" class="sp-modal-shade" style="display:none;">
586
+ <div id="shortPixelProposeUpgrade" class="shortpixel-modal shortpixel-hide" style="min-width:650px;margin-left:-305px;">
587
  <div class="sp-modal-title">
588
  <button type="button" class="sp-close-upgrade-button" onclick="ShortPixel.closeProposeUpgrade()">&times;</button>' .
589
  __('Upgrade your ShortPixel account', 'shortpixel-image-optimiser') . '
class/Controller/View/OtherMediaViewController.php CHANGED
@@ -94,11 +94,11 @@ class OtherMediaViewController extends \ShortPixel\Controller
94
 
95
  'retry' => array('action' => 'optimize', '_wpnonce' => $nonce, 'text' => __('Retry','shortpixel-image-optimiser'), 'class' => ''),
96
 
97
- 'redolossless' => array('action' => 'redo', '_wpnonce' => $nonce, 'type' => 'lossless', 'text' => __('Re-optimize lossless','shortpixel-image-optimiser')),
98
 
99
- 'redolossy' => array('action' => 'redo', '_wpnonce' => $nonce, 'type' => 'lossy', 'text' => __('Re-optimize lossy','shortpixel-image-optimiser')),
100
 
101
- 'redoglossy' => array('action' => 'redo', '_wpnonce' => $nonce, 'type' => 'glossy', 'text' => __('Re-optimize glossy','shortpixel-image-optimiser')),
102
 
103
  'quota' => array('action' => 'check-quota', '_wpnonce' => $nonce, 'text' =>__('Check quota','shortpixel-image-optimiser'), 'class' => 'button button-smaller'),
104
  'extend-quota' => array('link' => '<a href="https://shortpixel.com/login/' . $keyControl->getKeyForDisplay() . '" target="_blank" class="button-primary button-smaller">' . __('Extend Quota','shortpixel-image-optimiser') . '</a>'),
@@ -110,7 +110,7 @@ class OtherMediaViewController extends \ShortPixel\Controller
110
  'restore' => array('action' => 'restore', '_wpnonce' => $nonce, 'text' => __('Restore Backup','shortpixel-image-optimiser')),
111
 
112
  'compare' => array('link' => '<a href="javascript:ShortPixel.loadComparer(\'C-%%item_id%%\');">%%text%%</a>',
113
- 'text' => __('Compare', 'shortpixel-image-optimiser')),
114
  'view' => array('link' => '<a href="%%item_url%%" target="_blank">%%text%%</a>', 'text' => __('View','shortpixel-image-optimiser')),
115
  /*'no-key' => array('link' => __('Invalid API Key', 'shortpixel-image-optimiser') . ' <a href="options-general.php?page=wp-shortpixel-settings" class="text-link">%%text%%</a>', 'text' => __('Check your Settings','shortpixel-image-optimiser') ), */
116
 
@@ -514,10 +514,11 @@ class OtherMediaViewController extends \ShortPixel\Controller
514
  }
515
  elseif ( intval($item->status) == \ShortPixelMeta::FILE_STATUS_SUCCESS)
516
  {
517
- $thisActions[] = $this->actions['compare'];
518
 
519
  if ($file->hasBackup())
520
  {
 
521
  switch($item->compression_type) {
522
  case 2:
523
  $actionsEnabled['redolossy'] = $actionsEnabled['redolossless'] = true;
@@ -538,7 +539,8 @@ class OtherMediaViewController extends \ShortPixel\Controller
538
  }
539
  }
540
 
541
-
 
542
  if (count($thisActions) == 1)
543
  $thisActions[0]['class'] .= 'button-smaller button button-primary';
544
 
94
 
95
  'retry' => array('action' => 'optimize', '_wpnonce' => $nonce, 'text' => __('Retry','shortpixel-image-optimiser'), 'class' => ''),
96
 
97
+ 'redolossless' => array('action' => 'redo', '_wpnonce' => $nonce, 'type' => 'lossless', 'text' => __('Re-optimize lossless','shortpixel-image-optimiser'), 'class' => ''),
98
 
99
+ 'redolossy' => array('action' => 'redo', '_wpnonce' => $nonce, 'type' => 'lossy', 'text' => __('Re-optimize lossy','shortpixel-image-optimiser'), 'class' => ''),
100
 
101
+ 'redoglossy' => array('action' => 'redo', '_wpnonce' => $nonce, 'type' => 'glossy', 'text' => __('Re-optimize glossy','shortpixel-image-optimiser'), 'class' => ''),
102
 
103
  'quota' => array('action' => 'check-quota', '_wpnonce' => $nonce, 'text' =>__('Check quota','shortpixel-image-optimiser'), 'class' => 'button button-smaller'),
104
  'extend-quota' => array('link' => '<a href="https://shortpixel.com/login/' . $keyControl->getKeyForDisplay() . '" target="_blank" class="button-primary button-smaller">' . __('Extend Quota','shortpixel-image-optimiser') . '</a>'),
110
  'restore' => array('action' => 'restore', '_wpnonce' => $nonce, 'text' => __('Restore Backup','shortpixel-image-optimiser')),
111
 
112
  'compare' => array('link' => '<a href="javascript:ShortPixel.loadComparer(\'C-%%item_id%%\');">%%text%%</a>',
113
+ 'text' => __('Compare', 'shortpixel-image-optimiser'), 'class' => ''),
114
  'view' => array('link' => '<a href="%%item_url%%" target="_blank">%%text%%</a>', 'text' => __('View','shortpixel-image-optimiser')),
115
  /*'no-key' => array('link' => __('Invalid API Key', 'shortpixel-image-optimiser') . ' <a href="options-general.php?page=wp-shortpixel-settings" class="text-link">%%text%%</a>', 'text' => __('Check your Settings','shortpixel-image-optimiser') ), */
116
 
514
  }
515
  elseif ( intval($item->status) == \ShortPixelMeta::FILE_STATUS_SUCCESS)
516
  {
517
+
518
 
519
  if ($file->hasBackup())
520
  {
521
+ $thisActions[] = $this->actions['compare'];
522
  switch($item->compression_type) {
523
  case 2:
524
  $actionsEnabled['redolossy'] = $actionsEnabled['redolossless'] = true;
539
  }
540
  }
541
 
542
+
543
+
544
  if (count($thisActions) == 1)
545
  $thisActions[0]['class'] .= 'button-smaller button button-primary';
546
 
class/wp-short-pixel.php CHANGED
@@ -8,6 +8,8 @@ use ShortPixel\Model\ImageModel as ImageModel;
8
 
9
  use ShortPixel\Controller\AdminNoticesController as AdminNoticesController;
10
 
 
 
11
  class WPShortPixel {
12
 
13
  const BULK_EMPTY_QUEUE = 0;
@@ -2965,6 +2967,10 @@ class WPShortPixel {
2965
 
2966
  $stats = $this->countAllIfNeeded($this->_settings->currentStats, 300);
2967
 
 
 
 
 
2968
  //$proposal = wp_remote_post($this->_settings->httpProto . "://shortpixel.com/propose-upgrade-frag", array(
2969
  //echo("<div style='color: #f50a0a; position: relative; top: -59px; right: -255px; height: 0px; font-weight: bold; font-size: 1.2em;'>atentie de trecut pe live propose-upgrade</div>");
2970
  $proposal = wp_remote_post("https://shortpixel.com/propose-upgrade-frag", array(
@@ -2993,6 +2999,8 @@ class WPShortPixel {
2993
  'm4' => $stats['totalM4'],
2994
  'filesTodo' => $stats['totalFiles'] - $stats['totalProcessedFiles'],
2995
  'estimated' => $this->_settings->optimizeUnlisted || $this->_settings->optimizeRetina ? 'true' : 'false',
 
 
2996
  /* */
2997
  'iconsUrl' => base64_encode(wpSPIO()->plugin_url('res/img'))
2998
  ))),
@@ -3225,8 +3233,8 @@ class WPShortPixel {
3225
  str_replace('https://', 'http://', $requestURL) :
3226
  str_replace('http://', 'https://', $requestURL);
3227
  // add or remove the sslverify
3228
- if($this->_settings->httpProto === 'http') {
3229
- $args['sslverify'] = false;
3230
  } else {
3231
  unset($args['sslverify']);
3232
  }
@@ -3680,11 +3688,14 @@ Log::addDebug('GetQuotaInformation Result ', $dataArray);
3680
  $pos = strrpos($path, ".");
3681
  $pathFile = $fs->getFile($path);
3682
  if ($pos !== false) {
3683
- //$webpPath = substr($path, 0, $pos) . ".webp";
3684
- //echo($webpPath . "<br>");
3685
  $file = $fs->getFile(substr($path, 0, $pos) . ".webp");
3686
  $file->delete();
 
3687
  $file = $fs->getFile(substr($path, 0, $pos) . "@2x.webp");
 
 
 
3688
  $file->delete();
3689
 
3690
  // Check for double extension. Everything is going, so delete if it's not us anyhow.
@@ -3824,34 +3835,41 @@ Log::addDebug('GetQuotaInformation Result ', $dataArray);
3824
  }
3825
 
3826
  static public function matchExcludePattern($target, $pattern) {
3827
- if(strlen($pattern) == 0) // can happen on faulty input in settings.
3828
  return false;
3829
 
3830
  $first = substr($pattern, 0,1);
3831
 
 
 
 
 
3832
  if ($first == '/')
3833
  {
3834
  if (@preg_match($pattern, false) !== false)
3835
  {
3836
- $m = preg_match($pattern, $target);
3837
- if ($m !== false && $m > 0) // valid regex, more hits than zero
3838
- {
3839
- return true;
3840
- }
3841
- }
3842
- }
3843
- else
3844
- {
3845
  if (strpos($target, $pattern) !== false)
3846
  {
3847
  return true;
3848
  }
3849
- }
 
 
 
 
 
 
 
 
 
3850
  return false;
3851
 
3852
- /*return (
3853
- $pattern[0] == '/' && @preg_match($pattern, false) !== false && preg_match($pattern, $target) //search as regex pattern if starts with a / and regex is valid
3854
- || $pattern[0] != '/' && strpos($target, $pattern) !== false ); //search as a substring if not */
3855
  }
3856
 
3857
  //return an array with URL(s) and PATH(s) for this file
8
 
9
  use ShortPixel\Controller\AdminNoticesController as AdminNoticesController;
10
 
11
+ use \Exception as Exception;
12
+
13
  class WPShortPixel {
14
 
15
  const BULK_EMPTY_QUEUE = 0;
2967
 
2968
  $stats = $this->countAllIfNeeded($this->_settings->currentStats, 300);
2969
 
2970
+ $webpActive = ($this->_settings->createWebp) ? true : false;
2971
+ $avifActive = ($this->_settings->createAvif) ? true : false;
2972
+
2973
+
2974
  //$proposal = wp_remote_post($this->_settings->httpProto . "://shortpixel.com/propose-upgrade-frag", array(
2975
  //echo("<div style='color: #f50a0a; position: relative; top: -59px; right: -255px; height: 0px; font-weight: bold; font-size: 1.2em;'>atentie de trecut pe live propose-upgrade</div>");
2976
  $proposal = wp_remote_post("https://shortpixel.com/propose-upgrade-frag", array(
2999
  'm4' => $stats['totalM4'],
3000
  'filesTodo' => $stats['totalFiles'] - $stats['totalProcessedFiles'],
3001
  'estimated' => $this->_settings->optimizeUnlisted || $this->_settings->optimizeRetina ? 'true' : 'false',
3002
+ 'webp' => $webpActive,
3003
+ 'avif' => $avifActive,
3004
  /* */
3005
  'iconsUrl' => base64_encode(wpSPIO()->plugin_url('res/img'))
3006
  ))),
3233
  str_replace('https://', 'http://', $requestURL) :
3234
  str_replace('http://', 'https://', $requestURL);
3235
  // add or remove the sslverify
3236
+ if($this->_settings->httpProto === 'https') {
3237
+ $args['sslverify'] = apply_filters('shortpixel/system/sslverify', true);
3238
  } else {
3239
  unset($args['sslverify']);
3240
  }
3688
  $pos = strrpos($path, ".");
3689
  $pathFile = $fs->getFile($path);
3690
  if ($pos !== false) {
3691
+ // Webp single extension
 
3692
  $file = $fs->getFile(substr($path, 0, $pos) . ".webp");
3693
  $file->delete();
3694
+ // Webp Retina @2x.
3695
  $file = $fs->getFile(substr($path, 0, $pos) . "@2x.webp");
3696
+ $file->delete();
3697
+ // Avif single extension
3698
+ $file = $fs->getFile(substr($path, 0, $pos) . ".avif");
3699
  $file->delete();
3700
 
3701
  // Check for double extension. Everything is going, so delete if it's not us anyhow.
3835
  }
3836
 
3837
  static public function matchExcludePattern($target, $pattern) {
3838
+ if(strlen($pattern) == 0) // can happen on faulty input in settings.
3839
  return false;
3840
 
3841
  $first = substr($pattern, 0,1);
3842
 
3843
+ $matchRegEx = false;
3844
+
3845
+ // Check for RegEx.
3846
+ // if pattern is not proper regex, just try strpos. It can be a path like /sites/example.com/etc
3847
  if ($first == '/')
3848
  {
3849
  if (@preg_match($pattern, false) !== false)
3850
  {
3851
+ $matchRegEx = true;
3852
+ }
3853
+ }
3854
+
3855
+ if (! $matchRegEx)
3856
+ {
 
 
 
3857
  if (strpos($target, $pattern) !== false)
3858
  {
3859
  return true;
3860
  }
3861
+ }
3862
+ else
3863
+ {
3864
+ $m = preg_match($pattern, $target);
3865
+ if ($m !== false && $m > 0) // valid regex, more hits than zero
3866
+ {
3867
+ return true;
3868
+ }
3869
+ }
3870
+
3871
  return false;
3872
 
 
 
 
3873
  }
3874
 
3875
  //return an array with URL(s) and PATH(s) for this file
readme.txt CHANGED
@@ -2,9 +2,9 @@
2
  Contributors: ShortPixel
3
  Tags: convert webp, optimize images, image optimization, resize, compressor, image, avif, compression, optimize, image optimiser, image compression, compress pdf, compress jpg, compress png, performance, photography, smush, scale, pictures
4
  Requires at least: 4.2.0
5
- Tested up to: 5.8
6
  Requires PHP: 5.6
7
- Stable tag: 4.22.6
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -17,7 +17,7 @@ Speed up your website & boost your SEO by compressing old & new images and PDFs.
17
  Increase your website's SEO ranking, number of visitors and ultimately your sales by optimising any image or PDF document on your website.
18
  ShortPixel is an easy to use, lightweight, install-and-forget-about-it <a href="https://shortpixel.com" target="_blank">image optimization</a> plugin that can compress all your past images and PDF documents with a single click. New images are automatically resized/rescaled and optimized on the fly, in the background. It's also compatible with any gallery, slider or ecommerce plugin.
19
 
20
- **Ready for a quick DEMO? Test our plugin <a href="https://wpsandbox.net/" target="_blank">here</a>.**
21
  Or you can create a staging copy of your site using <a href="https://wp-staging.com/" target="_blank">WP Staging</a> and test it there.
22
 
23
  Short Pixel uses minimal resources and works well with any shared, cloud, VPS or dedicated web hosting. It can optimize any image you have on your website even the images that aren't listed in Media Library like those in galleries like <a href="https://wordpress.org/plugins/nextgen-gallery/" target="_blank">NextGEN</a>, <a href="https://wordpress.org/plugins/modula-best-grid-gallery/" target="_blank">Modula</a> or added directly via FTP!
@@ -314,6 +314,16 @@ Alternatively, you can use this filter in your theme's functions.php file:
314
 
315
  == Changelog ==
316
 
 
 
 
 
 
 
 
 
 
 
317
  = 4.22.6 =
318
  Release date October 11th, 2021
319
  * Fix: the plugin is now checking for the `UPLOADS` constant when building the paths on MultiSite installs;
2
  Contributors: ShortPixel
3
  Tags: convert webp, optimize images, image optimization, resize, compressor, image, avif, compression, optimize, image optimiser, image compression, compress pdf, compress jpg, compress png, performance, photography, smush, scale, pictures
4
  Requires at least: 4.2.0
5
+ Tested up to: 5.9
6
  Requires PHP: 5.6
7
+ Stable tag: 4.22.7
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
17
  Increase your website's SEO ranking, number of visitors and ultimately your sales by optimising any image or PDF document on your website.
18
  ShortPixel is an easy to use, lightweight, install-and-forget-about-it <a href="https://shortpixel.com" target="_blank">image optimization</a> plugin that can compress all your past images and PDF documents with a single click. New images are automatically resized/rescaled and optimized on the fly, in the background. It's also compatible with any gallery, slider or ecommerce plugin.
19
 
20
+ **Ready for a quick DEMO? Test our plugin <a href="https://demo.tastewp.com/shortpixel-image-optimiser" target="_blank">here</a> and <a href="https://wpsandbox.net/" target="_blank">here</a>.**
21
  Or you can create a staging copy of your site using <a href="https://wp-staging.com/" target="_blank">WP Staging</a> and test it there.
22
 
23
  Short Pixel uses minimal resources and works well with any shared, cloud, VPS or dedicated web hosting. It can optimize any image you have on your website even the images that aren't listed in Media Library like those in galleries like <a href="https://wordpress.org/plugins/nextgen-gallery/" target="_blank">NextGEN</a>, <a href="https://wordpress.org/plugins/modula-best-grid-gallery/" target="_blank">Modula</a> or added directly via FTP!
314
 
315
  == Changelog ==
316
 
317
+ = 4.22.7 =
318
+ Release date January 17th, 2022
319
+ * Fix: switched all requests to the API to https to avoid insecure warnings;
320
+ * Fix: certain excludes by path were seen as regex-only and weren't processed correctly;
321
+ * Fix: the upgrade pop-up was not considering properly AVIF & WebP when proposing upgrade options;
322
+ * Fix: in certain cases, on Custom Media, there were some PHP Notices related to backups;
323
+ * Fix: AVIF files weren't removed when deleting an image from the Media Library;
324
+ * Fix: when the option to optimize images added in the front-end was enabled, some unnecessary calls to the backend were made in some cases;
325
+ * Language: 0 new string added, 0 updated, 0 fuzzed, and 0 obsoleted.
326
+
327
  = 4.22.6 =
328
  Release date October 11th, 2021
329
  * Fix: the plugin is now checking for the `UPLOADS` constant when building the paths on MultiSite installs;
res/css/short-pixel-modal.css CHANGED
@@ -27,6 +27,8 @@ div.shortpixel-modal {
27
  div.shortpixel-modal .sp-close-button, div.shortpixel-modal .sp-close-upgrade-button {
28
  float: right;
29
  margin-top: 0px;
 
 
30
  background: transparent;
31
  border: none;
32
  font-size: 22px;
27
  div.shortpixel-modal .sp-close-button, div.shortpixel-modal .sp-close-upgrade-button {
28
  float: right;
29
  margin-top: 0px;
30
+ padding-top: 6px;
31
+ padding-bottom: 10px;
32
  background: transparent;
33
  border: none;
34
  font-size: 22px;
res/css/short-pixel-modal.min.css CHANGED
@@ -1 +1 @@
1
- div.sp-modal-shade{display:none;position:fixed;z-index:10;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000;background-color:rgba(0,0,0,.4)}div.shortpixel-modal{background-color:#fefefe;padding:20px;border:1px solid #888;width:30%;min-width:300px;z-index:100;position:fixed;top:10%;left:50%;max-height:90%;overflow-y:auto}div.shortpixel-modal .sp-close-button,div.shortpixel-modal .sp-close-upgrade-button{float:right;margin-top:0;background:0 0;border:none;font-size:22px;line-height:10px;cursor:pointer}div.shortpixel-modal .sptw-modal-spinner{background-image:url(../img/spinner2.gif);background-repeat:no-repeat;background-position:center}div.sp-modal-title{font-size:22px}div.sp-modal-body{margin-top:20px}
1
+ div.sp-modal-shade{display:none;position:fixed;z-index:10;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000;background-color:rgba(0,0,0,.4)}div.shortpixel-modal{background-color:#fefefe;padding:20px;border:1px solid #888;width:30%;min-width:300px;z-index:100;position:fixed;top:10%;left:50%;max-height:90%;overflow-y:auto}div.shortpixel-modal .sp-close-button,div.shortpixel-modal .sp-close-upgrade-button{float:right;margin-top:0;padding-top:6px;padding-bottom:10px;background:0 0;border:none;font-size:22px;line-height:10px;cursor:pointer}div.shortpixel-modal .sptw-modal-spinner{background-image:url(../img/spinner2.gif);background-repeat:no-repeat;background-position:center}div.sp-modal-title{font-size:22px}div.sp-modal-body{margin-top:20px}
shortpixel-plugin.php CHANGED
@@ -145,7 +145,7 @@ class ShortPixelPlugin
145
  }
146
  add_action('wp_handle_replace', array($admin,'handleReplaceHook'));
147
 
148
- if($this->settings()->autoMediaLibrary) {
149
 
150
  add_filter( 'wp_generate_attachment_metadata', array($admin,'handleImageUploadHook'), 10, 2 );
151
  // @todo Document what plugin does mpp
145
  }
146
  add_action('wp_handle_replace', array($admin,'handleReplaceHook'));
147
 
148
+ if($this->settings()->autoMediaLibrary && $this->env()->is_front === false) {
149
 
150
  add_filter( 'wp_generate_attachment_metadata', array($admin,'handleImageUploadHook'), 10, 2 );
151
  // @todo Document what plugin does mpp
shortpixel_api.php CHANGED
@@ -46,7 +46,7 @@ class ShortPixelAPI {
46
  'method' => 'POST',
47
  'timeout' => 15,
48
  'redirection' => 3,
49
- 'sslverify' => false,
50
  'httpversion' => '1.0',
51
  'blocking' => $Blocking,
52
  'headers' => array(),
46
  'method' => 'POST',
47
  'timeout' => 15,
48
  'redirection' => 3,
49
+ 'sslverify' => apply_filters('shortpixel/system/sslverify', true),
50
  'httpversion' => '1.0',
51
  'blocking' => $Blocking,
52
  'headers' => array(),
wp-shortpixel.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: ShortPixel Image Optimizer
4
  * Plugin URI: https://shortpixel.com/
5
  * Description: ShortPixel optimizes images automatically, while guarding the quality of your images. Check your <a href="options-general.php?page=wp-shortpixel-settings" target="_blank">Settings &gt; ShortPixel</a> page on how to start optimizing your image library and make your website load faster.
6
- * Version: 4.22.6
7
  * Author: ShortPixel
8
  * Author URI: https://shortpixel.com
9
  * GitHub Plugin URI: https://github.com/short-pixel-optimizer/shortpixel-image-optimiser
@@ -33,7 +33,7 @@ define('SHORTPIXEL_PLUGIN_DIR', __DIR__);
33
 
34
  //define('SHORTPIXEL_AFFILIATE_CODE', '');
35
 
36
- define('SHORTPIXEL_IMAGE_OPTIMISER_VERSION', "4.22.6");
37
  define('SHORTPIXEL_MAX_TIMEOUT', 10);
38
  define('SHORTPIXEL_VALIDATE_MAX_TIMEOUT', 15);
39
  define('SHORTPIXEL_BACKUP', 'ShortpixelBackups');
3
  * Plugin Name: ShortPixel Image Optimizer
4
  * Plugin URI: https://shortpixel.com/
5
  * Description: ShortPixel optimizes images automatically, while guarding the quality of your images. Check your <a href="options-general.php?page=wp-shortpixel-settings" target="_blank">Settings &gt; ShortPixel</a> page on how to start optimizing your image library and make your website load faster.
6
+ * Version: 4.22.7
7
  * Author: ShortPixel
8
  * Author URI: https://shortpixel.com
9
  * GitHub Plugin URI: https://github.com/short-pixel-optimizer/shortpixel-image-optimiser
33
 
34
  //define('SHORTPIXEL_AFFILIATE_CODE', '');
35
 
36
+ define('SHORTPIXEL_IMAGE_OPTIMISER_VERSION', "4.22.7");
37
  define('SHORTPIXEL_MAX_TIMEOUT', 10);
38
  define('SHORTPIXEL_VALIDATE_MAX_TIMEOUT', 15);
39
  define('SHORTPIXEL_BACKUP', 'ShortpixelBackups');