Released Jan 24, 2021
Added support to Mailchimp integration for tags.
Fixed an error with Webhook integrations.
Released Jan 23, 2021
Added support for selecting existing notifications from stencils, when adding a notification to a form.
Added support for Webhook integration URLs to contain submission variables through shorthand Twig.
Added support for Freeform and Sprout Form migrations to be run when
allowAdminChanges = false.
Fixed existing notifications not appearing when editing a stencil.
Fixed some potential errors with Sprout Forms migration and address/name fields.
Fixed Freeform migration not migrating fields correctly.
Fixed Sprout Forms migration not migrating fields correctly.
Fixed Sprout Forms migration for Agree field, where the message description would be blank.
Fixed Sprout Forms migration for File Upload field, where the selected volume wasn’t migrated.
Fixed Sprout Forms migration for Categories, Entries, Tags and User fields, not setting the
selectionLabel to the
Fixed some potential errors with Sprout Forms migration and phone fields.
Fixed “Save as Stencil” not saving data correctly, by not stripping out page, row and field IDs.
Released Jan 21, 2021
Added a ‘pageIndex’ param to the submit action. (thanks @joshuabaker).
Added pagination-helper for ActiveCampaign integrations. The integration will now automatically fetch greater-than 100 resources such as lists.
Changed ActiveCampaign integrations to fetch at least 100 of each resource.
Fixed deprecation notice for Repeater field. (thanks @danieladarve).
Fixed ajax forms not redirecting correctly, when overriding
redirectUrl in templates.
Fixed HTML field not parsing Twig content in some instances.
Fixed Entry mapping throwing an error when setting the author to an Entry field.
Fixed ActiveCampaign integration not showing connection status correctly.
Fixed sub-fields (Name, Address, Phone) not having their values concatenated for integrations, when not selecting a sub-field.
Released Jan 16, 2021
File Upload fields now show a summary of uploaded files for multi-page forms. When navigating back to a page with the field, you'll see this summary.
Ajax-enabled multi-page forms now smooth-scrolls to the top of the loaded page when going to the previous or next pages.
Front-end validation now adds a
fui-error class on the
fui-field element, when a validation error occurs, instead of just on the input.
Fixed an error when using checkboxes in email notification conditions.
Fixed a potential error when viewing a submission in the control panel.
Fixed Address field auto-complete value not persisting on front-end submissions.
Fixed being unable to set the
siteId of submissions through GraphQL.
Fixed submissions not being able to be mutated through GraphQL for non-public schemas.
Fixed Group and Repeater fields not saving content correctly for non-primary sites.
Fixed flicker in Safari for the form builder, when hovering over draggable elements.
Fixed Phone field exporting not formatting international phone numbers correctly.
Fixed Phone field not always remembering the country dial code selected.
Fixed Phone field triggering content change warnings for country-enabled fields. This was due to numbers being formatted on-load..
Released Jan 12, 2021
Added support for Gatsby Source Plugin and Form elements.
Added support for Gatsby Source Plugin and Submission elements.
Added support to set the
formId for a form. This is used as the unique identifier for the
id attribute and connection JS to the form.
User element integrations now clear any field content mapped to the password field, once the user element is created.
Fixed name and address fields not showing content in columns, when editing a submission in the control panel.
Fixed some fields (checkboxes) throwing errors in email notifications.
Fixed non-multiple name field causing an error in email notifications.
Fixed non-utf8 characters in email notification email values causing errors.
Fixed email notification logging message to properly include the template it tried to resolve.
Released Jan 10, 2021
Added “Country Code” to Phone model, allowing the raw country code (eg “+1”) to be used in email notifications and submissions for a Phone field
form.setFieldSettings() function to provide render-time overrides to form fields and their settings.
Change email notification variable output to only contain the value for the field, instead of including the field label/name.
Fixed default stencil’s “To” and “Reply To” variable fields not being correct.
Fixed email notification preview not working for stencils
Fixed form templates with custom template path not saving correctly
Fixed an error with the HTML field
Fixed server-side validation errors with Phone field
Fixed phone numbers not being created as international numbers, when previewing an email notification
Released Dec 23, 2020
Fixed Agile CRM mapping email, website and phone to contacts.
Fixed deleting a submission via GraphQL not returning the correct success/fail state.
Fixed deleting a submission via GraphQL not working for non-default sites.
Released Dec 22, 2020
Fixed element integrations not having their error messages translated correctly (and not containing the required logging detail).
Released Dec 22, 2020
Added ability to provide htmlpurifier config JSON files for HTML fields.
Added Agile CRM integration.
Added Copper CRM integration.
Added Capsule CRM integration.
Added all global sets into variable-enabled fields.
Improve performance for very large forms and fields.
Fixed an error when viewing a trashed submission, with custom fields selected in columns.
Fixed no captchas appearing in plugin settings.
Fixed potential error thrown, when trying to catch other errors during older updates.
Fixed Oauth-based integrations not allowing connection when
'allowAdminChanges' => false.
Fixed an error with the recipients field.
Fixed form permissions not always being run for new forms.
Fixed “Save as a new form” not working in some cases.
Fixed multi-page form submissions incorrectly validating fields when going back to a previous page.
Fixed some fields not displaying correctly in notification emails.
Fixed sent notifications not always showing the HTML body content.
Fixed form and email templates not resolving to single template files correctly.
Fixed an error when trying to delete a submission using GraphQL.
Released Dec 16, 2020
formie.cp.submissions.edit template hook.
formie.cp.submissions.edit.content template hook.
formie.cp.submissions.edit.details |template hook.
formie.cp.sentNotifications.edit template hook.
formie.cp.sentNotifications.edit.content template hook.
formie.cp.sentNotifications.edit.details template hook.
Update Autopilot integration to include more default fields and fix list-subscribing.
Added ability to add soft line-breaks to email notifications and other rich-text enable fields.
Pages now have a unique ID, inherited from the form’s
Fixed rendering the same form multiple times on a page not working correctly.
Fixed “Unknown Integration” error message when trying to connect an integration with
allowAdminChanges = false.
Fixed captcha settings resetting when saving plugin settings.
siteRootUrl to trim the trailing slash if present. This is an issue on some systems (Servd) where URLs with a trailing slash are redirected.
Fixed field/notification edit modals not getting properly reset when hidden.
Fixed HTML field errors when the vendor folder didn’t have write permissions (such as Servd).
Released Dec 06, 2020
defaultState for GraphQL queries for Agree fields. This replaces
defaultDate for GraphQL queries for Date fields. This replaces
Added “Current URL” to hidden field default value options.
data-field-config attribute to all fields that require JS.
getConfigJson() for all fields to define settings for JS modules.
Formie now requires Craft 3.5+.
Form queries via GraphQL are now no longer automatically included in the public schema.
Submission queries via GraphQL are now no longer automatically included in the public schema.
Submission mutations via GraphQL are now no longer automatically included in the public schema.
When (soft) deleting a form, any submissions will also be (soft) deleted. These are also restored if the form is restored.
Refactor JS behaviour for fields that require it. We now use a
data-field-config attribute on the field to store JS module settings. This is then initialized once the JS has been lazy-loaded. This allows us to split configuration from initialization and may also help with custom JS.
Improve handling of multi-page non-ajax forms, where some fields required JS. Formie now detects what JS needs to be used for the current page for a page-reload form, or the entire form for an ajax form.
Improve field JS to stop relying on IDs or classes to hook into field functionality. It now determines this through
data-field-config attribute on the field wrapper element. This should allow for greater template flexibility.
Submissions now make use of the same JS/CSS code that the front-end does.
Fixed errors when garbage collection is called for sent notifications.
Fixed when deleting a form, the submissions for that form weren't also deleted.
Fixed an error when trying to view a submission on a deleted form.
Fixed some GraphQL attributes not being cast to the correct type.
Fixed some GraphQL errors for some fields.
Fixed an error when trying to permanently delete a form.
Fixed an error with date field using a default value.
Fixed console error for multi-page non-ajax forms containing a phone field.
Fixed repeater and group fields not initializing their inner fields’ JS.
Fixed JS module code for fields being loaded multiple times when initially loading the page.
Fixed an error for address providers when used in a Repeater field.
Fixed address providers not checking if their provider JS is loaded correctly, in some instances.
Fixed multi-line rich text fields loading Font Awesome multiple times.
Fixed checkbox/radio fields not validation correctly inside a Repeater field.
Fixed warnings/errors for JS fields, where their inputs might not exist on a page.
Fixed Algolia Places not working correctly.
Fixed issue where multiple ajax-based forms on a single page would have validation triggered across all forms.
Fixed incorrect error being shown when custom server-side errors for fields are defined.
Fixed an error when an email notification's sender email wasn't properly filtered.
Fixed incorrect output in email notifications when using date fields.
Released Nov 28, 2020
Added support for using the submission ID, Title and Status in notification conditions.
Fixed notification conditions not saving correctly when a field with options (dropdown, etc) was selected.
Fixed “Submission Message” and “Error Message Position” form message parsing HTML incorrectly in some cases.
Fixed agree field description parsing HTML incorrectly in some cases.
Fix an error when editing stencils.
Fix minor error handling for GQL mutations.
Released Nov 26, 2020
Allow field type classes to provide their own GQL attribute mappings for attributes.
Fixed Ajax submissions not resolving to the correct current site when using sub-directories for sites, causing translation issues.
Fixed agree field description not translating correctly.
Fixed error when querying
allowedKinds as an attribute on a file upload field with GQL.
Fixed lack of server-side email validation for email fields.
Released Nov 25, 2020
Added Sent Notifications section, providing information on sent email notifications. Each Sent Notification contains delivery information and the ability to preview what was sent.
Added resend Sent Notifications, allowing you to either resend the notification to their original recipients or nominated new ones.
Added bulk resend Sent Notifications, either to their original recipients or nominated new ones.
Added support for default field values to contain variable tags for autofilling user info.
Added pre-populate setting to fields, allowing you to specify a query string param to pre-populate the field with a value.
Added conditions to notifications. Build complex conditional rules on when to send (or not send) email notifications.
Added better support for countries in Phone fields, now with a nicer UI for the front-end.
Added country flags and international/national validation to Phone fields.
Added new MultiSelect Vue component, for use in custom field schema settings.
Added ability to control whether form submissions are stored permanently or not.
Added settings for form submission data retention for hours, days, weeks, months and years.
Added indicator when editing a submission when it's associated with a user.
Added support for when deleted a user, any submissions associated to them can be transferred to another user, or deleted.
Added when deleting a user, a summary of their submissions (if any) is shown in the prompt.
Added support for when restoring a deleted user, we restore any associated submissions.
Added settings for form submission data retention for uploaded files.
maxSentNotificationsAge plugin setting to control sent notification pruning.
formie/gc/delete-orphaned-fields console command.
formie/gc/prune-syncs console command.
formie/gc/prune-incomplete-submissions console command.
formie/gc/prune-data-retention-submissions console command.
formie/gc/prune-content-tables console command.
Added variable tags to form “Submission Message” rich text field setting, allowing for the use of submission variables in the submission success message.
Added ability to use submission attributes and fields in redirect URLs for Ajax forms.
Refactored Phone fields to no longer use a separate dropdown for country code.
When deleting a user, any form submissions related to that user will be deleted, or transferred to a user of your choice. This only applies if you use the "Collect User" setting for your forms.
fakerphp/faker at 1.9.1 due to PHP compatibility. Hopefully also fix some composer issues when updating with
./craft update all.
Fixed critical errors when a fields' setting was removed before migration can take place (looking at you
registerFormieValidation JS event not working correctly.
Fixed a potential error in
Fixed error with Postgres and viewing the forms index.
Fixed error with Postgres and viewing the submissions index.
Fixed agree field description not outputting line breaks.
Fixed “Submission Message” and “Error Message Position” form messages not outputting line breaks.
Fixed form messages not being translated correctly when the form is set as Ajax submit.
Fixed submit message not showing correctly when set to show at the bottom of the form and the form is hidden on success.
Fixed error with sending test email notifications in some instances.
The following attributes on Phone fields have been removed:
Released Nov 19, 2020
Added per-form form permissions for users.
Added per-form submission permissions for users.
fzaninotto/faker to non-abandoned
Increase stencil and form settings database column sizes, for large forms.
Fixed error when submitting a form on a non-primary site, when it contained a group or repeater field.
Fixed Agree field’s description not translating correctly when using special characters.
Fixed HTML-based form settings not translating correctly when using special characters.
Fixed Mercury CRM not mapping email and mobile fields correctly.
Fixed email notifications incorrectly showing element queries, when trying to output an element field’s value.
Ensure rich text fields don’t convert underscores to italics, when using as part of field handles.
Fixed fatal error being thrown when viewing stencils, if a stencil had invalid data.
Released Nov 16, 2020
Allow captchas to set a
spamReason property, providing details on why a submission was marked as spam.
Remove table-padding in plugin settings.
Fixed potential error when processing Monday integrations.
Fixed front-end JS console error thrown for some fields (table, repeater) for multi-page non-ajax forms.
Fixed Table and Repeater fields sometimes throwing an incorrect error for min/max rows when not set.
Fixed checkbox and radio field instructions not working well when set to “Above Input” or “Below Input”.
Fixed date fields incorrectly converting to the system timezone.
Fixed potential issue with Name field being used in integrations.
Fixed spam reason not showing when editing a submission in the control panel.
Released Nov 10, 2020
Allow incomplete submissions to be used in trigger integrations queue job
Fixed error when saving a field in Postgres.
Fixed multiple recaptchas on the same page not working correctly.
Fixed Postgres error when deleting or restoring forms.
Fixed date fields storing time incorrectly when a submission is saved in the control panel.
Fixed date fields not showing the time field in the control panel when editing a submission.
Fixed table field dropdown column options not saving.
Released Oct 28, 2020
getIsVisible() to all field classes.
craft.formie.getVisibleFields(row). For any given row, will return whether there are any visible fields.
submitActionMessagePosition to forms to control the position of success messages.
Added more base-field level attributes for GraphQL
FieldInterface. No need to supply inline fragments for common attributes.
redirectUrl to JS variables, for consistency.
redirectUrl to form settings, allowing full override of the URL when redirecting on submission success.
Added “Badge” setting for ReCAPTCHA V3.
Added support for element fields in integrations mapping to string-like fields.
parseMappedFieldValue event for integrations, allowing modification of the form submission values from Formie to the integration provider.
Added remove row button for Table field's front-end templates.
Ensure row classes aren’t outputted when there are no visible fields for a given row.
Ensure eager-loaded fields have the correct content table set.
Minimum table field rows now create rows when initially loading the form.
Fixed incorrect submission error logging.
Fixed Campaign integration and some custom fields (like checkboxes). Be sure to re-save your form's integration settings for this to take effect.
Fixed checkboxes field validation not working correctly.
Fixed phone number sub-field label position not working correctly.
Fixed address, date, name and phone sub-field labels not displaying correctly for left/right alignments.
onFormieSubmitError JS event not firing for server-side errors.
Fixed submissions not showing preview of element field content for submission index columns.
Fixed stencil notifications showing unsaved.
Fixed error when saving a new stencil.
Fixed error when saving a Table field in some cases.
Fixed some min/max row checks with Table fields.
redirectEntry from JS variables.
submitActionUrl from JS variables.
Released Oct 20, 2020
referrer property to integrations, to provide the URL where the submission came from.
Fixed Campaign integration and error thrown when the referrer was missing.
beforeTriggerIntegration events not working consistently across queue jobs and non-queue.
userIp twice, when used in variable tags.
Fixed an error when sending notification emails via queue jobs.
Fixed Integration settings for forms were wiped when an integrations was disabled.
Fixed synced fields not saving correctly when moved immediately after being added.
Fixed file upload files defaulting to a single file being allowed to be uploaded.
Fixed file upload fields not being able to handle multiple files uploaded.
Released Oct 16, 2020
Fix Agree field
descriptionHtml error, introduced in 1.2.20.
Released Oct 16, 2020
File upload fields now render links to their control-panel assets in email templates, in addition to being attachments.
Fixed group fields displaying incorrectly in email previews.
Fixed group fields not checking for nested field’s
hasLabel attribute in email content.
Fixed repeater fields not checking for nested field’s
hasLabel attribute in email content.
Fixed form settings now saving correctly when users with limited permissions save forms.
Fixed an error with entry integrations and author.
Element integrations now correctly translate Formie fields to Craft fields.
Released Oct 15, 2020
descriptionHtml for GraphQL querying Agree fields’ description.
Table, Repeater and Rich Text JS now provide access to their JS classes on field DOM elements.
Repeater field’s JS now triggers an
Fix integrations throwing errors when opting-out of the integration (through events or opt-in field).
Validate When Typing is set on a form, ensure that the global form error message is removed after errors are fixed (when typing).
Fix Agree fields’ description being incorrectly formatted when calling through GraphQL.
Released Oct 13, 2020
enableUnloadWarning plugin setting, to control the “unload” warning for front-end forms. This warning is used to prompt users their form has changed for good UX.
renderCss options to
renderForm(), to allow for enable/disable of resources on specific render calls.
Fixed potential error with Agree field descriptions.
Fixed incorrectly exporting all form submissions site-wide when a specific form’s submissions were selected.
Fixed submission exports not resolving the content table correctly.
Fixed submission element index not showing available custom fields to customise with.
Released Oct 12, 2020
Added more logging for webhook integrations when troubleshooting.
siteId to submissions. Now makes it possible to know which site a submission was made on.
Added multi-site support for submissions.
Allow fields in submissions to be searchable.
Added “Error Message Position” option for forms to control where form-wide errors are shown.
Twig template code can now be included inside a HTML field.
Setup template roots to allow for much easier template overrides.
Allow form includes to be overridden individually.
Allow field hooks to override field settings.
fui-next to all forward-progressing submit buttons, except the final submit button, for multi-page forms.
containerAttributes for submit buttons.
defaultInstructionsPosition to plugin settings for site-wide defaults.
Added time label to date field.
Address sub-fields can now be set to hidden. Assists with using only autocomplete field.
Added User element integration.
Integration settings can now be viewed read-only when
allowAdminChanges is false.
Agree field’s description now uses HTML content.
Re-organised front-end form includes.
Extract submit button front-end template to its own include, to allow easier overriding.
Recipients field label position is set to “Hidden” by default (because the default field is set to hidden).
Address fields can now have only the autocomplete block enabled.
Forms now no longer forces
novalidate. HTML5 validation will trigger when Formie’s JS validation is not triggered.
Fixed file upload fields in nested fields not attaching to email notifications.
Fixed fields in nested fields showing in email notifications when their field settings don't allow it.
Fixed an error with email notification preview, preventing CSS bleeding into the control panel.
Fixed webhook integrations not always using the per-form defined Webhook URL.
Fixed Formie's front-end templates, as Sass variables not being able to be overwritten. (thanks @leevigraham).
Fixed submission field data not exporting, when exporting from “All Forms”.
Fixed “Site Name” for variable picker reflect the site the submission was made on.
Fixed attributes and custom fields for submissions not being able to be searched.
Fixed rich text content not having access to all available fields in the variable picker.
Fixed a few issues with Address field and auto-complete behaving inconsistently with other sub-fields.
Fixed autocomplete field for Address fields not showing for submissions.
<small> HTML elements from instructions for front-end templates. Produced invalid HTML.
Released Sep 26, 2020
Allow Redirect URL for a form's settings to contain Twig.
Added Submission ID as an available variable to pick from in notifications.
Fixed an error when an Ajax-enabled form's Redirect URL setting contained Twig.
Fixed submission variables incorrectly caching when sending multiple notifications.
Released Sep 25, 2020
method to payload events for integrations.
Fixed serialization of phone fields for integrations.
Fixed being unable to modify payload in
Fixed a number of fields (checkbox, radio, agree, date, phone) where the custom error message wasn't working.
Fixed error when connecting with AutoPilot.
Fixed image uploads not attaching to email notifications for non-local volumes.
Ensure nested fields (group and repeater) respect MySQL table name limits. Prevents errors when saving a very long field name.
Fixed an error when editing a form when a user doesn’t have permission for the primary site.
Released Sep 23, 2020
Added support for group fields and subfield-enabled fields (name, address) to be used as variable tags.
Added ability to override form settings, classes and attributes in templates.
isJsonObject error for Craft 3.4.
Released Sep 22, 2020
Fixed name field serializing non-multiple fields for integrations
Fixed some fields (name, date, phone) always allowing mapping for their subfields for integrations.
Fixed front-end submission editing not working for multi-page forms.
Released Sep 21, 2020
statusId to be used in GQL mutations for submissions.
Refactor field serialization for integrations. Provides better support for array-like data.
Recipients field settings now no longer enforce unique values for options.
Allow table fields in field settings to add new rows with spacebar (for accessibility).
Switch reCAPTCHA verification servers to
recaptcha.net. Hopefully to improve global reach, when access to
google.com isn't allowed.
Fixed checkboxes fields not serializing correctly for integrations.
Fixed table validation rules firing for all rules, instead of the specific defined ones per its field settings.
Fixed initialising multiple forms manually, with the JS API on the same page.
destroyForm in the JS API not destroying event listeners correctly.
Fixed integrations not saving when setting as disabled.
Fixed custom fields not being registered correctly.
Fixed submissions created via mutations in GraphQL not validating correctly.
Fixed submissions created via mutations in GraphQL not sending email notifications.
Fixed submissions created via mutations in GraphQL not triggering integrations.
Released Sep 17, 2020
Added name/address support for GraphQL mutations.
Added Mercury CRM integration.
Submission URL to
Submission CP URL for better clarity for field variables in email notifications.
Fixed Entry fields not rendering their values correctly in email notifications, when their section had no URL settings.
Fixed Category fields not rendering their values correctly in email notifications, when their group had no URL settings.
Fixed Product fields not rendering their values correctly in email notifications, when their product type had no URL settings.
Fixed Tag fields not rendering their values correctly in email notifications.
Fixed User fields not rendering their values correctly in email notifications.
Fixed Variant fields not rendering their values correctly in email notifications, when their product type had no URL settings.
Fixed incorrect validation when saving a recipients field with the display type set to hidden.
Released Sep 17, 2020
Fixed error when trying to submit with multiple checkboxes, in some instances.