• Move the hook processing into its own class and out of the collector, so it can be re-used even if the Hooks collector isn't in use. Fixes #399.
  • Increase the sidebar layout to 100% height when there's no admin toolbar.
  • Update the QM element ID in the "worst case scenario" JS. Fixes #398.
  • Improve the layout of the Settings panel.
  • Force the Core and Non-Core filter items to the bottom of the list, so plugins and themes takes precedence.
  • Add an entry for the Settings screen to the narrow view nav menu.
  • Add the admin notice hooks to the list of concerned actions for the Admin Screen panel.
Assets 2

@johnbillion johnbillion released this Feb 14, 2019 · 10 commits to master since this release

New features! Read about them here: https://querymonitor.com/blog/2019/02/new-features-in-query-monitor-3-3/

  • Introduce sub-menus for displaying Hooks in Use for each panel.
  • Output the call stack and responsible component when wp_die() is called.
  • Support for JavaScript (Jed) translations in WordPress 5.0+.
  • Add render timing for blocks using the new hooks introduced in WordPress 5.1.
  • Introduce a toggle to display QM on the side of the window.
  • Allow non-string values to be used in the logger message. They'll be presented as JSON formatted strings.
  • Allow boolean values to be used in log message contexts.
  • Add some margin to the Close button so it doesn't get covered up so much by scroll bars.
  • Prefix QM's cookie name with wp- to ensure interoperability with caches and proxies.
  • Separate the Scripts and Styles collector and outputter so they're actually two separate panels.
  • Add support for opcode cache detection separate from the object cache detection.
  • Rename the main QM container to get around the fact that its name clashes with the plugin rows in older versions of WordPress.
  • Avoid using wp_parse_url() as it was only introduced in WP 4.4.
Assets 2

@johnbillion johnbillion released this Dec 17, 2018 · 198 commits to master since this release

  • Support for nested content blocks (eg. in columns).
  • Hide long innerHTML content of blocks behind a toggle.
  • Add validation of the referenced media file in media blocks.
  • Ensure asset URLs include the ver query arg.
  • Tweak the warning colours.
  • Coding standards.
  • Layout tweaks.
Assets 2

@johnbillion johnbillion released this Dec 9, 2018 · 225 commits to master since this release

  • Fix a fatal error for < 5.0 sites that are not running the Gutenberg plugin.
Assets 2

@johnbillion johnbillion released this Dec 8, 2018 · 228 commits to master since this release

  • Add a new Blocks panel for debugging blocks in post content. Supports WordPress 5.0 and the Gutenberg plugin.
  • Display the number of times that each template part was included.
  • Allow the scripts and styles output to be filtered based on Dependencies and Dependents.
  • Remove the Pin button in favour of always pinning QM when it's open.
  • Add a "Settings" link to the Plugins screen that opens the settings panel.
  • Add a link to the Add-ons page on the wiki.
  • Add some more verbose and visible error notices for suboptimal PHP configuration directives.
  • Add support for identifying any RDBMS, not just MySQL and MariaDB.
  • Perform the PHP version check earlier on so that fewer parts of QM need to be compatible with PHP 5.2.
  • Highlight plain http requests to the HTTP API as insecure.
  • Ensure the Template admin menu is always shown, even if the template file name isn't known.
  • Adjust the JS and CSS asset source to not include the host.
  • Add a warning for insecure JS and CSS assets.
  • Remove before and after pseudo-elements in the style reset.
  • Show as much theme and template information as possible, even if QM doesn't know the template name.
  • Highlight non-core rows when filtering the Hooks & Actions panel by Non-Core.
  • Add a filter for environment constants.
  • Min width CSS for buttons.
  • First pass at documenting filters and hooks.
  • More coding standards updates.
Assets 2

@johnbillion johnbillion released this Sep 18, 2018 · 284 commits to master since this release

  • Add a dark mode for the UI which is used via the Dark Mode plugin.
  • Display Query Monitor's output in the user's selected language, instead of the site language.
  • Add extended support for the Members and User Role Editor plugins.
  • Fix link hover and focus styles.
  • Reset some more CSS styles.
Assets 2

@johnbillion johnbillion released this Jul 17, 2018 · 310 commits to master since this release

