• 5.1.1 db98c4438c

    v5.1.1 Stable

    javier released this 2026-07-09 06:29:00 +00:00 | 2 commits to main since this release

    [5.1.1] - 2026-07-09

    Fixed

    • Site Health: the memcached, Redis, and SQLite vulnerability tests always returned "Invalid software type" because those components were missing from the software list. They now run correctly.
    • "Send test email" failed when no email recipients were configured: the forced-test path added the admin email but the send gate used a flag computed before the override. The test email now sends.
    • "Run notification now" reported failure when only webhook channels (Slack/Teams/Discord/Telegram) were enabled and email was disabled. The notification result now reflects whether any channel delivered successfully.
    • Weekly notification cron events were never auto-scheduled, because the weekly cron schedule was registered only at init while the on-load scheduling runs earlier. The weekly/daily schedule registration moved to the always-loaded scheduler so weekly notifications schedule correctly.
    • Deactivation deleted the per-component analysis settings (wpvulnerability-analyze), so deactivating and reactivating reset which components were hidden. Analysis settings are now preserved on deactivation (only uninstall removes them).
    • The debug "Cron Status" panel always showed the notification event as "not scheduled" because it checked the wrong hook name (wpvulnerability_send_notification instead of wpvulnerability_notification).
    • The debug "last run" timestamp was always empty because it read a wpvulnerability-logs option that is never written; it now reads the most recent API log entry.
    • Redis detection called close() twice on the success path (once in the try block, once in finally); the redundant close was removed.
    • The single-site vulnerable-themes count was hardcoded to 0 instead of reading the stored option.

    Changed

    • Single-site email recipient sanitization now uses is_email() for strict validation, matching the multisite behaviour.
    • Removed a redundant nonce field from the single-site "Reset Plugin" form (the form only submits the full-reset action).
    • Removed dead code: the unused wpvulnerability_sanitize_messages callback and its setting registration, and an unused $tools_action variable in the multisite admin.
    Downloads