You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Security: Additional permission checks have been added to prevent unauthorized plugin installations.
Security: Download URL validation has been hardened to prevent downloads from untrusted sources.
New: Built-in MCP support now lets AI assistants manage forms, entries, styles, actions, payments, and subscriptions.
New: Suspected spam can now be saved for review instead of blocking submissions.
New: Entries can now be marked as spam or not spam, with details about failed spam checks.
New: Autocomplete settings are now available in Lite.
New: Validation errors now include a clickable summary that focuses the input needing correction.
New: Default validation messages now provide guidance for email addresses, URLs, phone numbers, and numbers.
New: Name and Address inputs now display more specific validation errors for missing parts.
New: Form settings now include a GDPR section.
New: Style classes can now be renamed in the visual styler.
New: Global Settings now warns before leaving with unsaved changes.
New: PayPal Commerce actions now support conditional logic.
New: Website/URL inputs now include an option to accept international domain names.
New: Clicking a section header in the builder now selects the whole section.
New: Keyboard navigation, screen reader support, and color contrast have been improved across admin pages.
New: Payment connection errors now explain when the selected gateway or mode needs to be connected.
New: A new frm_show_clickable_field_errors filter has been added for disabling the validation error summary.
New: New frm_before_entry_meta_change, frm_after_entry_meta_change, and frm_entry_meta_write_failed hooks have been added for tracking entry data changes.
New: New frm_prepare_other_input and frm_include_other_input hooks have been added for customizing Other option text boxes.
New: A form can now have more than one Stripe Link action. A one-time and a recurring action each get their own Stripe intent, and each payment keeps the action that created it.
New: On multi-page forms, a Stripe intent is now only created when the buyer reaches the page with the payment field, so skipped pages don't leave unused intents.
New: Shipping details are now sent to Stripe for one-time payments when the billing name and address are filled in.
New: A clear error now shows when live Stripe payments are used on a page that isn't HTTPS.
New: The Stripe card and Link inputs now use the form style's input font, and fall back to defaults when a form has no style.
Performance: The builder now loads faster and uses less memory when editing large forms.
Performance: The form switcher, form templates page, and forms list now use faster database queries.
Fix: Stripe Link payments could not be retried after a failed payment.
Fix: Stripe Link payment descriptions could remain blank when buyers did not return after paying.
Fix: Stripe subscriptions could fail with a No such price error.
Fix: Stripe payment amounts would not refresh correctly after pricing changes.
Fix: The license status shown while connecting would be wrong.
Fix: Resetting styles would use the wrong defaults and leave Quick Settings colors unchanged.
Fix: Spam and form errors would reload the page instead of showing on the form when submitting with AJAX.
Fix: In Pro, custom validation errors would remain visible after correcting a value.
Fix: Single Product names and prices would not update immediately in the builder preview.
Fix: Selecting groups inside a section could unexpectedly clear other selections in the builder.
Fix: AJAX submission success messages would not receive focus for screen reader users.
Fix: In Pro, validation errors in repeaters would not correctly set aria-invalid.
Fix: Stripe Link payments can now be retried after a failure. The failed payment is marked failed, its entry is removed, and the submit button stays disabled until cleanup finishes.
Fix: A payment left pending by an earlier failed attempt no longer blocks a retry on the same intent.
Fix: Stripe Link payment descriptions are now filled in by the webhook when the buyer never returns to the site.
Fix: Stripe subscriptions no longer fail with a No such price error when the plan needs to be created.
Fix: The Stripe amount now refreshes after a conditional pricing change, and Stripe is only called when the amount actually changed.
Fix: A returning Stripe Link payment now uses the action saved on the payment, even if the form's settings changed after the buyer submitted.
Fix: Stripe webhook events that belong to another site or plugin are now ignored instead of returning errors and being passed on as handled.
Fix: A subscription cancel event for a subscription that isn't on this site no longer causes an error.
Fix: Posted Stripe client secrets are now checked against Stripe before they're trusted.