Fatal Plugin Auto Deactivator – Never let a plugin break your site
Changelog
1.4.0 – 23/07/2026
Added: Filter the Fatal Plugin Log by source and status, and search across plugin name, error message, and file path
Added: Delete individual log entries (in addition to clearing the whole log)
Added: Export the log to CSV or JSON, and a per-row “Copy” button that produces a ready-to-paste bug report
Added: Identical, repeated fatals are now grouped into a single entry with an occurrence count and first/last-seen times, so one looping error can no longer evict the rest of your history
Added: Each log entry now records the request URL and the PHP and WordPress versions for easier reproduction
Improved: Stored error messages are bounded in length to keep the log option small
Changed: The Fatal Plugin Log screen now hides admin notices from other plugins and WordPress core so it stays focused (the plugin’s own protection status and action messages still appear)
1.3.0 – 24/06/2026
Added: Protected plugins allowlist — choose plugins that must never be deactivated automatically, even if they cause a fatal error (the error is still logged and reported honestly)
Added: Log-only mode — detect and log fatal errors without ever deactivating a plugin
Added: Settings tab on the Fatal Plugin Log page for the allowlist and log-only mode
Added: Protection-status visibility — an admin warning, a status banner, and a Site Health test when the protection drop-in is missing, replaced by another plugin, or could not be installed, with a one-click “Reinstall protection” action
Added: A Site Health “debug information” section summarizing protection status, settings, and recent fatals
Improved: The log now records a status (Deactivated / Protected / Log only / Logged only) for each fatal
Improved: Hardened drop-in ownership checks and the clear-log action
1.2.1 – 20/06/2026
Fixed: Plugin attribution now normalizes file paths and handles single-file plugins, so Windows and symlinked installs — and single-file plugins like Hello Dolly — are matched correctly instead of silently skipped
Fixed: Activation no longer triggers a fatal on hosts that require FTP/SSH filesystem credentials (the drop-in installer now fails gracefully)
Fixed: The custom error page now honors WP_DEBUG_DISPLAY (and a new FPAD_SHOW_ERROR_DETAILS override), so technical details are no longer exposed to visitors under the recommended production logging setup (WP_DEBUG on, WP_DEBUG_DISPLAY off)
Fixed: The error page no longer emits output when HTTP headers have already been sent, and now steps aside during WordPress’s plugin/theme editor syntax checks
Fixed: Escaped the deactivated plugin name and version on the error page
Fixed: The log viewer’s “Source” label now matches the error page for every WordPress drop-in
Fixed: Corrected the invalid “Tested up to” header value
1.2.0 – 13/06/2026
Added: Source-aware error messages that detect whether a fatal error came from a plugin, theme, must-use plugin, drop-in, or WordPress core
Added: “Source” column, summary cards, and status badges on the Fatal Plugin Log page
Changed: Every detected fatal error is now recorded in the permanent log, including errors that could not be attributed to a plugin
Changed: The custom error page no longer claims an issue was resolved when no plugin was deactivated
Improved: The fatal error handler now catches any Throwable to avoid breaking the shutdown phase
Few minor bug fixes & improvements
1.1.0 – 01/06/2025
Added: New “Fatal Plugin Log” admin subpage under Tools for comprehensive error management
Added: Detailed log table showing date, time, plugin, file, line number, and error message
Added: “Clear Log” functionality with nonce protection
Added: “View Log” action link on plugin list for quick access
Added: Enhanced error type detection (Fatal, Parse, Core, etc.)
Added: Security checks during drop-in file install and management
Improved: Validation, sanitization, and formatting of error messages with monospace font
Improved: UI styling using WordPress admin standards and alternating row colors
Improved: Codebase optimized for better performance