Changelog

2.2.21 2026-05-19

Added

  • Add submissionEditToken to tighten submission editing requests.

Fixed

  • Fix sandboxed variable access for Formie object templates.

2.2.20 2026-05-10

Fixed

  • Fix an issue with Hidden fields and evaluating Twig.

2.2.19 2026-04-29

Added

  • Add support for “Redirect Entry” setting to be hyperlinked.

Fixed

  • Fix integration cache and connection status.

2.2.18 2026-04-11

Fixed

  • Fix an issue with Captcha.eu integration.
  • Fix statuses not persisting correctly on first installation on new environments.
  • Fix Captcha.eu lacking graphql variables.

2.2.17 2026-03-24

Fixed

  • Fix visuals for single-option limited Phone fields.

2.2.16 2026-03-15

Changed

  • Remove debug customer for Paddle.

Fixed

  • Fix handling of plugin checks for fields that require plugins (Commerce).

2.2.15 2026-03-03

Changed

  • Update Opayo API endpoints to align with latest API changes.

2.2.14 2026-02-18

Changed

  • Updated Summary field AJAX requests to use escape values.

2.2.13 2026-02-18

Changed

  • Updated Summary field AJAX requests to use submission UIDs.

2.2.12 2026-02-14

Fixed

  • Fix lack of sanitization of File Upload files, where the Upload Location subpath contained variables.

2.2.11 2026-02-13

Changed

  • Update Phone number values sent to integrations to use E164 format over International.
  • Update Freshdesk “Phone” values to use international formatting.

Fixed

  • Fix an error when saving Web Request integrations.

2.2.10 2026-02-07

Added

  • Add data-form-handle to <form> tag.

Changed

  • Change user-related variables to always use the Submission’s “collected user” rather than the currently logged-in user.

Fixed

  • Fix Web Request integrations not setting the correct URL when migrated from previous Formie Webhook integration.

2.2.9 2026-01-15

Fixed

  • Fix an error handling email notification “from” values when also setting a “from name”.
  • Fix Make the url encoding keep the ampersand unencoded.

2.2.8 2026-01-13

Changed

  • Element integrations now handle array-like values for relation fields.

Fixed

  • Fix cache-handling for integration connections.

2.2.7 2025-11-29

Added

  • Add debug logging for reCAPTCHA responses.

Changed

  • Webhook-based payment integrations (Mollie, GoCardless) now properly fire integrations and notifications.
  • Question captcha protects against validation when no questions are set.
  • Captchas for GraphQL mutations now don’t require a mandatory variables parameter to be named the same as their input type.

Fixed

  • Fix Payment fields displaying in Summary field content by default.
  • Fix Date/Time fields not using min/max values for native date input for non-Flatpickr.
  • Fix an issue with Date fields, where the availableDaysOfWeek may not be typed correctly in some instances.
  • Fix an issue with ReCAPTCHA Enterprise validation.
  • Fix fetching an email signature controller action using CSRF verification when it doesn’t need to.

2.2.6 2025-11-06

Added

  • Add handling for multi-site refresh-token front-end requests.
  • Add “Payment Status” column to Submissions element index.

Changed

  • Improve CSRF token refreshing for multiple forms, particularly for new cookie sessions.
  • Update conditional logic evaluation in JS to default to input events when handling evaluation for most controls.
  • Update EmailOctopus integration for V2 API.

Fixed

  • Fix Snaptcha Captcha support for Ajax forms.
  • Fix “is not empty” server-side conditional logic.
  • Fix an error with JS conditional logic for some fields.
  • Fix an error when handling conditionally-hidden fields within Group fields, which also contained conditions.
  • Fix some email notification values not receiving raw values correctly.
  • Fix email notification conditional emails not being case-insensitive for matched emails.

2.2.5 2025-09-16

Fixed

  • Fix Categories field sources not showing correctly.

2.2.4 2025-09-16

Changed

  • Update Element field’s visibility in the form builder when 1-2 sources are available.

Fixed

  • Fix support for some Dynamics 365 fields (Memo) not appearing in mapping.
  • Fix an issue for redirect URLs when containing special (valid) characters.
  • Fix Categories field not showing sources correctly.

2.2.3 2025-09-02

Added

  • Add onFieldVisible and onFetchSummary JS events for the Summary field.
  • Add setPage to the Formie theme JS to set the page of a form client and server side.

Fixed

  • Fix an encoding issue for some fields when used in email notifications.
  • Fix Stripe integration setting missing Redirect URI.
  • Fix Google Sheets integration.

2.2.2 2025-08-12

Added

  • Add clarification to Salesforce “Use Credentials” setting.

Changed

  • Update import/export description for forms.
  • Update Summary field for Ajax forms to refresh whenever they are visibly shown.

Fixed

  • Fix HubSpot Form Field Mapping for Ticket fields.
  • Fix an error for Tags fields, being unable to change the “Label Source” setting.
  • Fix an error for Users fields, being unable to change the “Label Source” setting.
  • Fix an error for User integrations and the address field check.
  • Fix Google Address autocomplete handling of saved/existing values.
  • Fix description for Cloudflare Turnstile captcha integration.

2.2.1 2025-07-22

Fixed

  • Fix an error when loading some captcha settings for a form (Friendly Captcha, hCpatcha, reCaptcha, Turnstile).

2.2.0 2025-07-22

Added

  • Add Automation, Help Desk and Messaging integration types.
  • Add PlaceKit Address Provider integration.
  • Add n8n Automation integration.
  • Add Make Automation integration.
  • Add IFTTT Automation integration.
  • Add Akismet Captcha integration.
  • Add Captcha.eu Captcha integration.
  • Add CleanTalk Captcha integration.
  • Add OOPSpam Captcha integration.
  • Add Question Captcha integration.
  • Add Attio CRM integration.
  • Add CiviCRM integration.
  • Add Flowlu CRM integration.
  • Add NoCRM integration.
  • Add Outseta CRM integration.
  • Add Salesmate CRM integration.
  • Add Beehiiv Email Marketing integration.
  • Add Customer.io Email Marketing integration.
  • Add Ecomail Email Marketing integration.
  • Add Mailcoach Email Marketing integration.
  • Add Ortto Email Marketing integration.
  • Add Vero Email Marketing integration.
  • Add Gorgias Help Desk integration.
  • Add Zendesk Help Desk integration.
  • Add BPOINT Payment integration.
  • Add Eway Payment integration.
  • Add GoCardless Payment integration.
  • Add Mollie Payment integration.
  • Add Moneris Payment integration.
  • Add Paddle Payment integration.
  • Add Square Payment integration.
  • Add Discord Messaging integration.
  • Add Plivo Messaging integration.
  • Add Telegram Messaging integration.
  • Add Twilio Messaging integration.
  • Add ClickUp Miscellaneous integration.
  • Add Commerce Product Element integration (for single-variant products).
  • Add Ticket object support to HubSpot CRM integration.
  • Add Integration::beforeSaveForm() and Integration::defineClient().
  • Add spam reason for Friendly Captcha when missing client-side token.
  • Add integration front-end JS provider classes as separate exports to include in your own code.
  • Add “is visible” and “is hidden” field conditions.
  • Add parent field information to form builder for conditions.
  • Add the ability to map to “Dependant Fields” for HubSpot integrations.
  • Add the ability to set Address values for User element integrations.
  • Add SharpSpring tracking data when mapping to a native form.
  • Add the ability for Elements fields to set specific elements as available to be picked from.
  • Add support for Date fields to set their Year Range start setting to a negative value to offset from the current year.
  • Add “Progress Value Position” form setting to control where the percentage value for page process sits.
  • Add the ability to mark an incomplete submission as complete in the control panel.
  • Add body variable as alias to contentHtml for email notifications, to be compatible with Craft email templates.
  • Add support for “Layout” setting for Element fields, when displayed as Checkboxes or Radio Buttons.
  • Add outputConsoleMessages plugin setting to prevent CSRF token refresh console.log messages.
  • Add support for form submissions to be limited by IP address.
  • Add JS event modifyAjaxClient to modify the XHR client used for Ajax requests.
  • Add JS event modifyScriptUrl to modify the CDN scripts for Phone and Date Picker libraries.

Changed

  • Re-organise form builder field categories.
  • Rename Webhook integration to Web Request, and add more options for request settings.
  • Move Slack and Telegram to Messaging integrations.
  • Move Freshdesk, Gorgias and Zendesk to Help Desk integrations.
  • Webhook integrations are now Automation integrations.
  • Captcha integrations now no longer pre-select the first available type when editing.
  • Re-order Captcha integrations alphabetically.
  • Integrations can now control any required plugins.
  • Captchas can now opt to validate earlier in the submission process, and prevent submission saving (like a field would).
  • Form integration settings now no longer need to be saved when fetching new data/refreshing data.
  • Improve integration success/fail feedback in the form builder.
  • Integration settings pages have been re-worked with multiple tabs and an external docs link to instructions.
  • Update spam keywords rules to new definition syntax.
  • Update Phone field, no longer using CDN for utils and flag icons, updated look and feel.
  • Update the intl-tel-input package for Phone field validation and handling.
  • Change scroll-to-top behaviour to handle non-top level forms (in modal).
  • Allow Radio Buttons and Checkboxes field option labels to include HTML (safe) or Markdown.
  • Update Checkboxes and Radio Buttons fields to not show invalid label positions to select.
  • Hidden or Disabled fields now have a visual indicator in the form builder.
  • Google Sheets integration can now have their Spreadsheet ID set per-form.

Fixed

  • Fix NestedFieldRow elements not being garbage collected properly for deleted submissions.
  • Fix Date field Year Range offsets not using the current year.
  • Fix Phone field flag in the form builder.

Deprecated

  • Deprecated Automation::getWebhookUrl(). Use Automation::getEndpointUrl() instead.

Removed

  • Removed “Webhook URL” plugin setting from Webhook integration (still available per-form).
  • Integration docs are no longer provided within Formie, instead visit the docs.

2.1.52 2025-07-18

Added

  • Add support for Salesforce integration for Leads, for task creation on duplicate, to use the Lead ID by default.
  • Add warning text for File Upload fields, when uploading to a filesystem with public URLs.

Changed

  • Update English translations.
  • Update Recaptcha server-side verification to use recaptcha.net for better availability.

Fixed

  • Fix typecast of Pipedrive “Owner ID” value.
  • Fix Signature field output in emails for multi-site installs.

2.1.51 2025-07-03

Fixed

  • Fix encrypted fields storing data in search indexes for submissions.
  • Fix an error for Campaign integration when running via the queue.
  • Fix an error for the Calculations field, when formatting as a number and using non-numeric fields in the formula.
  • Fix an error when trying to determine a submissions status in some instances.

2.1.50 2025-06-18

Added

  • Add “is empty” and “is not empty” to field and notification conditions.

Changed

  • Update Google Places Address Provider to remove deprecated google.maps.places.Autocomplete component.
  • Update submission logging to use info rather than error category, to prevent error handlers from picking up form validation errors.

Fixed

  • Fix an error when running integrations with no Guzzle client.
  • Fix an error for variable tag rich text nodes in some instances.
  • Fix an error for Entry Element integrations and defaultAuthorId when set from a Stencil.
  • Fix Calculations field parsing Markdown content.

2.1.49 2025-06-05

Changed

  • Unlock league/oauth2-client from 2.7.0.

Fixed

  • Fix “back” button in some instances where session data tracking the current page of a form isn’t handled correctly.
  • Fix Recaptcha success logging.
  • Fix an error when running element integrations via the queue.
  • Fix a client-side validation error for required values when including whitespace characters.

2.1.48 2025-05-20

Added

  • Add support for Freeform 5 Group field in migration.
  • Add extra logging for reCaptcha failures.
  • Add more payload context for failed queue jobs.
  • Add endpoint and method to payload property for failed queue jobs for context.

Fixed

  • Fix an error with some Payment field providers when resubmitting the form after payment.
  • Fix an issue for Payment fields when a client-side error occured.
  • Fix Date field handling of min/max dates on statically caches sites when using offsets.
  • Fix an error validating minimum words limit for Multi-Line and Single-Line text fields.
  • Fix Freeform 5 migration and Hidden fields.
  • Fix an error with Freeform/Sprout Forms migrations and submission statuses.

2.1.47 2025-04-29

Fixed

  • Fix a timezone issue with Date fields when setting a min/max date relative to today.
  • Fix PDF handling for Craft Cloud.
  • Fix StringHelper::cleanString handling.
  • Fix JavaScript errors when managing theme config classes.
  • Fix an error for payment fields when removing alert classes via Theme Config.

