2.8.2
The request firewall now inspects visitors that a proxy on the same server forwards, once that proxy is declared, and the Overview facts follow an attack as it happens. Recommended for sites behind a local proxy.
2.8.1
"Block PHP in uploads" now works on OpenLiteSpeed too, and Site Health says whether the firewall and the bot challenge block or only watch. Recommended for every site.
2.8.0
Two-factor recovery by the administrator now works, the login log can no longer go silent after a refused database upgrade, and deleting the hidden URL gives wp-login.php back. Recommended for every site.
2.7.10
The incident list opens on the open incidents; All, Resolved and Ignored stay in the status filter. Page links keep the observations toggle.
2.7.9
Filter bars on one height with their list arrows back, counts that agree with their numbers, and the two reset buttons: the integrity panel refreshed, the detection reset recorded in the activity log.
2.7.8
Fixes being signed out right after signing in when an idle timeout is set, the activity line that stopped before its end, IP addresses broken over two lines in the Events table, and import preview columns one letter wide.
2.7.7
Fixes text cut off or printed over its neighbour in the Events and Activity tables (on phones and in windows around 1100 to 1220 pixels), the guide panel hidden behind the sponsored block, and several cards cut on phones. Stylesheets only.
2.7.6
Fixes the end of the Settings tab staying hidden under the "Unsaved changes" bar, that bar's placement on narrow windows, keyboard focus landing under the bars, and sideways scrolling on phones. Stylesheet only.
2.7.5
Removes the dashed break near the right-hand edge of the activity chart. It was added in 2.7.3 to flag a partial final hour that does not in fact exist, and it read as a gap in the data. The curve is one continuous line again.
2.7.4
Fixes two things: the activity chart on the Overview showed what looked like a gap in the data while it loaded, and the Activity Log's nightly purge was never re-scheduled if it went missing, so a site could stop deleting old rows for good.
2.7.3
Fixes a false TAMPERED alarm on the Activity Log: the nightly retention purge broke the integrity chain it was verified against, on every site that kept the module on longer than its retention window. Also corrects the activity chart, which was stretched 1.63 times too tall.
2.7.2
Fixes three defects an independent review of 2.7.1 found. An AI analysis could be generated, billed and then silently lost on a site with an incomplete table; a malformed bulk request could resolve every incident; and the test guarding that endpoint's access check proved nothing.
2.7.1
First release to carry the 2.7.0 work. Fixes fourteen defects, three of them serious: an export could call a module off while it was running, a cache could freeze your login decoys so a changed setting did nothing, and saving a hardening rule could report success while the file went unwritten.
2.7.0
New safe mode: one line in wp-config.php gets you back in when a setting locks you out. Plus a scheduled security digest, eight Site Health tests, a search box in Settings and a Force HTTPS control. Two fixes reach every site: password reset links on apex+www, and a hardening toggle read as ON.
2.6.1
Reliability release. Your rules in the uploads .htaccess are preserved instead of erased. On multisite, every site is set up and gets its scheduled tasks. Two alerts in the same second no longer cancel one another; critical alerts keep a reserve. Country lookups moved off the admin screen.
2.6.0
Export your settings as JSON and replay them on your other sites, from the Settings tab or with wp login-armor settings import. Two-factor entries in authenticator apps now carry the site domain, so a long list stays searchable.
2.5.3
Fixes the "trust this device" checkbox, which could not be ticked because the code field submitted itself on the sixth digit. Incident timelines now show every event that raised the incident, instead of the last ten minutes only.
2.5.2
Fixes password reset links failing with "this key is no longer valid" when Hide Login is enabled and usernames are e-mail addresses. Recommended for every site using Hide Login.
2.5.1
Compatibility release. The firewall no longer blocks the requests your site makes to itself, which could break plugins such as SEOPress. Restrict REST API now has an exceptions field, so a plugin needing public REST access no longer requires custom PHP.
2.5.0
New optional Bot Challenge module: an invisible proof-of-work on the login form, a CAPTCHA alternative with no external service. Off by default; enabling starts in monitor mode. Existing sites unchanged.
2.4.8
Security follow-up: prevents a misconfigured trusted proxy from becoming a shared lockout identity and completes reliable webhook delivery for audit rows retained under contention.
2.4.7
Security update: closes proxy-header rate-limit bypass, unauthenticated 2FA recovery email amplification, and unauthenticated HIBP request amplification. Recommended for all installations.
2.4.6
Fixes the Hide Login custom redirect and restores FSE block styles on protected 404 responses.
2.4.5
The plugin's own blocks (2FA lockout, honeypot, reserved username) no longer count as failed passwords, so a legitimate user is not locked out while using the correct one. Failed logins now show their real reason. Also fixes the incidents table failing to create on MariaDB 11.7+/MySQL 9.
2.4.4
Hardening: accurate dashboard threat level, canonical wp_login cycle after 2FA, atomic lockout escalation, SSRF validation before every webhook delivery, and CSV formula-injection neutralisation. Recommended for all installations.
2.4.3
Security: mandatory 2FA is enforced after grace expiry, with an administrator recovery path. Also blocks TOTP replay, tightens webhook SSRF validation, and neutralises attacker input before AI incident analysis. Recommended for all installations.
2.4.2
Coherence release: cleaner deactivation and uninstall, a confirmation before disabling Two-Factor, faster brute-force lookups, and a heads-up when a front-end login plugin (e.g. Ultimate Member) is active. No behaviour change on standard installs. Recommended for all.
2.4.1
Fixes a "critical error" during password recovery when another plugin re-fires a WordPress hook with an off-contract argument type. Strict parameter hints relaxed, with internal guards, on every core-hook callback plugin-wide. Neutral on standard calls. Recommended for all installs.
2.4.0
New: an optional Request Firewall (8G-inspired PHP filter) that blocks malicious requests - off by default, starts in monitor mode (logs without blocking), admins never filtered. Plus a first-run onboarding wizard with a one-click safe baseline. All opt-in; existing sites unchanged.
2.3.0
Account-security release: Password Policy (length/complexity + reject breached passwords via privacy-preserving HIBP), Session Management (idle timeout, max lifetime, single session), and opt-in IP Geolocation. All off by default; nothing changes until you enable it.
2.2.0
New: the AI Security Briefing turns your last 30 days of activity into a plain-language verdict, an IP picture and prioritised actions, on top of a deterministic facts snapshot. Built on the WordPress 7 native AI Client - uses your own connector, no API key stored, runs on click.
2.1.26
Fixes email/backup 2FA bouncing to "session expired" on browsers that don't return the verification cookie on submit (some Chrome setups; Firefox worked). The form now also carries the session token, so login works regardless. Recommended if Email 2FA is enabled. Security unchanged.
2.1.25
Fixes email/backup two-factor verification being rejected ("session expired") in some browsers, notably Chrome, while Firefox worked. The form is now uncached and authenticated by the signed same-site cookie. Recommended if Email 2FA is enabled.
2.1.24
Fixes a fatal error (HTTP 500 / "network error") during authenticator-app (TOTP) setup on hosts whose wp-config.php does not define AUTH_KEY, such as some Infomaniak installs. Recommended if Two-Factor is enabled. Existing setups are unaffected.
2.1.23
Fixes the two-factor login screen: the "use a different method" links now work (and email a fresh code when switching to Email), expired/locked sessions explain themselves, and the authenticator-setup button reports errors. Recommended for 2FA users.
2.1.22
Fixes a Security Score that under-counted active modules: Brute Force and Detection (on by default) are now scored correctly, so the header, the score number and the module list agree. Display and scoring only: recommended for all installs.
2.1.21
Cosmetic patch: cleaner user-agent labels in the Events table: Jetpack/
WordPress.com clients are recognised, and long agents are trimmed at a word boundary with an ellipsis instead of a chopped-off string with a dangling parenthesis.
2.1.20
Migration-friendly integrity: a security-key change now shows an amber "Keys changed" advisory with one-click chain re-baseline instead of a false "TAMPERED" alarm. Adds an XML-RPC blind-spot warning when Hide Login is on but XML-RPC stays open. Completes the French translation.
2.1.19
Clearer attack-type labels + descriptions on incidents, French translation of the visible admin tabs, translatable toast notifications, and a fix for the Activity Log integrity badge staying "UNVERIFIED" after a successful verify. Recommended for all installs.
2.1.18
Patch. Fixes "Select all" / bulk actions when incidents are all resolved (checkboxes now on every card) and only labels the attack vector for XML-RPC/REST (no more misleading "via login form"). Recommended for 2.1.17 users.
2.1.17
Feature release. Incidents now show the attack vector (XML-RPC / REST / login form), so you can spot which attempts bypass your hidden login URL, plus bulk mark-resolved/ignore. Adds a vector column to the incidents table (auto migration). Recommended for all installs.
2.1.16
Bug fix release from an external audit. Fixes plain-permalinks compat (Hide Login URL, REST API allowlist), restores activity-log coverage for 2FA, frontend registration and password reset, and extends Honeypot to WooCommerce + frontend login forms. Recommended for all installs.
2.1.15
Fixes a fatal TypeError when third-party plugins (e.g. WP Fastest Cache) call WordPress URL builders with off-contract argument types. Strict parameter hints relaxed on seven callbacks; return types unchanged. Neutral on canonical WP calls.
2.1.14
Bug fix. The prevent_author_enum hardening toggle no longer blocks the legitimate ?author=N filter in wp-admin Posts/Pages lists ("All / Mine / " links). Public enumeration block unchanged. Three-line fix.
2.1.13
Bug fix. Silent 2FA failure on installs with permalink_structure without trailing slash (e.g. /%postname%): the verify cookie path mismatched the request path after handle_loaded's normalisation. Fixed cookie path to omit trailing slash. Neutral on trailing-slash installs.
2.1.12
Bug fix. Hide Login rendered without CSS when both apex and www routed to the same WP (shared hosting). Two fixes: canonical-host 301 in Hide Login + host-aware CSP in Login Page Security Headers. Neutral on single-host installs. New filter login_armor_canonical_host_redirect for opt-out.
2.1.11
Bug fix for multisite + domain mapping: the Hide Login URL is now host-aware (picks home_url or site_url from HTTP_HOST), fixing a 2.1.9 regression where mapped subsites redirected to /wp-admin/ (404). Standard and headless installs keep working.
2.1.10
Cosmetic fix. The 404 page served when an anonymous visitor hits
/wp-admin/ with Hide Login enabled now renders as a proper WordPress 404 (body class
error404, SEO
noindex meta, theme 404 template) instead of a half-bootstrapped page. No security or functional change.
2.1.9
Bug fix. Hide Login now builds the rewritten login URL from
site_url() (matching
wp_login_url() in WP core) instead of
home_url(). Fixes silent breakage on multisite headless, WordPress in subdirectory, and reverse-proxy installs. Neutral on standard installs.
2.1.8
Hygiene release after a full 2.1.7 audit. Three LOW fixes: the webhook stats query no longer warns on fresh installs, the lockout_window option is cleaned on uninstall, and five missing French translations were added. No end-user-visible change.
2.1.7
Preventive: hardens the Email 2FA enrollment flow. Failed
wp_mail() no longer leaves a half-committed 2FA state, and a new pre-activation modal forces a real test email + a safety-net check before the user can lock themselves out. Recommended for every install where Email-based 2FA is enabled.
2.1.6
Preventive release. Eliminates a latent V2.1.3-style fatal risk in the TwoFactor module. Finishes the uninstall.php cleanup (zero residual data). Surfaces Activity Log integrity coverage scope in admin UI. No new features, no DB migration.
2.1.4
Critical hotfix: 2.1.3 fatal-errored on every fresh install (Class "LoginArmor\ActivityLog\ActivityLog" not found). Sites with Activity Log already enabled were unaffected. Recommended for every install, urgent for new installs.
2.1.3
Critical hotfix: Hardening "Hide WP version" was stripping cache-buster from our own assets, so updates past 2.1.0 were invisible behind hosting CDNs (LiteSpeed LSADC, Cloudflare). Recommended for every install.
2.1.2
Critical hotfix: the Settings tab fatal-errored on every fresh install that had not yet enabled the Activity Log module (Class WebhookDispatcher not found). Recommended for every install.
2.1.1
Activity Log integrity: every row is HMAC-signed and chained, detects any tampering. Optional signed webhook forwarding (SIEM / Slack / Datadog / any HTTPS). New WP-CLI verify-chain. Bundles 6 hardening fixes. Migration automatic. Recommended for every install.
2.1.0
Security: 2FA pending token moved from URL query string to a signed HttpOnly + SameSite=Strict cookie. Closes URL-leak (browser history / Referer / access logs) and DB-leak (clear token no longer in wp_options). Recommended for every install with 2FA enabled.
2.0.5
Security audit pass: REST author-enum scope, optional HSTS, IPv6 subnet fix, 0.0.0.0 placeholder DoS skip, .htaccess admin-rules preservation. No regression. Recommended.
2.0.4
Real fix for the lockout 429 page on hosts with a public page cache (LiteSpeed Cache, WP Rocket, Cloudflare). Recommended after the 2.0.1-2.0.3 sequence.
2.0.3
Hotfix: HTTP/2 stream termination on LiteSpeed/LSAPI for the branded lockout page. Recommended.
2.0.2
Critical fix: 429 branded lockout page now reaches the browser. Recommended.
2.0.1
Branded 429 lockout page on the triggering attempt + Reset Stats UI + correct
WP.org banner/icon. Recommended.
2.0.0
First
WordPress.org release of the V2 line. Eight independent security modules. Recommended.