Query Monitor - Version 3.10.1

Version Description

Download this release

Release Info

Developer johnbillion
Plugin Icon 128x128 Query Monitor
Version 3.10.1
Comparing to
See all releases

Code changes from version 3.10.0 to 3.10.1

collectors/languages.php CHANGED
@@ -141,6 +141,10 @@ class QM_Collector_Languages extends QM_Collector {
141
  return $mofile;
142
  }
143
 
 
 
 
 
144
  $trace = new QM_Backtrace( array(
145
  'ignore_hook' => array(
146
  current_filter() => true,
@@ -157,7 +161,7 @@ class QM_Collector_Languages extends QM_Collector {
157
 
158
  $found = file_exists( $mofile ) ? filesize( $mofile ) : false;
159
 
160
- $this->data['languages'][ $domain ][] = array(
161
  'caller' => $trace->get_caller(),
162
  'domain' => $domain,
163
  'file' => $mofile,
141
  return $mofile;
142
  }
143
 
144
+ if ( isset( $this->data['languages'][ $domain ][ $mofile ] ) ) {
145
+ return $mofile;
146
+ }
147
+
148
  $trace = new QM_Backtrace( array(
149
  'ignore_hook' => array(
150
  current_filter() => true,
161
 
162
  $found = file_exists( $mofile ) ? filesize( $mofile ) : false;
163
 
164
+ $this->data['languages'][ $domain ][ $mofile ] = array(
165
  'caller' => $trace->get_caller(),
166
  'domain' => $domain,
167
  'file' => $mofile,
dispatchers/Html.php CHANGED
@@ -46,7 +46,10 @@ class QM_Dispatcher_Html extends QM_Dispatcher {
46
  add_action( 'wp_ajax_qm_editor_set', array( $this, 'ajax_editor_set' ) );
47
  add_action( 'wp_ajax_nopriv_qm_auth_off', array( $this, 'ajax_off' ) );
48
 
49
- add_action( 'shutdown', array( $this, 'dispatch' ), PHP_INT_MAX );
 
 
 
50
 
51
  add_action( 'wp_footer', array( $this, 'action_footer' ) );
52
  add_action( 'admin_footer', array( $this, 'action_footer' ) );
46
  add_action( 'wp_ajax_qm_editor_set', array( $this, 'ajax_editor_set' ) );
47
  add_action( 'wp_ajax_nopriv_qm_auth_off', array( $this, 'ajax_off' ) );
48
 
49
+ // 9 is a magic number, it's the latest we can realistically use due to plugins
50
+ // which call `fastcgi_finish_request()` in a `shutdown` callback hooked on the
51
+ // default priority of 10, and QM needs to dispatch its output before those.
52
+ add_action( 'shutdown', array( $this, 'dispatch' ), 9 );
53
 
54
  add_action( 'wp_footer', array( $this, 'action_footer' ) );
55
  add_action( 'admin_footer', array( $this, 'action_footer' ) );
query-monitor.php CHANGED
@@ -10,7 +10,7 @@
10
  *
11
  * Plugin Name: Query Monitor
12
  * Description: The developer tools panel for WordPress.
13
- * Version: 3.10.0
14
  * Plugin URI: https://querymonitor.com/
15
  * Author: John Blackbourn
16
  * Author URI: https://querymonitor.com/
@@ -33,7 +33,7 @@ if ( ! defined( 'ABSPATH' ) ) {
33
  exit;
34
  }
35
 
36
- define( 'QM_VERSION', '3.10.0' );
37
 
38
  $qm_dir = dirname( __FILE__ );
39
 
10
  *
11
  * Plugin Name: Query Monitor
12
  * Description: The developer tools panel for WordPress.
13
+ * Version: 3.10.1
14
  * Plugin URI: https://querymonitor.com/
15
  * Author: John Blackbourn
16
  * Author URI: https://querymonitor.com/
33
  exit;
34
  }
35
 
36
+ define( 'QM_VERSION', '3.10.1' );
37
 
38
  $qm_dir = dirname( __FILE__ );
39
 
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: johnbillion
3
  Tags: debug, debug-bar, debugging, development, developer, performance, profiler, queries, query monitor, rest-api
4
  Requires at least: 3.7
5
  Tested up to: 6.0
6
- Stable tag: 3.10.0
7
  License: GPLv2 or later
8
  Requires PHP: 5.6
9
  Donate link: https://johnblackbourn.com/donations/
@@ -141,6 +141,12 @@ In addition, if you like the plugin then I'd love for you to [leave a review](ht
141
 
142
  ## Changelog ##
143
 
 
 
 
 
 
 
144
  ### 3.10.0 ###
145
 
146
  * Adds information about the current language on the Languages panel
@@ -411,7 +417,3 @@ New features! Read about them here: https://querymonitor.com/blog/2019/02/new-fe
411
  * Coding standards.
412
  * Layout tweaks.
413
 
414
-
415
- ### 3.2.1 ###
416
-
417
- * Fix a fatal error for < 5.0 sites that are not running the Gutenberg plugin.
3
  Tags: debug, debug-bar, debugging, development, developer, performance, profiler, queries, query monitor, rest-api
4
  Requires at least: 3.7
5
  Tested up to: 6.0
6
+ Stable tag: 3.10.1
7
  License: GPLv2 or later
8
  Requires PHP: 5.6
9
  Donate link: https://johnblackbourn.com/donations/
141
 
142
  ## Changelog ##
143
 
144
+ ### 3.10.1 ###
145
+
146
+ * Prevents logging duplicate entries for multiple calls to load the same translation file
147
+ * Brings the dispatcher priority back down to 9 for maximum compatibility with other plugins that use a shutdown handler
148
+
149
+
150
  ### 3.10.0 ###
151
 
152
  * Adds information about the current language on the Languages panel
417
  * Coding standards.
418
  * Layout tweaks.
419
 
 
 
 
 
vendor/autoload.php CHANGED
@@ -9,4 +9,4 @@ if (PHP_VERSION_ID < 50600) {
9
 
10
  require_once __DIR__ . '/composer/autoload_real.php';
11
 
12
- return ComposerAutoloaderInit40cfb9a65b1f406b0b0dc047560cd137::getLoader();
9
 
10
  require_once __DIR__ . '/composer/autoload_real.php';
11
 
12
+ return ComposerAutoloaderInitd4d7d7d11152077b8234a5ecb185a7c0::getLoader();
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit40cfb9a65b1f406b0b0dc047560cd137
6
  {
7
  private static $loader;
8
 
@@ -24,12 +24,12 @@ class ComposerAutoloaderInit40cfb9a65b1f406b0b0dc047560cd137
24
 
25
  require __DIR__ . '/platform_check.php';
26
 
27
- spl_autoload_register(array('ComposerAutoloaderInit40cfb9a65b1f406b0b0dc047560cd137', 'loadClassLoader'), true, true);
28
  self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
29
- spl_autoload_unregister(array('ComposerAutoloaderInit40cfb9a65b1f406b0b0dc047560cd137', 'loadClassLoader'));
30
 
31
  require __DIR__ . '/autoload_static.php';
32
- call_user_func(\Composer\Autoload\ComposerStaticInit40cfb9a65b1f406b0b0dc047560cd137::getInitializer($loader));
33
 
34
  $loader->register(true);
35
 
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInitd4d7d7d11152077b8234a5ecb185a7c0
6
  {
7
  private static $loader;
8
 
24
 
25
  require __DIR__ . '/platform_check.php';
26
 
27
+ spl_autoload_register(array('ComposerAutoloaderInitd4d7d7d11152077b8234a5ecb185a7c0', 'loadClassLoader'), true, true);
28
  self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
29
+ spl_autoload_unregister(array('ComposerAutoloaderInitd4d7d7d11152077b8234a5ecb185a7c0', 'loadClassLoader'));
30
 
31
  require __DIR__ . '/autoload_static.php';
32
+ call_user_func(\Composer\Autoload\ComposerStaticInitd4d7d7d11152077b8234a5ecb185a7c0::getInitializer($loader));
33
 
34
  $loader->register(true);
35
 
vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInit40cfb9a65b1f406b0b0dc047560cd137
8
  {
9
  public static $classMap = array (
10
  'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
@@ -67,7 +67,7 @@ class ComposerStaticInit40cfb9a65b1f406b0b0dc047560cd137
67
  public static function getInitializer(ClassLoader $loader)
68
  {
69
  return \Closure::bind(function () use ($loader) {
70
- $loader->classMap = ComposerStaticInit40cfb9a65b1f406b0b0dc047560cd137::$classMap;
71
 
72
  }, null, ClassLoader::class);
73
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInitd4d7d7d11152077b8234a5ecb185a7c0
8
  {
9
  public static $classMap = array (
10
  'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
67
  public static function getInitializer(ClassLoader $loader)
68
  {
69
  return \Closure::bind(function () use ($loader) {
70
+ $loader->classMap = ComposerStaticInitd4d7d7d11152077b8234a5ecb185a7c0::$classMap;
71
 
72
  }, null, ClassLoader::class);
73
  }
wp-content/db.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Plugin Name: Query Monitor Database Class (Drop-in)
4
  * Description: Database drop-in for Query Monitor, the developer tools panel for WordPress.
5
- * Version: 3.10.0
6
  * Plugin URI: https://querymonitor.com/
7
  * Author: John Blackbourn
8
  * Author URI: https://querymonitor.com/
2
  /**
3
  * Plugin Name: Query Monitor Database Class (Drop-in)
4
  * Description: Database drop-in for Query Monitor, the developer tools panel for WordPress.
5
+ * Version: 3.10.1
6
  * Plugin URI: https://querymonitor.com/
7
  * Author: John Blackbourn
8
  * Author URI: https://querymonitor.com/