Added check to make sure the site's hostname has at least one dot in it when determining Cloudflare zone ID (things like "localhost" are not valid Cloudflare zones)
Fetch up to 1,000 R2 buckets per account with API call instead of the default of 20
If API permissions get revoked on accident, don't throw exception about it on main admin index (admin index won't break if API permissions went away for some reason)
Better handling of stats rebuilding when rebuilding all stats for the site (from cache rebuild)
Check if Cloudflare account ID is missing when generating R2 bucket URL and add a server error log if that's the case (if an API token has insufficient permissions, you could end up with a missing account ID, which would in turn make R2 functions not work).
Backup option works properly again with Firewall rules (forgot to convert that to the new Ruleset API that the firewall uses
Added check to make sure none of the Cloudflare daily stats are somehow giving a negative number
Better handling of situation where someone deleted R2 bucket in Cloudflare's dashboard but didn't disconnect that bucket from being used by XenForo yet.
Fixed issue where we were assuming there was a firewall ruleset for firewall rules (not always the case, so don't assume it exists).
Fixed issue with logging daily stats if a site isn't using Turnstile for CAPTCHAs
Requires XF 2.1.0+ (always was the case technically, installer enforces it now)