Changelog
5.8.32024-12-16
Fixed
- Fixed a bug where the initial field value wasn't used in the Calculation field.
- Fixed an issue where the resource URLs for sample formatting templates were not fully compatible with Craft Cloud sites.
- Fixed a bug where Status was not available in Quick Export.
- Fixed issues with the Stripe webhook.
- Fixed a bug where the form builder Usage in Elements tab was not always loading correctly.
5.8.22024-12-11
Fixed
- Fixed a bug where a user with individual form permissions would not have access to a form they just duplicated.
- Fixed a bug where the automatic purging of old submissions queue job could fail if an empty string was passed for an asset.
5.8.12024-12-10
Added
- Added Italian translation.
Changed
- Changed the English translation from
en-US
toen
.
Fixed
- Fixed a bug where spammy submissions were still being saved to the database when the Spam Folder was disabled.
- Fixed a bug where fresh installs between 5.7.0 and 5.8.0 were missing a new
options
column in thefreeform_email_marketing_fields
andfreeform_crm_fields
database tables. Added a migration for affected installs. - Fixed a bug where the form name link on the CP submission details page was not linked correctly.
- Fixed a bug where translations for the Error Log notice were missing.
5.8.02024-12-03
Added
- Added the ability to use Textareas and Radios inside a Table field.
Changed
- Improved the usability of the Table field in the form builder.
- Improved the usability of the Submit button layout settings to hide unnecessary options in the form builder.
- Updated the sample formatting template assets to load as Asset Bundles to support Craft Cloud setups.
- Optimized all front end Freeform scripts.
- Removed the
axios
dependency. - Removed the
lodash
dependency. - Removed the
core-js
polyfills. - Scripts for Calculation fields now load seperately as
calculation.js
only if the field exists in the form being displayed. - When using
freeform.loadScripts()
(for manually loading scripts) and Calculation fields, be sure to include thefield.calculation
option.
- Removed the
Fixed
- Fixed a bug where multiple primary keys could be defined when MySQL has
sql_generate_invisible_primary_key
turned on.
5.7.42024-11-29
Changed
- Updated the Mailchimp integration to include additional error logging around Contact Tags.
Fixed
- Fixed a bug in the Freeform 4.x migration where form submission table names were not always being named correctly.
- Fixed a bug in the Freeform 4.x migration where original form handles were not being preserved.
5.7.32024-11-22
Added
- Added translations for the Usage in Elements feature.
Changed
- Updated the
phpoffice/phpspreadsheet
dependency to include^2.0
and^3.0
. - Updated the Salesforce Lead Update Duplicate Leads setting to skip empty values in the new data when overwriting an existing Lead record.
Fixed
- Fixed a bug where Matrix relation titles would not always display correctly in the Usage in Elements tab. Set
Entry ID#
as a title fallback for Matrix relations without a title. - Fixed a bug where the Pipedrive integration was not correctly mapping to Lead fields.
- Fixed a bug where required field validation wasn't working correctly when using
is one of
andis not one of
conditional rules logic. - Fixed a bug where the Freeform 4.x migration could fail if a form name was too long.
- Fixed a bug where the Stripe payment status was not updating for previously declined cards.
- Fixed a bug where the Stripe instructions guide had some errors.
5.7.22024-11-15
Added
- Added a Usage in Elements tab to each form's settings in the form builder, displaying which elements use that form in the Freeform Form element type (Craft 5 only).
- Added detection and mapping of predefined options to applicable fields in the Salesforce integration.
- Added detection and mapping of predefined options to applicable fields in the HubSpot integration.
- Added an accessibility check for reduced motion on form scroll.
- Verified support for Craft 5.5.x.
Changed
- Updated composer.json to no longer force
^1.33
of thephpstan/phpdoc-parser
package to workaround an issue in thesymfony/property-access
package now that the issue is resolved.
Fixed
- Fixed a bug where the Constant Contact integration could not map to standard fields if no custom fields existed.
- Fixed a bug where user permission checks for creating and deleting forms were not working.
- Fixed a bug where some integrations might lose their
refresh_token
. - Fixed an autoloading warning issue.
- Fixed a bug where the sample formatting templates' validation errors were not always working correctly when multiple forms with the same template existed in the same template.
- Fixed a bug in the Freeform 4.x migration where it wasn't converting extended ASCII characters in form or field handles.
- Fixed a bug where Quick Export could fail if there were invalid or stale field IDs.
- Fixed a bug where exporting submissions to Excel format could sometimes fail.
- Fixed a bug where the Constant Contact integration instructions were not up to date with the latest setup flow.
5.7.12024-11-12
Added
- Added
EVENT_DEFINE_SIDEBAR_HTML
in the Freeform Submissions CP view. Thanks @mofman!
Changed
- Updated CRM integrations in the form builder to include separators for objects to improve clarity.
- Updated composer.json to force the
phpstan/phpdoc-parser
package to^1.33
to work around an issue in thesymfony/property-access
package.
Fixed
- Fixed a bug where labels in the Jira integration would sometimes error about array values.
- Fixed a bug where some forms could error when duplicating forms.
5.7.0.12024-11-10
Fixed
- Fixed a bug where the translation table migration wouldn't work with prefixed databases.
5.7.02024-11-09
Added
- Added support for site-aware translatable forms inside the form builder (Pro).
- Added PDF Templates that can be dynamically generated and attached to submission notifications (Pro).
- Added the ability to designate where to render a visible captcha in your template.
- Added a Jira Cards integration (Pro).
- Added the ability to set custom error messages for Required validation on fields.
- Added support for overwriting existing Salesforce Lead records if the email address matches.
- Added a fallback formatting template for forms with a missing or invalid formatting template configured.
- Added a check for
asyncCsrfInputs
on the Diagnostics page.
Fixed
- Fixed a bug where associated assets were not removed when submissions were deleted in the control panel or via the Submission Purge feature.
- Fixed a bug where the mailer service was resetting template mode too early.
- Fixed a bug where there could be a possible infinite loop in the Submission element.
5.6.82024-10-25
Fixed
- Fixed a bug where Webhook URLs were not processing ENV variables.
5.6.72024-10-23
Added
- Added support for sending file uploads to Salesforce objects.
- Added complete translations for the Salesforce integration.
Fixed
- Fixed a bug where the CP Submissions index would error when displaying File Upload and File Upload Drag & Drop fields.
- Fixed a bug where Hidden and Invisible fields were not included in Freeform Data exports.
- Fixed a bug where the
dateCreated
,dateUpdated
anduid
columns were missing when persisting rule conditions on a PostgreSQL install.
5.6.62024-10-18
Fixed
- Fixed a bug where the Javascript Test was not checking for the presence of the input before updating its value.
- Fixed a bug where email notification jobs did not consider the site ID used when submitting the form.
- Fixed a bug where Invisible fields could not have their values overridden at the template level.
- Fixed a bug where Stripe
payments.amount
only showed whole numbers. - Fixed a bug where Stripe
payments.id
andpayments.resourceId
were not available to use. - Fixed a bug where the GTM integration would fail if another script also uses the
form
global variable. - Fixed a bug where the Freeform 4.x migration was missing a check for
targetFieldHash
before using it.
5.6.52024-10-11
Added
- Added support for Cloudflare Turnstile spam protection captcha.
Changed
- Updated the sample Grid and Flexbox formatting templates to allow for compatibility between Group fields and Conditional Rules.
Fixed
- Fixed a bug where the Decimal Count setting for the Calculation field type was not seeing
0
as a valid value. - Fixed a bug where the Freeform 4.x migration was converting status colors to
gray
instead ofgrey
while in Craft 4.x. - Fixed a bug where the Send Success Email from Stripe to Submitter setting was not respected and Stripe would continue sending email receipts.
- Fixed a bug where using the List view on the forms dashboard could trigger an error for some customers.
5.6.42024-10-07
Added
- Added support for Is One Of and Is Not One Of rule types for conditional rules, allowing you to perform advanced conditional checks on multi-option field types.
- Added a Decimal Count setting to the Calculation field type for the ability to automatically round result values.
- Added support for PKCE (Proof Key for Code Exchange) in the Pardot integration.
Changed
- Improved the form builder to remember the last opened items for the Notifications, Rules and Integrations tabs.
- Updated the French translation.
Fixed
- Fixed a bug where Export Notifications were not working.
- Fixed a bug where disabling email notifications inside the form builder would not disable them.
- Fixed a bug where duplicating a form would exclude email notifications, conditional rules and integrations.
- Fixed a bug where a default error message was not set for the Regex field type.
- Fixed a bug where the Freeform 4.x migration was not migrating or setting a default error message for Regex fields.
5.6.32024-09-27
Added
- Added a new Stripe
EVENT_AFTER_UPDATE_PAYMENT_METADATA
event that allows additional metadata to be attached to a payment intent when a submission is created.
Fixed
- Fixed a bug where custom fields were not showing for mapping in the Pipedrive CRM integration.
- Fixed a bug where mapping a field handle of
name
to a Stripe integration will prevent the Stripe field from loading in the front end.
5.6.22024-09-20
Fixed
- Fixed a bug where the Export Freeform data utility was not loading correctly in Craft 4.
- Fixed a bug where email notification templates could not be assigned to forms in the form builder for some users.
- Fixed a bug where the form "Cards" icon was not showing in the button on the form dashboard page.
- Fixed a bug where form submission and spam counters were not displaying in the dashboard for users and groups without read or manage permissions.
- Fixed a bug where links to modify forms in the List view of the dashboard did not account for user and group permissions.
5.6.12024-09-18
Fixed
- Fixed a bug where file-based email notification templates were not being read correctly.
5.6.02024-09-17
Added
- Added a utility for granularly exporting and importing Freeform data (beta), including forms, submissions, templates, integrations, and Freeform settings.
- Added the ability to organize form cards into groups on the Forms dashboard page.
- Added the ability to switch the Forms dashboard page from Cards to a List table view.
- Added the ability to check in Twig to see if an integration is enabled for a form. Use
{% if form.isIntegrationEnabled("integrationHandle") %}
. - Added template-level overrides for POST Forwarding, allowing for Twig in the POST Forwarding URL and error phrase.
- Added the ability to hide advanced settings for Submit buttons with the Limited Users feature.
- Added compatibility of Hubspot tracking code to the Hubspot CRM integration.
- Added French translation. Thanks @scandella!
- Added German translation.
Changed
- Updated all sample formatting templates to load all scripts and styles via URLs to aid with strict content security policies. Added a migration for the Grid and Flexbox formatting template names in forms and the demo templates.
- Updated Status column styling to match Craft 5 for CP submissions/spam indexes.
Fixed
- Fixed various issues with missing translation strings.
- Fixed style issues on Payment cards in the CP submissions index.
5.5.102024-09-06
Fixed
- Fixed a compatibility issue with Campaign 3.x on Craft 5.x.
- Fixed a bug where an error could occur when creating new forms on some MySQL installs.
- Fixed a bug where the Diagnostics page could error on integration reporting if using PostgreSQL.
5.5.92024-09-04
Added
- Added support for migrating Submit button labels in the Freeform 4.x migration.
- Added support for migrating conditional rules on Submit buttons in the Freeform 4.x migration.
- Verified support for Craft 5.4.x.
Changed
- Various updates to Dutch translations.
Fixed
- Fixed a bug where uploading assets to submissions in the control panel would incorrectly mark them as unfinalized assets to be deleted
- Fixed a bug where the Forms element field type was not alphabetically ordering the list of forms.
- Fixed a bug where some types of conditional rules on fields were not migrating properly in the Freeform 4.x migration.
- Fixed a bug where the Constant Contact integration was not implementing the refresh token interface.
- Fixed a bug where the Pardot integration was missing the
pardot_api
scope.
Security
- Updated the
phpoffice/phpspreadsheet
dependency to correct an XSS vulnerability.
5.5.82024-08-30
Fixed
- Fixed a bug where some headers were missing in the Pardot integration authorization request.
5.5.72024-08-14
Changed
- Updated Webhooks to improve the inclusion of file metadata.
- Updated the Stripe dependency versions to include
v14
andv15
. - Changed Freeform so it does not set
noCache
headers on every request. Includes support for Craft'sasyncCsrfInputs
feature.
Fixed
- Fixed a bug where the
site
parameter would lose track of the active site on nav links in the control panel when using the multi-site feature. For this to work correctly, you must enable the Site-Aware Forms setting. - Fixed a bug where Freeform scripts were being attached to non-Freeform forms.
5.5.62024-08-10
Added
- Added Keap CRM integration.
- Add a
queuePriority
setting to set the Craft queue priority of Freeform jobs. - Verified support for Craft 5.3.x.
Fixed
- Fixed issues with permissions when using the Craft Team edition.
- Fixed a bug where custom field types were not showing in the Express edition.
- Fixed some minor styling issues on the diagnostics page.
5.5.52024-07-30
Changed
- Refactored exception catching. Added a failsafe which performs a token refresh flow once if an access token returns an unauthorized response.
Fixed
- Fixed a bug where the Bypass All Spam Checks for Logged in Users setting did not correctly bypass all spam checks for logged-in users when a form is cached.
- Fixed a bug where moving fields around in the builder layout would sometimes not work correctly.
- Fixed a bug where the Surveys & Polls link in form cards was broken.
5.5.42024-07-11
Added
- Added
freeform.loadScripts()
template function for manually loading Freeform scripts (e.g. Freeform JS, reCAPTCHA, JS Test, etc).
Changed
- Changed form deleting from a
DELETE
toPOST
request for better compatibility with server permissions.
Fixed
- Fixed a bug where Webhooks were being triggered on submissions sent to the Spam Folder.
- Fixed a bug where the CP Submissions chart was not showing for users with no settings access permissions.
- Fixed a bug where integration field mapping wasn't always cleaning up correctly.
- Fixed some Dutch translation language bugs.
5.5.32024-07-04
Added
- Added support for mapping URLs, email addresses, and phone numbers to the Craft URL field type for element integrations.
- Added a
loadFormSpecificScripts
template function for manually loading additional form-specific scripts (e.g. reCAPTCHA, JS Test, etc).
Changed
- Updated integrations to fail gracefully on the front end when a user submits the form. If there's a configuration issue or error for the integration, the form will continue to process for the user and log an error in the Freeform error log.
- Updated integrations to no longer encrypt setting values configured with an ENV variable. Instead, the ENV variable will be stored in the database to continue working in multiple environments.
Fixed
- Fixed a bug where email notification jobs would fail when the Store Submission Data setting was disabled for the form.
5.5.22024-07-03
Changed
- Improved field error validation on multi-page forms using Element integrations. If required element fields are not present on the current Freeform form page, their error validation will happen at the end of the form instead.
- Improved integration error messages in the settings page.
Fixed
- Fixed a bug where email notifications were not rendering all fields from all pages.
- Fixed a bug where email notification jobs did not contain submission object data (if using that to render submission data).
- Fixed a potential ordering issue when dragging fields between rows.
5.5.12024-06-27
Changed
- Updated the form deletion process to include a delete confirmation modal to prevent accidental deletion of forms.
Fixed
- Fixed a bug that caused the Email Notification and Integration jobs to break when the Store Submitted Data setting was disabled.
- Fixed a bug that intermittently prevented integrations using OAuth from working.
- Fixed a bug where the Spam Blocking integrations page was not visible while admin changes were not allowed.
- Fixed a bug where going to a previous page in multi-page forms would not retain any data entered on the current page.
- Fixed a bug where the Move, Duplicate, and Archive form card buttons were displaying for the Express edition, which is not relevant.
5.5.02024-06-26
Added
- Added the ability to bulk insert options into option-based field types (Checkboxes, Dropdown, etc).
- Added the ability to archive forms. Archived forms will continue to work and be accessible, but will no longer appear prominently on the Forms dashboard page.
- Added file attachments to be included in the POST Forwarding feature.
Changed
- Changed spam blocking to be integrations now. Previously, whenever
allowAdminChanges
was set tofalse
, it was no longer possible for users to modify blocked keywords, emails and IP addresses. This has been rectified by moving them from the settings to integration types. Users can now create pre-built sets of spam blocks, share them across forms, and manage each individually per form.- Removed Blocked Keywords, Emails, and IP Addresses from the Spam Protection settings area.
- Added new integration types
Keywords
,Emails
andIP Addresses
. - Added a migration that migrates previous settings into new integrations and applies them to existing forms.
- Updated the File Drag & Drop field type to use
title
attribute to display error information on files and removed themicrotip
library, as it was incompatible with a strict Content Security Policy that doesn't allow inline styles or inline scripts to be used.
Fixed
- Fixed a bug where rearranging fields into different rows in the form builder many times could cause it to stop working correctly.
- Fixed a bug that intermittently prevented integrations using OAuth from working. Added a buffer time for the refresh token check.
- Fixed a bug where failed Webhook integrations would break forms upon submission. Errors are now just logged in the Freeform error log.
- Fixed a bug where Date & Time field validation issues with native HTML types. A new setting has been added.
5.4.22024-06-21
Changed
- Updated remaining unnecessary inline
style
attributes to be handled infreeform.css
file instead.
Fixed
- Fixed some visual issues in the settings area of the Limited Users feature.
5.4.12024-06-19
Fixed
- Fixed a bug where the form builder would not load correctly on the Express and Lite editions.
5.4.02024-06-18
Added
- Added Limited Users feature (Pro), which allows you to customize the form builder experience for specific users or groups.
- You can choose which field types are available and which settings and page tabs are visible.
- This ensures that these users are not overwhelmed by advanced settings and prevents them from accidentally breaking your forms or site.
- Multiple limited user groups can be created.
- Added ability to set email notifications and integrations to use Craft's queue.
- Added settings to control the Default 'From Name' and 'From Name' when creating new email notification templates.
- Added a chart to the Submissions index page.
- Added full translation support for the form builder and overhauled the English and Dutch translation files to be complete.
Changed
- Updated email notifications and integrations to be now handled by Craft's jobs. These can optionally be queued as well.
- Moved all remaining inline CSS and Javascript into external script files. This does not include inline CSS and JS for sample formatting templates.
- Updated the Date & Time field type to use
date
,time
, anddatetime-local
when not using the Flatpickr date/time picker feature.
Fixed
- Fixed a bug where the form Save & Continue feature was not working correctly.
- Fixed a bug where Stripe Payment forms would not scroll to the top of the form if there were errors.
- Fixed a bug that prevented clicking the Back button on a page that contained a Stripe Payment field from working.
- Fixed a bug where conditional rules were not being scoped within each form, which could affect other similar forms.
5.3.52024-06-13
Added
- Verified support for Craft 5.2.
- Verified support for the reCAPTCHA Enterprise API and updated the Settings page.
Changed
- Updated Survey & Poll report summary page to limit Text answers to the most recent 20 each to help with performance and readability.
Fixed
- Fixed a bug where the Entries Elements integration was not working correctly on multi-site setups when attempting to map to a section with the primary site disabled.
- Fixed a bug where the spam reason was not displaying correctly for Captchas and JS Test.
- Fixed a bug where 'checked' was available for option-based fields in the GraphQL Explorer.
5.3.42024-06-07
Added
- Added a list of active modules to the Freeform Diagnostics page.
Changed
- Minor updates to the plugin icon for better visibility in Craft 5.
Fixed
- Fixed a potential error when uninstalling Freeform 5.
5.3.3.12024-06-05
Changed
- Reverted improved Twig template debugging for formatting templates change (5.1.17) for now, as it is causing issues with Windows servers.
5.3.32024-06-05
Changed
- Updated the Password field type's Minimum Length setting to suppress Craft's minimum password length message when integrating with a Craft User to handle user registration.
- Updated the Freeform Diagnostics page to include additional checks and improve some existing ones.
Fixed
- Fixed a bug where Windows servers would show an error when attempting to load formatting templates.
- Fixed a bug where a duplicate form filter could sometimes display in the CP Submissions index page.
5.3.22024-05-31
Changed
- Updating the Surveys & Polls report/results page to include additional CSS that hides the Craft navbar and header for printing (or saving as PDF).
Fixed
- Fixed a bug where the Table field type's built-in JS and max rows settings inside the form builder did not affect the front end.
- Fixed a bug where en and em dash characters were not saving in submission data on Radios, Dropdown, and Opinion Scale field types.
5.3.12024-05-28
Fixed
- Fixed a bug that could cause the Craft search index to break if multiple forms had fields with the same handle.
5.3.02024-05-24
Changed
- Improved the Script Insert feature:
The Static URLs option is no longer available, and the default is now Craft's Asset Bundles (an improved version of As Files). This ensures the best performance and reliability for any site and compatibility with Craft Cloud.
- The file pointers endpoints (_Static URLs) remain available for backward compatibility.
- The manual script loading approach (
loadFreeformPlugin
) will also automatically load Asset Bundle URLs. - Renamed the Freeform Script Insertion Location and Freeform Script Insert Type settings to Script Insert Location and Script Insert Type, respectively.
- Updated the demo templates:
- The submissions index view now orders submissions in descending order.
- The submission view now includes an enhanced display of assets for File Drag & Drop fields (in addition to regular File fields).
- Various updates to sample formatting templates:
- No longer include vague CSS classes to avoid conflict with other site styles. Added
freeform-form
class to the<form>
tag for all sample templates. - No longer force overrides for
addButtonLabel
andremoveButtonLabel
on Table fields. - Improved display and positioning of submit buttons on Basic sample templates.
- Improved display of success and error banners on Basic sample templates.
- No longer include vague CSS classes to avoid conflict with other site styles. Added
Fixed
- Fixed a bug where the
tableAttributes
template overrides for Table fields were not working. - Fixed a bug where displaying assets from File fields in CP Submissions was broken.
- Fixed a bug where the Theme setting was mislabeled for File Drag & Drop fields inside the form builder.
5.2.22024-05-22
Added
- Added
freeform-stripe-load
event for Payments forms and moved Mutation Observer outside ofwindow.onload
.
Changed
- Updated the Conditional Rules JSON attachment from
<script>
to<div>
with a data attribute for better compatibility with JS frameworks.
Fixed
- Fixed a bug where fetching Payment records (
freeform.payments
) in the Submissions query was not available. - Fixed a bug where an error about
freeform_feed
would be triggered when attempting to install Freeform.
5.2.12024-05-21
Fixed
- Fixed a bug where the Express Forms migration was not working as of Freeform 5.1.19+.
5.2.02024-05-15
Added
- Added optional Site Filtering setting for forms and submissions (Pro). This setting allows you to filter form lists by Sites and prevents other admins from accessing forms that belong to Sites they don't have access to.
- This only controls access to forms and submissions. It does not enable translations per site.
- If you'd like to apply this change retroactively, you should run the
./craft freeform/submissions/resave
CLI command after enabling this setting.
- Added settings for Password field to set a minimum number of characters to be used (Min Length) and whether the password should contain at least one number, one lowercase letter, one uppercase letter, and one special character (Character Variability).
- Added an integration for Google Sheets (Pro).
Changed
- Updated sample formatting templates to use
novalidate
. It was previously incorrectly applied to inputs instead of<form>
.
Fixed
- Fixed a bug where Stripe payment information was unavailable in email notifications.
5.1.19.12024-05-09
Fixed
- Fixed a bug where attempting to update to Freeform 5.1.19 could cause the process to crash.
- Fixed input placeholder styles for Bootstrap sample formatting templates.
5.1.192024-05-08
Changed
- Updated the Settings → Statuses to no longer have conflicting logic to set the default status for new forms. This is now done in the Settings → Form Builder area in Freeform 5+.
- Improved integration errors to log more meaningful error messages.
Fixed
- Fixed a bug where the Update Notices feature for the Freeform dashboard was not working.
- Fixed a bug where clicking the Source type an additional time would clear any option settings you currently have for Options-based field types.
- Fixed a bug where setting
allowedGraphqlOrigins
tofalse
in general.php would cause form submissions to crash.
5.1.18.12024-05-06
If you are experiencing visual issues with form layouts and styles on the front end, please update Freeform and ensure you're adding the |raw
filter to form.attributes.success
and form.attributes.errors
in any custom formatting templates you may have when not using AJAX.
Changed
- Added the
|raw
filter toform.attributes.success
andform.attributes.errors
in sample formatting templates as they began parsing with an extra set of quotes around them when not using AJAX.
5.1.182024-05-06
If you are experiencing visual issues with form layouts and styles on the front end, please update Freeform and ensure you're adding the |raw
filter to form.attributes.row
in any custom formatting templates you may have.
Changed
- Added the
|raw
filter toform.attributes.row
in sample formatting templates as they began parsing with an extra set of quotes around them.
Fixed
- Fixed a bug where forms would fail when loading if a Confirm field was used and the Duplicate Check setting was set to Anyone - Once per Email Address.
- Fixed a bug where the form builder's field association badges for Checkbox, HTML, and Rich Text fields did not display correctly.
5.1.172024-05-03
Added
- Added Assets as an Element source for populating Freeform field options.
- Confirmed compatibility with Craft 5.1.x.
Changed
- Improved Twig template debugging for formatting templates.
- Updated Tailwind formatting template to have instructions below the field label instead of below the input.
- Updated the JSON payload from forms to no longer contain details of the user(s) that created and last updated the form.
- Updated the Field Type Manager to store field types set to hidden in the database instead of the Project Config file.
Fixed
- Fixed a bug where Freeform fields with long handles could cause Craft's search indexing jobs to fail.
- Fixed a bug where Export Notifications would fail if they contained multiple email addresses.
- Fixed a bug where conditional rules were outputted to the browser console.
- Fixed a bug where some integration could fail due to model properties being before EVENT_BEFORE_SAVE.
- Fixed a bug where Notification Persistence would throw errors if the form upsert event has errors.
5.1.16.12024-04-29
Fixed
- Fixed a bug where the update migration for 5.1.16 was not automatically being triggered.
5.1.162024-04-26
Added
- Added the ability to set conditional rules that can prematurely fully submit the form if matched.
- Added the ability to set conditional rules on Submit, Back and Save buttons.
- Added support for using conditional rules across different pages, e.g. Field C on Page 2 will display if Field A on Page 1 is X.
Changed
- Updated the color of submit buttons inside the form builder to dark gray to prevent confusion with actual action buttons.
Fixed
- Fixed a bug where saving any Freeform settings would clear the Form Builder "defaults" settings.
- Fixed a bug where submissions flagged as spam would still send data off to integrations instead of being queued.
- Fixed some potential issues with submitting Checkbox fields.
5.1.152024-04-24
Changed
- Updated GraphQL to include HTML and Rich Text field types.
Fixed
- Fixed a bug where the Export Profiles page in the CP would display an error in Craft 5 when any profiles exist.
- Fixed a bug where Stripe Payment submissions were still processed when flagged as spam by Freeform.
- Fixed a bug where the form builder included two labels for Checkbox fields.
- Fixed a bug where creating a new Site and setting it to be the Primary site (at the same time) would fail due to Freeform.
- Fixed a bug where the old approach of
FreeformField_Submit
andFreeformField_Save
were still showing underfields
in the GraphQL explorer.
5.1.142024-04-19
Added
- Added
freeform/submissions/generate
CLI command to allow the creation of fake submission data into forms. Useful for testing and troubleshooting some issues. - Added support for searching into specific fields in the CP Submission element search bar (e.g.
firstName:bob
). You may need to run./craft freeform/submissions/resave --update-search-index
once for this to work.
5.1.13.12024-04-18
Fixed
- Fixed an issue with the Dotdigital integration.
5.1.132024-04-17
Added
- Added Craft element search support for submissions. You may need to run
./craft freeform/submissions/resave --update-search-index
once for this to work. - Added
freeform/submissions/resave
CLI command to resave all existing submissions. - Added
freeform/submissions/fix-titles
CLI command to fix the migration of Element titles for sites that have upgraded from Craft 4 to Craft 5. This command needs to be run once after the migration.
Fixed
- Fixed a visual issue with the Quick Export modal styles in Craft 5.
- Fixed a bug where the Express Forms migration utility would not work if there were no fields in a form.
- Fixed a race condition issue where refreshing the browser in the form builder would sometimes show stale or invalid data on section tabs.
5.1.122024-04-12
Changed
- Changed all
PUT
requests toPOST
requests for sites with strict method allowlists. - Updated the form builder to include the Craft notice banner for successes and errors when saving the form.
- Updated success/error notices throughout the plugin.
- Updated breadcrumbs throughout the plugin.
Fixed
- Fixed a bug where error validation was not working correctly in the form builder.
5.1.112024-04-11
Changed
- Refactored Captcha loaders and added lazy load support.
- Improved Failure Behavior settings for Captchas inside the form builder.
- Improved display of HTML, Rich Text, Hidden and Invisible field types in the form builder.
- Updated the
fields
andlists
limits in the ActiveCampaign integration. - Updated the
stripe/stripe-php
dependencies to include^13.0
. - Updated the
symfony/property-access
,symfony/finder
,symfony/filesystem
andsymfony/expression-language
dependencies to remove2.8|^3.0|^4.0
. - Updated the
symfony/serializer
dependency to include^5.0
and^7.0
. - Updated the
hashids/hashids
dependency to include^5.0
and remove^2.0
. - Removed the
composer/composer
dependency requirement.
Fixed
- Fixed an issue with the Dotdigital integration.
- Fixed a deprecation error when viewing the CP Submissions index in Craft 5.
- Fixed an alignment issue with the Submit buttons in the CP Submission and Spam detail pages.
- Fixed a bug where Element integration field mapping was not reliably loading and saving data.
- Fixed a bug where Email Marketing integrations could fail when field mapping is updated.
- Fixed a bug in which the form's Updated date was not correctly updated.
- Fixed a bug where the Javascript Test was loading inside the CP Submission detail page.
- Fixed a bug where an element query could execute before Craft loaded.
5.1.102024-04-04
Changed
- Updated the
symfony/property-access
,symfony/finder
,symfony/filesystem
andsymfony/expression-language
dependencies to include^7.0
. - Updated the
nesbot/carbon
dependency to include^3.0.0"
.
5.1.92024-04-03
Added
- Added an updated Dotdigital email marketing integration.
- Added an
EVENT_UPDATE_PAYMENT_METADATA
developer event for modifying Stripe metadata.
Changed
- Refactored the form submit and submit button lock process to work reliably when more complex features and flows are active (e.g. Stripe, Captchas, File Drag & Drop, etc).
- Updated the domain extension length maximum from
6
to15
for Website fields. - Exposed the Maximum Length field setting for GraphQL.
Fixed
- Fixed a bug where Freeform fields could not map to Salesforce Checkbox fields.
- Fixed an issue with Stripe subscriptions and empty product names. Also added a failsafe for the product name.
- Fixed a bug where the Page tab label editor in the builder was broken when a scrollbar was present (lots of pages).
- Fixed a bug where the Max Length setting was not present for applicable fields.
- Fixed a bug where deleting Group fields could delete other fields that share its row in the builder.
- Fixed a bug where the reCAPTCHA v2 Checkbox was not being validated if left empty on a form with Stripe.
- Fixed a bug where the Submit button was prematurely becoming active again before the Stripe payment form was fully processed.
- Fixed a bug where Captchas were loaded inside the CP submission detail page when enabled.
5.1.82024-03-27
Added
- All reCAPTCHA and hCaptcha versions are now available for the Lite edition (as well as Pro).
Changed
- Updated the delete icon display and behavior for managing page tabs in the builder.
Fixed
- Fixed a bug where the form submit button was not always locking correctly with forms using Stripe or File Upload fields.
- Fixed a bug where deleting Group fields in the builder was not also removing the fields inside.
- Fixed a visual issue when editing page tab names in the builder when using the Safari and Firefox browsers.
- Fixed a visual issue for field blocks in the builder when using the Microsoft Edge browser.
- Fixed a bug where long field labels overlapped other field labels in the builder.
- Fixed a bug where conditional rules for forms might not always migrate correctly from Freeform 4.
5.1.72024-03-22
Fixed
- Fixed a bug where reCAPTCHA would conflict with forms using Stripe Payments.
- Fixed a bug where mapping a field with a handle of
name
would break the Stripe integration. - Fixed a bug where running the migration from Freeform 3.x could trigger a
Base table or view already exists
error. - Fixed some Safari browser stying issues with the horizontal scrollbar for page tabs.
5.1.62024-03-20
Added
- Added a Not Like option for filtering on field values in Export Profiles.
Changed
- Improved the form builder so it doesn't prematurely close the property editor when a click and drag happens beyond it (e.g. selecting a value in a text input field to clear and replace it).
Fixed
- Fixed a bug where fields could have conditional rules for each other and cause an infinite loop.
- Fixed a bug where removing conditional rules did not always remove the correct rule set.
- Fixed a bug where using multiple Stripe fields from multiple Stripe accounts in the same form would not work correctly.
5.1.5.12024-03-20
Fixed
- Fixed a bug where a change for setting
nocache
headers in Freeform 5.1.5 broke the Craft CLI.
5.1.52024-03-19
Changed
- Updated the CSRF input to send
nocache
headers when rendering. - Adjusted the Diagnostics page to include PHP 8.2 and 8.3 compatibility.
Fixed
- Fixed a bug where Freeform was opening unnecessary sessions.
- Fixed a bug where page tabs would become inaccessible when the number of tabs exceeds the width of the browser window.
- Fixed a bug where mapping to the Enabled setting on Craft Entry element integrations was not working.
- Fixed a bug where user group selection in the User element integration did not allow multiple choice.
- Fixed a bug where files were not being uploaded for regular File Upload fields when not using AJAX.
- Fixed a bug where the User element integration was not always working when used in edit mode.
- Fixed a bug where changes to email notifications in the form builder were not sticking if you switched to another tab.
- Fixed a bug where the default theme option for Stripe was incorrectly named
default
instead ofstripe
, causing console errors in the browser.
5.1.42024-03-14
Added
- Added the ability to add attributes to Captcha containers at the template level.
Changed
- Reverted the Campaign Monitor to API tokens (instead of OAuth) to address several complications.
Fixed
- Fixed a bug where the Freeform 4 to 5 migration could fail when creating submission database tables in some circumstances.
- Added clarity to the Activate Users setting for the User element integration.
5.1.32024-03-11
Fixed
- Fixed a bug where Dynamic Recipient fields could sometimes fail in the Freeform 4 to 5 migration.
- Fixed a bug where saving submissions via console commands would fail on the saved notes feature.
- Fixed a bug where the Calculations field type was not triggering the Stripe element refresh when set as the dynamic amount field while set as Plain Text.
- Fixed a bug where the Empty Option Label feature was showing on fields other than Dropdowns.
5.1.22024-03-07
Fixed
- Fixed a bug where Success Templates were not being mapped in the Freeform 4 to 5 migration.
- Fixed a bug where the Calculations field type was not triggering the Stripe element refresh when set as the dynamic amount field.
- Fixed a bug where changing a form's Form Type had no effect.
- Fixed a bug in conditional rules logic that prevented fields with handles beginning with a number from working correctly.
5.1.12024-03-06
Added
- Added compatibility with Craft 5 beta (in addition to Craft 4.x).
- Added back support for an optional Empty Option Label for Dropdown fields that are populated by Elements or Predefined options.
- Added support for Automatic Spam Purging in the Lite edition of Freeform.
Changed
- Refactored the Submission Purge functionality to use the Craft queue.
- Updated the Stripe dynamic amount field setting to accept Calculation fields.
Fixed
- Fixed a bug where the default Status set inside the builder was not being respected.
- Fixed a bug where only the first File Upload field would work if using multiple File Upload fields in the form.
- Fixed a bug where the Freeform 4 to 5 migration was setting the Success Behavior setting to Reload for all forms instead of matching what was set in Freeform 4.
- Fixed a bug where converting a field with Array data to a different field type without (e.g. Checkboxes to Dropdown) would trigger an error.
- Fixed a bug where the Calculation field was not being added to the Special field group on migration.
5.1.02024-03-01
Added
- Added a Calculation field type, which allows you to perform dynamic calculations based on user-input values within forms.
- Added a migration from the Express Forms plugin. It will import forms and fields, submissions, and notification templates.
- Added ability to set dynamic notifications using GraphQL.
Fixed
- Fixed a bug where page buttons were not translatable.
5.0.162024-02-28
Fixed
- Fixed a bug where the Stripe payments field would not load correctly when logged out.
5.0.152024-02-27
Changed
- Updated all sample formatting templates to include complete Stripe appearance API customization.
Fixed
- Fixed a bug where connecting to new integrations using OAuth 2.0 were not working due to the redirect URI being empty.
5.0.14.12024-02-23
Fixed
- Fixed some remaining issues related to the migration from Freeform 4.
5.0.142024-02-23
Changed
- Updated the reserved words list to make exceptions for
name
,type
, andusername
as they are more likely to be used and don't appear to cause any issues.
Fixed
- Fixed a bug where Confirm fields were present in email notifications.
- Fixed a bug where the Page Skipping feature for Conditional Rules was not working correctly.
- Fixed a bug where forms would error when Freeform Date fields were mapping to Craft date fields (e.g. Post Date, Expiry Date, etc) in Element integrations.
- Fixed a bug where setting a template override for the submission status was not working.
5.0.132024-02-23
Added
- Added a reserved word validator using Craft's reserved words to check against field handles.
- Added the ability to map directly to the Full Name in the Craft User element integration.
Changed
- Updated Confirm fields to no longer store data when targeting a Password field.
Fixed
- Fixed a bug where creating new forms with special or foreign characters would cause the form not to be created due to an invalid form handle.
- Fixed a bug where the Fill Form Values from the GET Query String setting was not being respected.
- Fixed a bug where editing existing users via the Craft User element integration in a Freeform form did not affect First Name and Last Name fields.
- Fixed a bug where the Page Skipping feature for Conditional Rules was not working at all.
- Fixed a bug where the Stripe Payments field was not working with the Tailwind sample formatting template (and potentially some custom templates).
- Fixed a bug where some sample formatting templates showed unnecessary styling wrappers around Stripe Payments fields.
5.0.122024-02-19
Added
- Added support for querying conditional rules for fields and pages in GraphQL.
Fixed
- Fixed a bug where migrated forms with a Dynamic Recipients field (not User Select) would trigger an error loading/submitting the form.
- Fixed a bug where Regex fields were triggering an error if left empty when submitting the form.
5.0.112024-02-16
Added
- Added a setting to allow users to enable dashes in field handle names.
Fixed
- Fixed several issues related to the migration from Freeform 4, including table prefixes and field handles that are too long getting corrupted.
- Fixed an issue where table prefixes were not being respected on fresh installs.
- Fixed the precedence order for overriding attributes in formatting templates. Overrides in the template loading the form now take precedence over the formatting template overrides within it.
- Fixed a bug where editing/saving a submission inside the control panel could sometimes error about a user ID being
0
. - Fixed a bug where the Stripe Webhook URL was incorrectly including a CP admin path. Any existing Stripe integrations will need to be manually adjusted.
- Adjusted the JS in a few of the sample templates.
5.0.102024-02-08
Added
- Added PKCE (Proof Key for Code Exchange) implementation for integrations using the OAuth2.0 flow.
- Added support for PKCE (Proof Key for Code Exchange) in the Salesforce integration.
Fixed
- Fixed a bug where the CP Submission detail pages were not handling conditional rule logic correctly.
- Fixed a bug where the Send Digest Email job was added to the Craft queue even when turned off.
- Fixed a bug where the Stripe Payments field would not load in the form when the Freeform Script Insertion Location setting was set to Page Header.
- Fixed a bug where the Use Option Labels when Exporting setting was causing exports to fail.
- Fixed a bug where the Freeform was causing Element query executed before Craft is fully initialized errors to be logged in the Craft logs.
5.0.92024-02-07
Fixed
- Fixed a bug where the Mailchimp integration was only showing one audience/mailing list.
- Fixed a bug where the
fieldIdPrefix
parameter was not working. - Fixed a bug where the Conditional Rules value input was not being hidden for empty condition rule types.
5.0.82024-02-06
Changed
- Implemented better cache busting for loading script pointers.
- Implemented a unified entry point for loading scripts based on current settings.
- Implemented a single Stripe script loader and mutation observer.
- Updated dropdown settings to have a clearer distinction between mapped/unmapped items.
Fixed
- Fixed a bug where the Stripe Payment field would sometimes not load on the front end.
- Fixed a bug where all old integrations were not being cleared during the migration from Freeform 4.
5.0.72024-02-02
Added
- Added support for querying page Submit buttons in GraphQL.
Changed
- Updated the HubSpot integration to use v3 of the API and the private app token approach instead of OAuth flow.
Fixed
- Fixed a bug where hyphens were allowed in form and field handles.
- Fixed a bug where the GraphQL cache was not resetting after making form updates.
- Fixed a bug where
maxLength
was included in Text and Textarea field types in GraphQL when not applicable.
5.0.6.12024-02-01
Fixed
- Fixed a bug where integration settings pages were not being displayed in the navigation when
allowAdminChanges
was set tofalse
. - Fixed a bug where the Dynamic Template Notifications feature was not working correctly.
5.0.62024-01-31
Added
- Added the ability to manually render Submit buttons in forms.
Changed
- Adjusted the Manual Form extra template in the demo templates to use the new manual Submit button approach.
Fixed
- Fixed a bug where the replace syntax for template overrides (e.g.
=class
) was not working correctly. - Fixed a bug where
0
was not considered a valid value for a Number field with therequired
validator. - Fixed a bug where regular File Upload fields were not working correctly if the field was set to be required.
- Fixed a bug where field values/default values were not returning correctly in GraphQL queries.
- Fixed a bug where some sample formatting templates did not correctly style the File Upload Drag & Drop fields.
5.0.52024-01-30
Changed
- Updated form rendering to work when iterating over rows directly in the
form
object for better backward compatibility with the Freeform 4.x approach. - Updated
form.successMessage
,form.errorMessage
andfield.rulesHtmlData
to have fallbacks (that are empty) to prevent hard errors in old formatting templates that use them.
Fixed
- Fixed a bug where user permissions were not correctly being considered on form cards on the Forms dashboard page.
- Fixed a bug where the weekly/daily email Digest feature was not always working correctly.
- Fixed a visual bug where the breadcrumbs in the form builder would formulate incorrectly when refreshing the browser.
5.0.42024-01-29
Added
- Added a Page Header option for the Freeform Javascript Insertion Location setting.
Fixed
- Fixed a bug where sites using Postgres would fail during migration.
- Fixed a bug where an error about
includeAttachments
on notification templates could occur for some sites. - Fixed a bug where Captchas would display on all pages instead of just the last page.
- Fixed a bug where misconfigured options fields could crash the Freeform 4 migration.
- Fixed a visual bug where the breadcrumbs in the form builder could formulate incorrectly when saving the form.
5.0.32024-01-26
Changed
- Updated the weekly/daily email Digest to use Craft's queue jobs.
- Updated form rendering to not hard error if
form.customAttributes
is used in an older formatting template. It now logs a notice to the Craft deprecation warning log.