Releases: verbb/formie
Releases · verbb/formie
1.4.20
Added
- Added
verify = false
to Guzzle requests for Webhook integrations, whendevMode
is enabled. - Added
EVENT_BEFORE_SUBMISSION
andEVENT_BEFORE_INCOMPLETE_SUBMISSION
events. - Added
EVENT_BEFORE_SPAM_CHECK
andEVENT_AFTER_SPAM_CHECK
events. - Improved error message when email notification body content returns no content. Some email providers hard-fail when trying to send an empty email.
Fixed
- Fixed Agree fields not working correctly for Email Notification conditions.
- Fixed Dropdown fields not working correctly for Email Notification conditions.
- Fixed Date fields not working correctly for Email Notification conditions.
- Fixed Group and Repeater fields not working correctly for Email Notification conditions.
- Fixed Table fields inside a Group field not saving correctly.
- Fixed an issue where Group fields, inner fields would receive the incorrect namespace, when validation for the form page failed and page reload enabled.
- Fixed an error for the Webhook integration in some cases when an error occurs.
- Fixed Tag fields and their
beforeInit
options not being applied to Tagify. - Fixed Date fields and their
beforeInit
options not being applied to Flatpickr. - Fixed
relations
in POST requests for submissions being always present, when not always needed. - Fixed
extraFields
in POST requests for submissions being always present, when not always needed. - Fixed an error with
contains
,startswith
andendswith
field conditions, when dealing with empty values. - Fixed Page Reload forms not evaluating conditions in Group fields, for multi-page forms.
- Fixed Group fields not evaluating field conditions correctly when sending email notifications.
- Fixed sub-fields within Group fields not working correctly for variable picker, for email notifications.
- Fixed when attaching the PDF to an email notification, can sometimes clear the body content of the email.
- Fixed Phone number field values sometimes showing
()
when a country code wasn't provided. - Fixed
populateFormValues
not working with Phone fields. - Fixed a deprecation when calling
populateFormValues
when populating elements fields. - Fixed individual permissions for submissions not working for user permissions.
- Fixed Agree fields not using their "Checked/Unchecked Value" values in integrations, when the destination field in the integration allows string text.
1.4.19
Fixed
- Fixed an error when garbage-collecting orphaned fields, where globally-context fields with the same handle would have their content columns removed. This only affects installs where a Formie field and non-Formie field have the same handle and the Formie field has been marked as orphaned (the owner form has been deleted). As such, this should only happen in rare circumstances.
- Fixed email fields set to have unique values not working correctly for multi-page forms.
1.4.18
Added
- Added
beforeInit
andafterInit
JS events for Tag fields.
Fixed
- Fixed Date fields (calendar and date picker) not saving time values correctly.
- Fixed Email fields with "Unique Value" set throwing an error on Craft 3.7+.
- Fixed Date fields throwing an error when used in the submission element index columns.
- Fixed Name and Address fields not having their instructions position set correctly for new fields.
- Fixed Date fields not always returning a formatted date as a string, when used in integrations.
- Fixed Mailchimp email marketing integration not casting phone numbers to the correct type in some instances.
- Allow element fields to modify the element query in templates.
1.4.17
Added
- Added
onFormieCaptchaValidate
andonAfterFormieValidate
JS events. - Added support for user photo uploading (via File Upload fields), for User element integrations.
Changed
- Changed reCAPTCHA captchas now use
onFormieCaptchaValidate
to hook into validation, allowing third-party handling of validation events for JS.
Fixed
- Fixed placeholder text for Phone field in the form builder, when country dropdown was enabled.
- Fixed checkbox fields having their default options set when editing a submission.
- Fixed submission titles not generating correctly in some circumstances.
- Fixed Recipients dropdown field when an option has no value, not validating correctly.
1.4.16
Added
- Added
FORMIE_INTEGRATION_PROXY_REDIRECT
env variable for integrations. - Added
Current URL (without Query String)
option for hidden fields. - Added ability for hidden fields to set their column type, to assist with capturing large field values.
Changed
- Changed Freefom migrations for a HTML field to use
hash
as the field handle instead of a randomly generated handle. - Changed Freefom migrations for a HTML field to use
HTML
as the field name. - Freeform/Sprout Forms migrations now auto-prefix fields that have reserved words as their handle.
Fixed
- Fixed migrated email notifications not respecting the "Default Email Template" plugin setting.
- Fixed migrated forms not respecting the "Default Form Template" plugin setting.
- Fixed an error when migrating a Freeform form, containing a HTML field.
- Fixed Freeform/Sprout Forms migrations when fields contain invalid characters.
- Fixed "Undefined variable" error when failed email notifications with attachments throws an error itself.
- Fixed an error when running garbage collection on deleted forms.
- Fixed an error when trying to migrate "all" Freeform forms.
- Fixed Phone field country dropdown throwing an error when a default country was picked, but not included in the "Allowed Countries".
- Fixed an error when saving a submission from the command line.
- Fixed Checkboxes field not applying default checkboxes.
1.4.15
Added
- Added support for user-based variables in email notifications to support the recorded user on the submission when "Collect User" is enabled on forms.
- Added option to Mailchimp integration to append tags. (thanks @boundstate).
- Added support for Zoho CRM
jsonarray
field types. - Element field values used in integrations can now include disabled elements.
Fixed
- Fixed checkbox validation not working correctly when "Validate When Typing" was enabled.
- Fixed conditions used in forms triggering the "content changed" unload warning, when nothing has changed.
- Fixed element fields when used in conditional rules not working correctly.
- Fixed group fields not displaying values correctly, or saving properly in submissions.
- Fixed
populateFormValues()
changing the current language for multi-site installs. - Fixed multi-page forms when marked as spam on a page, not being able to finalise submission.
- Fixed Phone field country dropdown throwing an error when live validation is set for the form.
- Fixed Phone field country dropdown throwing an error when a default country was picked, but not included in the "Allowed Countries".
- Fixed some failed queue jobs for integrations storing large amounts of cache data when not needed.
- Fixed an error when applying project config, with a stencil with the (incorrect) value of
defaultStatusId = 0
. - Fixed table fields in notification emails not rendering correctly when containing time or date columns.
- Fixed bouncer.js not processing grouped checkboxes correctly.
- Fixed bouncer.js not properly listening to checkbox change events.
- Fixed element fields not having their "Label Source" and "Options Order" settings use "Title" as the default for new fields.
Removed
- Removed conditional handling for fields when editing a submission. Too complicated to handle both front-end fields and Craft fields.
1.4.14
Fixed
- Fix recipients field values not saving correctly.
Removed
- Removed
columnWidth
from GraphQL queries (it did nothing).
1.4.13
{warning} Please read through the Breaking Changes before updating.
Added
- Added
field.getHtmlDataId()
which replacesfield.getHtmlId()
. - Added
data-fui-id
attribute to all inputs for default templates. - Added
typeName
andinputTypeName
to the FieldInterface for GQL queries. - Added
prefixOptions
to Name field for GraphQL queries. - Added
countryOptions
to Address field for GraphQL queries. - Added
CsrfTokenInterface
to GraphQLFormInterface
for easier fetching of CSRF details. - Added
countryOptions
to Phone field for GraphQL queries. - Added some error-handling messages to failed-to-parse integration settings.
- Added
users
to User fields for GraphQL queries. - Added
tags
to Tag fields for GraphQL queries. - Added
entries
to Entry fields for GraphQL queries. - Added
categories
to Category fields for GraphQL queries.
Changed
- All field inputs now have a
data-fui-id
, which replaces theid
attribute which has been updated to be unique. - For multi-page, page reload forms, every page is now rendered, and all page data is submitted. This is now the same behaviour as Ajax-based forms. Validation still only occurs every page submission.
- Changed
Phone::getCountries
toPhone::getCountryOptions
. - Changed
Address::getCountries
toAddress::getCountryOptions
.
Fixed
- Fixed an error when fetching a submission via its
uid
, not populating form attributes correctly. - Fixed rendering the same form multiple times would lead non-unique labels. Causing issues for checkbox/radio/agree fields.
- Fixed rebuild project config not typecasting some settings correctly (therefore showing changes).
- Fixed multiple rows in table fields not saving correctly.
- Fixed multi-page, page reload forms with conditions not working correctly, when page or field conditions are based off previous page values. Ajax-based forms do not have this issue.
- Fixed progress value being incorrect for Ajax-based forms, when clicking on page tabs.
- Fixed Name fields incorrectly casted as NameInputType for GraphQL mutations.
- Fixed Recipients field reporting radio options as multiple.
- Fixed Table fields not sending the correct input type for GraphQL mutations.
- Fixed Recipients field incorrectly encoding options for submissions in the control panel, throwing an error.
- Fixed Recipients field not casting to the correct type for Checkboxes for GraphQL.
- Fixed
FormSettings::submitActionMessageTimeout
not casting as an int. - Fixed Active Campaign CRM integrating overwriting fields for contacts when mapped but no value set.
- Fixed integrations throwing an error for some fields.
- Fixed hidden fields configured with a cookie value, getting
undefined
set if the cookie didn't exist. - Fixed the Prefix for a Name field defaulting to the first option when viewing a submission.
- Fixed GraphQL mutation validation errors not always returning a JSON string.
- Fixed GraphQL submission mutations not validating correctly.
Breaking Changes
- If you rely on the
id
attribute of any<input>
or<select>
element on the front-end, these have been changed in order for them to be truly unique. For instancefields-formie-form-formHandle-formField
now becomesfields-formie-form-56526107b0a3e1eb3-formHandle-formField
. Please instead use thedata-fui-id
attribute for the old value if you need it.
1.4.12
Fixed
- Fixed data-encrypted fields incorrectly using their encrypted content for integrations.
- Fixed an error when triggering an integration queue job for a non-existant submission.
- Fixed an error with logging element integration payload fields.
- Fixed Craft 3.6 incompatibility with Craft 3.7 changes.
1.4.11
Added
- Added
email
,notification
,notificationContent
andsubmission
to email notification queue jobs, to assist better with troubleshooting failed queue jobs. - Added
payload
to integration queue jobs, to assist better with troubleshooting failed queue jobs.
Fixed
- Fixed handling of element integrations where their objects are too complex for queue-logging.
- Fixed element integrations not firing
EVENT_BEFORE_SEND_PAYLOAD
andEVENT_AFTER_SEND_PAYLOAD
. - Removed incorrect placeholder attribute from Agree field input.
- Fixed some email notification fields not filtering out incorrect values like emojis.