New: Review-request notice restored, powered by the duckdev/wp-review-notice library and scoped to the Loggedin settings screen with a 7-day delay.
Improve: Legacy review-notice state migrated to the new storage keys so users who already dismissed the prompt stay dismissed.
Improve: Admin notices now render inside the plugin’s centered page column instead of above the header, matching the 404 to 301 shell.
Fix: Left-hand gap between the plugin header and the admin sidebar caused by WordPress’s default #wpcontent padding.
3.0.1
New: loggedin.admin.tabs JS filter — addons can register their own React component as a tab in the Loggedin admin nav, with optional before / after positioning hints. Powers the new Active Sessions addon.
New: Cross-sell banner on the Force Logout panel routed through loggedin.settings.force_logout.cross_sell so addons can hide or replace it once installed.
Improve: Addon card layout aligned with the 404 to 301 plugin — primary CTA pinned to the left of the footer, “More details” link on the right, title-cased license button labels.
Fix: The v2 → v3 settings migration never ran on existing installs, leaving legacy option keys in place after the upgrade.
3.0.0
New: Modern React-powered admin under Users → Loggedin with two tabs — Settings (concurrent-login limit + login logic + Force Logout panel) and Add-ons (catalogue + license management).
New: REST API at /loggedin/v1/ for settings, session management and add-on licensing.
New: Unified loggedin_settings option registered with show_in_rest, readable and writable by the React admin and by external integrations through the standard core-data flow.
New: Force Logout panel now accepts a user ID, email or username — the resolver detects the input shape automatically.
New: Add-ons module powered by Freemius — official add-ons (Real-time Logout, Limit Per User, Limit Per Role) self-register via the new loggedin_register_addon filter and appear in the Add-ons tab.
New: JavaScript extension slot — add-ons can append their own React PanelBody to the Settings tab via the loggedin.settings.panels filter.
New: Documented PHP hook surface — loggedin_init, loggedin_settings_defaults, loggedin_admin_script_vars, loggedin_addons_catalog, loggedin_destroy_oldest_session and more.
Improve: Reorganised plugin structure (PSR-4 namespaces under DuckDevLoggedin) and aligned with WordPress Coding Standards.
Improve: Comprehensive sanitisation pass across every input and option write path.
Improve: PHP 7.4 is now the minimum supported version.
2.0.4
Improve: Review-notice scheduling now respects the dismiss state on every admin page load.
Fix: Invalid nonce action prevented review notices from being dismissed.
2.0.3
Improve: Removed leftover debug code that shipped accidentally in 2.0.2.