GateLink Manager - Changelog = 1.8.3 - 2024-10-14 = * BUG FIX: Fixed SSO login URL generation to use query parameters instead of pretty URLs * BUG FIX: Fixed Add Site table refresh - newly added sites now appear immediately in table * COMPATIBILITY: SSO login now works with all WordPress permalink structures (Plain, Post Name, Custom) * COMPATIBILITY: No longer requires rewrite rules or permalink flushing on client sites * UX: Improved Add Site workflow - table updates automatically without page reload * UX: Better visual feedback during AJAX operations * SYNC: Version synchronized with Client plugin v1.8.3 for consistency * TECHNICAL: Changed SSO URL format from /gatelink-sso-login/ to /?gatelink_login=1 * TECHNICAL: Enhanced AJAX response to include site row HTML for dynamic table insertion = 1.8.2 = * Removed trial support from Freemius configuration. = 1.8.1 = * FIX: Fixed Connect flow - proper nonce verification for Manager → Client REST handshake * ENHANCEMENT: AJAX Add Site with automatic table refresh - no more page reloads * COMPLIANCE: Enhanced nonce verification with dedicated connect_nonce for security * UX: Improved error handling with detailed troubleshooting messages for connection failures = 1.8.0 = - SECURITY: Enhanced sanitization and validation of super-globals, notably $_SERVER['REMOTE_ADDR'] - STANDARDIZATION: Unified all prefixes to gate_manager_ for consistent naming across the plugin - MIGRATION: Added automatic migration logic to map old option names and keys to new unified names - COMPATIBILITY: Maintained backward compatibility with existing installations - no data loss - VALIDATION: Verified nonces and capability checks across all AJAX endpoints and admin forms = 1.7.9 = - DASHBOARD: Unlocked dashboard cards for all users including free plan - no more premium gating - UX: Added AJAX functionality for adding and deleting sites - no more page reloads - PERFORMANCE: Site operations now use AJAX for smoother user experience - UI: Enhanced responsiveness and workflow for site management - ACCESSIBILITY: Improved user experience with instant feedback for site operations = 1.7.8 = - WORDPRESS.ORG READY: Complete WordPress.org compliance achieved - plugin ready for directory submission and approval - COMPLIANCE: All WordPress.org requirements met including unique prefixes, no premium gating, proper enqueuing, and security standards - SECURITY: Enhanced HMAC-SHA256 authentication with time-limited tokens, nonce protection, and HTTPS enforcement - ERROR HANDLING: Enhanced HTTP 404 error messages with specific troubleshooting guidance for REST API connection failures - TROUBLESHOOTING: Added detailed diagnostic suggestions for common trust establishment issues including permalink and plugin activation checks - UX: Improved error messages provide actionable steps for resolving "Trust establishment failed" errors - VERSION: Synchronized version number with all plugin components for consistency = 1.6.2 = - FIX: Immediate plan unlock after license activation - no more 20-30 minute delay - Cache: Reduced TTL from 5 minutes to 60 seconds with fresh entitlement bypass mechanism - API: New gatelink_refresh_entitlements AJAX endpoint for instant UI updates - Events: Enhanced Freemius hooks with immediate cache clearing and success notices - Cache: Scoped purges for LiteSpeed/NitroPack/Airlift, fresh flag bypasses cache - UX: Success notices after activation, Support/Contact visibility updates immediately - Version: Minor bump to 1.6.0 for behavior change (immediate unlock) = 1.5.6 = - Cache: Smart cache compatibility with LiteSpeed, NitroPack, Airlift - auto-purge only plugin-related URLs, no blanket site clearing - Cache: Added no-cache headers for SSO endpoints, allowlisting guidance for CDN/security plugins - Freemius: Menu logic refined - Free plans show Support only, Paid/Trial plans show Contact only (exactly one visible) - Performance: Scoped cache invalidation after mutations (connect, verify, login URL, site changes, license actions) - Logging: All cache operations logged for debugging, no PII stored - Version: Synchronized Manager and Client to v1.5.6 = 1.5.5 = - Fix: Freemius license activation/reset flow stabilized; eliminated SDK warnings after license reset; unified plan detection; enforced site limits (Free 3 / Pro 20 / Business unlimited); dynamic Support/Contact menus via Freemius. = 1.5.3 = - Menu: Consolidated Contact into a single Support page (plan-aware). Removed Diagnostics tab and all related code. Menu order: Dashboard → Client Sites → Settings → Support. - Support: Single Support page with plan-aware content (Free: forum only; Professional: forum + Freemius contact; Business: forum + Freemius contact + priority support). - Cleanup: Removed Diagnostics tab, functions, and AJAX endpoints. Added safe redirects for old Diagnostics URLs with dismissible notices. - Compliance: Enhanced security with proper nonce validation, capability checks, and input sanitization. - Version: Both Manager and Client plugins updated to v1.5.3 for consistency. = 1.5.2 = - Fix: Diagnostics tab fatal due to missing callback; consolidated Contact into a single plan-aware page (Free: forum only; Pro: forum + Freemius form; Business: forum + Freemius form + priority info); menu cleanup and UI polish; added safe guards and refresh in Diagnostics. - Menu: Reordered plugin menu logically (Dashboard → Client Sites → Settings → Contact & Support) - Contact: Implemented plan-aware Contact & Support page with different content for Free/Professional/Business plans - Diagnostics: Added proper nonce-protected refresh functionality and defensive error handling - Security: Enhanced nonce protection, capability checks, and input sanitization across admin pages - UI: Applied consistent styling with primary color #E91919 for CTAs and improved accessibility = 1.5.1 = - FIX: Dashboard & Diagnostics fatal due to missing Freemius method; unified Freemius plan API; stronger SDK guards; Diagnostics stabilized; plan gating corrected so paid/trial plans are fully enabled. - API: Unified stable Freemius API - get_display_plan_name(), get_plan_state(), is_paid(), is_trial(), get_trial_end(), get_license_last4(), refresh_cache() - STABILITY: Added comprehensive error handling and safe fallbacks for all Freemius SDK calls - DIAGNOSTICS: Enhanced with unified API self-check section showing plan state, trial info, and cache status - PERFORMANCE: Force cache invalidation on Freemius plan/license change hooks for immediate UI updates - COMPLIANCE: Verified Business/Professional plans are properly detected and not treated as Free = 1.5.0 = - NEW: Dedicated Dashboard page with consolidated metrics and quick actions - NEW: Live AJAX search on Client Sites (search by label or URL, debounced, accessible) - RESTRUCTURE: Client Sites now focuses on site management only; dashboard metrics moved to separate page - ENHANCEMENT: Dashboard placed above Client Sites in admin menu for better UX - ACCESSIBILITY: Search includes aria-live announcements and keyboard support (Enter/Escape) - PERFORMANCE: Server-side search endpoint with proper pagination and caching - SECURITY: Search functionality secured with nonces and capability checks = 1.4.3 = - Settings page restored and made available to all users (previously premium-only) - Added tabbed Settings structure: General (placeholder), Reset, Uninstall/Data Cleanup - Reset License functionality enhanced with improved UI and plan state refresh - Reset Plugin Settings now requires typing "RESET" confirmation and redirects to onboarding - Added Uninstall/Data Cleanup tab with toggle and detailed deletion information - Updated color scheme to plugin primary color #E91919 for Reset tab and primary actions - Enhanced JavaScript with proper modal confirmations instead of browser alerts - All actions secured with nonces and capability checks for compliance - Mobile responsive design with proper accessibility features = 1.4.2 = - Free plan: Dashboard now shows Logs card only; other stats hidden for free users - Logs page added to menu for all plans - Contact Us page added with plan-specific behavior (WordPress.org forum for free, email support for premium) - Server-side gating added for premium features with friendly locked state screens - Settings page now restricted to premium plans - Billing menu item hidden for free plan users - Optional upgrade CTA added to free plan dashboard = 1.0.0 = - Initial release - Client Sites CRUD (Add, Edit, Delete) - Verify handshake saves client_id + shared token - One-click login via time-limited HMAC link - Tailwind-styled admin UI and basic logs