4.4.0
Core Forms 4.4.0 includes the complete feature set originally planned for roadmap versions 4.4 and 4.5.
Added
- Added inline Stripe Payment Element checkout with server-owned product pricing, idempotent PaymentIntent creation, and signed webhook confirmation.
- Added first-class Razorpay hosted checkout with payment-link, captured-payment, failure, cancellation, and refund handling.
- Added one-click importers for Ninja Forms and Formidable Forms alongside the existing CF7, Gravity Forms, WPForms, and Fluent Forms migration tools.
- Added WP-CLI commands for form import/export/listing, submission maintenance, product and plan administration, license reporting, order reporting, and expiry maintenance.
- Added native actions for WooCommerce, Easy Digital Downloads, SureCart, WP Simple Pay, MemberPress, LearnDash, Paid Memberships Pro, Groundhogg, Jetpack CRM, WP-CRM System, and SureContact.
- Added AutomatorWP, Uncanny Automator, and OttoKit triggers and actions with form and submission payloads.
- Added signed inbound WhatsApp webhooks for Meta Cloud API and Twilio, including reply correlation and delivery-state history in submission conversations.
- Added a multi-product licensing and lightweight ecommerce system with products, plans, orders, subscriptions, customer accounts, activation limits, refunds, renewals, and audited signed downloads.
- Added a dedicated customer dashboard for orders, masked/revealable keys, product downloads, activated sites, and subscription controls.
- Added free, Stripe, Razorpay, and renewal license-form templates with complete payment and fulfillment actions.
- Added a default Sample Product with free, USD annual, and INR annual plans on new and upgraded sites.
- Added native Bricks and Elementor integrations plus a per-form WCAG 2.2 audit and conservative one-click repairs.
Changed
- The form editor now renders only the active tab instead of executing every tab’s PHP, JavaScript, analytics, and REST requests on every page load.
- The visual builder now boots from server-rendered form and schema data, removing its two blocking initial REST requests.
- Builder saves now persist markup and schema atomically through one endpoint with a bounded timeout and a standard form-post fallback.
- Tab-specific saves merge with existing form settings, preserving payment and action configuration when saving Fields, Messages, or other individual tabs.
- Licensing actions are always visible under a dedicated Commerce & Licensing category instead of disappearing when the public activation API is disabled.
- Product and plan slugs are generated automatically, normalized, and made unique; manually entered slugs remain supported.
- Plan prices are entered in customer-facing major units such as
49.00instead of minor units such as4900. - Product packages use the WordPress Media Library picker and uploader instead of requiring an attachment ID.
- The licensing backend now includes catalog statistics, quick-start guidance, direct Add plan/Add package links, and file names instead of raw attachment IDs.
- The existing core-forms.com CF Licenser client, option keys, 32-character key format, six-hour heartbeat, and update hooks remain separate from and compatible with the new merchant licensing subsystem.
Fixed
- Fixed the Fields builder remaining on an indefinite loading spinner when either initial REST request stalled.
- Fixed inactive Analytics requests and form-builder assets loading on unrelated form tabs.
- Fixed paid plans being fulfillable from a non-payment form or before verified payment confirmation.
- Fixed payment fulfillment accepting a mismatched paid amount or currency when validation is enabled.
- Fixed free plans being incorrectly coupled to a payment requirement.
- Fixed action-variable references showing a permanent Loading message when the Fields builder was not present.
- Fixed stale admin asset caches by versioning the main admin stylesheet and licensing script from their file modification times while keeping the plugin version at 4.4.0.
Security
- License fulfillment is idempotent per submission and product selection, preventing duplicate orders or keys during webhook retries.
- Signed package links expire, verify the stored SHA-256 digest before streaming, and record downloads in an audit table.
- Verified refunds disable issued licenses and cancel related subscriptions.
- Inbound messaging and payment webhooks require provider signatures before they can change submission, payment, or fulfillment state.