{"id":2893,"date":"2025-02-11T12:54:50","date_gmt":"2025-02-11T12:54:50","guid":{"rendered":"https:\/\/s-o-s.net\/performance-lab\/"},"modified":"2025-04-19T12:46:43","modified_gmt":"2025-04-19T12:46:43","slug":"performance-lab","status":"publish","type":"post","link":"http:\/\/s-o-s.net\/en_gb\/performance-lab\/","title":{"rendered":"Performance Lab"},"content":{"rendered":"<p>\n<\/p>\n<article id=\"post-152799\" class=\"alignwide post-152799 plugin type-plugin status-publish hentry plugin_section-beta plugin_section-featured plugin_tags-diagnostics plugin_tags-measurement plugin_tags-optimization plugin_tags-performance plugin_tags-site-health plugin_category-media plugin_category-security-and-spam-protection plugin_category-utilities-and-tools plugin_contributors-wordpressdotorg plugin_business_model-community plugin_committers-performanceteam plugin_support_reps-adamdunnage plugin_support_reps-flixos90 plugin_support_reps-jamesosborne plugin_support_reps-joegrainger plugin_support_reps-westonruter\">\n<div class=\"plugin-banner\" id=\"plugin-banner-performance-lab\"><\/div>\n<header class=\"plugin-header\">\n<div class=\"entry-heading-container\">\n<div>\n<div class=\"entry-thumbnail\">\n\t\t\t\t\t<img decoding=\"async\" class=\"plugin-icon\" src=\"https:\/\/ps.w.org\/performance-lab\/assets\/icon.svg?rev=2787149\" alt=\"\">\t\t\t\t<\/div>\n<div>\n<h1 class=\"plugin-title\">Performance Lab<\/h1>\n<p>\t\t\t\t\t<span class=\"byline\">By <span class=\"author vcard\"><a target=\"_blank\" class=\"url fn n\" href=\"https:\/\/profiles.wordpress.org\/performanceteam\/\" rel=\"noopener\">performanceteam<\/a><\/span><\/span>\n\t\t\t\t<\/div>\n<\/p><\/div>\n<div class=\"plugin-actions\">\n<div class=\"wp-block-button is-small plugin-download download-button\"><a target=\"_blank\" class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/downloads.wordpress.org\/plugin\/performance-lab.3.8.0.zip\" rel=\"noopener\">Download<\/a><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/header>\n<p><!-- .entry-header --><\/p>\n<p>\t<span id=\"description\"><\/span><br \/>\n\t<span id=\"reviews\"><\/span><br \/>\n\t<span id=\"installation\"><\/span><br \/>\n\t<span id=\"developers\"><\/span><br \/>\n\t<span id=\"advanced\" class=\"\"><\/span><br \/>\n\t<span id=\"section-links\"><\/p>\n<ul class=\"tabs clear\">\n<li id=\"tablink-description\"><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/performance-lab\/#description\" rel=\"noopener\">Details<\/a><\/li>\n<li id=\"tablink-reviews\"><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/performance-lab\/#reviews\" rel=\"noopener\">Reviews<\/a><\/li>\n<li id=\"tablink-installation\">\n\t\t\t\t<a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/performance-lab\/#installation\" rel=\"noopener\">Installation<\/a>\n\t\t\t<\/li>\n<li id=\"tablink-developers\"><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/performance-lab\/#developers\" rel=\"noopener\">Development<\/a><\/li>\n<\/ul>\n<div id=\"link-support\">\n\t\t\t<a target=\"_blank\" href=\"https:\/\/wordpress.org\/support\/plugin\/performance-lab\/\" rel=\"noopener\">Support<\/a>\n\t\t<\/div>\n<p>\t<\/span><br \/>\n\tif ( &#8216;#changelog&#8217; == window.location.hash ) { window.setTimeout( function() { window.location.hash=&#8221;#developers&#8221;; }, 10 ); }<\/p>\n<div class=\"entry-content\">\n<div id=\"tab-description\" class=\"plugin-description section\">\n<h2 id=\"description-header\">Description<\/h2>\n<p>The Performance Lab plugin is a collection of features focused on enhancing performance of your site, most of which should eventually be merged into WordPress core. The plugin facilitates the discovery and activation of the individual performance feature plugins which the performance team is developing. In this way you can test the features to get their benefits before they become available in WordPress core. You can also play an important role by providing feedback to further improve the solutions.<\/p>\n<p>The feature plugins which are currently featured by this plugin are:<\/p>\n<ul>\n<li><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/dominant-color-images\/\" rel=\"ugc noopener\">Image Placeholders<\/a><\/li>\n<li><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/webp-uploads\/\" rel=\"ugc noopener\">Modern Image Formats<\/a><\/li>\n<li><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/performant-translations\/\" rel=\"ugc noopener\">Performant Translations<\/a><\/li>\n<li><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/speculation-rules\/\" rel=\"ugc noopener\">Speculative Loading<\/a><\/li>\n<li><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/embed-optimizer\/\" rel=\"ugc noopener\">Embed Optimizer<\/a> <em>(experimental)<\/em><\/li>\n<li><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/auto-sizes\/\" rel=\"ugc noopener\">Enhanced Responsive Images<\/a> <em>(experimental)<\/em><\/li>\n<li><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/image-prioritizer\/\" rel=\"ugc noopener\">Image Prioritizer<\/a> <em>(experimental)<\/em><\/li>\n<li><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/web-worker-offloading\/\" rel=\"ugc noopener\">Web Worker Offloading<\/a> <em>(experimental)<\/em><\/li>\n<\/ul>\n<p>These plugins can also be installed separately from installing Performance Lab, but having the Performance Lab plugin also active will ensure you find out about new performance features as they are developed.<\/p>\n<\/div>\n<div id=\"tab-installation\" class=\"plugin-installation section\">\n<h2 id=\"installation-header\">Installation<\/h2>\n<h4>Installation from within WordPress<\/h4>\n<ol>\n<li>Visit <strong>Plugins &gt; Add New<\/strong>.<\/li>\n<li>Search for <strong>Performance Lab<\/strong>.<\/li>\n<li>Install and activate the Performance Lab plugin.<\/li>\n<\/ol>\n<h4>Manual installation<\/h4>\n<ol>\n<li>Upload the entire <code>performance-lab<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Visit <strong>Plugins<\/strong>.<\/li>\n<li>Activate the Performance Lab plugin.<\/li>\n<\/ol>\n<h4>After activation<\/h4>\n<ol>\n<li>Visit the new <strong>Settings &gt; Performance<\/strong> menu.<\/li>\n<li>Enable the individual features you would like to use.<\/li>\n<\/ol>\n<\/div>\n<div id=\"faq\" class=\"plugin-faq section\">\n<h2 id=\"faq-header\">FAQ<\/h2>\n<dl>\n<dt id=\"what%20is%20the%20purpose%20of%20this%20plugin%3F\">\n<h3>What is the purpose of this plugin?<\/h3>\n<\/dt>\n<dd>\n<p>The primary purpose of the Performance Lab plugin is to allow testing of various performance features for which the goal is to eventually land in WordPress core. It is essentially a collection of \u201cfeature plugins\u201d, which makes it different from other performance plugins that offer performance features which are not targeted at WordPress core and potentially rely on functionality that would not be feasible to use in WordPress core. The list of available features will regularly change: Existing features may be removed after they have been released in WordPress core, while new features may be added in any release.<\/p>\n<\/dd>\n<dt id=\"can%20i%20use%20this%20plugin%20on%20my%20production%20site%3F\">\n<h3>Can I use this plugin on my production site?<\/h3>\n<\/dt>\n<dd>\n<p>Per the primary purpose of the plugin (see above), it can mostly be considered a beta testing plugin for the various performance features it includes. However, it\u2019s essential to understand that utilizing it comes with inherent risks. Users are encouraged to proceed with caution and understand that they are doing so at their own risk.<\/p>\n<\/dd>\n<dt id=\"where%20can%20i%20submit%20my%20plugin%20feedback%3F\">\n<h3>Where can I submit my plugin feedback?<\/h3>\n<\/dt>\n<dd>\n<p>Feedback is encouraged and much appreciated, especially since this plugin is a collection of future WordPress core features. If you have suggestions or requests for new features, you can <a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/issues\/new\/choose\" rel=\"nofollow ugc noopener\">submit them as an issue in the Performance Lab GitHub repository<\/a>. If you need help with troubleshooting or have a question about the plugin, please <a target=\"_blank\" href=\"https:\/\/wordpress.org\/support\/plugin\/performance-lab\/#new-topic-0\" rel=\"ugc noopener\">create a new topic on our support forum<\/a>.<\/p>\n<\/dd>\n<dt id=\"where%20can%20i%20report%20security%20bugs%3F\">\n<h3>Where can I report security bugs?<\/h3>\n<\/dt>\n<dd>\n<p>The Performance team and WordPress community take security bugs seriously. We appreciate your efforts to responsibly disclose your findings, and will make every effort to acknowledge your contributions.<\/p>\n<p>To report a security issue, please visit the <a target=\"_blank\" href=\"https:\/\/hackerone.com\/wordpress\" rel=\"nofollow ugc noopener\">WordPress HackerOne<\/a> program.<\/p>\n<\/dd>\n<dt id=\"how%20can%20i%20contribute%20to%20the%20plugin%3F\">\n<h3>How can I contribute to the plugin?<\/h3>\n<\/dt>\n<dd>\n<p>Contributions are always welcome! Learn more about how to get involved in the <a target=\"_blank\" href=\"https:\/\/make.wordpress.org\/performance\/handbook\/get-involved\/\" rel=\"nofollow ugc noopener\">Core Performance Team Handbook<\/a>.<\/p>\n<\/dd>\n<\/dl>\n<\/div>\n<div id=\"tab-reviews\" class=\"plugin-reviews section\">\n<h2 id=\"reviews-header\">Reviews<\/h2>\n<div class=\"plugin-reviews\">\n<article class=\"plugin-review\">\n<div class=\"review-avatar\">\n\t\t\t\t\t\t<img decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/81cca480f962f22c0d9563014548d25614824f4f7cd41975a3ca337b0c7a9c26?s=60&amp;d=retro&amp;r=g\" class=\"avatar avatar-60 photo\" height=\"60\" width=\"60\">\t\t\t\t\t<\/div>\n<div class=\"review\">\n<header>\n<div class=\"header-top\">\n<div class=\"wporg-ratings\" aria-label=\"5 out of 5 stars\" data-title-template=\"%s out of 5 stars\" data-rating=\"5\" style=\"color:#ffb900\"><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><\/div>\n<h3 class=\"review-title\"><a target=\"_blank\" class=\"url\" href=\"https:\/\/wordpress.org\/support\/topic\/great-innovation-2\/\" rel=\"noopener\">Great innovation<\/a><\/h3>\n<\/p><\/div>\n<div class=\"header-bottom\">\n\t\t\t\t\t\t\t\t<span class=\"review-author author vcard\"><a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/wpfed\/\" title=\"Posts by Lukasz\" rel=\"author noopener\">Lukasz<\/a><\/span><br \/>\n\t\t\t\t\t\t\t\t<span class=\"review-date\">January 6, 2025<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n<\/header>\n<div class=\"review-content\">I was able to replace other performance plugins with performance lab.<\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"plugin-review\">\n<div class=\"review-avatar\">\n\t\t\t\t\t\t<img decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/3d30f1cadd5159b06e7c7a61eeaf0c2f94ef79cad046bff231df44f6f1cc2ead?s=60&amp;d=retro&amp;r=g\" class=\"avatar avatar-60 photo\" height=\"60\" width=\"60\">\t\t\t\t\t<\/div>\n<div class=\"review\">\n<header>\n<div class=\"header-top\">\n<div class=\"wporg-ratings\" aria-label=\"5 out of 5 stars\" data-title-template=\"%s out of 5 stars\" data-rating=\"5\" style=\"color:#ffb900\"><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><\/div>\n<h3 class=\"review-title\"><a target=\"_blank\" class=\"url\" href=\"https:\/\/wordpress.org\/support\/topic\/great-project-6\/\" rel=\"noopener\">Great project<\/a><\/h3>\n<\/p><\/div>\n<div class=\"header-bottom\">\n\t\t\t\t\t\t\t\t<span class=\"review-author author vcard\"><a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/ranafge\/\" title=\"Posts by Samsul Islam Rana\" rel=\"author noopener\">Samsul Islam Rana<\/a><\/span><br \/>\n\t\t\t\t\t\t\t\t<span class=\"review-date\">December 10, 2024<\/span><br \/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"review-replies\">1 reply<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n<\/header>\n<div class=\"review-content\">converting photos from jpg to webp is very fast, everything works well and it\u2019s great.<\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"plugin-review\">\n<div class=\"review-avatar\">\n\t\t\t\t\t\t<img decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/0ebbd31af6383002378428954bdeefaa10c4e3692a848ba711f42bf8c7e36937?s=60&amp;d=retro&amp;r=g\" class=\"avatar avatar-60 photo\" height=\"60\" width=\"60\">\t\t\t\t\t<\/div>\n<div class=\"review\">\n<header>\n<div class=\"header-top\">\n<div class=\"wporg-ratings\" aria-label=\"5 out of 5 stars\" data-title-template=\"%s out of 5 stars\" data-rating=\"5\" style=\"color:#ffb900\"><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><\/div>\n<h3 class=\"review-title\"><a target=\"_blank\" class=\"url\" href=\"https:\/\/wordpress.org\/support\/topic\/great-16588\/\" rel=\"noopener\">Great<\/a><\/h3>\n<\/p><\/div>\n<div class=\"header-bottom\">\n\t\t\t\t\t\t\t\t<span class=\"review-author author vcard\"><a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/nashtate\/\" title=\"Posts by nashtate\" rel=\"author noopener\">nashtate<\/a><\/span><br \/>\n\t\t\t\t\t\t\t\t<span class=\"review-date\">November 30, 2024<\/span><br \/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"review-replies\">1 reply<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n<\/header>\n<div class=\"review-content\">Great plugin.<\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"plugin-review\">\n<div class=\"review-avatar\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/81d6cd29d711b1b8f768e3f31b7493de331a70168494303d83b73c2dbeca125c?s=60&amp;d=retro&amp;r=g\" class=\"avatar avatar-60 photo\" height=\"60\" width=\"60\">\t\t\t\t\t<\/div>\n<div class=\"review\">\n<header>\n<div class=\"header-top\">\n<div class=\"wporg-ratings\" aria-label=\"1 out of 5 stars\" data-title-template=\"%s out of 5 stars\" data-rating=\"1\" style=\"color:#ffb900\"><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-empty\"><\/span><span class=\"dashicons dashicons-star-empty\"><\/span><span class=\"dashicons dashicons-star-empty\"><\/span><span class=\"dashicons dashicons-star-empty\"><\/span><\/div>\n<h3 class=\"review-title\"><a target=\"_blank\" class=\"url\" href=\"https:\/\/wordpress.org\/support\/topic\/incompatible-with-cache-plugins\/\" rel=\"noopener\">incompatible with cache plugins<\/a><\/h3>\n<\/p><\/div>\n<div class=\"header-bottom\">\n\t\t\t\t\t\t\t\t<span class=\"review-author author vcard\"><a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/audioscavenger\/\" title=\"Posts by audioscavenger\" rel=\"author noopener\">audioscavenger<\/a><\/span><br \/>\n\t\t\t\t\t\t\t\t<span class=\"review-date\">November 5, 2024<\/span><br \/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"review-replies\">1 reply<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n<\/header>\n<div class=\"review-content\">sorry guys, but because you create wp-content\/object-cache.php I cannot activate any cache plugin.<\/p>\n<p>thanks<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"plugin-review\">\n<div class=\"review-avatar\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/e30a4f92eec78bcd59c4c0624ae2ee1917a979682d9b36b5d53a2f2b1fcf6c0c?s=60&amp;d=retro&amp;r=g\" class=\"avatar avatar-60 photo\" height=\"60\" width=\"60\">\t\t\t\t\t<\/div>\n<div class=\"review\">\n<header>\n<div class=\"header-top\">\n<div class=\"wporg-ratings\" aria-label=\"5 out of 5 stars\" data-title-template=\"%s out of 5 stars\" data-rating=\"5\" style=\"color:#ffb900\"><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><\/div>\n<h3 class=\"review-title\"><a target=\"_blank\" class=\"url\" href=\"https:\/\/wordpress.org\/support\/topic\/excellent-13673\/\" rel=\"noopener\">Excellent<\/a><\/h3>\n<\/p><\/div>\n<div class=\"header-bottom\">\n\t\t\t\t\t\t\t\t<span class=\"review-author author vcard\"><a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/alamprinters\/\" title=\"Posts by alamprinters\" rel=\"author noopener\">alamprinters<\/a><\/span><br \/>\n\t\t\t\t\t\t\t\t<span class=\"review-date\">October 29, 2024<\/span><br \/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"review-replies\">1 reply<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n<\/header>\n<div class=\"review-content\">Great plugin for WordPress, Thank You!<\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"plugin-review\">\n<div class=\"review-avatar\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/5c4683d39918d4d5bf1d3f1bbce8f4ad407c31256570e481607e79fd4e7765d0?s=60&amp;d=retro&amp;r=g\" class=\"avatar avatar-60 photo\" height=\"60\" width=\"60\">\t\t\t\t\t<\/div>\n<div class=\"review\">\n<header>\n<div class=\"header-top\">\n<div class=\"wporg-ratings\" aria-label=\"5 out of 5 stars\" data-title-template=\"%s out of 5 stars\" data-rating=\"5\" style=\"color:#ffb900\"><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><\/div>\n<h3 class=\"review-title\"><a target=\"_blank\" class=\"url\" href=\"https:\/\/wordpress.org\/support\/topic\/good-plugin-6975\/\" rel=\"noopener\">Good plugin<\/a><\/h3>\n<\/p><\/div>\n<div class=\"header-bottom\">\n\t\t\t\t\t\t\t\t<span class=\"review-author author vcard\"><a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/valerii99\/\" title=\"Posts by valerii99\" rel=\"author noopener\">valerii99<\/a><\/span><br \/>\n\t\t\t\t\t\t\t\t<span class=\"review-date\">October 21, 2024<\/span><br \/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"review-replies\">1 reply<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n<\/header>\n<div class=\"review-content\">workEd for mE<\/div>\n<\/p><\/div>\n<\/article><\/div>\n<p>\t\t<a target=\"_blank\" class=\"reviews-link\" href=\"https:\/\/wordpress.org\/support\/plugin\/performance-lab\/reviews\/\" rel=\"noopener\"><br \/>\n\t\t\tRead all 46 reviews\t\t<\/a><\/div>\n<div id=\"tab-developers\" class=\"plugin-developers section\">\n<h2 id=\"developers-header\">Contributors &amp; Developers<\/h2>\n<div class=\"plugin-contributors\">\n<p>\u201cPerformance Lab\u201d is open source software. The following people have contributed to this plugin.<\/p>\n<p><span class=\"screen-reader-text\">Contributors<\/span><\/p>\n<ul id=\"contributors-list\" class=\"contributors-list\">\n<li>\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/178f40079143ff7464125e4fbc88e62024a16442920a6a3d6dfa3d7e626be20d?s=32&amp;d=mm&amp;r=g\" class=\"avatar avatar-32 photo\" height=\"32\" width=\"32\">\t\t\t\t<a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/wordpressdotorg\/\" rel=\"noopener\"><br \/>\n\t\t\t\t\tWordPress.org\t\t\t\t<\/a>\n\t\t\t<\/li>\n<\/ul><\/div>\n<div class=\"plugin-development\">\n<p>\u201cPerformance Lab\u201d has been translated into 22 locales. Thank you to <a target=\"_blank\" href=\"https:\/\/translate.wordpress.org\/projects\/wp-plugins\/performance-lab\/contributors\" rel=\"noopener\">the translators<\/a> for their contributions.<\/p>\n<p><a target=\"_blank\" href=\"https:\/\/translate.wordpress.org\/projects\/wp-plugins\/performance-lab\" rel=\"noopener\">Translate \u201cPerformance Lab\u201d into your language.<\/a><\/p>\n<h3>Interested in development?<\/h3>\n<p><a target=\"_blank\" href=\"https:\/\/plugins.trac.wordpress.org\/browser\/performance-lab\/\" rel=\"noopener\" class=\"broken_link\">Browse the code<\/a>, check out the <a target=\"_blank\" href=\"https:\/\/plugins.svn.wordpress.org\/performance-lab\/\" rel=\"noopener\">SVN repository<\/a>, or subscribe to the <a target=\"_blank\" href=\"https:\/\/plugins.trac.wordpress.org\/log\/performance-lab\/\" rel=\"noopener\" class=\"broken_link\">development log<\/a> by <a target=\"_blank\" href=\"https:\/\/plugins.trac.wordpress.org\/log\/performance-lab\/?limit=100&amp;mode=stop_on_copy&amp;format=rss\" rel=\"noopener\" class=\"broken_link\">RSS<\/a>.<\/p>\n<\/div>\n<\/div>\n<div id=\"tab-changelog\" class=\"plugin-changelog section\">\n<h2 id=\"changelog-header\">Changelog<\/h2>\n<h4>3.8.0<\/h4>\n<p><strong>Enhancements<\/strong><\/p>\n<ul>\n<li>Add Site Health test for <code>Cache-Control: no-store<\/code> page response header which disables bfcache. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1807\" rel=\"nofollow ugc noopener\">1807<\/a>)<\/li>\n<li>Add Site Health test to verify that static assets are served with far-future expires. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1727\" rel=\"nofollow ugc noopener\">1727<\/a>)<\/li>\n<li>Enqueue scripts using <code>plugins_url()<\/code> instead of <code>plugin_dir_url()<\/code>. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1761\" rel=\"nofollow ugc noopener\">1761<\/a>)<\/li>\n<\/ul>\n<h4>3.7.0<\/h4>\n<p><strong>Enhancements<\/strong><\/p>\n<ul>\n<li>Add guidance for managing Performance feature plugins. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1734\" rel=\"nofollow ugc noopener\">1734<\/a>)<\/li>\n<li>Automatically discover plugin dependencies when obtaining Performance feature plugins from WordPress.org. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1680\" rel=\"nofollow ugc noopener\">1680<\/a>)<\/li>\n<li>Disregard transient cache in <code>perflab_query_plugin_info()<\/code> when a plugin is absent. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1694\" rel=\"nofollow ugc noopener\">1694<\/a>)<\/li>\n<li>Minify script used for ajax activation of features; warn if absent and serve original file when SCRIPT_DEBUG is enabled. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1658\" rel=\"nofollow ugc noopener\">1658<\/a>)<\/li>\n<\/ul>\n<p><strong>Bug Fixes<\/strong><\/p>\n<ul>\n<li>Fix latest plugin version not being downloaded consistently. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1693\" rel=\"nofollow ugc noopener\">1693<\/a>)<\/li>\n<\/ul>\n<h4>3.6.1<\/h4>\n<p><strong>Bug Fixes<\/strong><\/p>\n<ul>\n<li>Fix race condition bug where activating multiple features sequentially could fail to activate some features. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1675\" rel=\"nofollow ugc noopener\">#1675<\/a>)<\/li>\n<\/ul>\n<h4>3.6.0<\/h4>\n<p><strong>Enhancements<\/strong><\/p>\n<ul>\n<li>Use AJAX for activating features \/ plugins in Performance Lab. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1646\" rel=\"nofollow ugc noopener\">1646<\/a>)<\/li>\n<li>Introduce AVIF header health check. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1612\" rel=\"nofollow ugc noopener\">1612<\/a>)<\/li>\n<li>Install and activate Optimization Detective when the Embed Optimizer feature is activated from the Performance screen. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1644\" rel=\"nofollow ugc noopener\">1644<\/a>)<\/li>\n<\/ul>\n<p><strong>Bug Fixes<\/strong><\/p>\n<ul>\n<li>Fix uses of \u2018Plugin not found\u2019 string. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1651\" rel=\"nofollow ugc noopener\">1651<\/a>)<\/li>\n<\/ul>\n<h4>3.5.1<\/h4>\n<p><strong>Bug Fixes<\/strong><\/p>\n<ul>\n<li>Account for plugin dependencies when storing relevant plugin info. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1613\" rel=\"nofollow ugc noopener\">1613<\/a>)<\/li>\n<\/ul>\n<h4>3.5.0<\/h4>\n<p><strong>Enhancements<\/strong><\/p>\n<ul>\n<li>Add Web Worker Offloading to list of Performance features. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1577\" rel=\"nofollow ugc noopener\">1577<\/a>)<\/li>\n<li>Only store info for relevant standalone plugins in the transient cache. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1573\" rel=\"nofollow ugc noopener\">1573<\/a>)<\/li>\n<li>Use a single WordPress.org API request to get information for all plugins. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1562\" rel=\"nofollow ugc noopener\">1562<\/a>)<\/li>\n<\/ul>\n<h4>3.4.1<\/h4>\n<p><strong>Bug Fixes<\/strong><\/p>\n<ul>\n<li>Fix Incorrect use of _n(). (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1491\" rel=\"nofollow ugc noopener\">1491<\/a>)<\/li>\n<\/ul>\n<h4>3.4.0<\/h4>\n<p><strong>Enhancements<\/strong><\/p>\n<ul>\n<li>Remove Server-Timing metric for the autoloaded options query time. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1456\" rel=\"nofollow ugc noopener\">1456<\/a>)<\/li>\n<\/ul>\n<p><strong>Bug Fixes<\/strong><\/p>\n<ul>\n<li>Avoid sending Server-Timing header when buffer is being cleaned. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1443\" rel=\"nofollow ugc noopener\">1443<\/a>)<\/li>\n<li>Fix disabled options from reappearing in Site Health after external update. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1374\" rel=\"nofollow ugc noopener\">1374<\/a>)<\/li>\n<li>Improve Performance screen when external requests to WordPress.org fail. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1474\" rel=\"nofollow ugc noopener\">1474<\/a>)<\/li>\n<\/ul>\n<h4>3.3.1<\/h4>\n<p><strong>Enhancements<\/strong><\/p>\n<ul>\n<li>Add PHPStan strict rules (except for empty.notAllowed). (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1241\" rel=\"nofollow ugc noopener\">1241<\/a>)<\/li>\n<\/ul>\n<p><strong>Bug Fixes<\/strong><\/p>\n<ul>\n<li>Allow null to be passed into perflab_admin_pointer(). (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1393\" rel=\"nofollow ugc noopener\">1393<\/a>)<\/li>\n<\/ul>\n<h4>3.3.0<\/h4>\n<p><strong>Enhancements<\/strong><\/p>\n<ul>\n<li>Bump minimum WP versions and WP version tested up to. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1333\" rel=\"nofollow ugc noopener\">1333<\/a>)<\/li>\n<li>Improve message for WebP site health test. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1249\" rel=\"nofollow ugc noopener\">1249<\/a>)<\/li>\n<li>Remove \u2018Requires at least\u2019 and \u2018Requires PHP\u2019 from plugin readmes. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1334\" rel=\"nofollow ugc noopener\">1334<\/a>)<\/li>\n<li>Upgrade PHPStan to 1.11.6. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1325\" rel=\"nofollow ugc noopener\">1325<\/a>)<\/li>\n<\/ul>\n<p><strong>Bug Fixes<\/strong><\/p>\n<ul>\n<li>Extend core\u2019s Autoloaded Options Site Health test if present (in WP 6.6). (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1298\" rel=\"nofollow ugc noopener\">1298<\/a>)<\/li>\n<li>Fix unit tests for multisite. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1327\" rel=\"nofollow ugc noopener\">1327<\/a>)<\/li>\n<\/ul>\n<h4>3.2.0<\/h4>\n<p><strong>Enhancements<\/strong><\/p>\n<ul>\n<li>Add install note after each PerfLab feature plugin in the plugin list table. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1265\" rel=\"nofollow ugc noopener\">1265<\/a>)<\/li>\n<li>Update plugins with new banners and icons. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1272\" rel=\"nofollow ugc noopener\">1272<\/a>)<\/li>\n<\/ul>\n<p><strong>Bug Fixes<\/strong><\/p>\n<ul>\n<li>Fix Server-Timing compatibility with other plugins that do output buffering. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1260\" rel=\"nofollow ugc noopener\">1260<\/a>)<\/li>\n<li>Harden autoloaded-options site health test for incorrectly implemented external object cache plugins. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1238\" rel=\"nofollow ugc noopener\">1238<\/a>)<\/li>\n<\/ul>\n<h4>3.1.0<\/h4>\n<p><strong>Enhancements<\/strong><\/p>\n<ul>\n<li>Add progress indicator when activating a feature. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1190\" rel=\"nofollow ugc noopener\">1190<\/a>)<\/li>\n<li>Display plugin settings links in the features screen and fix responsive layout for mobile. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1208\" rel=\"nofollow ugc noopener\">1208<\/a>)<\/li>\n<li>Add plugin dependency support for activating performance features. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1184\" rel=\"nofollow ugc noopener\">1184<\/a>)<\/li>\n<li>Add support for AVIF image format in site health. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1177\" rel=\"nofollow ugc noopener\">1177<\/a>)<\/li>\n<li>Add server timing to REST API response. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1206\" rel=\"nofollow ugc noopener\">1206<\/a>)<\/li>\n<li>Bump minimum PHP requirement to 7.2. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1130\" rel=\"nofollow ugc noopener\">1130<\/a>)<\/li>\n<li>Refine logic in perflab_install_activate_plugin_callback() to rely only on validated slug. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1170\" rel=\"nofollow ugc noopener\">1170<\/a>)<\/li>\n<li>Improve overall code quality with stricter static analysis checks. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/issues\/775\" rel=\"nofollow ugc noopener\">775<\/a>)<\/li>\n<\/ul>\n<p><strong>Bug Fixes<\/strong><\/p>\n<ul>\n<li>Avoid passing incomplete data to perflab_render_plugin_card() and show error when plugin directory API query fails. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1175\" rel=\"nofollow ugc noopener\">1175<\/a>)<\/li>\n<li>Do not show admin pointer on the Performance screen and dismiss the pointer when visited. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1147\" rel=\"nofollow ugc noopener\">1147<\/a>)<\/li>\n<li>Fix <code>WordPress.DB.DirectDatabaseQuery.DirectQuery<\/code> warning for Autoloaded Options Health Check. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1179\" rel=\"nofollow ugc noopener\">1179<\/a>)<\/li>\n<\/ul>\n<h4>3.0.0<\/h4>\n<p><strong>Enhancements<\/strong><\/p>\n<ul>\n<li>Add caching to the wordpress.org query to get plugin information. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1022\" rel=\"nofollow ugc noopener\">1022<\/a>)<\/li>\n<li>Add support for autoloading enhancements in WordPress 6.6 trunk to autoloaded options Site Health check. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1112\" rel=\"nofollow ugc noopener\">1112<\/a>)<\/li>\n<li>Bump minimum required WordPress version to 6.4. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1062\" rel=\"nofollow ugc noopener\">1062<\/a>)<\/li>\n<li>Enhance <code>object-cache.php<\/code> drop-in placement logic to support updating to a newer version of the file. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1047\" rel=\"nofollow ugc noopener\">1047<\/a>)<\/li>\n<li>Implement support for annotating certain plugins as experimental. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1111\" rel=\"nofollow ugc noopener\">1111<\/a>)<\/li>\n<li>Migrate Site Health checks from being modules to becoming part of the plugin core. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1042\" rel=\"nofollow ugc noopener\">1042<\/a>)<\/li>\n<li>Remove modules infrastructure and UI from the plugin. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1060\" rel=\"nofollow ugc noopener\">1060<\/a>)<\/li>\n<li>Support changing autoload value for largest autoloaded options in Site Health check. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1048\" rel=\"nofollow ugc noopener\">1048<\/a>)<\/li>\n<li>Use plugin slug for generator tag. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1103\" rel=\"nofollow ugc noopener\">1103<\/a>)<\/li>\n<\/ul>\n<p><strong>Documentation<\/strong><\/p>\n<ul>\n<li>Update tested WordPress version to 6.5. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/1027\" rel=\"nofollow ugc noopener\">1027<\/a>)<\/li>\n<\/ul>\n<h4>2.9.0<\/h4>\n<p><strong>Features<\/strong><\/p>\n<ul>\n<li>Infrastructure: Add standalone plugin version constants for auto-sizes and speculation-rules. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/958\" rel=\"nofollow ugc noopener\">958<\/a>)<\/li>\n<\/ul>\n<p><strong>Enhancements<\/strong><\/p>\n<ul>\n<li>Infrastructure: Include standalone plugin slugs in generator tag. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/949\" rel=\"nofollow ugc noopener\">949<\/a>)<\/li>\n<\/ul>\n<p><strong>Bug Fixes<\/strong><\/p>\n<ul>\n<li>Infrastructure: Sanitize metric name for <code>Server-Timing<\/code> header. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/957\" rel=\"nofollow ugc noopener\">957<\/a>)<\/li>\n<\/ul>\n<h4>2.8.0<\/h4>\n<p><strong>Features<\/strong><\/p>\n<ul>\n<li>Infrastructure: Introduce UI for managing Performance Lab standalone plugins. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/864\" rel=\"nofollow ugc noopener\">864<\/a>)<\/li>\n<\/ul>\n<p><strong>Enhancements<\/strong><\/p>\n<ul>\n<li>Infrastructure: Add support for plugin live preview in the plugin directory. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/890\" rel=\"nofollow ugc noopener\">890<\/a>)<\/li>\n<li>Infrastructure: Allow module <code>can-load.php<\/code> callbacks to return a <code>WP_Error<\/code> with more information. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/891\" rel=\"nofollow ugc noopener\">891<\/a>)<\/li>\n<li>Infrastructure: Implement admin pointer to indicate to the user they need to migrate modules to their standalone plugins. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/910\" rel=\"nofollow ugc noopener\">910<\/a>)<\/li>\n<li>Infrastructure: Implement migration logic and UI from Performance Lab modules to their standalone plugins. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/899\" rel=\"nofollow ugc noopener\">899<\/a>)<\/li>\n<li>Infrastructure: Reset admin pointer dismissal for module migration when the user activates a module. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/915\" rel=\"nofollow ugc noopener\">915<\/a>)<\/li>\n<\/ul>\n<p><strong>Bug Fixes<\/strong><\/p>\n<ul>\n<li>Infrastructure: Fix construction of translation strings in admin\/plugins.php. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/925\" rel=\"nofollow ugc noopener\">925<\/a>)<\/li>\n<\/ul>\n<h4>2.7.0<\/h4>\n<p><strong>Enhancements<\/strong><\/p>\n<ul>\n<li>Images: Remove Fetchpriority module as the functionality is now available in WordPress core. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/854\" rel=\"nofollow ugc noopener\">854<\/a>)<\/li>\n<li>Infrastructure: Bump minimum required PHP version to 7.0 and minimum required WP version to 6.3. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/851\" rel=\"nofollow ugc noopener\">851<\/a>)<\/li>\n<\/ul>\n<p><strong>Documentation<\/strong><\/p>\n<ul>\n<li>Infrastructure: Publish Image Placeholders standalone plugin. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/842\" rel=\"nofollow ugc noopener\">842<\/a>)<\/li>\n<\/ul>\n<h4>2.6.1<\/h4>\n<p><strong>Bug Fixes<\/strong><\/p>\n<ul>\n<li>Infrastructure: Remove PHPStan config file from plugin directory. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/816\" rel=\"nofollow ugc noopener\">816<\/a>)<\/li>\n<\/ul>\n<p><strong>Documentation<\/strong><\/p>\n<ul>\n<li>Infrastructure: Add standalone plugin assets. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/815\" rel=\"nofollow ugc noopener\">815<\/a>)<\/li>\n<\/ul>\n<h4>2.6.0<\/h4>\n<p><strong>Features<\/strong><\/p>\n<ul>\n<li>Infrastructure: Add output buffering checkbox to Server-Timing screen. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/801\" rel=\"nofollow ugc noopener\">801<\/a>)<\/li>\n<li>Infrastructure: Implement logic to measure specific hook execution time with Server-Timing controlled by a WP Admin screen. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/784\" rel=\"nofollow ugc noopener\">784<\/a>)<\/li>\n<\/ul>\n<p><strong>Enhancements<\/strong><\/p>\n<ul>\n<li>Images: Fix incorrect function prefixes in Image Placeholders. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/789\" rel=\"nofollow ugc noopener\">789<\/a>)<\/li>\n<li>Infrastructure: Add early exit clauses to files with procedural code. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/790\" rel=\"nofollow ugc noopener\">790<\/a>)<\/li>\n<li>Infrastructure: Allow disabling Server-Timing entirely using <code>PERFLAB_DISABLE_SERVER_TIMING<\/code> constant. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/795\" rel=\"nofollow ugc noopener\">795<\/a>)<\/li>\n<\/ul>\n<p><strong>Bug Fixes<\/strong><\/p>\n<ul>\n<li>Images: Fix WebP handling when editing images based on WordPress 6.3 change. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/796\" rel=\"nofollow ugc noopener\">796<\/a>)<\/li>\n<li>Infrastructure: Fix errors detected by Plugin Checker. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/788\" rel=\"nofollow ugc noopener\">788<\/a>)<\/li>\n<\/ul>\n<h4>2.5.0<\/h4>\n<p><strong>Enhancements<\/strong><\/p>\n<ul>\n<li>Images: Check for fetchpriority feature being available in WordPress core before loading the module. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/769\" rel=\"nofollow ugc noopener\">769<\/a>)<\/li>\n<li>Database Optimization: Remove SQLite module. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/764\" rel=\"nofollow ugc noopener\">764<\/a>)<\/li>\n<li>Infrastructure: Bump tested up to version to 6.3. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/772\" rel=\"nofollow ugc noopener\">772<\/a>)<\/li>\n<\/ul>\n<h4>2.4.0<\/h4>\n<p><strong>Enhancements<\/strong><\/p>\n<ul>\n<li>Database: Implement migration prompt to migrate from SQLite module to standalone plugin due to removal in the following release. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/739\" rel=\"nofollow ugc noopener\">739<\/a>)<\/li>\n<li>Infrastructure: Enhance code quality by adding PHPStan and fixing level 0 issues. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/730\" rel=\"nofollow ugc noopener\">730<\/a>)<\/li>\n<li>Infrastructure: Use static closures for minor performance improvement whenever instance access is not needed. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/729\" rel=\"nofollow ugc noopener\">729<\/a>)<\/li>\n<\/ul>\n<p><strong>Bug Fixes<\/strong><\/p>\n<ul>\n<li>Database: Fix SQLite module deactivation routine to make standalone plugin migration work correctly. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/743\" rel=\"nofollow ugc noopener\">743<\/a>)<\/li>\n<li>Infrastructure: Make <code>Server-Timing<\/code> header output more robust. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/736\" rel=\"nofollow ugc noopener\">736<\/a>)<\/li>\n<\/ul>\n<h4>2.3.0<\/h4>\n<p><strong>Enhancements<\/strong><\/p>\n<ul>\n<li>Images: Configure <code>Dominant Color<\/code> and <code>Fetchpriority<\/code> modules for their standalone plugins. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/704\" rel=\"nofollow ugc noopener\">704<\/a>)<\/li>\n<li>Infrastructure: Temporarily remove Image Placeholders from standalone <code>plugins.json<\/code> definition. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/719\" rel=\"nofollow ugc noopener\">719<\/a>)<\/li>\n<li>Infrastructure: Use dynamic version from <code>plugins.json<\/code> for manual workflow. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/710\" rel=\"nofollow ugc noopener\">710<\/a>)<\/li>\n<\/ul>\n<p><strong>Bug Fixes<\/strong><\/p>\n<ul>\n<li>Images: Add dominant color styling before any existing inline style attributes. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/716\" rel=\"nofollow ugc noopener\">716<\/a>)<\/li>\n<li>Infrastructure: Resolve low-severity security advisory <a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/security\/advisories\/GHSA-66qq-69rw-6x63\" rel=\"nofollow ugc noopener\" class=\"broken_link\">GHSA-66qq-69rw-6\u00d763<\/a>.<\/li>\n<\/ul>\n<h4>2.2.0<\/h4>\n<p><strong>Enhancements<\/strong><\/p>\n<ul>\n<li>Images: Remove \u201cexperimental\u201d flag from Fetchpriority module. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/702\" rel=\"nofollow ugc noopener\">702<\/a>)<\/li>\n<li>Infrastructure: Implement infrastructure for launching standalone plugins from modules, including Modern Image Formats. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/699\" rel=\"nofollow ugc noopener\">699<\/a>)<\/li>\n<li>Infrastructure: Include <code>WordPress-Extra<\/code> rules in PHPCS configuration and fix resulting problems. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/695\" rel=\"nofollow ugc noopener\">695<\/a>)<\/li>\n<\/ul>\n<p><strong>Bug Fixes<\/strong><\/p>\n<ul>\n<li>Images: Sanitize target param before using it. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/690\" rel=\"nofollow ugc noopener\">690<\/a>)<\/li>\n<\/ul>\n<p><strong>Documentation<\/strong><\/p>\n<ul>\n<li>Images: Change module slug\/directory from <code>dominant-color<\/code> to <code>dominant-color-images<\/code>. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/708\" rel=\"nofollow ugc noopener\">708<\/a>)<\/li>\n<li>Images: Rename <code>Dominant Color<\/code> module to <code>Dominant Color images<\/code>. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/705\" rel=\"nofollow ugc noopener\">705<\/a>)<\/li>\n<\/ul>\n<h4>2.1.0<\/h4>\n<p><strong>Enhancements<\/strong><\/p>\n<ul>\n<li>Infrastructure: Add <code>wp-total<\/code> metric to default Server-Timing metrics. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/669\" rel=\"nofollow ugc noopener\">669<\/a>)<\/li>\n<li>Infrastructure: Ensure module <code>load.php<\/code> files really only load other code to prevent conflicts in standalone plugins. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/674\" rel=\"nofollow ugc noopener\">674<\/a>)<\/li>\n<\/ul>\n<p><strong>Bug Fixes<\/strong><\/p>\n<ul>\n<li>Infrastructure: Fix problems with placing <code>object-cache.php<\/code> drop-in. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/672\" rel=\"nofollow ugc noopener\">672<\/a>)<\/li>\n<\/ul>\n<h4>2.0.0<\/h4>\n<p><strong>Enhancements<\/strong><\/p>\n<ul>\n<li>Object Cache: Update WordPress version to 6.1 and remove Cache modules. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/641\" rel=\"nofollow ugc noopener\">641<\/a>)<\/li>\n<li>Measurement: Add <code>perflab_disable_object_cache_dropin<\/code> filter. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/629\" rel=\"nofollow ugc noopener\">629<\/a>)<\/li>\n<li>Database: Add an indicator in the adminbar to show when using SQLite. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/604\" rel=\"nofollow ugc noopener\">604<\/a>)<\/li>\n<\/ul>\n<p><strong>Bug Fixes<\/strong><\/p>\n<ul>\n<li>Images: Check for existing <code>$metadata['sizes']<\/code> to fix PHP warning. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/648\" rel=\"nofollow ugc noopener\">648<\/a>)<\/li>\n<li>Images: Use correct number of arguments in filter callback. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/634\" rel=\"nofollow ugc noopener\">634<\/a>)<\/li>\n<li>Database: Fix invalid docs and return types as highlighted by static analysis. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/645\" rel=\"nofollow ugc noopener\">645<\/a>)<\/li>\n<li>Infrastructure: Fix incorrect usage of <code>plugin_action_links_*<\/code> filter. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/647\" rel=\"nofollow ugc noopener\">647<\/a>)<\/li>\n<\/ul>\n<p><strong>Documentation<\/strong><\/p>\n<ul>\n<li>Infrastructure: Add file header to object-cache drop-in to clarify purpose. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/649\" rel=\"nofollow ugc noopener\">649<\/a>)<\/li>\n<\/ul>\n<h4>1.9.0<\/h4>\n<p><strong>Enhancements<\/strong><\/p>\n<ul>\n<li>Database: Remove warning about multi-server environment from the SQLite module description. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/619\" rel=\"nofollow ugc noopener\">619<\/a>)<\/li>\n<\/ul>\n<p><strong>Bug Fixes<\/strong><\/p>\n<ul>\n<li>Infrastructure: Enhance object-cache.php drop-in interoperability with other plugins. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/616\" rel=\"nofollow ugc noopener\">616<\/a>)<\/li>\n<\/ul>\n<h4>1.8.0<\/h4>\n<p><strong>Features<\/strong><\/p>\n<ul>\n<li>Measurement: Implement Server-Timing API foundation as well as basic load time metrics. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/553\" rel=\"nofollow ugc noopener\">553<\/a>)<\/li>\n<li>Database: Implement new experimental SQLite integration module. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/547\" rel=\"nofollow ugc noopener\">547<\/a>)<\/li>\n<li>Images: Implement new experimental <code>fetchpriority<\/code> module. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/528\" rel=\"nofollow ugc noopener\">528<\/a>)<\/li>\n<\/ul>\n<p><strong>Bug Fixes<\/strong><\/p>\n<ul>\n<li>Database: Fix SQLite notices related to undefined properties. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/600\" rel=\"nofollow ugc noopener\">600<\/a>)<\/li>\n<li>Database: Fix incorrect handling of <code>admin_email<\/code> and actual admin user\u2019s email when original <code>admin_email<\/code> user was deleted. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/603\" rel=\"nofollow ugc noopener\">603<\/a>)<\/li>\n<li>Database: Make WP filesystem setup more robust to prevent potential errors. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/595\" rel=\"nofollow ugc noopener\">595<\/a>)<\/li>\n<\/ul>\n<h4>1.7.0<\/h4>\n<p><strong>Enhancements<\/strong><\/p>\n<ul>\n<li>Images: Change WP Image editor quality for mime types. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/571\" rel=\"nofollow ugc noopener\">571<\/a>)<\/li>\n<li>Infrastructure: Introduce database focus area, rename JavaScript focus area to JS &amp; CSS, and phase out Site Health focus area. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/566\" rel=\"nofollow ugc noopener\">566<\/a>)<\/li>\n<\/ul>\n<p><strong>Bug Fixes<\/strong><\/p>\n<ul>\n<li>Images: Avoid potentially adding invalid attributes or duplicates for dominant color images. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/578\" rel=\"nofollow ugc noopener\">578<\/a>)<\/li>\n<li>Images: Fix fatal error in REST API response when an image has no attachment metadata. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/568\" rel=\"nofollow ugc noopener\">568<\/a>)<\/li>\n<li>Images: Fix image focal point bug when dominant color is enabled by not overriding <code>style<\/code> attribute. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/582\" rel=\"nofollow ugc noopener\">582<\/a>)<\/li>\n<li>Images: Fix opt-in checkbox for generating WebP and JPEG to also show on Multisite. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/565\" rel=\"nofollow ugc noopener\">565<\/a>)<\/li>\n<\/ul>\n<h4>1.6.0<\/h4>\n<p><strong>Enhancements<\/strong><\/p>\n<ul>\n<li>Site Health: Only load Site Health checks for persistent cache and full page cache when not available in core. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/543\" rel=\"nofollow ugc noopener\">543<\/a>)<\/li>\n<li>Images: Add checkbox to Settings &gt; Media to control whether to generate JPEG in addition to WebP. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/537\" rel=\"nofollow ugc noopener\">537<\/a>)<\/li>\n<li>Images: Generate only WebP images by default for JPEG and WebP uploads. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/527\" rel=\"nofollow ugc noopener\">527<\/a>)<\/li>\n<li>Infrastructure: Bump minimum WordPress requirement to 6.0. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/549\" rel=\"nofollow ugc noopener\">549<\/a>)<\/li>\n<\/ul>\n<h4>1.5.0<\/h4>\n<p><strong>Enhancements<\/strong><\/p>\n<ul>\n<li>Site Health: Improve autoloaded options check by highlighting largest autoloaded options. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/353\" rel=\"nofollow ugc noopener\">353<\/a>)<\/li>\n<\/ul>\n<h4>1.4.0<\/h4>\n<p><strong>Enhancements<\/strong><\/p>\n<ul>\n<li>Images: Enhance JS replacement mechanism for WebP to JPEG to more reliably replace full file name. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/443\" rel=\"nofollow ugc noopener\">443<\/a>)<\/li>\n<li>Images: Introduce <code>webp_uploads_get_content_image_mimes()<\/code> to get content image MIME replacement rules. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/420\" rel=\"nofollow ugc noopener\">420<\/a>)<\/li>\n<li>Infrastructure: Add <code>PERFLAB_PLUGIN_DIR_PATH<\/code> constant for <code>plugin_dir_path()<\/code>. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/429\" rel=\"nofollow ugc noopener\">429<\/a>)<\/li>\n<li>Infrastructure: Rename Site Health check modules for language and consistency. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/423\" rel=\"nofollow ugc noopener\">423<\/a>)<\/li>\n<\/ul>\n<p><strong>Bug Fixes<\/strong><\/p>\n<ul>\n<li>Site Health: Fix incorrect usage of badge colors in all Site Health checks. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/472\" rel=\"nofollow ugc noopener\">472<\/a>)<\/li>\n<li>Images: Add the original image\u2019s extension to the WebP file name to ensure it is unique. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/444\" rel=\"nofollow ugc noopener\">444<\/a>)<\/li>\n<li>Images: Fix REST API support for plain permalinks. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/457\" rel=\"nofollow ugc noopener\">457<\/a>)<\/li>\n<li>Infrastructure: Remove plugin option network-wide for Multisite during uninstall. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/458\" rel=\"nofollow ugc noopener\">458<\/a>)<\/li>\n<\/ul>\n<h4>1.3.0<\/h4>\n<p><strong>Enhancements<\/strong><\/p>\n<ul>\n<li>Images: Add replacing of images only in frontend context. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/424\" rel=\"nofollow ugc noopener\">424<\/a>)<\/li>\n<li>Images: Allow control for which image sizes to generate additional MIME type versions. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/415\" rel=\"nofollow ugc noopener\">415<\/a>)<\/li>\n<li>Images: Discard WebP image if it is larger than corresponding JPEG image. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/418\" rel=\"nofollow ugc noopener\">418<\/a>)<\/li>\n<li>Images: Optimize computing dominant color and transparency for images by combining the two functions. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/381\" rel=\"nofollow ugc noopener\">381<\/a>)<\/li>\n<li>Images: Provide fallback JPEG images in frontend when WebP is not supported by the browser. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/360\" rel=\"nofollow ugc noopener\">360<\/a>)<\/li>\n<li>Images: Rely on <code>wp_get_image_editor()<\/code> methods argument to check whether it supports dominant color methods. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/404\" rel=\"nofollow ugc noopener\">404<\/a>)<\/li>\n<li>Images: Remove experimental label from Dominant Color module and turn on by default for new installs. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/425\" rel=\"nofollow ugc noopener\">425<\/a>)<\/li>\n<li>Site Health: Remove <code>perflab_aea_get_resource_file_size()<\/code> in favor of <code>wp_filesize()<\/code>. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/380\" rel=\"nofollow ugc noopener\">380<\/a>)<\/li>\n<li>Site Health: Update documentation link for autoloaded options. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/408\" rel=\"nofollow ugc noopener\">408<\/a>)<\/li>\n<li>Infrastructure: Implement mechanism to not load module if core version is available. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/390\" rel=\"nofollow ugc noopener\">390<\/a>)<\/li>\n<\/ul>\n<p><strong>Bug Fixes<\/strong><\/p>\n<ul>\n<li>Images: Ensure incorrect usage of <code>webp_uploads_upload_image_mime_transforms<\/code> filter is treated correctly. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/393\" rel=\"nofollow ugc noopener\">393<\/a>)<\/li>\n<li>Images: Fix PHP notice and bug in logic for when <code>webp_uploads_prefer_smaller_image_file<\/code> filter is set to <code>true<\/code>. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/397\" rel=\"nofollow ugc noopener\">397<\/a>)<\/li>\n<li>Images: Fix an infinite loop in the WebP fallback mechanism. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/433\" rel=\"nofollow ugc noopener\">433<\/a>)<\/li>\n<li>Images: Fix dominant color upload process to not override potential third-party editors. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/401\" rel=\"nofollow ugc noopener\">401<\/a>)<\/li>\n<li>Images: Remove additional image backup sources &amp; sizes files when attachment deleted. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/411\" rel=\"nofollow ugc noopener\">411<\/a>)<\/li>\n<li>Infrastructure: Avoid including .husky directory in plugin ZIP. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/421\" rel=\"nofollow ugc noopener\">421<\/a>)<\/li>\n<li>Infrastructure: Do not show admin pointer in multisite Network Admin. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/394\" rel=\"nofollow ugc noopener\">394<\/a>)<\/li>\n<\/ul>\n<h4>1.2.0<\/h4>\n<p><strong>Features<\/strong><\/p>\n<ul>\n<li>Images: Add Dominant Color module to provide color background for loading images. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/282\" rel=\"nofollow ugc noopener\">282<\/a>)<\/li>\n<li>Site Health: Add Site Health check for Full Page Cache usage. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/263\" rel=\"nofollow ugc noopener\">263<\/a>)<\/li>\n<\/ul>\n<p><strong>Enhancements<\/strong><\/p>\n<ul>\n<li>Images: Update <code>webp_uploads_pre_generate_additional_image_source<\/code> filter to allow returning file size. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/334\" rel=\"nofollow ugc noopener\">334<\/a>)<\/li>\n<li>Infrastructure: Introduce plugin uninstaller routine. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/345\" rel=\"nofollow ugc noopener\">345<\/a>)<\/li>\n<li>Infrastructure: Use <code>wp_filesize<\/code> instead of <code>filesize<\/code> if available. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/376\" rel=\"nofollow ugc noopener\">376<\/a>)<\/li>\n<\/ul>\n<p><strong>Bug Fixes<\/strong><\/p>\n<ul>\n<li>Images: Avoid overwriting existing WebP files when creating WebP images. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/359\" rel=\"nofollow ugc noopener\">359<\/a>)<\/li>\n<li>Images: Back up edited <code>full<\/code> image sources when restoring the original image. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/314\" rel=\"nofollow ugc noopener\">314<\/a>)<\/li>\n<\/ul>\n<h4>1.1.0<\/h4>\n<p><strong>Features<\/strong><\/p>\n<ul>\n<li>Infrastructure: Add Performance Lab generator meta tag to <code>wp_head<\/code> output. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/322\" rel=\"nofollow ugc noopener\">322<\/a>)<\/li>\n<\/ul>\n<p><strong>Enhancements<\/strong><\/p>\n<ul>\n<li>Images: Introduce filter <code>webp_uploads_pre_generate_additional_image_source<\/code> to short-circuit generating additional image sources on upload. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/318\" rel=\"nofollow ugc noopener\">318<\/a>)<\/li>\n<li>Images: Introduce filter <code>webp_uploads_pre_replace_additional_image_source<\/code> to short-circuit replacing additional image sources in frontend content. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/319\" rel=\"nofollow ugc noopener\">319<\/a>)<\/li>\n<li>Images: Refine logic to select smaller image file in the frontend based on <code>webp_uploads_prefer_smaller_image_file<\/code> filter. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/302\" rel=\"nofollow ugc noopener\">302<\/a>)<\/li>\n<li>Images: Replace the featured image with WebP version when available. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/316\" rel=\"nofollow ugc noopener\">316<\/a>)<\/li>\n<li>Site Health: Update Site Health Autoloaded options documentation link. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/313\" rel=\"nofollow ugc noopener\">313<\/a>)<\/li>\n<li>Infrastructure: Avoid unnecessarily early escape of Site Health check labels. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/332\" rel=\"nofollow ugc noopener\">332<\/a>)<\/li>\n<\/ul>\n<p><strong>Bug Fixes<\/strong><\/p>\n<ul>\n<li>Object Cache: Correct label for persistent object cache Site Health check. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/329\" rel=\"nofollow ugc noopener\">329<\/a>)<\/li>\n<li>Images: Only update the specified target images when an image is edited. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/301\" rel=\"nofollow ugc noopener\">301<\/a>)<\/li>\n<\/ul>\n<h4>1.0.0<\/h4>\n<p><strong>Features<\/strong><\/p>\n<ul>\n<li>Images: Generate secondary image MIME types when editing original image. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/235\" rel=\"nofollow ugc noopener\">235<\/a>)<\/li>\n<\/ul>\n<p><strong>Enhancements<\/strong><\/p>\n<ul>\n<li>Images: Introduce <code>webp_uploads_prefer_smaller_image_file<\/code> filter allowing to opt in to preferring the smaller image file. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/287\" rel=\"nofollow ugc noopener\">287<\/a>)<\/li>\n<li>Images: Select MIME type to use in frontend content based on file size. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/243\" rel=\"nofollow ugc noopener\">243<\/a>)<\/li>\n<li>Site Health: Update Site Health reports copy for more clarity and consistency. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/272\" rel=\"nofollow ugc noopener\">272<\/a>)<\/li>\n<\/ul>\n<p><strong>Documentation<\/strong><\/p>\n<ul>\n<li>Infrastructure: Define the plugin\u2019s version support and backward compatibility policy. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/240\" rel=\"nofollow ugc noopener\">240<\/a>)<\/li>\n<\/ul>\n<h4>1.0.0-rc.1<\/h4>\n<p><strong>Enhancements<\/strong><\/p>\n<ul>\n<li>Images: Change expected order of items in the <code>webp_uploads_content_image_mimes<\/code> filter. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/250\" rel=\"nofollow ugc noopener\">250<\/a>)<\/li>\n<li>Images: Replace images in frontend content without using an additional regular expression. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/262\" rel=\"nofollow ugc noopener\">262<\/a>)<\/li>\n<li>Images: Restore and backup image sizes alongside the sources properties. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/242\" rel=\"nofollow ugc noopener\">242<\/a>)<\/li>\n<\/ul>\n<p><strong>Bug Fixes<\/strong><\/p>\n<ul>\n<li>Images: Select image editor based on WebP support instead of always using the default one. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/259\" rel=\"nofollow ugc noopener\">259<\/a>)<\/li>\n<\/ul>\n<h4>1.0.0-beta.3<\/h4>\n<p><strong>Bug Fixes<\/strong><\/p>\n<ul>\n<li>Infrastructure: Ensure default modules are loaded regardless of setting registration. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/248\" rel=\"nofollow ugc noopener\">248<\/a>)<\/li>\n<\/ul>\n<h4>1.0.0-beta.2<\/h4>\n<p><strong>Features<\/strong><\/p>\n<ul>\n<li>Images: Create additional MIME types for the full size image. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/194\" rel=\"nofollow ugc noopener\">194<\/a>)<\/li>\n<li>Site Health: Add module to warn about excessive amount of autoloaded options. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/124\" rel=\"nofollow ugc noopener\">124<\/a>)<\/li>\n<\/ul>\n<p><strong>Enhancements<\/strong><\/p>\n<ul>\n<li>Images: Adds sources information to the attachment media details of the REST response. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/224\" rel=\"nofollow ugc noopener\">224<\/a>)<\/li>\n<li>Images: Allow developers to select which image format to use for images in the content. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/230\" rel=\"nofollow ugc noopener\">230<\/a>)<\/li>\n<li>Images: Allow developers to tweak which image formats to generate on upload. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/227\" rel=\"nofollow ugc noopener\">227<\/a>)<\/li>\n<li>Images: Replace the full size image in <code>the_content<\/code> with additional MIME type if available. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/195\" rel=\"nofollow ugc noopener\">195<\/a>)<\/li>\n<li>Object Cache: Include <code>memcached<\/code> extension in checks for object cache support. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/206\" rel=\"nofollow ugc noopener\">206<\/a>)<\/li>\n<li>Infrastructure: Add plugin banner and icon assets. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/231\" rel=\"nofollow ugc noopener\">231<\/a>)<\/li>\n<li>Infrastructure: Use <code>.gitattributes<\/code> instead of <code>.distignore<\/code> to better support ZIP creation. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/223\" rel=\"nofollow ugc noopener\">223<\/a>)<\/li>\n<\/ul>\n<p><strong>Bug Fixes<\/strong><\/p>\n<ul>\n<li>Images: Use <code>original<\/code> image to generate all additional image format sub-sizes. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/207\" rel=\"nofollow ugc noopener\">207<\/a>)<\/li>\n<li>Infrastructure: Replace unreliable activation hook with default value for enabled modules. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/222\" rel=\"nofollow ugc noopener\">222<\/a>)<\/li>\n<\/ul>\n<p><strong>Documentation<\/strong><\/p>\n<ul>\n<li>Infrastructure: Update release instructions to include proper branching strategy and protect release branches. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/221\" rel=\"nofollow ugc noopener\">221<\/a>)<\/li>\n<\/ul>\n<h4>1.0.0-beta.1<\/h4>\n<p><strong>Features<\/strong><\/p>\n<ul>\n<li>Images: Add WebP for uploads module. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/32\" rel=\"nofollow ugc noopener\">32<\/a>)<\/li>\n<li>Images: Support retry mechanism for generating sub-sizes in additional MIME types on constrained environments. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/188\" rel=\"nofollow ugc noopener\">188<\/a>)<\/li>\n<li>Images: Update <code>the_content<\/code> with the appropriate image format. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/152\" rel=\"nofollow ugc noopener\">152<\/a>)<\/li>\n<li>Site Health: Add WebP support in site health. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/141\" rel=\"nofollow ugc noopener\">141<\/a>)<\/li>\n<li>Site Health: Add module to alert about excessive JS and CSS assets. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/54\" rel=\"nofollow ugc noopener\">54<\/a>)<\/li>\n<li>Object Cache: Add Site Health check module for persistent object cache. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/111\" rel=\"nofollow ugc noopener\">111<\/a>)<\/li>\n<li>Infrastructure: Add settings screen to toggle modules. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/30\" rel=\"nofollow ugc noopener\">30<\/a>)<\/li>\n<li>Infrastructure: Added admin pointer. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/199\" rel=\"nofollow ugc noopener\">199<\/a>)<\/li>\n<\/ul>\n<p><strong>Enhancements<\/strong><\/p>\n<ul>\n<li>Object Cache: Always recommend object cache on multisite. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/200\" rel=\"nofollow ugc noopener\">200<\/a>)<\/li>\n<li>Images: Create image sub-sizes in additional MIME types using <code>sources<\/code> for storage. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/147\" rel=\"nofollow ugc noopener\">147<\/a>)<\/li>\n<li>Images: Update module directories to be within their focus directory. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/58\" rel=\"nofollow ugc noopener\">58<\/a>)<\/li>\n<li>Site Health: Enhance detection of enqueued frontend assets. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/136\" rel=\"nofollow ugc noopener\">136<\/a>)<\/li>\n<li>Infrastructure: Add link to Settings screen to the plugin\u2019s entry in plugins list table. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/197\" rel=\"nofollow ugc noopener\">197<\/a>)<\/li>\n<li>Infrastructure: Enable all non-experimental modules on plugin activation. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/191\" rel=\"nofollow ugc noopener\">191<\/a>)<\/li>\n<li>Infrastructure: Include generated module-i18n.php file in repository. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/196\" rel=\"nofollow ugc noopener\">196<\/a>)<\/li>\n<li>Infrastructure: Introduce <code>perflab_active_modules<\/code> filter to control which modules are active. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/87\" rel=\"nofollow ugc noopener\">87<\/a>)<\/li>\n<li>Infrastructure: Remove unnecessary question marks from checkbox labels. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/110\" rel=\"nofollow ugc noopener\">110<\/a>)<\/li>\n<li>Infrastructure: Rename <code>object-caching<\/code> to <code>object-cache<\/code>. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/108\" rel=\"nofollow ugc noopener\">108<\/a>)<\/li>\n<\/ul>\n<p><strong>Bug Fixes<\/strong><\/p>\n<ul>\n<li>Images: Ensure the <code>-scaled<\/code> image remains in the original uploaded format. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/143\" rel=\"nofollow ugc noopener\">143<\/a>)<\/li>\n<li>Images: Fix typo to access to the correct image properties. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/203\" rel=\"nofollow ugc noopener\">203<\/a>)<\/li>\n<li>Infrastructure: Ensure that module header fields can be translated. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/60\" rel=\"nofollow ugc noopener\">60<\/a>)<\/li>\n<\/ul>\n<p><strong>Documentation<\/strong><\/p>\n<ul>\n<li>Site Health: Mark Site Health Audit Enqueued Assets module as experimental for now. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/205\" rel=\"nofollow ugc noopener\">205<\/a>)<\/li>\n<li>Infrastructure: Add <code>readme.txt<\/code> and related update script. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/72\" rel=\"nofollow ugc noopener\">72<\/a>)<\/li>\n<li>Infrastructure: Add changelog generator script. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/51\" rel=\"nofollow ugc noopener\">51<\/a>)<\/li>\n<li>Infrastructure: Add contribution documentation. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/47\" rel=\"nofollow ugc noopener\">47<\/a>)<\/li>\n<li>Infrastructure: Add release documentation. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/138\" rel=\"nofollow ugc noopener\">138<\/a>)<\/li>\n<li>Infrastructure: Define module specification in documentation. (<a target=\"_blank\" href=\"https:\/\/github.com\/WordPress\/performance\/pull\/26\" rel=\"nofollow ugc noopener\">26<\/a>)<\/li>\n<\/ul>\n<\/div><\/div>\n<p><!-- .entry-content --><\/p>\n<p>\t<!-- .entry-meta --><br \/>\n<\/article>\n<p><a href=\"https:\/\/wordpress.org\/plugins\/performance-lab\/\">Source link <\/a><br \/> <div style=\"width: 640px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-2893-1\" width=\"640\" height=\"360\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/s-o-s.net\/wp-content\/uploads\/avc-files\/2893\/2893.mp4?_=1\" \/><a href=\"https:\/\/s-o-s.net\/wp-content\/uploads\/avc-files\/2893\/2893.mp4\">https:\/\/s-o-s.net\/wp-content\/uploads\/avc-files\/2893\/2893.mp4<\/a><\/video><\/div><\/p>","protected":false},"excerpt":{"rendered":"<p>Performance Lab By performanceteam Download Details Reviews Installation Development Support if ( &#8216;#changelog&#8217; == window.location.hash ) { window.setTimeout( function() { window.location.hash=&#8221;#developers&#8221;; }, 10 ); } Description The Performance Lab plugin is a collection of features focused on enhancing performance of your site, most of which should eventually be merged into WordPress core. The plugin facilitates [&hellip;]<\/p>","protected":false},"author":6,"featured_media":2894,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"give_campaign_id":0,"footnotes":""},"categories":[41,39,40],"tags":[1940,1939],"class_list":["post-2893","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-beta-plugin","category-lite-version","category-wp-plugin-solution","tag-lab","tag-performance"],"acf":[],"fifu_image_url":"https:\/\/ps.w.org\/performance-lab\/assets\/banner-772x250.png?rev=3098881","_links":{"self":[{"href":"http:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/posts\/2893","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"http:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/comments?post=2893"}],"version-history":[{"count":2,"href":"http:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/posts\/2893\/revisions"}],"predecessor-version":[{"id":11547,"href":"http:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/posts\/2893\/revisions\/11547"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/media\/2894"}],"wp:attachment":[{"href":"http:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/media?parent=2893"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/categories?post=2893"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/tags?post=2893"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}