== Changelog == = 1.0.0 = _Release date: 2026-02-17_ **Initial Production Release** This is the first comprehensive release of Two-Factor Extended, implementing enterprise-level two-factor authentication management for WordPress. **Core Features** * **Role-Based 2FA Requirements (Phase 3)** - Require specific 2FA methods for each user role, multiple methods support, custom role support * **Provider Visibility Control (Phase 4)** - Control which 2FA methods are visible to each role, required providers always visible, union logic for multiple roles * **Grace Period Enforcement (Phase 3)** - Configurable grace period (0-365 days), automatic tracking, user warnings, login blocking after expiration * **WordPress Multisite Support (Phase 5)** - Network-wide enforcement, super admin requirements, site override control, inheritance notices * **Consolidated Admin Interface** - Single settings page with tabs for Settings, Audit Log, and Compliance * **Reset Plugin Functionality** - Complete settings reset with user grace period cleanup and audit logging **Advanced Features** * **Audit Logging (Phase 6)** - Comprehensive event logging (2FA changes, settings changes, login failures), filtering by action/user/date, CSV export, automatic cleanup (1000 logs max, 90-day retention), IP and actor tracking * **Compliance Reporting (Phase 6)** - Real-time compliance statistics, by-role breakdown, non-compliant user identification, grace period status tracking, CSV export, network-wide reports, email reporting * **Bulk Operations (Phase 7)** - Bulk "Require 2FA Setup" and "Reset Grace Period" actions on Users page with success notifications and audit logging * **WP-CLI Commands (Phase 7)** - Complete CLI interface: status, enforce, report, reset (with table, JSON, CSV output formats and progress bars) * **REST API Endpoints (Phase 7)** - Full authentication and authorization: GET status, GET users, POST enforce, POST reset, GET report (JSON and CSV formats) * **Import/Export Settings (Phase 7)** - Export settings as JSON with timestamp, import with validation/sanitization, confirmation dialogs, file size limits (1MB), audit logging **User Interface** * **Settings Page** - Clean interface with grace period configuration, role requirements matrix, provider visibility matrix, data management section * **Admin Notices** - Grace period warnings (yellow), non-compliance errors (red), days remaining countdown, "Configure 2FA Now" buttons * **Audit Log Tab** - Recent activity overview, statistics display, filterable log table, export functionality, last 50 logs display * **Compliance Tab** - Overview statistics, by-role breakdown table, non-compliant users table, status indicators, export functionality **Security & Quality (Phase 8)** * **Grade A Security Audit** - All capability checks verified, complete nonce verification, comprehensive input validation/sanitization, output escaping * **Security Protections** - SQL injection protection (no direct SQL), XSS protection, CSRF protection, file access protection, error handling without information disclosure * **Input Constraints** - Form field validation (client & server), file size/type limits, required field indicators, ARIA labels for accessibility * **28 Unit Tests** - PHPUnit test coverage for core classes (Role Manager, Enforcement, Audit Log) * **WCAG 2.1 Level AA Compliant** - Fully accessible administration interface * **WordPress Coding Standards** - 100% PHPCS compliant with WordPress Coding Standards 3.3 * **Performance Optimized** - Efficient database queries and caching for large user bases **Documentation (Phase 9)** * Comprehensive security audit report (docs/SECURITY-AUDIT.md) * Manual testing matrix with 200+ test cases (docs/TESTING-MATRIX.md) * WCAG 2.1 Level AA compliance documentation (docs/ACCESSIBILITY.md) * Performance testing procedures (docs/PERFORMANCE.md) * Plugin compatibility report (docs/COMPATIBILITY.md) * User guide with examples (docs/USER-GUIDE.md) * Developer guide with API documentation (docs/DEVELOPER-GUIDE.md) * Troubleshooting guides and FAQ sections **Core Classes Added** * class-two-factor-extended.php - Main plugin class (singleton) * class-dependency-checker.php - Dependency validation * class-role-manager.php - Role utilities * class-provider-detector.php - Provider detection * class-enforcement.php - 2FA enforcement logic * class-provider-filter.php - Provider visibility control * class-network-settings.php - Multisite support * class-settings.php - Settings API implementation with tabbed interface * class-audit-log.php - Audit logging * class-compliance-report.php - Compliance reporting * class-bulk-actions.php - Bulk operations * class-rest-api.php - REST API endpoints * class-cli-commands.php - WP-CLI commands **Bug Fixes** * Fixed provider visibility filter applying globally (now only applies on user profile pages, not admin settings) * Fixed compliance report data structure access for user and email columns * Fixed cache issues in role requirements and provider visibility fields by adding direct provider detection * Fixed log_event() parameter handling in reset functionality **Compatibility** * WordPress: 6.7 - 6.9 * PHP: 8.2 - 8.5 * MariaDB: 10.6+ * Two Factor Plugin: 0.15.0 (tested) * Multisite: Fully supported (Network: true) **Testing Environment** * WordPress: 6.9 * PHP: 8.2 * MariaDB: 10.6 * Testing: Plugin detection verified, dependency checks working, PHPCS passing, unit tests passing **Development Tools** * PHP_CodeSniffer: 3.13 * WordPress Coding Standards: 3.3 * PHPCompatibility: 9.3 * PHPCompatibilityWP: 2.1 * WP-Since: 1.4 * PHPUnit with WordPress test suite