Skip to content

v7.0

Latest

Choose a tag to compare

@Crabcyborg Crabcyborg released this 14 Oct 16:46
· 105 commits to master since this release
ce57793
  • 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.