Main changes:

  • Lots of accessibility improvements.
  • Switch to system default fonts to match the WordPress admin area fonts.
  • Implement a PSR-3 compatible logger.
  • UI improvements for mobile/touch/narrow devices.
  • Various improvements to the layout of the Scripts and Styles panels.
  • Prevent the "overscroll" behaviour that causes the main page to scroll when scrolling to the end of a panel.
  • Remove the second table footer when filtering tables.
  • Add a settings panel with information about all of the available configuration constants.

All other changes:

  • Show a warning message in the Overview panel when a PHP error is trigger during an Ajax request.
  • Display a warning when time or memory usage is above 75% of the respective limit.
  • Template Part file string normalization so template parts are correctly shown on Windows systems.
  • Don't output toggle links or a blank HTTP API transport if not necessary.
  • Add a human readable representation of transient timeouts, and prevent some wrapping.
  • Add a tear down for the capability checks collector so that cap checks performed between QM's processing and output don't break things.
  • Remove the ability to sort the HTTP API Calls table. This removes a column, increasing the available horizontal space.
  • Handle a bunch more known object types when displaying parameter values.
  • Allow PHP errors to be filtered by level.
  • Shorten the displayed names of long namespaced symbols by initialising the inner portions of the name.
  • Combine the Location and Caller columns for PHP Errors to save some horizontal space.
  • Don't wrap text in the PHP error type column.
  • Improve the authentication cookie toggle so it dynamically reflects the current state.
  • For now, force QM to use ltr text direction.
  • Clarify terminology around the number of enqueued assets.
  • Add fallback support for wp_cache_get_stats() to fetch cache stats.
  • Improve the message shown when no queries are performed.
  • Pluck stats from cache controllers that implement a getStats() method and return a nested array of stats for each server.
  • Rename the QM_HIDE_CORE_HOOKS configuration constant to QM_HIDE_CORE_ACTIONS.
  • Better handling of environments with unlimited execution time or memory limit. Adds a warning for both.
  • When an external cache isn't in use, provide some helpful info if an appropriate extension is installed.
Assets 2

@johnbillion johnbillion released this May 22, 2018 · 503 commits to master since this release

  • Add even more hardening to the JS handling to prevent problems when jQuery is broken.
  • Remove the old no-js styles which don't work well with the new UI.
  • Correct the logic for showing the Non-Core component filter option.
  • Add another VIP function to the list of functions that call the HTTP API.
  • Add an inline warning highlight to capability checks that are empty or of a non-string type.
  • Add support for WordPress.com VIP Client MU plugins.
  • Add support for displaying laps as part of the timing information.
  • Add full support for namespaced Debug Bar add-on panels.
  • Switch back to depending on jquery instead of jquery-core.
  • Don't assume php_uname() is always callable. Add info about the host OS too.
  • Reset inline height attribute when the panel is closed.
Assets 2

@johnbillion johnbillion released this Apr 12, 2018 · 518 commits to master since this release

  • Brand new UI that resembles familiar web developer tools. Lots of related improvements and fixes.
  • Introduce some basic timing functionality in a Timings panel. See #282 for usage.
  • Introduce a QM_NO_JQUERY constant for running QM without jQuery as a dependency.
  • Greater resilience to JavaScript errors.
  • Allow the Scripts and Styles panel to be filtered by host name.
  • Expose information about redirects that occurred in HTTP API requests.
  • Expose more debugging information for HTTP API requests.
  • Don't enable the Capability Checks panel by default as it's very memory intensive.
  • Allow PHP errors to be silenced according to their component. See qm/collect/php_error_levels and qm/collect/hide_silenced_php_errors filters.
  • Hide all file paths and stack traces behind toggles by default.
  • Remove support for the AMP for WordPress plugin.
  • Add associative keys to the array passed to the qm/built-in-collectors filter.
  • Drop support for PHP 5.2.
  • Generally improve performance and reduce memory usage.
Assets 2

@johnbillion johnbillion released this Nov 9, 2017 · 764 commits to master since this release

  • Add the current user object to the Request panel.
  • A few improvements to the appearance of the overall layout.
  • Use relative positioning in place of the nasty absolute position hack needed for some themes.
  • Ensure the get_*_template() function exists before calling it.
  • Add a QM_DISABLE_ERROR_HANDLER constant to disable QM's error handling.
  • Switch to runtime filtering of user capabilities instead of granting the view_query_monitor cap upon activation.
  • Correct a bunch of inline docs and code standards.
Assets 2