2.1.46 2025-04-22

Fixed

  • Fix parsing of email notification content and HTML.
  • Fix 1CRM integration not querying existing data objects correctly.
  • Fix an error for payment fields when removing alert classes via Theme Config.

2.1.45 2025-04-16

Added

  • Add craft.formie.setRenderVariables().

Changed

  • Update JavaScript Captcha to use render variables for script attributes.

Fixed

  • Fix an error with Craft 4.15+.
  • Fix an error when validating element field values.

2.1.44 2025-04-11

Added

  • Add extra logging to Opayo payment failures.
  • Add the ability to assign a Campaign to a Contact/Lead/Account in Salesforce.

Fixed

  • Fix submissionEndpoint GraphQL property.
  • Fix an error for Phone fields, when initializing the form’s JS multiple times.
  • Fix payment field race condition when initializing form JS multiple times with conditions.
  • Fix an error with Opayo and billing email.
  • Fix an XSS vulnerability for importing forms with manipulated field content.
  • Fix an XSS vulnerability for email notification content.

2.1.43 2025-03-27

Added

  • Add Submission Date to some field mapping controls.

Fixed

  • Fix some errors with Submissions widget for invalid dates and weekStartDay user settings.
  • Fix an error when importing a form, made from an export from the Forms element index.
  • Fix HubSpot GDPR processing when not enabled.
  • Fix an issue with Iterable integration field mapping.
  • Fix some fields not having their default values set correctly.

2.1.42 2025-03-04

Added

  • Add “Message Type” to Iterable CRM integration.
  • Add the ability for IntegrationField’s to contain static data in their definitions.
  • Add support for Table field to use id or name values when defining a row schema.

Changed

  • Improve Hubspot GDPR handling for marketing and processing options.
  • Update Monday integration instructions.

Fixed

  • Fix Agree field not allowing null value as an empty state indicator.
  • Fix Agree field markup to match correct accessibility guidelines.
  • Fix Hubspot GDPR handling.
  • Fix Monday integration connection requests.
  • Fix an error when applying Formie-related project config when uninstalled.
  • Fix Phone number fields flag icons in the form builder.

2.1.41 2025-02-02

Fixed

  • Fix an error with Group and Repeater fields with required File Upload fields on multi-page Ajax forms.
  • Fix Group and Repeater fields not respecting “Include in Email Notifications” setting and conditionally hidden fields in email notifications.
  • Remove incorrect Campaign = Kampagne German translation for the Campaign plugin.

2.1.40 2025-01-24

Fixed

  • Fix incorrectly bundled intl-tel-input version.
  • Fix some string content not being escaped properly.
  • Fix Freeform 5 migration for success behaviour.
  • Fix default value for Date field not being set correctly.

2.1.39 2025-01-17

Added

  • Add support for inline CSS for some string content (Multi-Line Rich Text content).
  • Add Variables::EVENT_PARSE_VARIABLES to allow you to parse custom registered variables.

Changed

  • Bump guzzlehttp/oauth-subscriber to ^0.8.1.
  • Lock league/oauth2-client to 2.7.0 to prevent an issue with refresh token scopes on some providers.

Fixed

  • Fix reCAPTCHA Enterprise and score validation.

2.1.38 2025-01-13

Added

  • Add contentType to email attachments.
  • Add theme config options for Table field inner field inputs.
  • Add Element::EVENT_MODIFY_ELEMENT_MATCH event to control behaviour for Element integrations and matching an existing element.

Changed

  • Bump guzzlehttp/oauth-subscriber.
  • Table field column templates are now split into separate files for easier overriding.

Fixed

  • Fix signature field image matching on existing field, in some instances.
  • Fix email notifications not correctly saving conditional recipients.
  • Fix an error with migrating forms from Freeform 5.
  • Fix Freeform 5 migration for some invalid field handles.
  • Fix Freeform migration console commands.
  • Fix some special unicode characters being stripped out of some text values for text-based fields.
  • Fix Date fields and the “Available Days” setting not working correctly.
  • Fix Entry element integration “Update Element Mapping” values being blank.
  • Fix an error when setting a form template with required fields and validation handling.

2.1.37 2024-12-27

Added

  • Add context property for integrations to record extra data at submission time.
  • Add support for Pardot tracking cookies for Form Handler.

2.1.36 2024-12-17

Added

  • Add more comprehensive logging for user element integration.
  • Provide Freeform 4 and Freeform 5 migrations.

Changed

  • Update Freeform migration to support Freeform 5+.

Fixed

  • Fix not restoring trashed stencils when applying from project config.
  • Fix form export not exporting number values correctly.

2.1.35 2024-12-03

Fixed

  • Fix User and Entry element integration settings migration.

2.1.34 2024-12-02

Fixed

  • Fix an error when saving integration settings for forms.
  • Fix User element integrations not using UIDs for the target groups.
  • Fix Entry element integrations not using UIDs for the target entry type.
  • Fix an issue with User element integration and the “Send Activation Email” setting.
  • Fix checkbox select fields field settings not retaining their value.

2.1.33 2024-11-13

Added

  • Add Iterable CRM integration.

Changed

  • Update proxy URL for some integrations.

Fixed

  • Fix duplicated API Key setting for Google Places.
  • Fix Iterable integrations when not mapping custom fields.
  • Fix reactivity of integration field mapping for forms.
  • Fix some integrations causing post_max_size and input_max_vars issues on Craft Cloud.
  • Fix inactive or pending users showing in users field.
  • Fix “Action on Submit” not toggling options correctly.
  • Fix an error when migrating Freeform forms for a specific handle via the CLI.
  • Fix data-repeater-row-id attribute for Repeater field rows.

2.1.32 2024-10-20

Added

  • Add data-repeater-row-id attribute to Repeater field rows.
  • Add Data Center setting for Zoho CRM Integration.

Fixed

  • Fix reCaptcha Enterprise flagging spam in certain situations.
  • Fix an error with Sent Notifications, when called too early before a dateCrated has been set.

2.1.31 2024-10-09

Added

  • Add Iterable Email Marketing integration.

Fixed

  • Fix toggling the enabled state of integrations not updating in the sidebar.
  • Fix an error when previewing email notifications with Element fields in Postgres.
  • Fix Signature field support for Group fields when accessing their image remotely.
  • Fix an error when editing a Stencil with integrations enabled.

2.1.30 2024-09-14

Added

  • Added Integration::getSettingsHtmlVariables() and Integration::getFormSettingsHtmlVariables().
  • Added support for all CRM integrations to only fetch data objects for ones that are enabled in the form builder integration settings.

Changed

  • Updated Password field autocomplete attribute.
  • Improve Integration form instructions translations to remove duplicate translation strings.
  • Improve Integration form instructions translations to remove duplicate translation strings.
  • Improve Integration settings instructions translations to remove duplicate translation strings.
  • Update integration descriptions to be dynamic for better translation.
  • Days and Months predefined options now use Craft’s locale helpers for consistency.
  • Country and State predefined options now use commerceguys/addressing for consistency.

Fixed

  • Fixed an error when creating forms where a default Form Template had required fields.
  • Fixed an error when fetching Signature field image.

2.1.29 2024-09-07

Added

  • Added “Start Mode” setting to Friendly Captcha.
  • Added the ability to set scriptAttributes and jsAttributes for <script> tags that Formie uses.
  • Added the ability for craft.formie.renderJs to set JS attributes for scripts.

Changed

  • Changed Phone input autocomplete from tel-national to tel to ensure valid autocomplete value.

Fixed

  • Fixed an issue for Stripe and Opayo 3DS handling in combination with captchas not working correctly.
  • Fixed an error for GraphQL when querying submissions with brand-new Group fields with no content.
  • Fixed an error with Freshdesk integration when handling duplicate contacts.
  • Fixed an error with Salesforce integration when handling duplicate leads.
  • Fixed global “View Form Usage” user permission not appearing.

2.1.28 2024-08-29

Fixed

  • Fixed an error when parsing variable tokens.

2.1.27 2024-08-29

Added

  • Added “Page URI” and “Page Name” to HubSpot integration for Forms.
  • Added support for Form Template custom field validation for forms.

Changed

  • Klaviyo Email Marketing integration now orders lists alphabetically by name.
  • Klaviyo Email Marketing integration now loads more than 10 lists.
  • Improved HubSpot CRM integration for HubSpot Forms, where fields don’t have a label.

Fixed

  • Fixed an edge-case with variables, where cached data matched against incorrect submission values.
  • Fixed an error when fetching Summary field HTML.
  • Fixed an error when fetching Signature field image.
  • Fixed an error with Klaviyo CRM integration.

2.1.26 2024-08-14

Fixed

  • Fix a compatibility issue with nystudio107/craft-plugin-vite 4.0.12.

2.1.25 2024-08-14

Added

  • Added initSubmit JS API function to allow programmatic submissions.

Fixed

  • Fixed an error when refreshing tokens on some installs.

2.1.24 2024-08-11

Added

  • Added processSubmit JS API function to allow submission processing to continue if preventing submission via the onBeforeFormieSubmit JS event.

Fixed

  • Fixed errors when attaching some files to support requests.
  • Fixed Date fields with a default value, or min/max date not having their values normalized correctly.
  • Fixed an error when viewing Forms in the control panel for a specific template, and improve Form element index performance.
  • Fixed an error when refreshing tokens via JS, for a non-top-level webroot site.
  • Fixed an error when populating Element fields when also limiting field values.

2.1.23 2024-07-29

Added

  • Added Address 1 and Address 2 to field mapping for Klaviyo integration.
  • Added useEmailTemplateForFieldVariables plugin setting to enforce field variables to use their email template. This is opt-in behaviour until Formie 3.

Changed

  • Updated SharpSpring integration to not require the Form URL, and improve instructions.
  • Updated English translations.
  • Date fields now return date settings (defaultValue, defaultDate, minDate, maxDate) as Y-m-dTH:i:s formatted strings without timezone information (as none is stored).

Fixed

  • Fixed form element index behaviour for users with only “View Forms” permissions.
  • Fixed an error for Date fields and the Default Date, and Min/Max Date settings being inconsistent.
  • Fixed location values for Klaviyo integration.
  • Fixed Klaviyo Email Marketing integration not working correctly.

2.1.22 2024-07-21

Changed

  • Address and Multi-Name fields now strip out invalid content in email notifications.

Fixed

  • Fix Salesforce integration and Case objects by excluding the IsClosedOnCreate field.

2.1.21 2024-07-16

Added

  • Added structure sorting options to Entries fields.
  • Added allIntegrations property to EVENT_MODIFY_FORM_INTEGRATIONS event.
  • Added form property to EVENT_MODIFY_FORM_INTEGRATIONS event.
  • Added setNoCacheHeaders() to the formie/forms/refresh-tokens action endpoint to prevent caching.
  • Added Integrations::EVENT_MODIFY_FORM_INTEGRATION event.

Changed

  • Allow sending email notifications for incomplete submissions from the control panel.
  • status is now a reserved field handle.
  • Updated form builder preview for Summary field.

Fixed

  • Fixed an error with Date fields and their default value timezone.
  • Fixed an XSS vulnerability for sub-fields and sent email notifications.
  • Fixed EVENT_MODIFY_FORM_INTEGRATION not firing in some instances.
  • Fixed Phone field allowing invalid phone numbers and country codes.
  • Fixed an error with single Name fields used in Summary fields.
  • Fixed session call for refresh-tokens.
  • Fixed Opayo payments and custom email values.
  • Fixed some fields not using getValueAsString() to render content for email notifications.
  • Fixed single-value fields not being able to be ordered in the submissions index in the control panel.
  • Fixed lack of server-side validation for min/max Number fields.

2.1.20 2024-06-27

Added

  • Added sourceType for all integration custom fields to check against the provider-defined field type.
  • Added Company mapping support for HubSpot CRM integration.

Changed

  • Changed the default state of “Include in Email Notifications” for fields to be true.

Fixed

  • Fixed an error with some fields when enabling content encryption.
  • Fixed Pipedrive integration for "Multiple Options" (set) fields.
  • Fixed server-side validation for Phone fields on Ajax-based forms not showing correctly.
  • Fixed an error with Element integrations when mapping to an element select field type on the resulting element.
  • Fixed Phone field validation for empty state.
  • Fixed a typo in Turnstile appearance settings.
  • Fixed Address field country values not showing correctly when editing a submission in the control panel.
  • Fixed Name field Prefix not using the label for its content.
  • Fixed Name fields not using their full name value for Summary fields.

2.1.19 2024-06-15

