Changelog for Blackhole Pro https://plugin-planet.com/blackhole-pro/ > __Tip:__ Use a free markdown tool like https://dillinger.io/ to convert the changelog to a more readable format. > __Tip:__ Check announcement posts for details about pro updates and related news: https://plugin-planet.com/news/ **3.5 (2024/07/10)** * Fixes bug with `dismiss_notice_link` * Adds bulk "Blacklist IPs" setting * Updates Help tab information * Updates plugin settings page * Updates default translation template * Tests on WordPress 6.6 (beta) **3.4.1 (2024/03/25)** * Replaces `gwhois.org` with `whois.com` for whois lookups * Removes duplicate option from `uninstall.php` * Updates plugin settings page and help tab * Updates default translation template * Improves plugin docs/readme.txt * Tests on WordPress 6.5 (beta) **3.4 (2023/11/03)** * Improves font-icon CSS styles * Improves localization function * Improves action links function * Improves JavaScript on settings page * Improves `blackhole_license_status()` * Adds message to Whitelist Bots setting * Changes display of IP addresses in settings * Replaces `DOING_CRON` with `wp_doing_cron()` * Adds filter hook `blackhole_whois_port` * Adds filter hook `blackhole_whois_server` * Adds custom notice on settings page * Improves plugin documentation in Help tab * Improves plugin documentation/readme.txt * Updates default translation template * Tests on WordPress 6.4 (beta) **3.3.1 (2023/07/16)** * Fixes "Uncaught TypeError: property_exists()" * Tests on WordPress 6.3 (beta) **3.3 (2023/03/19)** * Improves settings page UI/styles * Improves content of email alerts * Adds support for multiple email addresses * Adds filter hook `blackhole_email_address` * Adds `[login]` shortcut for custom email alerts * Adds `$login` variable to hook `blackhole_alert_message` * Adds `$login` variable to hook `blackhole_alert_custom` * Adds `$login` variable to hook `blackhole_alert_default` * Adds `$login` variable to hook `blackhole_alert_simple` * Fixes incorrect function name, `blackhole_default_message` * Moves Reset Reports link to Email Alerts settings * Removes `require_once` from `blackhole_send_email()` * Improves logic when calling `get_current_screen()` * Adds license status message to plugin screens * Improves handling of license activation * Improves handling of license constants * Updates Help tab inline documentation * Improves logic for dates and times * Generates new translation template * Tests on WordPress 6.1 + 6.2 (beta) * Tests on PHP 8.1 and 8.2 **3.2.1 (2022/11/14)** * Fixes bug with non-Admins unable to log in * Tests on WordPress 6.1 **3.2 (2022/10/24)** * Fixes bug with incorrect hook names * Fixes bug with Geo shortcodes in custom alerts * Adds options for daily or weekly email reports * Adds `[ip_lookup]` to custom email alerts * Refines logic and content of email alerts * Adds new filters for email alert functions * Adds more variables to email alert filters * Adds action hook `blackhole_reset_options` * Adds action hook `blackhole_reset_badbots` * Adds action hook `blackhole_delete_bot` * Adds action hook `blackhole_add_bot` * Adds action hook `blackhole_log_bot` * Adds support for `BLACKHOLE_LICENSE` via `wp-config.php` * Adds filter hook `blackhole_alert_ip_lookup` * Updates `EDD_SL_Plugin_Updater` script * Improves sanitization of email settings * Adds custom footer text to plugin settings * Improves plugin settings UI and details * Improves contextual help information * Improves plugin documentation * Updates translation template * Tests on WordPress 6.1 **3.1.1 (2022/09/16)** * Fixes bug with WP Photo Album Plus ([Thanks](https://wordpress.org/support/topic/fatal-error-4243/) [@opajaap](http://www.opajaap.nl/)) * Tests on WordPress 6.1 (alpha) **3.1 (2022/05/18)** * Improves plugin License screen * Plugin settings now available without license * Adds show support link on plugin settings page * Improves UI for plugin settings page * Changes dashboard icon to shield * Adds filter hook `blackhole_dash_icon` * Generates new translation template * Tests on WordPress 6.0 **3.0 (2022/01/26)** * Fixes issue with IP headers * Updates license updater script * Improves help tab documentation * Improves loading of translations * Improves performance of plugin settings * Adds option to choose the trigger location * Adds filter hook `blackhole_trigger_location` * Updates some links to external resources * Changes minimum required WP version to 4.6 * Updates default translation template * Tests on WordPress 5.9 **2.9 (2021/07/24)** * Adds `chrome` agent to whitelist * Adds `google page speed` agent to whitelist * Increases priority for adding robots rules * Improves plugin readme/documentation * Updates default translation template * Tests on WordPress 5.8 **2.8 (2021/02/15)** * Adds option to block specific user agents * Adds custom trigger shortcode `[title]` * Adds `$title` parameter to hook `blackhole_trigger` * Adds `$title` parameter to hook `blackhole_trigger_default` * Adds `$title` parameter to hook `blackhole_trigger_image` * Improves detection of WordPress Login Page URL * Improves output of Blackhole trigger link * Improves performance of IP functionality * Improves readme.txt/documentation * Improves Help tab contextual infos * Updates default translation template * Tests on WordPress 5.7 **2.7 (2020/11/21)** * Adds option to disable the trigger link * Adds referrer information to Bad Bots Log * Improves one-click whitelist functionality * Improves appearance of plugin settings screen * Updates plugin script to account for changes in jQuery UI * Fixes bug with error log entries, disable via filter * Moves `add_shortcode()` to `Blackhole_Pro` instance * Updates Help tab infos on plugin screen * Updates default translation template * Updates and refines readme.txt * Updates license updater script * Tests on PHP 7.4 and 8.0 * Tests on WordPress 5.6 **2.6 (2020/08/18)** * Updates the Blackhole robots.txt rules (see above note) * Adds rules dynamically to WP robots.txt (Thanks @blackcapdesign) * Adds support for custom warning template in `/wp-content/` * Adds filter hook `blackhole_custom_dir` * Adds filter hook `blackhole_robots_rules` * Adds filter hook `blackhole_domain` * Adds shortcode `[blackhole_nonce]` (advanced use) * Adds Blackhole trigger to Login Page (Thanks @wp-henne) * Adds `wp rocket` to the default user-agent whitelist * Removes `wprocketbot` from default user-agent whitelist * Removes Securi and WP Rocket from default IP whitelist * Appends version number to CSS and JS on settings page * Bugfix: escapes special characters in whitelist setting * Bugfix: now loads JavaScript vars only on settings page * Improves whitelist import functionality * Updates contextual Help tab information * Updates default translation template * Updates license updater script * Refines the plugin setting page * Refines readme/documentation * Tests on WordPress 5.5 **2.5 (2020/03/26)** * Updates contextual help tab information * Improves markup/meta of blackhole warning page * Adds note about cache plugins on settings page * Improves appearance of Bad Bot page * Generates new default translation template * Tests on WordPress 5.4 **2.4 (2019/11/16)** * Improves hostname lookup functionality * Adds "uptimerobot" to default whitelist * Updates styles for plugin settings pages * Generates new default translation template * Tests on WordPress 5.3 **2.3 (2019/09/08)** * Optimizes plugin performance * Optimizes internal code structure * Increases timeout for GeoIP lookups * Removes all transients functionality * Adds "Host Name" info to email alerts * Adds code to remove transients on uninstall * Adds "Refresh Geo" link to update bot infos * Adds "GeoIP Lookup" link to email alerts * Replaces "User Agent" with "Host Name" on warning page * Improves display of Bad Bots Log UI * Adds filters for error log output * Improves error log handling * Updates contextual help tab * Updates some links to https * Generates new default translation template * Tests on WordPress 5.3 (alpha) **2.2 (2019/05/02)** * Bumps [minimum PHP version](https://codex.wordpress.org/Template:Server_requirements) to 5.6.20 * Tweaks plugin settings screen content * Updates default translation template * Tests on WordPress 5.2 **2.1 (2019/04/13)** * Improves GeoIP lookup functionality * Adds error handling for `file_get_contents()` * Generates new default translation template * Tests on WordPress 5.2 (beta) **2.0 (2019/04/10)** * Adds caching for get_vars and lookup data * Adds `a6-indexer` and `ahrefsbot` to default user-agent whitelist * Tests on WordPress 5.2 (beta) **1.9 (2019/04/08)** * Works on improving GeoIP lookup timeouts and issues * Generates new default translation template **1.8 (2019/04/02)** * Fixes bug with GeoIP lookups timing out * Tests on WordPress 5.1 and 5.2 (alpha) **1.7 (2019/03/21)** * Adds site name and domain to email alerts * Adds `[domain]`, `[site_name]` shortcodes for custom email alerts * Adds `array_column()` fallback for older versions of PHP * Replaces `ipapi.co` with `ip-api.com` for GeoIP lookups * Improves display of plugin License screen * Improves functionality for one-click plugin updates * Improves function `check_blackhole()` * Fixes some incorrect translation parameters * Fixes bug where custom geo-lookup shortcodes not working * Adds check for admin user for settings shortcut link * Refines plugin settings screen UI * Generates new default translation template * Tests on WordPress 5.1 and 5.2 (alpha) **1.6 (2018/11/18)** * Adds link to site's `robots.txt` on plugin settings page * Replaces `geoip.tools` lookup service with `ipapi.co` * Refines Help tab and documentation * Updates default translation template * Tests on WordPress 5.0 (beta) **1.5 (2018/08/22)** * Adds intro blurb to email alerts * Adds filter hook, `blackhole_verify_nonce` * Adds `rel="noopener noreferrer"` to all [blank-target links](https://perishablepress.com/wordpress-blank-target-vulnerability/) * Replaces `freegeoip.net` with `geoip.tools` for Geo Lookups * Fixes PHP Warning for invalid argument in `blackhole_get_hits` * Fixes PHP Warning for empty array in `blackhole_get_bot_id` * Updates GDPR blurb and donate link * Regenerates default translation template * Further tests on WP 4.9 and 5.0 (alpha) **1.4 (2018/05/11)** * Adds support for WP Fastest Cache * Improves support for caching plugins * Adds auto-import of whitelist and bad bot data from Blackhole free version * Adds "Whitelist IP" and "Whitelist User Agent" buttons * Replaces `ipaddress.com` with `whatismyipaddress.com` as lookup service * Updates default set of whitelisted user agents * Updates default set of whitelisted IP addresses * Adds `rel="noopener noreferrer"` to blank targets * Updates some text in the plugin Help tabs * Moves `blackhole_allow_style` to core plugin class * Fixes obscure `call_user_func` error * Improves code for plugin License screen * Adds support plugin link to settings page * Adds log note if Geo lookup fails * Renames hook from `blackhole_locale` to `blackhole_i18n_locale` * Adds new filter hook, `blackhole_import_bots` * Generates new translation template * Updates plugin image files * Tests on WordPress 5.0 **1.3 (2017/11/09)** * Adds support for `style` attributes in "custom" plugin settings * Updates `EDD_SL_Plugin_Updater` to [version 1.6.13](https://bit.ly/2yqX3yu) * Adds support for WP Super Cache and W3 Total Cache * Improves `load_i18n()` for better translation loading * Updates `esc_url` to `esc_url_raw` for redirects * Adds filter hook: `blackhole_locale` * Regenerates default translation template * Tests on WordPress 4.9 **1.2.1 (2017/08/13)** * Replaces `wp_doing_cron()` with direct check for `DOING_CRON` * Tests on WordPress 4.9 (alpha) **1.2 (2017/07/29)** * Refactors core to call `blackhole_get_geo` only when logging * Adds support for CIDR notation for whitelisted IPs * Adds function to ignore command-line requests * Adds logic to ignore WP-Cron requests * Updates contextual help (Help tab) * Updates documentation/readme.txt * Tests on WordPress 4.9 (alpha) **1.1 (2017/03/28)** * Updates default IP keys * Fixes bug for non-admin users * Adds fallback for `allow_url_fopen()` * Adds French translation (thanks to Bouzin) * Adds some missing translation text strings * Adds filter hook `blackhole_ip_keys` for IP keys * Adds action hook `blackhole_scanner` for blackhole scanner * Adds shortcode `[blackhole_trigger]` for trigger link * Adds meta noindex/noarchive tags to blackhole templates * Auto-adds server IP to whitelist settings * Updates some infos in the contextual help tab * Improves escaping of certain variables * Uses site's default character set for `htmlentities` * Replaces global `$wp_version` with `get_bloginfo('version')` * Generates new default translation template * Tests on WordPress version 4.8 **1.0 (2017/03/03)** * Initial release