WordPress Plugin Directory Compliance
Security Hardening
* Added ABSPATH direct-access guards to all 69 PHP files in app/
* Replaced all error_log() calls with hook-based debug logger (formatrica_debug_log action)
* Escaped all frontend-facing exception messages with esc_html__() or sanitize_text_field()
* Sanitized all $_SERVER, $_GET, and $_COOKIE superglobal reads with sanitize_text_field(wp_unslash())
* Added PHPCS ignore annotations with rationale for legitimate nonce-free $_GET reads (admin screen checks, signed-token flows)
Database
* Hardened all SQL queries with %i identifier placeholders for table names
Internationalization
* Added /* translators: */ comments to all sprintf() calls containing translatable strings
* Fixed unordered placeholders to use positional format (%1$d, %2$d)
Filesystem
* Replaced unlink() calls with wp_delete_file() in Export_Controller
* Added PHPCS ignore annotations for legitimate filesystem operations (fopen, fwrite, fputcsv, fclose, filesize, readfile)
Plugin Bootstrap
* Removed manual load_textdomain() call (WordPress handles this automatically for directory-hosted plugins)
* Fixed Tested up to header to use major.minor format (6.9)
Bug Fixes
* Fixed “Send test email” button doing nothing when “Use global Recipient email” is enabled
* Fixed additional Plugin Check output-escaping issues for admin page header icon URLs (Forms list, Settings, and Form Builder pages)
* Fixed translators comment placement for placeholder-based error strings in form repository save/duplicate operations
Bug Fixes
* Fixed: Mailpit sender domain enforcement causing unnecessary deliverability warnings during local development
* Mailpit now bypasses sender domain validation (like API providers) since it’s a development-only tool
Initial Release
Form Builder
* Vue.js 3 + Pinia drag-and-drop form builder with SortableJS
* Real-time field editing with live preview
* Form preview functionality with zoom control (50-100%)
* 15 pre-built templates
* 13 field types with inline validation
* Template selection modal with Quick Start notification
Email Delivery
* 9 email delivery providers: WordPress, SendGrid, SMTP2GO, Mailgun, Postmark, Brevo, Amazon SES, SMTP, Mailpit
* Encrypted credentials storage (AES-256-CBC)
* Test email functionality
* Per-form email configuration
Integrations
* Zapier, Make.com, Slack integration
* WordPress Post creation with full ACF support (20+ field types)
* WooCommerce order creation
* Mailchimp audience subscription
* Salesforce Web-to-Lead
* HubSpot Forms API
* Custom webhooks with HMAC-SHA256 signing
* Async integration queue for background processing (WordPress Cron)
* Dramatically improved submission performance (5-15s → <200ms for webhook-heavy forms)
Security & Privacy
* Multiple CAPTCHA providers (reCAPTCHA v3, Turnstile, FriendlyCaptcha)
* Honeypot protection, CSRF tokens, rate limiting
* IP anonymization options (full, anonymized, none)
* Auto-delete submissions after X days
* GDPR-friendly data handling
* File upload validation with MIME type checking
User Registration
* WordPress user registration form type
* Email verification required before login
* Verification emails use form’s configured delivery provider
* Login blocking for unverified users
Developer Features
* Comprehensive API documentation
* 15+ action and filter hooks
* REST API endpoints
* Database schema versioning system with migration support
* Service Layer Architecture with 22 specialized classes
* PSR-4 autoloaded architecture
* Modular ES6 JavaScript
Admin Features
* Active/Inactive form filters with counts
* Activate/Deactivate actions
* Safe delete confirmations
* Form duplication
* Settings modal with tabs (General, Email, Integrations, Security, Privacy, Advanced)
Infrastructure
* Custom database tables for forms and submissions
* WordPress Cron integration for cleanup and async processing
* Vite build system for assets
* Full i18n support (text domain: formatrica)
Code Quality
* WordPress.org coding standards compliance
* Removed aggressive admin notice suppression
* Removed @ error suppressors (proper error handling)
* Sanitized all nonce reads
* PSR-12 code formatting standards
Plugin Website
Visit website
Share Post
Get insights into what’s happening at ChangelogWP right in your inbox. We don’t believe in spam.