Added

  • Added support for new Klaviyo integrations due to API changes (opens new window).
  • Added support for Calculations field when used in field conditions.
  • Added appearance settings to Turnstile captcha. (thanks @jmauzyk).

Changed

  • Calculations fields can now reference other Calculations fields.
  • Improved handling of spam, deleted, and agent contacts for Freshdesk integration. (thanks @jmauzyk).

Fixed

  • Fixed default values for fields not being trimmed of whitespace.
  • Fixed some variables not supporting env variables in Email Notifications.

2.1.18 2024-05-31

Fixed

  • Fixed an error when submitting a form and manipulating the goingBack param.
  • Fixed an error when testing email notifications from a Stencil.

2.1.17 2024-05-29

Changed

  • Ensure that sessions exists when calling formie/forms/refresh-tokens.

Fixed

  • Fixed element integrations update matching logic where matched data is empty.
  • Fixed populateFormValues values and dynamic Twig.
  • Fixed an error with Phone number fields and countryCode.
  • Fixed an error with Phone number fields and countryName.

2.1.16 2024-05-27

Added

  • Phone fields now include countryCode and countryName in their value when the value is JSON.

Changed

  • Removed unused e.target from Repeater addRow() JS function.
  • Updated English translations.
  • Updated reCAPTCHA Enterprise’s Secret API Key plugin setting.

Fixed

  • Fixed Entry element integrations not using their section’s default entry status when enabled wasn’t mapped.
  • Fixed country-enabled Phone fields not having their generated value set correctly.

2.1.15 2024-05-20

Fixed

  • Fixed an error with options fields where the incorrect ID was being generated when an option value contained special characters.
  • Fixed an error when querying submissions by userId and not just a single ID.
  • Fixed options-based fields not trimming their option value.

2.1.14 2024-05-08

Added

  • Added disabled property to GraphQL Dropdown field interface
  • Added Formie::EVENT_MODIFY_TWIG_ENVIRONMENT event to modify the Twig Sandbox for variable parsing.
  • Added Variables::EVENT_REGISTER_VARIABLES event to register your own.

Fixed

  • Fixed an error when using dynamic Dropdown options
  • Fixed a PHP 8 error.
  • Fixed paths for Craft Cloud. (thanks @timkelty).
  • Fixed Repeater fields not retaining their values correctly.
  • Fixed Form export (from the Form element index) not using custom Formie export logic.
  • Fixed Name and Address sub-field conditions not working correctly.
  • Fixed an error when importing forms, where custom field content existed while the custom fields themselves didn’t.
  • Fixed Group/Repeater field conditions not working correctly when complex rules were created.

2.1.13 2024-04-27

Changed

  • Improved German translations. (thanks @MoritzLost).
  • Updated non-English translations to include latest strings.
  • Updated English translations to include latest strings.

Fixed

  • Fixed an error where renderOptions weren’t available to field templates.
  • Fixed duplicated heading text for Heading fields when viewing a submission in the control panel.
  • Fixed an error with Flatpickr and live client-side validation.
  • Fixed Element integrations not working correctly for non-updating elements.
  • Fixed Address field default country not working correctly.

2.1.12 2024-04-18

Added

  • Added more missing translation strings.
  • Added full error for reCAPTCHA captchas when failing to initialize.
  • Added the ability for Submission::setStatus() to accept the handle of a status.
  • Added the ability to set the captcha type for reCAPTCHA Enterprise.
  • Added Google Console API Key for reCAPTCHA Enterprise.
  • Added Referer, User Agent and User IP headers for reCAPTCHA Enterprise requests.

Changed

  • HubSpot forms are now listed in alphabetical order.

Fixed

  • Fixed formatting for German translations. (thanks @MoritzLost).
  • Fixed spelling and style issues in German translations. (thanks @MoritzLost).
  • Fixed an error with File Upload fields within Repeater fields for GraphQL.
  • Fixed User variables not working in Email Notification previews.
  • Fixed "Manage all forms" permission.
  • Submission UIDs when used in Email Notifications now show a generated value in preview.

2.1.11 2024-04-15

Added

  • Added missing form builder translation strings.

Fixed

  • Fixed a Formie 1 migration where fields contained an underscore, and were affected by synced field issues in need of fixing.
  • Fixed a PHP 8.2 deprecation.
  • Fixed populating Group fields not working consistently.
  • Fixed Repeater and Group fields not working correctly for multi-page forms.
  • Fixed limited users permissions for forms not working correctly.
  • Fixed an error with Stripe creating a plan for subscription payments.
  • Fixed Internal fields showing in the form builder for non-English languages.

2.1.10 2024-04-10

Added

  • Added FieldInterface::subfieldLabelPosition for GraphQL.

Changed

  • Radio Button fields data-field-type attribute has been changed from fui-type-radio-buttons to fui-type-radio.
  • Date fields data-field-type attribute has been changed from fui-type-date-time to fui-type-date.
  • Email fields data-field-type attribute has been changed from fui-type-email-address to fui-type-email.
  • Hidden fields data-field-type attribute has been changed from fui-type-hidden-field to fui-type-hidden.
  • Phone fields data-field-type attribute has been changed from fui-type-phone-number to fui-type-phone.

Fixed

  • Fixed Opayo payments not sending customer email address.
  • Fixed Phone fields default value not working.
  • Fixed “All Fields” and similar summary variables causing invalid HTML in some email clients for email notifications.
  • Fixed Solspace Calendar element integration incorrectly matching existing elements from other entry types.
  • Fixed Entry element integration incorrectly matching existing elements from other entry types.
  • Fixed compatibility with Solspace Calendar 5.x.
  • Fixed consent field values for Campaign Monitor.
  • Fixed an error for Checkboxes fields when the “Toggle Checkbox” was included.
  • Fixed multi-name fields not showing correctly in email notification previews.
  • Fixed data-field-type attribute being incorrectly translated for fields.
  • Fixed JS event listeners being attached multiple times for some integrations when calling Formie.initForms() multiple times.
  • Fixed front-end JS throwing an error in some circumstances.
  • Fixed an error when populating Group/Repeater field values.

2.1.9 2024-03-29

Fixed

  • Fixed a dependency error with verbb/base version.
  • Fixed user permissions being incorrect for view submissions in the control panel.
  • Fixed an error when populating Table fields.

2.1.8 2024-03-29

Added

  • Added “Source” to Klaviyo Email Marketing integration.
  • Added support for additional SugarCRM fields.
  • Added the ability for cosmetic fields (Heading, HTML, etc) to be included in email notifications.
  • Added the ability to map to HubSpot Hidden fields.

Changed

  • Remove Section and Summary fields from rich text editor and variable picker options.

Fixed

  • Fixed Opayo and 1017 error responses.
  • Fixed Algolia and Google address provider templates.
  • Fixed Table fields not populating properly with populateFormValues() and allow usage of the column handle.
  • Fixed Date/Time columns in Table field with timezone information when editing a submission in the control panel.
  • Fixed Salesforce DateTime fields throwing an error.
  • Fixed renamed theme config keys for some fields (wait until Formie 3).
  • Fixed success/error messages containing paragraph tags not displaying correctly for Ajax-based forms.
  • Fixed field and integration handles using the translated class name when they shouldn’t.
  • Fixed cosmetic field handles not working correctly for non-English-default installs.
  • Fixed a translation error in the control panel when the users language or site is set to German.
  • Fixed some integrations throwing errors when the control panel language was set to non-English.

2.1.7 2024-03-18

Added

  • Added the ability to query SentNotification elements by submissionId and notificationId.
  • Added “Subscribe Status” mapping option to ActiveCampaign integrations.
  • Added ModifyFieldIntegrationValueEvent::rawValue.
  • Added German Translations. (thanks @alexanderloewe).

Changed

  • Repeater/Group new-row templates now have spaceless HTML to take up less space in the page source.
  • Update Monday integration mutation to latest API compatibility.
  • Updated Form Template directories setting to auto-complete directories, not single templates.

Fixed

  • Fixed an error when viewing Stripe subscriptions in the control panel.
  • Fixed failed Opayo 3DS payments creating a new payment model instead of updating the pending payment.
  • Fixed Slack/Trello integration messages not including paragraph nodes.
  • Fixed success/error/other form messages not including paragraph nodes.
  • Fixed a reactivity issue when editing notifications, causing values to not always save.
  • Fixed Slack webhooks not sending.
  • Fixed Checkboxes/Radio field preview for horizontal layout and overflow.
  • Fixed general errors, manually set to a submission’s form attribute not showing on the front-end.
  • Fixed Theme Config not working correctly when supplying attributes with empty values (to output just the attribute like readonly or disabled) on elements.
  • Customer information is now included for single Stripe payments.
  • Fixed an error when rendering Payment fields with an invalid Payment integration.
  • Fixed incorrect value when mapping to a Date field in HubSpot.
  • Fixed formie translations not working correctly (defaulting to English) when there is a non-English primary site, and content has been written in non-English.
  • Fixed scroll-offset calculation when scrolling to the top of a form.
  • Fixed incorrect value when mapping to a Date field in HubSpot.

2.1.6 2024-03-03

Added

  • Added “Full Name” to User Element integration mapping.

Changed

  • Changed all instances of dynamic Twig to use safe, sandboxed environment to protect against potential security issues.

Fixed

  • Fixed an issue with File Upload fields with a custom filename format not working in a Repeater field.
  • Fixed layout issues when editing a submission via a Submissions element select field in other elements.

2.1.5 2024-02-21

Changed

  • Updated Formie 3 layout prep.

Fixed

  • Fixed an error with Opayo integration.
  • Fixed payment integrations’ getFieldSetting() not always returning a default value.
  • Fixed an error with Stripe payments where a correct ID was not being generated.

2.1.4 2024-02-17

Added

  • Added status, statusId and siteId to Submission query arguments for GraphQL queries.
  • Added missing translations for some strings.
  • Added redirectCallback to onAfterFormieSubmit JS event.
  • Added redirectTarget to onAfterFormieSubmit JS event.
  • Added exportVersion to form exports.
  • Added support for headlessMode mode for integration redirectUri’s.
  • Added data-fui-field-count attribute to row, subFieldRow, and nestedFieldRow theme config elements.

Changed

  • Update Sent Notifications to use TEXT database column types for some values like cc and bcc.
  • Update Dompdf 2.0.4+.
  • Replace deprecated utf8_encode function with mb_convert_encoding.

Fixed

  • Fixed ajax-based, multi-page forms with File Upload fields creating duplicate assets.
  • Fixed an error when importing forms, set to “create” where there was a conflicting UID for an existing form.
  • Fixed changing the submissions status not persisting in the control panel element index view.
  • Fixed sub-field fields not showing custom error messages for required validation.
  • Fixed an error when calling populateFormValues() with Repeater fields.
  • Fixed lack of error logging for populateFormValues().
  • Fixed when creating a new form, and an error occurs, the selected stencil not persisting.
  • Fixed order of operations when uninstalling the plugin.
  • Fixed uninstall not removing some database tables.
  • Fixed an error saving notifications with long names.
  • Fixed submissions processing payments when flagged as spam.
  • Fixed HTML field outputting invalid labels.
  • Fixed progress bar not updating when going back to first page.

2.1.3 2024-01-25

Changed

  • Improved performance of email notification content parsing for complex fields, and fix Slack integration when rendering complex fields in their rich text message.

Fixed

  • Fixed hcaptcha executing captcha multiple times, and not working correctly for submitted forms (if filling out the form again).
  • Fixed saving a new form with a UID already in place, not working correctly.
  • Fixed import/export of forms not respecting UIDs of forms or notifications.
  • Fixed an error when showing spam error messages on the front-end.
  • Fixed element fields not working correctly when pre-populating the value for multi-page forms.
  • Fixed .env variable support for email notifications not working correctly.
  • Fixed rich text editor “link to an asset” not working correctly.
  • Fixed craft.formie.populateFormValues not sanitizing potentially harmful strings.

2.1.2 2024-01-16

Added

  • Added “Page Count” to form conditions when making custom form sources.
  • Added Formie 3 migration prep for field layout changes.

Fixed

  • Fixed payment fields not filtering out currency symbols for dynamic values.
  • Fixed validation error for Address field Zip subfield not showing correctly for Ajax forms.
  • Fixed label position “hidden” not working work Date fields.
  • Fixed label position “hidden” not working work Checkboxes fields.
  • Fixed an error when sending an email with non-lowercase values for some mailers.
  • Fixed a new formId being created when calling renderFormCss/Js.
  • Fixed an error for Entry element integrations and setting the authorId to a field value.
  • Fixed submissions index not working correctly in some instances.
  • Fixed “Include in Email” field setting for Single-Line Text fields to “Settings” tab.
  • Fixed ModifyFieldUniqueQueryEvent error.
  • Fixed submit methods toggling not working correctly in some instances.
  • Fixed autoloading for ModifyFieldUniqueQueryEvent class.

