=== Hummingbird Performance - Cache & Page Speed Optimization for Core Web Vitals | Critical CSS | Minify CSS | Defer CSS Javascript | CDN ===
Plugin Name: Hummingbird Performance - Cache & Page Speed Optimization for Core Web Vitals | Critical CSS | Minify CSS | Defer CSS Javascript | CDN
Version: 3.20.0
Author: WPMU DEV
Author URI: https://wpmudev.com/
Contributors: WPMUDEV
Tags: Cache, Caching, Performance, Critical CSS, Minify CSS, Javascript Delay
Requires at least: 6.4
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 3.20.0
License: GPLv2
License URI: http://www.gnu.org/licenses/old-licenses/gpl-2.0.html

Optimize PageSpeed Performance & Core Web Vitals, Advanced Cache, Minify CSS & JavaScript, Inline Critical CSS, Defer CSS & JS, Smush & Lazy Load, CDN

== Description ==

**Hummingbird makes your website faster and optimizes site performance by adding new ways to boost Google PageSpeed Insights with fine-tuned controls over file compression, deferring CSS and JavaScript styles and scripts, minify for CSS and JS, Lazy Load integration, and world-class caching.**

Hummingbird is brought to you by the WordPress speed specialists that created [Smush](https://wordpress.org/plugins/wp-smushit/) image optimization, now active on more than +1 million websites. Get the complete speed boost with Hummingbird and Smush.

**Enjoy top-tier performance and PageSpeed optimization from the start with [Hummingbird Pro](https://wpmudev.com/project/wp-hummingbird/?utm_source=wordpress.org&utm_medium=readme&utm_campaign=hummingbird-readme-above-the-fold&utm_content=wp_hummingbird_pro ).**

Level up immediately with exclusive Pro features like Delay JavaScript Execution, Critical CSS Generation, Brotli file compression, and 119-point global asset CDN with unlimited bandwidth. [Learn more about Pro](https://wpmudev.com/project/wp-hummingbird/?utm_source=wordpress.org&utm_medium=readme&utm_campaign=hummingbird-readme-above-the-fold&utm_content=wp_hummingbird_pro).

### If PageSpeed Insights is making these speed recommendations Hummingbird can help:

- Enable text compression - Use gzip to make your site fly (Brotli Compression via CDN included with Pro).
- Preconnect to required origins - Use Hummingbird to establish earlier connections.
- Preload key requests - Prioritize resources based on order.
- Avoid enormous network payloads - Consider Lazy Load for comments or breaking up smaller posts.
- Use efficient cache - The Hummingbird Cache suite offers effective browser cache for caching any site.
- Fix your JavaScript execution time - Deliver smaller JS payloads, preload JS, and defer JS.
- Minify CSS - Strip unused code from your CSS.
- Minify JavaScript - Speed up the time it takes to parse your JS files.
- Eliminate render-blocking resources - Move critical CSS and JS inline and defer all non-critical JS/CSS.
- Delay JavaScript execution (Pro only) - Increase performance by delaying the loading of non-critical JS files and scripts until user interaction.
- Automatically generate Critical CSS (Pro only) - Substantially boost page speed and UX by prioritizing above-the-fold content.
- Defer unused CSS - Defer the loading of CSS not used for above-the-fold content.
- Lazy Load offscreen images ([Smush free](https://wordpress.org/plugins/wp-smushit/) integration).

Hummingbird scans your site and provides one-click fixes to speed up WordPress in a flash.

You’ll get faster loading pages, higher search rankings (SERP) and PageSpeed scores, and happier visitors with Hummingbird’s WordPress speed optimization. Optimizing the speed of your site has never been easier!

### Features Available in Hummingbird Include:

- Scan and Fix – Get a scan of your site, find out what’s slowing it down, and use one-click performance improvements to make critical speed improvements.
- World-class caching – A full caching suite to load pages faster with full-page, Gravatar, and browser cache tool.
- Performance Reports – Pro tips for running your site at super speed.
- Asset Optimization – Combine, compress and position Javascript, CSS, and Google Font files for top performance.
- Safe Mode — Test Hummingbird settings without affecting your visitors' experience, only logged-in admins see the optimized version.
- Better Rankings – Improve scores on Google PageSpeed Insights (SEO ranking factor), YSlow, Pingdom, and GTmetrix.
- Increase Your Conversion Rate - Don’t keep visitors waiting: faster sites convert better.
- GZIP Compression – Blazing-fast HTML, JavaScript, and stylesheet (CSS) transfer.
- Configs – Set your preferred performance settings, save them as config, and instantly upload to any other site.
- Font Optimization - Improve site speed, Core Web Vitals, and visual stability by preloading critical fonts and enabling fallbacks.
- Uptime Monitoring & Alerts - Get instant notifications if your site ever goes down.
- Scheduled Performance Reports - Stay on top of site speed with regular insights.

### Learn The Ropes With These Hands-On Hummingbird Tutorials

- [How To Optimize WordPress For Speed With Hummingbird](https://wpmudev.com/blog/optimize-wordpress-speed-hummingbird/)
- [How To Optimize Elementor for Free Using Smush and Hummingbird](https://wpmudev.com/blog/optimize-elementor-wordpress-smush-hummingbird/)
- [How To Optimize WPBakery Sites Using Smush And Hummingbird](https://wpmudev.com/blog/optimize-wordpress-wpbakery-free-plugins/)
- [Speed Up and Optimize Avada for Free Using Smush and Hummingbird](https://wpmudev.com/blog/speed-up-optimize-avada-theme-smush-hummingbird-plugins/)
- [Optimize Divi for Free Using Smush and Hummingbird](https://wpmudev.com/blog/optimize-divi-wordpress-smush-hummingbird/)

= Hummingbird Features to Speed Up WordPress =

### Scan and One-Click Fix

Hummingbird is a WordPress speed optimization plugin. It will scan your site, find files that are slowing it down, and provide tips and fixes for making your site run at top speed.

Hummingbird even has one-click improvements like a full cache suite, one-click minify for styles and scripts, and deferring CSS and JS for quickly optimizing performance. What could be easier!

### World-Class Caching

You’ll get a world-class caching suite, including full-page, browser, and Gravatar cache.

Make your site load even faster with Hummingbird’s complete set of cache tools that give your visitors a faster browsing experience. Including full-page, browser and Gravatar caching.

### Asset Optimization

Did you know that loading too many files in your site’s header can slow it down? Hummingbird now gives you granular control with separate Combine and Compress optimization modes, so you can fine tune your Asset Optimization like a pro. Reorder, defer, compress and exclude CSS and JavaScript files with one-click.

### Transfer Data at Top Speed With GZIP

Hummingbird has GZIP powers to make sharing your site more efficient.

Sending zipped files is faster and can save you money on hosting. And don’t worry about setup, send Hummingbird instructions with the click of a button and she’ll handle the rest.

### Built-in Cloudflare Integration

Hummingbird can be used to control your [Cloudflare](https://www.cloudflare.com/) browser cache and Automatic Platform Optimizations (APO) settings as well! Simply add your Cloudflare API key and configure away.

### Font Optimization

Boost site speed, Core Web Vitals, and the visual stability of pages for users with Hummingbird’s one-click font optimization features: **Preload Fonts,** which instructs browsers to preload essential fonts, and **Swap Web Fonts,** which applies a temporary fallback font until the primary one loads.

### Fully Compatible With Smush Image Optimization

You can complement Hummingbird’s WordPress speed optimization features with our award-winning sister-plugin [Smush image optimization](https://wordpress.org/plugins/wp-smushit/). Smush compresses your images, giving your site less to load – and thus a faster load time. Hummingbird + Smush integrate perfectly together, and are the perfect match to speed up WordPress.

Compress, optimize (optimise), and fix PageSpeed performance with properly sized images, lazy load, next-gen WebP convert, image formatting, and more.

### Save time with Hummingbird Configs

Configs allow you to save your preferred Hummingbird configuration settings and apply them to your other sites in a few clicks. You can create unlimited configs.

### Delay Javascript Resources (Pro Only)

Boost site performance dramatically by delaying the loading of JS files and third-party scripts until direct user interaction (e.g. scroll or click). Enjoy faster loading pages, improve web vitals, and ace your PageSpeed scores. 

Activate in one click, includes user interaction timeout and the option to exclude critical files from being delayed. A paid WPMU DEV account (the developers of Hummingbird) is required to access this feature. You can check out our affordable plans [here](https://wpmudev.com/pricing/).

### Generate Critical CSS (Pro Only)

Maximize site speed and user experience by prioritizing only the CSS that matters most. The Generate Critical CSS feature intelligently generates and embeds critical CSS in the head of each page, giving priority to above-the-fold content and significantly improving loading speed. Updates to your critical CSS are automated with every site design change, and you can enable/disable with a click.

= Faster Websites Rank Higher, Convert Better =

Every millisecond counts: your visitors expect an ever-faster website, with a page load time of under two seconds expected - and the norm. If visitors *don’t* get that on your site, they *will* leave.

If you’re running a business website or eCommerce store, that means **if your website does not load quickly, you will lose sales.**

Hummingbird is here to help you; it’s a one of a kind WordPress performance optimization plugin that can make your site run at superspeed, for free!

You get our WordPress performance optimization suite, which includes minification and GZIP for small page sizes, full caching for faster loading, and integration with Cloudflare’s APO / browser cache, and our sister-plugin [Smush image optimization](https://wordpress.org/plugins/wp-smushit/).

Hummingbird is built with ease-of-use in mind; it makes your WordPress site faster, but it’s also fast to set up. You can scan your site and implement recommended changes in one-click, getting a fast site in mere minutes.

All the above is free and will speed up WordPress for you. **If you need the very fastest WordPress site, [you should get a WPMU DEV Membership](https://wpmudev.com/?utm_source=wordpress.org&utm_medium=readme&utm_campaign=hummingbird-readme&utm_content=you_should_get_wpmudev_membership).**

Our Membership gives you access to Hummingbird Pro – which features automated scanning, enhanced minify compression (with 2x the regular optimization), CDN hosted minification – alongside Smush Pro image optimization, all our premium WordPress plugins, and 24/7 WordPress support.

[It’s an incredible deal, and you can find out more here.](https://wpmudev.com/?utm_source=wordpress.org&utm_medium=readme&utm_campaign=hummingbird-readme&utm_content=and_you_can_find_out_more_here)

= What do People say About Hummingbird? =

★★★★★
> “**Hummingbird is so easy to use**. I thought it wouldn't change my speed much because I already made improvements. I ran the scan, it gave me recommendations, I pushed a button to apply them and it made my site even faster!” - [Camilo](https://wpmudev.com/profile/juancamilobuitrago)

★★★★★
> “Hummingbird is getting smarter with each update. Today it's become so good that it forced me to remove giant cache and optimization plugins like WP Super Cache and WP Sweep because now Hummingbird includes all those features – but in a more impressive way.” - [swagatam1975](https://wordpress.org/support/users/swagatam1975/)

★★★★★
> “**Hummingbird took me from 32 to 84 on Google page speed** plus made my site 50% faster on GTmetrix!” - [Nicolas](https://wpmudev.com/profile/nicolastergiopoulos)

★★★★★
> “I just built a real bloated sack of crap of a WP site, and after configuring Hummingbird and letting it do its thing, the site is actually *fast* — much faster than it has any right to be...I’m impressed.” - [Cacarr](https://wordpress.org/support/topic/better-than-i-deserve-2/)

= A Note From Hummingbird =
Hey! This is Hummingbird, your trusted solution to speed up WordPress. I’m part of the WPMU DEV team, a superhero-suite of WordPress plugins, services, and support. Here are some of our other free plugins:

- [Smush](https://wordpress.org/plugins/wp-smushit/) - Image Compression and Optimization
- [Forminator](https://wordpress.org/plugins/forminator/) - Form, Quiz, Poll and Survey Builder
- [Hustle](https://wordpress.org/plugins/wordpress-popup/) - Pop-ups, Slide-ins and Email Opt-ins

And if you need ALL our Pro plugins AND 24/7 WordPress support, [get WPMU DEV membership!](https://wpmudev.com/?utm_source=wordpress.org&utm_medium=readme&utm_campaign=hummingbird-readme&utm_content=link_wpmudev)

My superhero friends run the WPMU DEV Blog, your source for the very best WordPress tutorials. If you need to be in the know about WordPress, check it out.

Thanks for looking at Hummingbird, and I look forward to flying through your site to make it faster than ever.

 *Enjoy, The Hummingbird*

== Frequently Asked Questions ==

= Do I need Hummingbird if I already have caching like WP Rocket or W3 Total Cache? =

Yes! Of course, our cache suite is more than enough, but if you already use WP Rocket or W3 Total Cache, the special monitoring tools Hummingbird offers still make it worth it. To ensure compatibility, only activate overlapping features in one of the plugins.

= Does Hummingbird work with Cloudflare? =

Yes! Hummingbird is built to take full advantage of Cloudflare features. Just plug in your API to get started.

= Does Hummingbird work with WooCommerce? =

Yes! Hummingbird works great with ecommerce plugins like WooCommerce and MarketPress. For best results, when configuring full-page cache, follow the WooCommerce recommended cache settings. Hummingbird will exclude the cart, my account and checkout pages to keep content dynamic.

= Why is my WordPress slow? =

There are plenty of factors involved in why you’d have WordPress slow. Hummingbird’s scanning and one-click fixes can work out why your site is slow, and with one click, speed up WordPress for you. Easy peasy!

= What’s the difference between Hummingbird and Hummingbird Pro? =

The free Hummingbird plugin is a powerful suite of WordPress speed optimization features! You can deliver big improvements in your page speed in mere minutes using our one-click implementation of recommended fixes. Some of the reviews above show you the results you can get.

Hummingbird Pro is available as part of the WPMU DEV Membership, and adds automated scanning, uptime monitoring, enhanced minify compression (with 2x the regular optimization), and CDN hosted minification. This will make your site even faster.

Membership also gets you all our premium WordPress plugins, including Smush Pro, for the very best image optimization with image resizing, lazy load, and next-gen WebP convert, and 24/7 WordPress support. Hummingbird is a great free plugin, and Hummingbird Pro is even better. [You can find out more here.](https://wpmudev.com/?utm_source=wordpress.org&utm_medium=readme&utm_campaign=hummingbird-readme&utm_content=you_can_find_out_more)

= Somebody help! I turned on Asset Optimization and it broke my site!? =

Asset Optimization is a great way to speed up your site but moving, combining, using minify, and rearranging CSS and JavaScript (.JS) files can also mess with styling and break functionality. We recommend making incremental changes and testing your site as you go so you can undo the changes if something breaks. And remember, don’t panic. If something goes wrong you can start over with the click of a button :)

= How can I report security issues or bugs? =

We take plugin security incredibly seriously; if you have a bug or vulnerability to report, you can do so through the Patchstack Vulnerability Disclosure Program. It’s fast, easy, and you will be notified when the issue is fixed. [Report a vulnerability](https://patchstack.com/database/vdp/hummingbird-performance).

== Screenshots ==

1. Performance test.
2. Full-page, browser and gravatar caching.
3. Minify and combine files to speed up your site.
4. Save space and speed things up.
5. Custom performance optimizations using Advanced Tools.

== Changelog ==

= 3.20.0 ( 2026-07-20 ) =
- New: Improved error messaging when generating Critical CSS while site is in maintenance mode
- Improvement: Refactored Safe Mode architecture with a centralized Safe Mode controller
- Improvement: Improved Clear Cache button UX in admin area
- Improvement: PHP 8.5 compatibility
- Improvement: Prevent WordPress assets (e.g. dashicons) from loading in Asset Optimization when only needed for logged-in users
- Improvement: Improved Asset Optimization compatibility with TranslatePress frontend editor
- Improvement: Improved Critical CSS exclusion handling for Elementor
- Improvement: Show confirmation notice when clearing individual cache types from the admin bar
- Improvement: Show success message when "Clear Cache" is triggered from file change detection notice
- Fix: Enable WPMU DEV CDN toggle in Settings not changing state
- Fix: File location in Asset Optimization Settings saves after adding input
- Fix: Asset Optimization including non-existent CSS files
- Fix: Asset Optimization filters displaying assets incorrectly when WooCommerce and Advanced Coupons for WooCommerce are active together
- Fix: Configs not including all Asset Optimization and Exclusion Optimization settings and exclusions
- Fix: Outdated Defender bot trap URL being cached, causing 404 errors and bypassing bot protection
- Fix: Incorrect script loading order and Asset Optimization not detecting some scripts
- Fix: Extension search feature in Asset Optimization Dev Mode filter not functioning correctly
- Fix: Error shown after regenerating Critical CSS
- Fix: "Instant site health alerts and notifications" incorrectly shown in Hummingbird Pro Widget
- Fix: PHP deprecated warnings for curl_close() in PHP 8.5
- Fix: PHP warnings when reloading the Hummingbird Uptime page
- Fix: PHP warnings after removing SmartCrawl or Defender while Hummingbird is active

= 3.19.0 ( 2026-01-26 ) =
- New: Success notification when cache is cleared from the admin bar
- Improvement: Updated optimization labels in Hummingbird Onboarding Wizard Summary
- Improvement: Enhanced Asset Optimization background file scan across all relevant locations
- Improvement: Mobile-specific Above-the-Fold critical CSS is now supported on sites using Static Server Cache
- Improvement: Improved caching plugin conflict detection to cover more popular caching solutions
- Fix: Browser caching only updating Images when generating the server script for individual file types
- Fix: Error in Debug log when Page caching is active
- Fix: Custom post type cache not working when "Posts" cache is disabled
- Fix: "Connect Site" button icon display issue
- Fix: Fatal error when enabling Asset Optimization after activating Safe Mode

= 3.18.1 ( 2025-12-16 ) =
- Improvement: Security hardening

= 3.18.0 ( 2025-12-15 ) =
- New: Safe Mode now covers all plugin settings, allowing you to test any change in a sandbox environment before going live
- New: Ability to run performance test in the safe mode
- Improvement: Refined the UX for Critical CSS generation
- Improvement: Enhanced Hummingbird Delay JS compatibility with Divi
- Improvement: Automatically excluded specific WooCommerce files from Asset Optimization to prevent product image issues
- Fix: Resolved an issue causing excessive cache folder size
- Fix: Resolved Hummingbird Delay JS and Critical CSS conflicts with other plugins
- Fix: Bulk Update issue in Asset Optimization Dev Mode
- Fix: Minor UX and copy adjustments

= 3.17.2 ( 2025-11-20 ) =
- Improvement: Miscellaneous improvements

= 3.17.1 ( 2025-11-06 ) =
- Fix: Deletion of Asset Optimization database data sometimes not working

= 3.17.0 ( 2025-11-06 ) =
- Improvement: Enhanced Hummingbird onboarding experience
- Improvement: Automatically clear Page Cache after editing Site Appearance
- Improvement: Improved logging for Critical CSS
- Fix: High memory usage when many minify groups are stored in the database
- Fix: Server and local cache not clearing automatically when adding a new post/page
- Fix: Cache not cleared when new comments are posted
- Fix: Some settings not resetting after clicking the "Reset" button
- Fix: Asset Optimization not stopping when the Complianz plugin is active
- Fix: Asset Optimization occasionally changing the order of styles
- Fix: Inaccurate caching stats in certain cases
- Fix: Minor visual issues
- Fix: PHP warnings

= 3.16.0 ( 2025-09-03 ) =
- Improvement: Restructure Asset Optimization modes
- Improvement: Replace the Manual Asset Optimization tab with a Dev Mode link
- Improvement: Asset Optimization Scan assets in the background
- Fix: Enhance core files to prevent AO file overload by other plugins

= 3.15.0 ( 2025-07-14 ) =
- Improvement: Uptime Monitoring feature is now available for WPMU DEV Free Plan members
- Improvement: Performance Notifications feature is now available for WPMU DEV Free Plan members
- Fix: Homepage display change requires manual cache clearing
- Fix: PHP warnings
- Fix: Menu item position swap and styling missing
- Fix: Hummingbird is not updating the Forminator CSS file upon form style update

= 3.14.1 ( 2025-05-29 ) =
- Fix: Prevent duplicate injection of JS delay script

= 3.14.0 ( 2025-05-19 ) =
- New: Serve from page cache even when processes like Asset Optimization are in progress
- Fix: Cloudflare cache not cleared when post is edited
- Fix: Manual cache clearing required in certain contexts
- Fix: Manual cache clearing required to publish Elementor changes
- Fix: PHP warnings
- Fix: Delay JS Exclusions and Critical CSS Exclusions do not reset when we reset Asset Optimization settings
- Fix: Manual Inclusions (Advanced) not resetting when settings are reset
- Fix: "Clear Cache" button still appears in wp-admin when disabled
- Fix: After the Setup Wizard finishes, all WP post types are added to the Critical CSS Exclusions list
- Fix: Hamburger menu stops working on mobile when JS Delay is enabled

= 3.13.1 ( 2025-04-24 ) =
- Improvement: WP 6.8 compatibility

= 3.13.0 ( 2025-03-26 ) =
- Improvement: Add new Google audits in Performance Test
- Improvement: Whitelabel email notifications
- Improvement: Ensure JS Delay, HB CDN, and Lazy Load work together
- Improvement: Updated component versions
- Improvement: Ensure compatibility with PHP 8.4
- Improvement: Performance enhancements
- Fix: The 'Reset' option in AO Settings does not reset Critical CSS and Font Optimization settings
- Fix: WooCommerce "Disable Cart Fragments On > All Pages" is not behaving as expected
- Fix: Critical CSS generation issue for taxonomy feed pages
- Fix: Page Cache is not cleared automatically after saving menu from the Site Editor
- Fix: Static Server Cache is not clearing on post update
- Fix: Add wpdef_lockout_ to the default cookie exclusion list

= 3.12.0 ( 2025-02-12 ) =
- New: Option to clear Static Server Cache when a post/page is updated
- New: UI option to exclude inline JS from the Delay JS feature
- Improvement: Exclude Elementor assets from Asset Optimization (AO)
- Improvement: Better compatibility with The Events Calendar plugin
- Improvement: New option to switch back to the legacy textarea for Exclusion Optimization (EO) exclusion keywords
- Improvement: New constant to completely skip the Asset Optimization (AO) module and use Exclusion Optimization (EO) only
- Improvement: Core WP files are now marked clearly in Exclusion Optimization (EO) exclusions
- Improvement: Compatibility check added for WPML
- Fix: Critical CSS toggle in the Summary Box was not updating
- Fix: Delay JS Exclusions and Critical CSS Exclusions Keyword not cleared when hitting enter
- Fix: Manual Inclusions textarea expander not working on Critical CSS
- Fix: Taxonomies not excluded from Critical CSS when Categories are excluded
- Fix: Exclude files, plugins/themes and keywords from Critical CSS generation when they are added to exclusions

= 3.11.0 ( 2024-12-23 )
- New: Granular asset exclusion controls for Delay JS and Critical CSS, allowing easier adjustments and fine-tuning.
- Improved: Enhanced asset optimization and Critical CSS generation by ignoring empty URLs and commented CSS, reducing errors.
- Improved: Prioritized Critical CSS generation before other CSS optimizations to prevent unexpected visual behavior.
- Improved: Removed certain autoload options to boost overall performance.
- Improved: Optimized API interactions with WPMU DEV hosting’s Static Server Cache for smoother integration.
- Fixed: Debug log errors when running a Performance Test.
- Fixed: Fatal error occurring when using Lazy Comments with Divi.
- Fixed: Ensured compatibility with WordPress 6.7

= 3.10.0 ( 2024-10-22 ) =
- New: Option to delay below-the-fold Critical CSS until user interaction for better performance
- New: Separate Mobile CSS generation when using Above-the-fold Critical CSS for improved mobile performance
- Improved: Better page caching and preloading for mobile devices for improved response times
- Improved: Better Critical CSS handling for themes which do not pass explicit IDs
- Improved: Added Critical CSS, Delay JS and Font Swapping options on the Setup wizard
- Fix: Asset Optimization Compatibility issues with Woo cart and checkout pages

= 3.9.4 ( 2024-09-04 ) =
- Improvement: Improved WPML compatibility
- Improvement: Improved Static Server Cache integration stability

= 3.9.3 ( 2024-08-12 ) =
- New: Viewport Meta Optimization for better mobile performance and responsiveness
- Improvement: Font Swapping for inline CSS font declarations
- Improvement: Caching compatibility with WooCommerce Multilingual & Multicurrency by WPML
- Fix: file_get_contents preventing Hummingbird from loading scripts in JavaScript Delay module
- Fix: PHP warnings generated by Performance test
- Improvement: Redis Object Caching integration deprecated
- Improvement: Legacy manual critical CSS deprecated (Replaced with automatic Critical CSS generation)
- Improvement: Minor fixes and improvements for Static Server Cache (FastCGI) integration

= 3.9.2 ( 2024-07-23 ) =
- Improvement: Security hardening

= 3.9.1 ( 2024-07-15 ) =
- Fix: Whitelabel fixes
- Improvement: General code improvements

= 3.9.0 ( 2024-07-09 ) =
- Improvement: Better integration with WPMU Dev hosting’s Static Server Cache
- Improvement: Option to switch Font Swapping modes to fine tune performance
- Improvement: Option to switch Font Preloading modes to fine tune performance
- Improvement: Preload Caching is now enabled by default for Homepage when Page Caching is active
- Improvement: Woo cart and checkout pages are excluded from optimization to prevent broken functionality
- Improvement: Faster Critical CSS processing
- Improvement: WP 6.6 compatibility
- Fix: Google Site Kit compatibility with Asset Optimization
- Fix: Relative URLs are now handled without errors when generating Critical CSS

= 3.8.1 ( 2024-05-02 ) =
- Fix: Font optimization causes issue with RSS feeds
- Fix: PHP errors and warnings

= 3.8.0 ( 2024-04-29 ) =
- New: Load local fonts early with font preloading
- New: Font swapping to ensure that text remains visible while webfont is downloading
- Improvement: Better caching compatibility with popular third-party plugins
- Improvement: Auto-populate CDN and web font domains in Advanced Tools > Preconnect
- Fix: PHP warnings
- Fix: Delay JS compatibility issue with Avada
- Fix: Asset optimization bug fixes

= 3.7.4 ( 2024-03-27 ) =
- Improvement: Security hardening

= 3.7.3 ( 2024-03-21 ) =
- New: Replaced deprecated FID check with INP in performance test

= 3.7.2 ( 2024-01-16 ) =
- New: Use static IPs for Critical CSS service
- Improvement: Ignore missing CSS files when generating Critical CSS
- Fix: Avoid calling the Critical CSS service too frequently

= 3.7.1 ( 2023-12-20 ) =
- Improvement: Stability improvements

= 3.7.0 ( 2023-12-06 ) =
- Fix: Critical CSS and Delay JS causing validation errors with AMP
- Fix: Compatibility warning with PHP 8.3
- Improvement: Better analytics

= 3.6.1 ( 2023-11-06 ) =
- Fix: Minify module generating CSS file with HTML inside, when source CSS file not found

= 3.6.0 ( 2023-10-09 ) =
- New: Generate Critical CSS for your pages to address render-blocking resource warnings and eliminate unused CSS
- Improvement: Add comments for all translation strings that have placeholders in them
- Improvement: Set minimum required PHP version to 7.4
- Fix: PHP errors and warnings
- Fix: Asset Optimization doesn't save settings on Manual Mode
- Fix: Delay JS conflict with Hub Client

= 3.5.0 ( 2023-06-27 ) =
- New: Delay JS - Delay the execution of scripts to prioritize page rendering
- Improvement: PHP 8.2 Compatibility
- Fix: Accessibility Improvements
- Fix: Security audit and improvements
- Fix: Filter panel overlaps result while scrolling down on Asset Optimization page
- Fix: Asset Optimization doesn't save manual settings in some situations
- Fix: Minor improvements in code and copy

= 3.4.7 ( 2023-06-13 ) =
- Improvement: Performance improvements

= 3.4.6 ( 2023-04-17 ) =
- Improvement: Switch from React development build to production build
- Fix: Asset Optimization stats showing NaN on non-English sites
- Fix: HB CDN automatically excluding two files from Themeco Pro theme
- Fix: Hummingbird performance test results accordion not opening
- Fix: Whitelabel issue with "What's New" modal
- Fix: Minor compatibility issues with PHP 8.2

= 3.4.5 ( 2023-03-28 ) =
- Fix: Incorrect post types getting deleted

= 3.4.4 ( 2023-03-15 ) =
- Improvement: Minor bug fixes and improvements

= 3.4.3 ( 2023-02-23 ) =
- Fix: Security fix

= 3.4.2 ( 2023-02-16 ) =
- Fix: JS error in configs

= 3.4.1 ( 2023-02-16 ) =
- Improvement: Security hardening
- Fix: Issue when upgrading from version 2.7.3

= 3.4.0 ( 2022-11-28 ) =
- New: Asset optimization safe mode
- New: React-based asset optimization module
- New: Compatibility module with WPMU DEV hosting FastCGI feature
- New: Map generated filenames to actual filenames on Manual Asset Optimisation
- New: Replace Google fonts with Bunny fonts for GDPR compliance
- Fix: Performance module showing older version of the report after scan
- Fix: Page cache preloader icon
- Fix: Uptime compatibility with WPMU DEV free Hub
- Fix: Smush activation links on MU
- Fix: Dashboard Asset Optimization Stats are different from the AO Summary Details
- Fix: Miscellaneous PHP warnings and errors

= 3.3.7 ( 2022-11-17 ) =

- Improvement: Code and compatibility improvements

= 3.3.6 ( 2022-11-01 ) =

- Enhance: Security hardening
- Enhance: WP 6.1 compatibility

= 3.3.5 ( 2022-10-04 ) =

- Enhance: Membership status check

= 3.3.4 ( 2022-06-16 ) =

- Enhance: Split out JavaScript libraries into smaller files
- Enhance: Reports compatibility with Defender masking feature
- Enhance: Cleanup on uninstall on network installs
- Enhance: Page cache compatibility with Defender security headers
- Fix: Usage tracking option on network installs
- Fix: Setup module logic on plugin activation
- Fix: Inline limits in asset optimization
- Fix: Weekly performance report sometimes sent out twice
- Fix: Settings link on Plugins page
- Fix: Comment on-click lazy loading
- Fix: Translation link URL
- Fix: Tooltip showing by default on 'Checking files' asset optimization modal
- Fix: Redis module not always being able to write to wp-config.php file
- Fix: Skip onboarding wizard if a config has been applied
- Fix: Rename "Basic" config to "Default"
- Fix: Tutorials scripts loading on all pages

= 3.3.3 ( 2022-05-12 ) =

- New: Set the number of comments to preload in lazy loading module
- Enhance: Clean up after uninstalling on multisite
- Enhance: Remove duplicate 'wphb_page_cache_cleared' action in favour of 'wphb_clear_cache_url'
- Enhance: Sanitize input fields in Configs module
- Enhance: Compatibility with Weglot plugin
- Fix: PHP undefined array key warnings
- Fix: Fatal error when clearing cache in certain conditions
- Fix: Toggling Uptime from WPMU DEV hub
- Fix: Clear cache button not white labeled
- Fix: Onboarding setup wizard summary layout
- Fix: Onboarding setup wizard tracking option on multisite
- Fix: Smush upsell block logic
- Fix: Tutorials on dashboard page cannot be hidden
- Fix: Duplicate users in notifications modal
- Fix: Errors when offloading ES6 modules with import statements to CDN
- Fix: Clear cache button (admin bar) logic on network installs
- Fix: Cloudflare zone selector not working
- Fix: High contrast notice in comments lazy load module
- Fix: Lazy loading WooCommerce reviews

= 3.3.2 ( 2022-03-14 ) =

- Fix: XSS vulnerability

= 3.3.1 ( 2022-02-24 ) =

- New: Onboarding setup wizard
- Enhance: Support for WPMU DEV Hub
- Enhance: Add a unique salt when enabling Redis integration
- Enhance: "How does it work" section in asset optimization module
- Fix: Incorrect detection of Cloudflare APO status
- Fix: Missing action buttons on Integrations page in sub sites
- Fix: Page cache not clearing when caching is disabled on subsites
- Fix: Duplicate ID elements on dashboard page
- Fix: Inability to auto start asset optimization scan from dashboard page on free version
- Fix: Remove global configs from network subsites
- Fix: An invalid form control with name='cloudflare-email' is not focusable error
- Fix: Documentation link in Notifications module
- Fix: Translation strings
- Fix: Styles for Select2 textarea elements

= 3.3.0 ( 2022-01-11 ) =

- New: Font optimization is now part of automatic asset optimization mode
- New: Notification email designs
- New: Plugin icon
- Enhance: Add file size limits for inlining assets in asset optimization module
- Enhance: Status of assets in asset optimization module
- Enhance: Updating of exclusion list in asset optimization UI
- Enhance: Page types exclusions in page caching
- Enhance: PHP 8.1 compatibility
- Fix: Clearing page cache on subsites in a network sub-directory installs
- Fix: Page caching module not showing for site admins
- Fix: Browser caching module not showing on subsites with Cloudflare integration
- Fix: Cached files counter when purging cache
- Fix: Infinite loop with orphaned assets when page cache integrations are enabled
- Fix: Cases when asset optimization breaks CSS with background SVG images
- Fix: Asset optimization auto selecting files in auto mode
- Fix: Cloudflare integration when a site is installed in a sub-folder
- Fix: Missing notification modules and translations
- Fix: Errors when purging Varnish cache
- Fix: Fatal error when scheduling database reports
- Fix: Fatal error with WP Ultimo 2.x

= 3.2.1 ( 2021-11-24 ) =

- Fix: Sync issues with WPMU DEV Hub

= 3.2.0 ( 2021-11-24 ) =

- New: Notifications module and dashboard widget
- New: Performance reports for subsites
- New: Database cleanup reports
- New: Page cache integration with WP Ultimo plugin
- New: Browser caching set up wizard
- Enhance: Simplify and improve browser caching setup
- Enhance: Allow changing file location for asset optimization in multisite
- Fix: PHP warnings when syncing settings with Hub
- Fix: Parse warning in DOM when using font optimization

= 3.1.4 ( 2021-11-04 ) =

- Enhance: White labeling support
- Fix: Double notices on Dashboard page
- Fix: Translation strings

= 3.1.3 ( 2021-11-01 ) =

- Enhance: Minor performance improvements

= 3.1.2 ( 2021-10-19 ) =

- New: Option to hide average response time from Uptime reports
- Enhance: Database cleanup drafts processing - drafts are now moved to trash instead of removed completely
- Enhance: Asset optimization processing - to prevent infinite processing loops, assets that use timestamps for versions will no longer be tracked
- Enhance: Asset optimization purging orphaned data entries
- Enhance: LiteSpeed server browser cache instructions
- Enhance: Compatibility with WPMU DEV hosting FastCGI
- Fix: Asset version changes not triggering asset optimization updates
- Fix: Page cache not clearing out cache when menu is updated
- Fix: Page cache not working on a page/post if the slug is 'mobile'
- Fix: PHP undefined offset warnings
- Fix: Hidden CPTs clearing out page cache
- Fix: Configs not working for subsite admins
- Fix: PHP warnings on Dashboard page when Smush was previously installed and removed
- Fix: Performance optimization guide link

= 3.1.1 ( 2021-09-07 ) =

- New: Import/export of asset optimization settings on network subsites
- Enhance: Page caching warnings and errors
- Enhance: Compatibility with PHP 8.1
- Fix: PHP warning in Asset Optimization module
- Fix: Error with [object Object] in Gzip module
- Fix: Page cache status when disabling the plugin on the network
- Fix: Preload key requests audit in performance test
- Fix: Performance scans not always starting in Firefox
- Fix: Cloudflare integration not detecting mapped domains on subsites
- Fix: Cloudflare modal not properly closing
- Fix: Overlapping tooltips on Asset optimization page

= 3.1.0 ( 2021-07-20 ) =

- New: Asset optimization preload option
- New: Asset optimization async option for external assets
- New: Add prefix to Redis cache via the WP_REDIS_SALT define (possible to store cache for multiple sites in a single database)
- New: DNS prefetch for asset optimization CDN
- New: Filter relevant audits in the performance test
- New: Connect to Cloudflare via API token
- Enhance: Allow setting crossorigin attribute for preconnect resources
- Enhance: Performance test score metrics weights (inline with latest Lighthouse changes)
- Enhance: Performance test tooltips
- Enhance: Make sure logging is active only when both WP_DEBUG and WP_DEBUG_LOG are set
- Enhance: Set the cache by device type option in Cloudflare APO for new installs
- Enhance: White labeling support
- Enhance: Processing of configs from other plugins
- Fix: Do not preconnect to Google fonts servers if no fonts are being optimized
- Fix: Broken purchase link in Cloudflare APO integration
- Fix: Page cache module not always showing on subsites
- Fix: Redis not connecting to external servers via hostname
- Fix: PHP warnings for undefined index original_size
- Fix: PHP warnings when doing performance scans from Dashboard
- Fix: PHP warnings array_filter() expects parameter 1 to be array
- Fix: Saving/applying settings via configs for Page Caching module on network installs

= 3.0.1 ( 2021-06-17 ) =

- New: Configs
- New: Define for controlling Redis exclusion groups
- New: Allow adding admin bar shortcuts for purging various caches
- Enhance: Move admin bar cache controls settings to the Settings - General page
- Enhance: Performance test informative audits UI
- Fix: Dashboard and Gzip compression module layout issues on mobile devices
- Fix: White pages when page cache is removed without header files
- Fix: Asset optimization empty debug link on subsites
- Fix: Documentation links
- Fix: Skip performance test button styles
- Fix: Skipping performance tests on subsites

= 3.0.0 ( 2021-05-19 ) =

- New: Performance reports (synced with latest Lighthouse API)
- New: Cloudflare automatic platform optimization (APO) integration
- New: Cloudflare integration for subsites
- New: Asset optimization font preloading
- New: Allow customizing page cache file names with a wphb_cache_* cookie
- New: Preconnect option
- Enhance: Asset optimization asset action tooltips
- Enhance: UX in Redis integration
- Enhance: Asset optimization and page cache compatibility
- Fix: Asset optimization settings reset
- Fix: Asset optimization UI inconsistencies
- Fix: Clear cache notice on network subsites
- Fix: Select element styles on reporting screens
- Fix: Overwriting network admin settings in advanced tools
- Fix: Page cache clearing taking too long during post edit
- Fix: Cloudflare browser caching settings not syncing with Hub

[Changelog for previous versions](https://wpmudev.com/project/wp-hummingbird/#view-changelog).

== About Us ==
WPMU DEV is a premium supplier of quality WordPress plugins, services and support. Join us here:
[https://wpmudev.com/](https://wpmudev.com/?utm_source=wordpress.org&utm_medium=readme&utm_campaign=hummingbird-readme&utm_content=wpmu_dev_link)

Don't forget to stay up to date on everything WordPress from the Internet's number one resource:
[WPMU DEV Blog](https://wpmudev.com/?utm_source=wordpress.org&utm_medium=readme&utm_campaign=hummingbird-readme&utm_content=wpmu_dev_blog_link)

Hey, one more thing... we hope you enjoy our [free offerings](https://profiles.wordpress.org/wpmudev/#content-plugins) as much as we've loved making them for you!