2.1.1 2023-12-29

Fixed

  • Fixed a migration error with generating notification handles.
  • Fixed custom error messages for field being applied for every error (not just for required value failures).

2.1.0 2023-12-27

Added

  • Added the ability to set the label and value for Address field Country sub-field dropdown options.
  • Added populateAddress JS event for Google Address provider to modify field-population when an address is found.
  • Added the ability to set a min/max number of options to pick for a Checkboxes and multi-Dropdown field.
  • Added support for Freeform migration with form handles containing invalid characters. Formie will try and rename to a valid handle.
  • Added fui-tab-complete class to tabs previous to the active one on the front-end.
  • Added page count to form element index, and the ability to query forms via their pageCount.
  • Added support for unique values for Single-Line Text, Multi-Line Text and Number fields.
  • Added note to data retention form setting on garbage collection.
  • Added “Visibility” settings to Agree fields.
  • Added the ability to set a submission as spam when editing it in the control panel.
  • Added info tooltips to email notifications for deliverability gotchas.
  • Added description field setting for Summary field, to control the heading text at the top of the field.
  • Added before and after options to the formie/submissions/delete console command.
  • Added before and after element query params for submissions.
  • Added “Opt-in” field to all integrations.
  • Added “User Email” to email variable pickers.
  • All fields now have the ability to be excluded from the “All Fields” variable for email notifications.

Changed

  • Submission index chart now shows the same submissions in the table view, and provides a consolidated date range filter.
  • Revamped submissions index chart to be more performant.
  • Changed “Configure Import” text to “Review Import” for Import/Export page.

Fixed

  • Fixed front-end alert compatibility with Theme Config for alerts, for ajax-driven forms.
  • Fixed formatting buttons not appearing at the top-level of a rich text editor instance.
  • Fixed custom error messages for field being applied for every error (not just for required value failures).
  • Fixed orphaned field cleanup not working for Repeater/Group nested fields.
  • Fixed Zip/Postal Code ordering for Address fields in control panel to match what’s produced on the front-end.

2.0.45 2023-12-26

Added

  • Added setOnlyCurrentPagePayload to force only saving the current page’s fields for performance.
  • Added isAvailable to FormInterface for GraphQL.
  • Added displayType for element fields for GraphQL queries.
  • Added data-placeholder on Pell editor to support placeholder on Rich Text fields. (thanks @IrateGod).

Changed

  • Switch Hidden field hasLabel to theme config output for form builder label.
  • Hidden fields now no longer output a label.

Fixed

  • Fixed populated Repeater fields not working correctly for multi-sites.
  • Fixed a JS error with Formie.refreshFormTokens when importing Formie’s JS in your own JS files.
  • Fixed limit submissions check for GraphQL.
  • Fixed validation messages not showing for Opayo payments.
  • Fixed lack of autocomplete attributes for Opayo payment fields.
  • Fixed Repeater/Group inner fields incorrectly being shown as able to have conditions set on the same field.
  • Fixed initial fields in Group/Repeater fields not being marked as isNested.
  • Fixed cache-clearing for CSRF/Captchas not working correctly for multi-page forms.
  • Fixed options fields (Radio, Checkboxes, Dropdown) defaults not working in Group/Repeater fields.
  • Fixed setOnlyCurrentPagePayload.
  • Fixed onFormieSubmitError JS event not containing the server response.

2.0.44.1 2023-12-12

Changed

  • Improve error message when failing to save a form.

Fixed

  • Fixed an error when creating new forms.

2.0.44 2023-12-12

Added

  • Added afterInit JS event to Multi-Line Text fields that have the rich text editor enabled.
  • Added beforeInit JS event for Multi-Line Text fields that have the rich text editor enabled.
  • Added aria-live=“polite” and aria-atomic=“true” to error messages on the front-end.
  • Added modifyQueryParams event for PayPal.

Changed

  • Changed finalise to finalize for PayPal message.
  • Changed fui-sr-only for hidden label position to use data-fui-sr-only instead of class, for Theme Config compatibility.
  • Updated Multi-Line field, Rich Text editor to support placeholder attribute. (thanks @IrateGod).

Fixed

  • Fixed an error for Products and Variants fields when checking for Commerce being installed, when the fields are initialized too early.
  • Fixed File Upload assets within Repeater or Group fields not being deleted according to their submission data retention settings.
  • Fixed an error when a stencil’s email notification contained an attached asset.
  • Fixed lack of enter key accessibility for sent notification and submission modals in the control panel.
  • Fixed an error when form message settings contained emoji’s.
  • Fixed setting elementQuery via templates not overwriting Element fields.
  • Fixed an issue when a PayPal payment field was toggled by conditional rules.
  • Fixed an issue using populateFormValues for Repeater fields.
  • Fixed an error when mapping Group fields to some integrations when no value is present.
  • Fixed an error when updating queue job information cache for integrations.

2.0.43 2023-11-26

Added

  • Added page and row reference to fields.
  • Allow Stripe metadata to pull data from other fields in the form.

Fixed

  • Fixed option fields (Dropdown, Checkboxes, Radio Buttons) having an incorrect column length when no options were provided (for dynamic options).
  • Fixed handling of token errors for integrations.
  • Fixed an error with validating Address fields.
  • Fixed Brevo templateId parameter type.
  • Fixed field labels not being rendered when set to position hidden.
  • Fixed interest categories not being shown correctly for Mailchimp.

2.0.42 2023-11-09

Added

  • Added Element::EVENT_MODIFY_ELEMENT_FIELDS event for element integrations.

Fixed

  • Fixed incorrect File Upload validation translation message for min/max filesize.
  • Fixed lack of proper check for integration response when manually triggering an integration from a submission in the control panel.
  • Fixed Honeypot captcha when refreshing cached tokens and improve logging.

2.0.41 2023-11-05

Changed

  • Changed checkbox checked state to use checked not checked=“true”.

Fixed

  • Fixed PDF template filename format not persisting when saved.
  • Fixed Checkboxes not being reset after submitting a form.
  • Fixed Table field not normalizing cell values properly.
  • Fixed an error with File Upload fields introduced in 2.0.40.

2.0.40 2023-11-02

Changed

  • Updated Brevo integration to include templateId and redirectionUrl for Double-Optin.

Fixed

  • Fixed GraphQL mutations for multiple File Upload fields.
  • Fixed honeypot captcha trigger unload warnings when using cache-busting JS.
  • Fixed GraphQL mutations for multiple File Upload fields.
  • Fixed an error with binding events to JS multiple times not working correctly when required (for conditions).
  • Fixed Duplicate captcha causing unload warnings.

2.0.39 2023-10-25

Added

  • Added “Reply-To Name” setting for email notifications.
  • Added “Webhook URL” as setting for Webhook integration when querying via GraphQL.
  • Added autocomplete=“name” to single Name fields.
  • Added language options to Friendly Captcha.
  • Added double-optin setting for Brevo integration.
  • Added checks to Formie JS to protect against multiple-initialization of the same form.
  • Added better handling for destroying an initialize form in JS.
  • Added initJs to render options for forms, to prevent auto-initializing of Formie’s JS.
  • Added Formie.refreshForCache to simpiify statically-cached forms and token refreshing.
  • Added missing {startTag}{num}{endTag} non-plural translation strings.
  • Added “Reply-To Name” setting for email notifications.
  • Added FORMIE_SECURITY_KEY .env variable (based off CRAFT_SECURITY_KEY or SECURITY_KEY for maintaining a separate key for encrypting field values.
  • Added “Webhook URL” as setting for Webhook integration when querying via GraphQL.

Changed

  • Move .fui-btn * CSS rule from theme to base CSS to handle inner elements of buttons not triggering the correct submit behaviour
  • Ajax-based forms now automatically fetch tokens (CSRF, captchas) after a successful form is submitted
  • Implement Element::trackChanges() for Blitz compatibility

Fixed

  • Fixed a PHP 8 deprecation notice.
  • Fixed an error for Dropdown fields when toggling between options being an optgroup and not.
  • Fixed widget charts for line/pie charts.
  • Fixed an error when creating dashboard widgets for submissions.
  • Fixed Friendly Captcha triggering unload warnings.
  • Fixed Friendly Captcha styles.
  • Fixed Duplicate captcha not refreshing its value for Ajax forms, after a successful submission.
  • Fixed JavaScript captcha not refreshing its token after a successful submission, and trying to submit again without a page refresh.
  • Fixed captcha behaviour to handle multiple initializations.
  • Fixed captcha integrations with initializing Formie’s JS multiple times.
  • Fixed race condition for refreshing captcha tokens when the captchas hadn’t been initialized yet.
  • Fixed JS destroyForm() not removing the form from the factory collection correctly.
  • Fixed multiple event bindings for some JS elements.
  • Fixed spam email notifications throwing an error in the queue when trying to send (if enabled to do so).
  • Fixed dynamically redirectUrl having any query params overwritten if the same query param was on the current URL.
  • Fixed submissions using query string params for populating some properties when they shouldn’t.
  • Fixed some fields not having their settings normalized.
  • Fixed an error when editing a form and invalid default status.
  • Fixed an error with File Upload fields and an invalid Upload Location set.
  • Fixed File Upload fields not working correctly for Repeater or Group fields, when the only nested field.
  • Fixed double-initialization checks for Formie’s JS, causing incorrect behaviour with a race condition with JS frameworks.

2.0.38 2023-10-08

Added

  • Added better support for editing submissions.
  • Added “Consent To Track” and “Consent To Send SMS” to Campaign Monitor integration.
  • Added Phone integration field type, for formatting phone numbers sent to integrations.
  • Added support for expand parameter on target schemas for Microsoft Dynamics 365 CRM. (thanks @jamesmacwhite).

Changed

  • Changed references for Linked.in to LinkedIn.
  • Calling craft.formie.renderForm() now sets a unique formId to assist with rendering the same form multiple times to retain JS functionality.
  • Clearing a current submission can now be done without a POST request.

Fixed

  • Fixed an issue with Dynamics 365 and Created By value.
  • Fixed query restrictions for system users for Microsoft Dynamics 365 integration.
  • Fixed payment fields not working within Group fields.
  • Fixed Turnstile captcha firing form submissions multiple times for Ajax based forms.
  • Fixed Turnstile captcha triggering unload warnings.
  • Fixed custom error messages for fields not being used for server-side errors.
  • Fixed DotDigital CRM Integration response when updating the address book.
  • Fixed an error with JS binding to the same form rendered multiple times.
  • Fixed actionUrl not taking into account incomplete editing submissions.
  • Fixed an error for some integrations and an invalid enabled state.
  • Fixed an error processing User element integrations and user profile.

2.0.37 2023-09-25

Added

  • Added “Created By” field mapping for Dynamics 365 CRM integration.
  • Added Field::getRequiredPlugins() to better support plugin-dependant fields.
  • Added Honeypot value for GraphQL queries.
  • Added siteKey values for supported Captchas for GraphQL queries.
  • Added “Mobile Number” to Campaign Monitor integration.
  • Added form.setActionUrl().
  • Added FormSettings::pageRedirectUrl to allow setting the redirect URL for every page submission.

Changed

  • Updated isPluginInstalledAndEnabled check.
  • Updated stripe/stripe-php dependency to align with Craft Commerce.

Fixed

  • Fixed Dropdown field throwing errors after changing options from being an optgroup.
  • Fixed an error when toggling Dropdown field options from using an optgroup to a default.
  • Fixed an error when setting cookie values for a Hidden field, and not dealing with encoded values properly.
  • Fixed showing “Edit Form” element action when viewing forms.
  • Fixed mapping a Formie Submission field to the Submission ID for Element integrations.
  • Fixed form not being available for PDF templates.
  • Fixed an issue with Honeypot Captcha and GraphQL mutations.
  • Fixed File Upload fields in Repeater fields not working correctly with GraphQL mutations.
  • Fixed redirect URL value when the URL contained certain UTF characters.

2.0.36 2023-09-08

Added

  • Added consolidated errors when saving forms in the control panel.
  • Added beforeInit and onApprove JS events for PayPal.
  • Added Brevo email marketing integration (to replace Sendinblue).

Fixed

  • Fixed being unable to choose which site a submission is saved in, when editing a submission from the control panel.
  • Fixed element select fields not retaining their values before being saved for the form builder.
  • Fixed Number field not correctly typed in GraphQL mutations.
  • Fixed being unable to choose which site a submission is saved in, when editing a submission from the control panel.
  • Fixed missing translations for Opayo and PayPal’s front-end JS.
  • Fixed an error when creating custom templates.
  • Fixed Friendly Captcha not working correctly for multi-page forms.

Deprecated

  • Deprecated the Sendinblue integration. Please use the Brevo integration instead.

2.0.35 2023-08-31

Added

  • Added 1CRM integration.
  • Added support for Checkboxes fields with Calculations variables.
  • Added Integration::getClassHandle().
  • Added support for Segmented Lists for Pardot CRM integration.

Changed

  • Map an account to lead data using parentaccountid or customerid_account for Dynamics 365 integration.
  • Changed Number fields to use TEXT columns for their content, to allow large numbers to be used.
  • Updated reCAPTCHA Enterprise endpoint to address deprecation.

Fixed

  • Fixed being able to send email notifications and trigger integrations for spam submissions in the control panel.
  • Fixed Salesforce integration not working for production without “Use Credentials” enabled.
  • Fixed ActiveCampaign integration dropdown field values not working correctly.
  • Fixed an error when normalizing Date field values.
  • Fixed Pardot integration and prospect accounts.
  • Fixed an error with Sprout Forms migration.
  • Fixed being able to select Repeater fields for field conditions.
  • Fixed Group and Repeater fields having content populated from outer fields with the same field handles as inner fields.
  • Improved submission content filtering potential XSS payloads.
  • Fixed lightswitch UI on Craft 4.4.16+.
  • Fixed tabindex removal on captchas, preventing good accessibility to keyboard navigate into captchas.
  • Fixed Formie JS binding multiple times when calling endBody() in Twig manually.
  • Fixed Agree field description not correctly enforced as required.

2.0.34.1 2023-08-08

Fixed

  • Fixed an issue with Honeypot Captcha not working, due to change in 2.0.34.

2.0.34 2023-08-06

Added

  • Added “Incident” object to Microsoft Dynamics 365 CRM integration.
  • Added a flag to getRequestParam to distinguish empty string from null.
  • Added Date::availableDaysOfWeek for GraphQL.
  • Added data-fui-alert attribute to alerts.

Changed

  • Switch Formie JS to use [data-fui-alert] instead of [role="alert"] to target alerts

Fixed

  • Fixed Dropdown field templates when using numbers as values for options.
  • Fixed submit/error messages not falling back on Twig-defined values with form.setSettings.
  • Fixed a GraphQL error for the default value for Date fields.
  • Fixed disabled element fields not having their default values set correctly.
  • Fixed an migration error for Freeform and Number fields.
  • Fixed Variants fields not persisting their “Source” setting.
  • Fixed an issue with the Calculations field with special characters.
  • Fixed Element Integrations not updating their “Update Entries” values refresh when changing the element group.
  • Fixed some characters (quotes) being encoded for field values, causing issues for integration values and email notifications.
  • Fixed Webhook payloads not including URL and some other properties for Element and File Upload fields.
  • Fixed being able to navigate back further than the first page in submission flow.
  • Fixed Date field settings returning incorrect timezone information when querying via GQL.
  • Fixed an issue when duplicating forms, not all settings were being duplicated.
  • Fixed Date::availableDaysOfWeek for GraphQL.
  • Fixed view submission permissions.
  • Fixed an issue with theme config when only set in formie.php config and using resetClass.
  • Fixed an issue with submission editing and submission limit setting.
  • Fixed an issue with Honeypot captchas for GraphQL.

2.0.33 2023-07-11

Added

  • Added support for Multi-Line Text fields retaining their HTML when mapped to text fields in Craft for Element integrations.
  • Added support for Single-Line Text fields retaining their HTML when mapped to text fields in Craft for Element integrations.

Fixed

  • Fixed Element integrations mapping to Multi-Line text fields with single quotes being encoded.
  • Fixed a type error with Solspace Calendar integration.
  • Fixed front-end JS/CSS assets not being minified correctly.
  • Fixed HubSpot integration and Agree fields (and other boolean types) not correctly casting to true/false.
  • Fixed Contact Form stencil’s admin Email Notification from using the users’ email address as the “From” value, to improve email deliverability.
  • Fixed an error with form usage and Super Table fields.
  • Fixed an error for options fields (Dropdown, Checkboxes, Radio Buttons) when options were numbers.
  • Fixed an error when mapping fields with Feed Me submissions and Repeater/Group fields.
  • Fixed some fields not working on the form builder (Vizy, Icon Picker).

2.0.32 2023-06-25

Added

  • Added Money, Number and Date Time field support for ActiveCampaign CRM integration.

Fixed

  • Fixed min/max character limit server-side validation when containing newlines.
  • Fixed Deal Stages options not being populates for Active Campaign integration.
  • Fixed HubSpot integration with static values mapped to a Checkbox field in HubSpot.
  • Fixed classes defined in “Input Attributes” for field settings not working correctly with Theme Config and resetClass.
  • Fixed an issue with reCAPTCHA v2 Checkbox when not using Formie’s JS theme.

2.0.31 2023-06-12

Added

  • Added pointer-events: none; to inner elements added to .fui-btn elements, which can prevent event-binding of submit buttons correctly.

Changed

  • Updated submit buttons instruction text for form builder.
  • Changed data-submit-method and data-submit-action to data-form-submit-method and data-form-submit-action on the <form> attribute.

Fixed

  • Fixed filtering Sent Notifications by failed status not working.
  • Fixed min/max character validation for Multi-Line Text fields.
  • Fixed an issue where Date field datepickers would show a validation error when picking a date and “Validate When Typing” was enabled.
  • Fixed dropdown and input Date fields not working correctly with validation.
  • Fixed Date field dropdowns not showing the defined placeholder.
  • Fixed “Form Usage” number in form element index.
  • Fixed an error with Solspace Calendar integration.
  • Fixed an issue where captchas weren’t working with custom-rendered buttons missing the data-submit-action attribute.

2.0.30 2023-05-27

Added

  • Add form.setRedirectUrl().
  • Add support for Recipients field to be shown in element indexes for submissions.
  • Add includeQueryString parameter to form.getRedirectUrl().
  • Add craft, currentSite, currentUser and siteUrl to available dynamic variables

Changed

  • Update Pipedrive integration with lead custom fields.
  • Update Litemoji to handle some multi-byte strings.
  • Ensure events are still triggered if the integration is creating a Draft. (thanks @taylordaughtry).
  • Element integrations now factor in fetching existing elements of any status.

Fixed

  • Fix an error with Solspace Calender integration.
  • Remove inline-template warning from Solspace Calendar integration.
  • Fix ActiveCampaign Email Marketing integration not using pagination for tags. (thanks @jimirobaer).

2.0.29 2023-05-18

Added

  • Added “Form Name” to submission export.
  • Added “Submission UID” as an option for variable pickers.
  • Added proper loading checks for payment field providers (Stripe, PayWay, PayPal).

Changed

  • Payment integrations can now register htmlTag for Theme Config.

Fixed

  • Fixed an error when previewing Email Notifications containing a Payment field.
  • Fixed Stripe payment field not honouring Theme Config settings for fieldInput.
  • Fixed incorrect API url for Pardot integration.
  • Fixed User element integration not working correctly with Password fields and non-queue running processing.
  • Fixed render function types for null forms.
  • Fixed an issue migrating Checkbox fields from Freeform forms.
  • Fixed Mailchimp integration and setting existing contacts with status = pending when double-opt-in is enabled.
  • Fixed Repeater/Group fields not having their inner field’s JS initialized correctly (for multi-line rich text).
  • Fixed Campaign integration not mapping certain fields (Table, Date, Element) correctly.
  • Fixed Element integrations not mapping Element fields correctly.
  • Fixed Freshdesk integration for existing contact handling.
  • Fixed an error when populating element field values with limits.

2.0.28 2023-05-02

Changed

  • Updated front-end JS to only use ES6 modules for some utilities.

Fixed

  • Fixed Entry element integration not assigning the correct default author.
  • Fixed Formie log files not being attached to support requests.
  • Fixed an error with Recruitee integration and the payload response check.
  • Fixed validation handling for support requests.
  • Fixed an error with migrating newer Freeform submissions with email fields.
  • Fixed incorrect submissions being shown when restricting with user permissions.
  • Fixed an error when migrating Freeform.
  • Fixed an error when processing HTML content in some instances.

2.0.27.1 2023-04-20

Fixed

  • Fixed Group fields (and their inner fields) not working when used as source of conditions.

2.0.27 2023-04-19

Added

  • Added support for Opayo payment integration.
  • Added support for Friendly Captcha captcha integration.
  • Added support for Cloudflare Turnstile captcha integration.
  • Added support for pagination of tags for ActiveCampaign integration. (thanks @martinleveille).

Changed

  • Payment fields now implement a PaymentModel, allowing access to the payment info in email notifications.
  • Improve payment fields to only initialize when in view for the current page.
  • Improve variable-parsing performance by checking if the provided value contains any variables to parse.
  • Improve edit checks for form/submissions which affected element index actions like duplication.

Fixed

  • Fixed Solspace Calendar element integration.
  • Fixed an error when trying to delete newly created statuses.
  • Fixed an error when trying to mark a submission as spam/non-spam from an element action.
  • Fixed “Default Status” menu button not working for forms.
  • Fixed emoji support for HTML field.
  • Fixed Campaign integration not enforcing the opt-in setting.
  • Fixed payment fields in email notifications not outputting HTML.
  • Fixed PayWay field preview in the form builder.
  • Fixed global alert being shown for 3DS redirection for some payment integrations.
  • Fixed a potential issue when importing a form with an incorrect defaultStatusId.
  • Fixed an error recording referrer for form submissions.
  • Fixed Group fields (and their inner fields) not working when used as source of conditions.
  • Fixed conditions not working correctly for custom fieldNamespace.
  • Fixed form settings not being retained when using the Duplicate element action.
  • Fixed custom fields not resolving their form/email notification templates correctly.
  • Fixed Table Date/Time columns not setting the correct timezone for Element integrations.

2.0.26 2023-04-04

Added

  • Added “Purify Content” setting for HTML fields to control HTML Purifier.

Fixed

  • Fixed rich text content being unable to be translated.
  • Fixed an issue where manipulated submit buttons containing inner elements (such as icons) affected submission behaviour.

2.0.25.1 2023-03-27

Fixed

  • Fixed an issue with email notifications “All Fields” values not outputting correctly.

2.0.25 2023-03-25

Added

  • Added validation checks for some form-related routes and missing form IDs.
  • Added failsafe for custom date default. (thanks @friartuck6000).
  • Added Microsoft Dynamics 365 Web API version to be configurable via settings. (thanks @jamesmacwhite).

Changed

  • Improve submission performance from the front-end, excluding unnecessary value parsing when not required (allFields, etc).
  • Improve performance of saving submissions from the front-end. Particularly for large and complex forms.
  • Improve performance of saving submissions for large forms with many conditions, containing Element, Group and Repeater fields.
  • Update Zapier and Slack to use Integration::deliverPayloadRequest() for webhooks.
  • Update references of setError and setNotice to setFailFlash and setSuccessFlash.
  • Update references of Craft::$app->getRequest() to $this->request.
  • Require Dompdf 2.0.3+ to fix vulnerabilities. (thanks @licvido).
  • Webhook integrations now no longer requires a JSON response.

Fixed

  • Fixed an issue deleting assets when a form contained multiple File Upload fields.
  • Fixed an error when querying a Dropdown with optgroup settings for GraphQL.
  • Fixed lack of error handling for Google Sheets when no OAuth token.
  • Fixed rich text editor link fields not persisting the “Open in new tab” setting for links.
  • Fixed sessionKey set on forms not working correctly.
  • Fixed forms set to “Reload” on submission not working correctly.
  • Fixed Repeater/Group fields not having their inner field’s JS initialized correctly.
  • Fixed a log error when using a hidden Recipients field.
  • Fixed a potential issue when importing a form with an incorrect defaultStatusId.
  • Fixed an error recording referrer for form submissions.
  • Fixed minor PayWay performance issues.
  • Fixed non-Date Picker Date fields not having their “Input Attributes” setting applied to the date input element.
  • Fixed an error with Zoho when mapping to some fields classified as JSON Objects.
  • Fixed checking the validity of a token use the WhoAmI endpoint for Microsoft Dynamics 365. (thanks @jamesmacwhite).
  • Fixed for #1324 undefined array key for Microsoft Dynamics 365. (thanks @jamesmacwhite).

2.0.24 2023-02-28

Added

  • Added additional error handling for front-end PayPal transactions.
  • Added pagination support for ActiveCampaign integration fields.

Changed

  • Changed Microsoft Dynamics 365 convertFieldType() function as protected. (thanks @jamesmacwhite).

Fixed

  • Fixed an error when exporting submissions when none exist.
  • Fixed Autopilot integration sending empty values for fields.
  • Fixed PayPal payment not showing a useful error when missing required paypalAuthId for payment request.
  • Fixed payment integrations not showing the last payment in emails and submissions, if multiple attempts have been made.
  • Fixed an error when exporting submissions when none exist.
  • Fixed a compatibility error with both reCaptcha and hCaptcha enabled.
  • Fixed an error when mapping to boolean fields for Monday integration.
  • Fixed Captcha integrations being all enabled on first install of Formie.
  • Fixed submissions not saving correctly when changing the submission spam state from the “All Forms” option in the control panel.
  • Fixed submissions not saving correctly when changing the submission status from the “All Forms” option in the control panel.
  • Fixed Monday integration when mapping to a Country field from an Address field.

2.0.23.1 2023-02-20

Fixed

  • Fixed an error when running submissions via the queue.

2.0.23 2023-02-19

Added

  • Added support for Multi-Line Text fields retaining their HTML when mapped to text fields in Craft for Element integrations.
  • Added IntegrationField::sourceType for element integrations to track the origin Craft field.
  • Added remove JS event to Repeater and Table fields.
  • Added tags support for ActiveCampaign CRM integration for contact objects.
  • Added validation rule for Address field Zip/Postcode length.
  • Added dateCreated support for Feed Me importing submissions.
  • Added ability to change queue job description. (thanks @jamesmacwhite).

Changed

  • Changed element fields to use their titles for values with integrations, when used as an array-value, except for Element integrations.
  • Microsoft Dynamics 365 - Order fields in mapping by required status first followed by name ASC. (thanks @jamesmacwhite).
  • Numerous Microsoft Dynamics 365 improvements and updates (see https://github.com/verbb/formie/pull/1263). (thanks @jamesmacwhite).

Fixed

  • Fixed element integrations not setting the correct timezone on Date fields.
  • Fixed Stripe payments not working correctly when challenged with a 3DS verification.
  • Fixed an error when a form contained multiple payment fields, combined with conditions.
  • Fixed an error when using scheduled forms with either start/end not provided.
  • Fixed Monday integration when mapping to a Country field from an Address field.
  • Fixed mapping sub-values for Date fields in integrations not formatting correctly.
  • Fixed league/html-to-markdown:^5.0 dependency.
  • Fixed an error on some installs where Markdown in the field builder caused a fatal error.
  • Fixed sent notifications throwing an error for CC and BCC values.
  • Fixed an error when creating a form from an outdated stencil.
  • Fixed being unable to query Submissions by their title.
  • Fixed an error with saving Hidden field content.
  • Fixed Feed Me integration not importing some field types.

2.0.22 2023-02-11

Added

  • Added logging to spam/status element actions when failed.
  • Added more debugging to reCaptcha integration to provide a reason for failure.
  • Allow field settings component element select to be more than just defaultValue.

Fixed

  • Fixed some field settings (columnSuffix, contentTable) not being handled properly when duplicating a form.
  • Fixed an error with lead objects for Copper CRM integration.
  • Fixed an error running the prune-content-table-fields console command.
  • Fixed being unable to remove “Match Field” setting for some fields.
  • Fixed Recaptcha v2 (checkbox) not using Theme Config classes for its error message.
  • Fixed an issue with HubSpot mapping to a Form, when using checkboxes and other array-like fields.
  • Fixed Phone field “Allowed Countries” values not persisting.
  • Fixed Number fields not allowing 0 as a default value.
  • Fixed Recaptcha not working with Theme JS disabled.
  • Fixed Group/Repeater server-side errors not showing for Ajax-based forms.
  • Fixed an error with disabled fields and validation checks for isEmpty.
  • Fixed not showing server-side errors inside Group/Repeater fields.
  • Fixed tabs not showing errors for server-side validation for Group/Repeater fields.
  • Fixed server-side errors not being set correctly for sub-fields.
  • Fixed an error with the Table field and LitEmoji.
  • Fixed an error with Sent Notifications, when setting the sender.
  • Fixed “Opt-in Field” setting for integrations not persisting correctly.
  • Fixed a type error for PdfRenderOptionsEvent.
  • Fixed an error with most mailers sending large attachments (over 15mb) to email notifications.

2.0.21 2023-01-30

{warning} If you are using Twig in hidden fields' default value, refer to breaking changes.

Added

  • Added Solspace Calendar Event element integration.
  • Added enableLargeFieldStorage plugin setting to allow creating large forms exceeding 100+ fields.
  • Added support for postal_town for Google Places address provider, as a fallback when populating City values (useful for UK).
  • Added anonymous support to save-submission to edit already existing submissions.
  • Added craft.formie.renderCss and craft.formie.renderJs to aid with SPA rendering
  • Added spam reason notes to failed Honeypot captchas.
  • Added —all and —hard-delete options to formie/sent-notifications/delete console commands

Changed

  • Email content referencing single field values now escapes HTML content for all fields.
  • Increased the height of the textarea element for Multi-Line Text fields in the control panel when editing Submissions.
  • Integration settings for forms now only return settings for ReCAPTCHA and hCaptcha captchas when querying via GraphQL.

Fixed

  • Fixed recommended fields being marked as required for Microsoft Dynamics CRM integration.
  • Fixed an error with dashboard widget for Postgres.
  • Fixed a Twig injection vulnerability for Hidden fields.
  • Fixed an issue where Integration::EVENT_MODIFY_FIELD_MAPPING_VALUE wasn’t being fired in a queue job.
  • Fixed pre-populated date fields not submitting their values correctly with the date picker enabled.
  • Fixed calendar-based Date fields showing duplicate asterisks when a required field.
  • Fixed date parsing for integrations for some formats.
  • Fixed a browser formatting warning for Date fields in some instances.
  • Fixed text limits not working correctly for Rich Text-enabled Multi-Line fields.
  • Fixed an issue where form validation could be skipped in some cases.
  • Fixed Single-Line and Multi-Line Text fields not respecting Content Encryption settings.
  • Fixed an error with reCAPTCHA settings using GraphQL.
  • Fixed setFieldSettings() snapshot data persisting beyond the current submission on the front-end.
  • Fixed an issue with MySQL 8 and field handle column lengths.
  • Fixed an error with Honeypot captchas.
  • Fixed an issue with Stripe payments combined with conditions submitting multiple payments in some cases.
  • Fixed compliance for aria-hidden for inputs.
  • Fixed lack of error feedback when trigging an integration from a submission in the control panel.
  • Fixed lack of error-handling for Salesforce Lead integrations.
  • Fixed fields inside nested fields (Group, Repeater) not resolving to the parent form correctly.
  • Fixed an error with Calculations fields where the formula contains decimals.
  • Fixed an error when setting the “Sender Email” setting for email notifications.
  • Fixed an issue using populateFormValues for Repeater fields.
  • Fixed error message location for Checkboxes and Radio fields.
  • Fixed being unable to delete Sent Submissions from the element index.
  • Fixed Table field Date/Time columns not showing content correctly for saved values (timezone).
  • Fixed an error when pre-populating Radio/Checkboxes/Dropdown fields from query string values.
  • Fixed an error when marking spam from the submissions index when a submission contained a group or repeater field.
  • Fixed an error when submitAction was missing from submission requests.
  • Fixed a migration error when pruning synced fields, where the field handle contains underscores.
  • Fixed Page Reload forms not having the correct redirectUrl applied when dynamically setting with form.setSettings().

Breaking Changes

  • Hidden field "Default Value" now no longer supports full Twig syntax (anything that requires double {{ brackets). Shorthand ({) Twig is still supported.

2.0.20 2022-12-15

{warning} Webhook integrations have their payload altered. They now no longer group submission/form data in a json key, they are instead "flat" values. Your Zapier and custom Webhook endpoints will need to factor in this change.

Added

  • Added data-col-handle attribute to Table field columns.
  • Added support to set Checkboxes and Multi-Dropdown fields with comma-delimited values from a query params.

Changed

  • Moved updateFormHash to Flatpickr onReady to ensure the form hash is updated when Flatpickr is ready.
  • Allow league/oauth2-google ^3.0 to fix a conflict with dukt/analytics.

Fixed

  • Fixed an issue with MySQL 8 and field handle column lengths.
  • Fixed Flatpickr triggering unload warnings for non-English locale sites.
  • Fixed Email fields when marked as unique, not validating correctly when editing a submission.
  • Fixed an error with flags throwing an error for the Phone field with countries enabled.
  • Fixed text limits not working correctly for Rich Text-enabled Multi-Line fields.
  • Fixed an error initializing field JS for inner Repeater fields.
  • Fixed HTML attributes not allowing 0 as values.
  • Fixed a potential error with submitAction not being set.
  • Fixed Payment model getField() throwing an error. (thanks @JeroenOnstuimig).
  • Fixed Calculations fields not working on multi-page forms with Group/Repeater fields.
  • Fixed hCaptcha triggering an unload warning.
  • Fixed webhook integrations testing and live payload not being the same (removed an extra json key).
  • Fixed an issue where password (and other fields) may have some non-unique attributes stripped.

2.0.19 2022-12-06

Added

  • Added fieldRequired Theme Config setting for fields.
  • Added getCurrentPageIndex() to Formie Theme JS.
  • Added getCurrentPage() to Formie Theme JS.
  • Added data-field-display-type to default field container HTML.
  • When submitting a form, a submission variable is now available for Page Reload forms that display a success message.

Changed

  • Now requires Craft 4.3.2+.
  • Integration settings for forms now only return settings for ReCAPTCHA and hCaptcha captchas when querying via GraphQL.
  • Constant Contact lists are now sorted alphabetically.
  • Changed interface type of nested field. (thanks @kunz1412).
  • Changed countries option “Turkey” to “Turkiye”.
  • Sent Notifications are now retained after a Form, Submission or Email Notification has been deleted.
  • Update Microsoft Dynamics CRM integration connection to use a limited query for performance.

Fixed

  • Fixed sync fields creating duplicate content columns.
  • Fixed an error when toggling status, spam and incomplete submissions in the submissions index for the control panel.
  • Fixed an issue where single-page, Ajax forms would be hidden when encountering a server-side error (like a timeout request).
  • Fixed a JS error with empty calculation fields.
  • Fixed an error when some data attributes were being stripped out of rendering.
  • Fixed an error for eager loading nested field rows.
  • Fixed a typo in DotDigital integration.
  • Fixed Phone Number country dropdown not working correctly with Theme Config and resetClasses enabled.
  • Fixed an duplicated attributes when using Theme Config.
  • Fixed an error when creating a new From from a Stencil containing Group/Repeater fields.
  • Fixed an error when validating min-values for Single-Line/Multi-Line Text fields.
  • Fixed custom error messages not working correctly with Theme Config and resetClasses.
  • Fixed disabled captchas being enabled when creating a new form from a stencil.
  • Fixed an error when populating Repeater fields with populateFormValues().
  • Fixed accessibility issues for Flatpickr-based Date/Time fields.
  • Fixed a type error for Gatsby/GraphQL for Number fields with min/max settings being a float.
  • Fixed an issue when calling form.setFieldSettings() multiple times, and settings not applying.
  • Fixed an issue with Microsoft Dynamics when mapping to campaigns.

2.0.18 2022-11-19

Added

  • Added pagination to Monday integration to fetch boards over 100.
  • Added IntegrationField::TYPE_DATECLASS to handle mapping to Date fields and date attributes for Entry element integrations.
  • Added aria-hidden="true" to required field asterisk indicator for screen readers.

Changed

  • Improve performance of Microsoft Dynamics CRM integration when fetching entity definitions.

Fixed

  • Fixed "Overwrite Values" for element integrations for User photos.
  • Fixed return type for Google Sheets integration for getProxyRedirect().
  • Fixed an issue where setFieldSettings() snapshot data was being removed upon a successful Ajax-based submission.
  • Fixed an error with custom filename formats for File Upload fields in Group fields.
  • Fixed setFieldSettings not applying correctly before submission validation.
  • Fixed a recursive loop error when trying to determine whether hidden fields were conditionally hidden or not.
  • Fixed being unable to edit Submissions, Forms and Sent Notifications due to Craft 4.3.x changes.
  • Fixed nested fields and conditionally-hidden field validation, and implement FieldLayout::getVisibleCustomFieldElements().
  • Fixed Table field with Dropdown column saving incorrect values.
  • Fixed Agree field’s not converting correctly to boolean values for integrations.
  • Fixed return type for Google Sheets integration for getProxyRedirect().
  • Fixed some field translations still in the site category instead of formie.

2.0.17 2022-11-13

Added

  • Added “Overwrite Content” setting for Element integrations to control whether null values should be applied to element content.

Fixed

  • Fixed the “Proxy Redirect URI” for Google Sheets not saving correctly when using .env variables.
  • Fixed an error when using page variables in Theme Config settings.
  • Fixed an error when rendering a form with both renderJs and renderCss set to false.
  • Fixed PHP errors that could occur when executing GraphQL queries.
  • Fixed phone field input having the incorrect id attribute.
  • Fixed missing descriptionHtml attribute for Agree fields for GraphQL queries.
  • Fixed an error when rendering an Address field containing instruction text.
  • Fixed an error when saving a draft submission from the front-end.

2.0.16 2022-11-08

Fixed

  • Fix an error introduced in 2.0.15.

2.0.15 2022-11-06

Added

  • Add Dotdigital CRM integration.
  • Add more clarity to Freeform/Sprout Forms migrations when a submission failed to migrate.

Fixed

  • Fix the “View Submissions” link when editing a form not being correct for Craft 4.3+.
  • Fix an error when viewing form usage for soft deleted entries that contained a Formie form relation.
  • Fix visibly disabled fields not having their default value used when populating a submission content.

2.0.14 2022-10-29

Added

  • Added includeDraftElementUsage and includeRevisionElementUsage.
  • Added a “View Submissions” button to the form builder.

Changed

  • Form usage now excludes draft and revision elements.

Fixed

  • Fixed an error when saving new integrations.
  • Fixed email notification content using Formie 1 nodes in some cases (hard break, list items, etc).
  • Fixed setFieldSettings not applying correctly before submission validation.
  • Fixed an edge-case error where deleting submissions through custom code and in a queue job would trigger a session error.
  • Fixed Salesforce and Zoho integrations resetting their apiDomain after project config changes.
  • Fixed an error when setting the submission status from the submission element index action.
  • Fixed Mailjet integration not working correctly.

2.0.13 2022-10-23

Added

  • Added emoji support to the HTML field.
  • Added better descriptions to integration and email notification queue jobs.

Changed

  • Email notification previews now limit element field values depending on their display type for accurate results.
  • Update exported submission filename to formie-submissions-{date} format.
  • When previewing element fields in email notifications, random elements are now shown.
  • Updated some bouncer.js classes to remove the reliance on fui-* classes.
  • Editing a submission from the front-end now does not require user permissions on editing/managing submissions.
  • Fields with the handle username are now allowed.

Fixed

  • Fixed an issue deleting assets when a form contained multiple File Upload fields.
  • Fixed an issue when logging errors for Element integrations.
  • Fixed Address field not using fieldset and legend elements for accessibility.
  • Fixed an error with Entries, Products and Users fields when selecting multiple sources.
  • Fixed an error with Date fields and their default date in some timezones.
  • Fixed an error when saving email/form templates when selecting multi-site specific templates.
  • Fixed an error for Ajax forms using Craft native forms.
  • Fixed lack of fieldError theme config support for client-side validation.
  • Fixed some variables not working for the “Submission Message” setting.
  • Fixed email notification previews not working for stencils.
  • Fixed word limits of text fields not showing words left correctly.
  • Fixed duplicate “Limit” settings for entries field.
  • Fixed an error when re-sending a sent notification.
  • Fixed CSS Classes field settings being removed when applying resetClasses via Theme Config.
  • Fixed “Attach Assets” setting for email notifications not working correctly.
  • Fixed edge-cases for Google places autocomplete fields not working in some instances due to loading times.
  • Fixed CSS Classes field settings being removed when applying resetClasses via Theme Config.
  • Fixed an error when submitting forms with File Upload fields in a Repeater or Group field.
  • Fixed captchas incorrectly rendering multiple times for multi-page forms.
  • Fixed edge-cases for Google places autocomplete fields not working in some instances due to loading times.
  • Fixed theme config being stored in project config.
  • Fixed an error when trying to select existing notifications for a stencil.
  • Fixed showing existing fields when editing stencils.

2.0.12 2022-09-25

Added

  • Added support for Emoji’s in Trello boards and lists.
  • Added “Form Handler” endpoint settings to Pardot CRM integration.
  • Added “sender” email header setting for email notifications to control email deliverability.

Changed

  • Changed integration Redirect URI’s to no longer rely on usePathInfo, instead use a site route.
  • Changed Trello integration to not include closed boards.
  • Consolidate payload-creation for Webhook/Miscellaneous integrations.

Fixed

  • Fixed an error when editing a submission from the front-end
  • Fixed when exporting submissions from “All” custom field values were missing.
  • Fixed submitting an incomplete submission from the front not being marked as incomplete.
  • Allow non-inline Markdown to be included in field instructions.
  • Fixed when editing a submission from the front-end, submission actions weren’t being applied (enableBackSubmission, submitAction).
  • Fixed toggling pages for Ajax-based forms without standard fui-* classes.
  • Fixed progress bar not working correctly when switch tabs on Ajax-based forms.
  • Fixed a visual issue for progress bars when Ajax-based forms failed validation.

2.0.11 2022-09-18

Added

  • Added email notification preview support for Repeater fields.
  • Added isIncomplete argument to GraphQL mutations for submissions, allowing partial payloads to be saved via GraphQL.
  • Added support for all integrations to define front-end JS via getFrontEndJsVariables().
  • Added form.setIntegrationSettings function to set integration settings in Twig.
  • Added “Filename Format” setting to File Upload fields to allow for renaming of files on upload to a given format.
  • Added handle to duplicate fields when exporting submissions, to prevent ambiguity for same-named fields.
  • Added min/max field value support for Single-Line and Multi-Line Text fields.
  • Added “Save Spam Submissions” setting to captchas to control whether to save spam submissions as the captcha level.
  • Added spamClass to submissions to record the captcha that marked the submission as spam.
  • Added support for <details> and <summary> tags in HTML field.
  • Added warning message for “Redirect URI” setting for OAuth integrations about usePathInfo = false.
  • Added before/after events when sending payloads for Webhook & Zapier integration.
  • Added Azure admin note to Microsoft Dynamics 365 integration.
  • Added formie/forms/delete console command.
  • Added support for Zoho CRM integration to map to a Quote object.
  • Added support for Salesforce CRM integration to map to a Case object.
  • Added support for Phone fields have their country ISO and country full name be able to be picked when mapping to integrations.

Changed

  • Changed conditions builder’s field column to show 60 characters of field labels.

Fixed

  • Fixed field, page and button conditionals evaluating for blank conditions.
  • Fixed an error with Redirect URI’s for integrations that have usePathInfo = false.
  • Fixed an error being thrown when Trello didn’t have a OAuth token.
  • Fixed an error when querying some fields on a Group field with GraphQL.
  • Fixed space characters being added to variable picker field values.
  • Fixed a type error for integration’s getOauthProvider() function, not supporting OAuth1 providers.
  • Fixed an error when querying some fields on a Group field with GraphQL.
  • Fixed Calculations field evaluating empty formulas.
  • Fixed (again) Microsoft Dynamics not using SchemaName for custom field handles.
  • Fixed Redirect URI for some providers containing the site query param.
  • Fixed Repeater field and inner-field JS registration.

2.0.10 2022-09-11

Added

  • Added support for emoji’s in option fields’ labels.
  • Added Forms element select field support for Feed Me.
  • Added a “disabled” option to Dropdown, Checkboxes and Radio Button field options, to hide options from the front-end, but still retain their values in past submissions.
  • Added “Usage” tab to the form builder, to see which elements reference a form.
  • Added support for Captchas to use .env variables for their enabled state.
  • Added formatting options for Calculations field to better handle numbers.
  • Added support for paginated requests for Slack integration.
  • Added “Available Days” setting to Date fields to control which days of the week are enabled.
  • Added “Year Range” setting for Date fields to control the min/max years when shown as Dropdowns.
  • Added limits to Date fields for offset by today.

Changed

  • Updated to use App::parseBooleanEnv where applicable.
  • Refactored SharpSpring form object serialization.

Fixed

  • Fixed PayWay unsuccessful payments not being marked as failed.
  • Fixed PayWay merchant ID not working with .env variables.
  • Fixed an error where boolean integration settings couldn’t be set to an .env variable.
  • Fixed “Use Sandbox” setting for PayPal not saving correctly.
  • Fixed an error when rendering Element fields with multiple options enabled.
  • Fixed container attributes for field settings not rendering.
  • Fixed Date fields not having their custom error message text shown.
  • Fixed limit settings not saving correctly for Number fields.
  • Fixed dropdown option labels not correctly set to formie as the translation category.
  • Fixed min/max date settings not taking into account time for Date fields.
  • Fixed browser warnings for some Date fields for invalid formatted values.
  • Fixed submissions not showing the correct status details.
  • Fixed JS classes not taking into account Theme Config.
  • Fixed getCurrentPageIndex() returning null, when it should return 0 to represent the first page’s index.
  • Fixed duplicated lists for Active Campaign integration.
  • Fixed Signature fields outputting their raw base64-encoded value when output in email notifications.
  • Fixed Signature fields not generating images correctly for some email clients (web-based Gmail) in email notifications.

2.0.9 2022-09-04

Added

  • Added Westpac PayWay Payment integration.
  • Added prune-content-table-fields console command.
  • Added “Empty Value Placeholder” plugin setting to manage the “No response” text for email notifications.
  • Added support for setting the siteId for entries selected as redirects.
  • Added Form settings to "Require Logged-in User”, “Schedule Form”, “Limit Submissions”.

Changed

  • Payment fields can now use Calculations, Dropdown, Radio and Single-Line Text fields for dynamic amounts.

Fixed

  • Fixed Microsoft Dynamics not using SchemaName for custom field handles.
  • Fixed serialization of element fields when being sent via Webhooks.
  • Fixed an error with HubSpot CRM integration.
  • Fixed File Upload fields including some allowed extensions that they shouldn’t.
  • Fixed an issue where setting “Alert Emails” created multiple rows.
  • Fixed an error with PayPal payments and dynamic amounts.
  • Fixed submission titles not being correct when creating submissions in the control panel.
  • Fixed an error when deleting a submission.
  • Fixed an error with the Campaign email marketing integration.
  • Fixed an error running resave console commands.
  • Fixed an error when processing PayPal payments.

Removed

  • Removed unused form settings for availability (never implemented).

2.0.8 2022-08-27

Changed

  • Renamed ModifySubmissionExportDataEvent::data to ModifySubmissionExportDataEvent:exportData to fix an error when exporting submissions.
  • Changed {num} characters/words left translation string to {startTag}{num}{endTag} characters left.

Fixed

  • Fixed Group fields’ inner fields and conditionals referencing other Group inner field’s.
  • Fixed Theme Config not working correctly to remove components when setting to false or null.
  • Fixed Multi-Line Text field rich text formatting buttons not always in the correct order.
  • Fixed check for malicious file upload checks, causing submissions with File Upload fields not to save.
  • Fixed File Upload inputTypeName not returning correctly for GraphQL queries.

2.0.7 2022-08-22

Fixed

  • Fixed element fields not showing disabled sources in field settings.
  • Fixed Name and Address sub-fields not pre-populating values from the URL.
  • Fixed incorrect order of formie.field.* ending template hooks.
  • Fixed an error with element fields in Repeater fields not working correctly.
  • Fixed element fields having their placeholder value duplicated when displaying as a dropdown.
  • Fixed an error with Payment fields not retaining the Billing Details when saving.
  • Fixed an error with Address fields not removing outdated enableAutocomplete setting.

2.0.6 2022-08-16

Added

  • Added beforeEvaluate and afterEvaluate for Calculations field’s JS.
  • Added form property to SubmissionEvent.
  • Added support for Variable Tag nodes when rendering HTML to ProseMirror schema.

Changed

  • When redirecting to a new tab, form values will now be reset.
  • Allow SubmissionController::EVENT_AFTER_SUBMISSION_REQUEST to alter the submission.

Fixed

  • Fixed an error for Stripe payment integrations that would throw an error when catching Stripe API errors.
  • Fixed typings for Payment integration getAmount() and getCurrency() functions to properly catch errors.
  • Fixed an error when not supplying a submitAction for a submission.
  • Fixed email notifications not getting the default recipients type set correctly.
  • Fixed error handling on submission exports.
  • Fixed Slack public channels not always showing all channels by increasing limit to 100.
  • Fixed an error with the Slack integration, when posting via Webhooks.
  • Fixed custom error messages not showing for client-side validation.

2.0.5 2022-08-07

Added

Fixed

  • Fixed placeholder for Dropdown fields not working correctly.
  • Fixed conditionally-hidden payment fields processing payment.
  • Fixed being unable to modify element queries for element fields.
  • Fixed an error with Payment fields.
  • Fixed an error with Payment fields not submitting values correctly.
  • Fixed an error with empty Date fields for integrations.
  • Fixed formie/submissions/run-integration command not prepping the integration settings correctly.
  • Fixed notification recipient conditions not populating correctly.
  • Fixed an error when duplicating a formConfig.

2.0.4 2022-07-25

Changed

  • Update Campaign plugin integration to use new FormsService::createAndSubscribeContact. (thanks @bencroker).

Fixed

  • Fix an error when deleting a submission.
  • Fix some UI elements not working correctly for integration form settings.
  • Fix element and Recipients fields’ not passing through a modified namespace.
  • Fix Entry integration “Default Entry Author” element select field not working.

2.0.3 2022-07-20

Added

  • Added “Update Search Index” setting for Element integrations, to control whether search indexes should be updated. Default to true.
  • Added “Duplicate” form action in the control panel.
  • Added Submissions::EVENT_AFTER_PRUNE_SUBMISSION event.
  • Added ability to set the async and defer parameters on <script> elements for reCAPTCHA and hCaptcha captchas.
  • Added hidden reCAPTCHA note to settings.
  • Added support for exporting/importing custom field content on forms.
  • Added formie/submissions/run-integration and formie/submissions/send-notification console commands.
  • Added Date::EVENT_REGISTER_DATE_FORMAT_OPTIONS and Date::EVENT_REGISTER_TIME_FORMAT_OPTIONS events to modify the available formatting options for Date fields.
  • Added SubmissionExport::EVENT_MODIFY_EXPORT_DATA event to modify data used for submission export.

Fixed

  • Fixed an infinite loop error when Agree fields containing a link with a reference to an element was used in a form.

2.0.2 2022-07-18

Added

  • Added descriptionHtml attribute to Agree fields.
  • Added queuePriority plugin setting.
  • Added better visual feedback for queue jobs.
  • Added Submission Date to variable picker for email notifications.

Changed

  • Exporting submissions now use each fields’ Name instead of Handle.
  • Updated ModifyFormRenderOptionsEvent typings.

Fixed

  • Fixed some submission attributes not appearing when previewing an email notification.
  • Fixed when themeConfig is set only at the plugin config level.
  • Fixed dropdown save button not working in the form builder.
  • Fixed an error when Repeater/Group fields had a corrupted field layout, causing a fatal error.
  • Fixed Repeater/Group fields not working correctly when used as variables for email notifications.
  • Fixed status dropdown when editing submissions.
  • Fixed submissions chart in the control panel.
  • Fixed a front-end error when including instructions with Checkboxes fields.
  • Fixed an error when creating a form from an outdated stencil.
  • Fixed an error when creating new Table fields.
  • Fixed an error when bulk-adding content to Checkboxes/Dropdown/Radio fields.
  • Fixed auto-focusing on the field name setting when editing a field in the form builder.
  • Fixed Group/Repeater nested fields not exporting correctly.

2.0.1 2022-07-12

Added

  • Added support for dompdf/dompdf v2.

Changed

  • Replace deprecated Craft.postActionRequest() for JS.

Fixed

  • Fixed an issue where email notification conditions weren’t being saved correctly.
  • Fixed newly created date fields not having their displayType setting set correctly.
  • Fixed element fields not having all their correct field settings applied when rendering.
  • Fixed Phone field country flags not appearing the in control panel when editing a submission.
  • Fixed an error with input/dropdown formatted Date fields when editing a submission.
  • Fixed input/dropdown formatted Date fields not saving their values.
  • Fixed an error with input/dropdown formatted Date fields.
  • Fixed an error when exporting submissions where a Craft field had the same handle as a Formie field.

2.0.0 2022-07-11

{warning} If you are using custom templates, template overrides, or anything to do with front-end template manipulation, please note we have completely revamped our front-end templates. Refer to the Upgrading from v1 guide.

Added

  • Added Stripe payment integration (single and subscriptions).
  • Added PayPal payment integration (single).
  • Added the ability to include a "Save" button for front-end templates. Buttons can be styled as a button or a link.
  • Added ability to query submissions across multiple forms via GraphQL.
  • Added chunkLoadingGlobal to front-end JS to avoid conflicts with user-provided JS in Webpack.
  • Added Field::EVENT_MODIFY_HTML_TAG event.
  • Added Form::EVENT_MODIFY_HTML_TAG event.
  • Added aria-describedby attribute to <fieldset> tags referencing instructions when they are used for fields.
  • Added _includes/alert-error and _includes/alert-success template partials to make it easier to override alert HTML.
  • Added _includes/field-errors and _includes/form-errors template partials to make it easier to override form and field errors HTML.
  • Added _includes/form-title template partials to make it easier to override form title HTML.
  • Added {{ formtag(key) }} Twig function to render a form theme component. Supports the same functionality as tag (opens new window).
  • Added {{ fieldtag(key) }} Twig function to render a field theme component. Supports the same functionality as tag (opens new window).
  • Added {% fieldtag %} Twig tag to render a field theme component. Supports the same functionality as tag (opens new window).
  • Added {% formtag %} Twig tag to render a form theme component. Supports the same functionality as tag (opens new window).
  • Added support for Group and Repeater-nested fields when using setFieldSettings() in templates.
  • Added submitAction to the SubmissionEvent to allow you to act on different submission actions like back, save and submit.
  • Added archiveTableIfExists() to install migration.
  • Added checks for registering events for performance.
  • Added FormInterface::submissionEndpoint for GraphQL queries.
  • Added non-namespaced field handle to Calculations formula variables.
  • Added FieldOption for checkboxes/radio/dropdown fields.
  • Added correct type for MultiLineText::richTextButtons for GraphQL.
  • Added FormSettings::submitActionMessagePosition for GraphQL.
  • Added FormSettings::errorMessagePosition for GraphQL.
  • Added FormInterface::submissionMutationName for GraphQL.
  • Added Feed Me v5 support.

Changed

  • Re-architected front-end templates to be more maintainable, easier to override, easier to manipulate and better organised. Makes it possible to use Tailwind and Bootstrap classes without writing templates from scratch and maintaining them as overrides. Read up on the changes.
  • Changed Field::getFrontEndInputOptions() $options = null parameter to $renderOptions = [].
  • Changed Field::getFrontEndInputHtml() $options = null parameter to $renderOptions = [].
  • Changed Field::getEmailOptions() $options = null parameter to $renderOptions = [].
  • Changed Field::getEmailHtml() $options = null parameter to $renderOptions = [].
  • Changed AddressProvider::getFrontEndHtml() $options = null parameter to $renderOptions = [].
  • Changed Form::getFormId() to respect the form handle casing. For example, previously output fui-contact-us now, fui-contactUs.
  • Changed ModifyFormRenderOptionsEvent::options to ModifyFormRenderOptionsEvent::renderOptions.
  • Changed ModifyFrontEndSubfieldsEvent::rows to now receive an array of HtmlTag objects instead of plain arrays.
  • Changed options variable to renderOptions in Email templates.
  • Changed options variable to renderOptions in Form templates.
  • Changed Formie JS initializer to no longer rely on id^="formie-form-". Now a [data-fui-form] attribute must exist.
  • Sub-field (Address, Date, Name) and nested-field (Repeater, Group) now output proper field templating for their sub fields, consistent with their outer-field counterparts. For example, the "First Name" sub-field for a Name field now renders a Single-Line Text field instance.
  • Date fields now show correct time formatting visual aid. For example, previously output 23:59:59 (H:M:S), now 23:59:59 (HH:MM:SS) to better show digit count.
  • Repeater fields' front-end templates no longer requires .fui-repeater-rows and .fui-repeater-row classes.
  • Repeater fields' front-end templates now requires data-repeater-rows and data-repeater-row attributes.
  • Signature fields' front-end templates no longer requires .fui-signature-clear-btn class for the clear button.
  • Signature fields' front-end templates now requires data-signature-clear attribute for the clear button.
  • Summary fields' front-end templates no longer requires .fui-type-summary and .fui-summary-blocks classes.
  • Summary fields' front-end templates now requires data-summary-blocks attribute.
  • Table fields' front-end templates no longer requires .fui-table-row class.
  • Table fields' front-end templates now requires data-table-row attribute.
  • hCaptcha front-end templates no longer requires .formie-hcaptcha-placeholder class.
  • reCAPTCHA front-end templates no longer requires .formie-recaptcha-placeholder class.
  • JS Captcha front-end templates no longer requires .formie-jscaptcha-placeholder class.
  • hCaptcha front-end templates now requires data-hcaptcha-placeholder attribute.
  • reCAPTCHA front-end templates now requires data-recaptcha-placeholder attribute.
  • JS Captcha front-end templates now requires data-jscaptcha-placeholder attribute.
  • Field instructions no longer produce a <p> paragraph element.
  • All front-end static translations now use only the formie category. If you're using static translation to translate any text for front-end forms, ensure you move any of these translations in your site.php or app.php files into formie.php.
  • Front-end templates now include a submitAction hidden input to determine what action to do when submitting the form (back, submit or save).
  • Front-end templates now add a data-submit-action attribute to all buttons for back, submit and save.
  • Removed ajax-loading when switching form templates in the form builder. This should prevent strange UI glitches and simplify some things.
  • Migrate to Vite and Vue 3 for performance for the form builder.
  • Rename base plugin methods.
  • Memoize all services for performance.
  • Updated league/oauth2-google:^3.0 to league/oauth2-google:^4.0 to support PHP 8+.
  • Updated league/oauth2-client:^2.4 to league/oauth2-client:^2.6 to support PHP 8+.
  • Updated league/oauth1-client:^1.7 to league/oauth1-client:^1.9 to support PHP 8+.
  • Updated commerceguys/addressing:^1.0 to commerceguys/addressing:^1.2 inline with Craft 4.
  • Querying fields via GraphQL will now only return fields that do not have Visibility = “disabled”. Change this behaviour by using includeDisabled: true.
  • Provide better native typing for GraphQL field properties, thanks to PHP 8.
  • Now requires Formie 1.5.15 in order to update from Craft 3.
  • FormInterface::fields is now FormInterface::formFields for GraphQL queries.
  • PageInterface::fields is now PageInterface::pageFields for GraphQL queries.
  • RowInterface::fields is now RowInterface::rowFields for GraphQL queries.
  • Now requires PHP ^8.0.2.
  • Now requires Craft ^4.0.0-beta.1.

Fixed

  • Fix hard-error being thrown when positions chosen for labels/instructions no longer exist.
  • Fix markdown output of field instructions.
  • Fix an error when exporting submissions.
  • Fix an error when exporting element fields.
  • Fix performance issues for large forms, when loading the form builder.

Removed

  • Removed AddressProvider::EVENT_MODIFY_ADDRESS_PROVIDER_HTML event.
  • Removed Field::renderLabel().
  • Removed Field::getIsTextInput().
  • Removed Field::getIsSelect().
  • Removed Field::getIsFieldset().
  • Removed _includes/legend template partial.
  • Removed _includes/errors template partial.
  • Removed “Top of Fieldset” and “Bottom of Fieldset” positions to prevent confusion. These are replaced by Above Input” and Below Input” respectively.
  • Removed all class-binding references in JS files.
  • Removed goingBack and form.goBack from front-end templates. Now uses submitAction to control when going back.
  • Removed Field::limit, Field::limitType, Field::limitAmount on all fields except element fields and single/multi-text fields.
  • Removed Field::columnWidth.
  • Removed formie/csrf/* actions.
  • Removed optgroups from GraphQL queries for dropdown fields.
  • Removed multiple from Dropdown GraphQL queries.
  • Removed FormSettngsInterface::submitActionUrl for GraphQL. Use FormSettngsInterface::redirectUrl.
  • Removed Craft 3 version checks, no longer needed.
  • Removed enableGatsbyCompatibility plugin setting, as it's no longer needed.
  • Removed forms, form and formCount from GraphQL queries. Please use formieForms, formieForm and formieFormCount.
  • Removed submissions, submission and submissionCount from GraphQL queries. Please use formieSubmissions, formieSubmission and formieSubmissionCount.