ExpressionEngine Add-ons

Freeform Pro 5.1.1

A powerful form building add-on that gives you full control to create simple or complex forms.

  Overview

What site doesn’t need easy, flexible forms?

Freeform allows you to create simple or complex forms on your ExpressionEngine website. Create simple contact forms or collect more useful information from your visitors with more complex forms. And with Freeform Pro you can use an intuitive and enjoyable drag and drop interface to create forms. With pro you can create multi-page forms, and forms where submissions can be edited by the submitter.

Field type driven, Freeform and Freeform Pro give you the strength and flexibility to adapt to your client’s needs as they change over time.

  Compare

The feature chart below displays a list of features available to Freeform Pro, Freeform and the native EE Email add-on to help you determine the right solution for your site.

Freeform Pro Freeform EE Email
Cost & Support
Cost (USD) $99.95 Free Included
Refund policy 30 days
Support methods Free private help desk Free private help desk Paid private support
Demo Templates Included Included
User-Friendly
Drag and drop interface for creating forms (Composer)
Member group Access permissions for module control panel
Channel entry fieldtype allowing users to attach Composer-based forms to entries
Features
Create basic forms on front end to collect user-inputted data
Create complex custom forms for collecting user-inputted data
Create tell-a-friend style forms
Store, view and edit submission data in database
Display form submissions in front end templates
Editing of entries in front end templates
Notifications for admins and/or submitter
Notifications for user-defined recipients (securely)
Moderate form submissions
Export submission data
Flexibility
Multipage forms
Create unlimited amount of custom fields
Custom formatting templates for Composer-based forms
Custom error pages
Javascript-less inline errors on form submissions
Custom statuses for submissions
Duplicate detection/prevention for each form
Admin notifications for CC & BCC
Create unlimited amounts of custom notification templates
Set certain fields to be Required
Manually add new form submissions through control panel
Spam Protection
CAPTCHA support for forms
Blacklist keywords in form submissions
Field Types (default)
Checkbox
Checkbox Group
Country Select
File Upload
Mailing List
Multi-select
Province Select
Radio Buttons
Select
State Select
Text
Textarea
Exporting
Text
CSV
XML
JSON
3rd Party Support
Support for additional 3rd party fieldtypes

  Compatibility

The latest version of Freeform Pro is 5.1.1. The chart below shows the current technical requirements and compatibility for the latest version of Freeform Pro.

  Compatibility Chart

Freeform Pro currently only supports the latest version of ExpressionEngine plus 1 point version back. The red, vertical dashed line represents the cut-off for EE versions we support. EE versions to the right of that line are no longer supported by us with our add-ons. The icon represents an update specifically for compatibility with that EE version. Please upgrade to this add-on version before upgrading to that version of ExpressionEngine.

Date formats below are: M/D/YYYY. As always, we recommend that you always use the latest versions of our add-ons. However, this chart may answer some of your questions about upgrading the Solspace Freeform Pro add-on and ExpressionEngine, and reduce the risk of incompatibility. This chart also serves as a guide to see when support for the latest version of ExpressionEngine becomes available.

EE 3.4.x EE 3.3.x EE 3.2.x EE 3.1.x EE 3.0.x EE 2.11.x EE 2.10.x EE 2.9.x EE 2.8.x EE 2.7.x EE 2.6.x EE 2.5.x
5.0.4+ 6/22/2016
5.0.2+ 4/19/2016
5.0.0 3/14/2016 5.0.0 3/14/2016
Unavailable
4.2.4+ 9/23/2015
4.2.2 2/18/2015 4.1.7 4/8/2014 4.1.6 4/2/2014 4.1.2 9/17/2013 4.0.12 4/23/2013 4.0.10 12/21/2012

  What People Are Saying

We evaluated several web form solutions for ExpressionEngine and quickly identified Freeform as the best solution for our needs. With Freeform, we were able to get our client’s sites to market quickly and easily train new users on the platform as they grow.

bcw

We have been able to give clients the ability to make the forms they need with little involvement from us!

Hendrik-Jan Francke

Must have addon for those looking for any type of form solution!

soopafly

Pretty much everyone who develops sites using ExpressionEngine is going to use Freeform at some point. I used Freeform Pro on a relatively large website to give the administrators some freedom over their forms by using the Composer functionality.

Damien Buckley

@solspace - using Freeform for the first time in a while. Nice polish on the UI - not afraid to put the client in front of this now.

Freeform 4 is bloody good, it has to be said. Haven’t used the Pro version but feel I may need to.

@solspace new freeform module is really neat. Made my life a lot easier on a new project I just completed

Rigged up a @solspace Freeform Pro composer template to work with Bootstrap and Foundation. Very cool. Now #EE forms are REALLY easy.

@solspace Thank you for great support today! Freeform is the most useful #eecms add-on. Amazing what you can get it to do!

I **really** like the latest version of @solspace’s Freeform. Huge improvement over an already great add-on. #eecms

Can’t get over how good the free version of Freeform Pro is from @solspace such a time saver. #eecms

Wow, Freeform 4 really is a thing of beauty. @solspace #eecms

@solspace Damn, this new freeform 4 is pretty!

  Documentation     Changelog

Changelog

5.1.1 (November 3, 2016) #

  • Fixed a bug where Freeform would show an error when accessing its control panel with PHP 5.3.
  • Fixed a bug where Freeform wouldn't work with third party Freeform field types.

5.1.0 (September 22, 2016) #

  • Added ability to customize and set a link to Freeform entries on the front end from the Freeform control panel Entries view, thus allowing for a customized and/or printer friendly view of submissions.
  • Fixed a bug where Freeform Submissions/Entries view in control panel would not respect the "Show field on submissions/moderation CP page?" settings for each field.
  • Fixed a bug where exporting and Field Layout editor in CP Entries view would sometimes show a special character instead of a space for some column titles.
  • Fixed a bug where the Fields list in the left column of Composer would sometimes glitch if the form was short/small enough.
  • Fixed a bug where setting the Dynamic Recipients field to required in Composer would not show that it was set to required.

5.0.5 (August 19, 2016) #

  • Fixed a bug where the 'Field Length' input field would show up twice when creating/editing Freeform fields.
  • Fixed a bug where the 'Submit' button in Composer view was not styled correctly.
  • Fixed a bug where pagination did not work correctly in Submissions view in Freeform control panel.
  • Fixed a bug where an error would show up when editing Freeform fields if no forms existed.

5.0.4 (June 22, 2016) #

  • Updated for compatibility with ExpressionEngine 3.4.
  • Fixed a bug where the short name auto-generating JS was automatically overwriting existing short names when editing forms, fields, etc.
  • Fixed a bug where keyword banning setting was not working.
  • Fixed the "IS_EMPTY" search keyword to include or exclude NULL fields accordingly.

5.0.3 (April 29, 2016) #

  • Added support for PHP7.

5.0.2 (April 19, 2016) #

  • Added Troubleshooting guide to Demo Templates.
  • Updated User for compatibility with ExpressionEngine 3.3's new icon set in the control panel.
  • Fixed a bug where the 'error_page' feature returned an error.
  • Fixed a bug with visual inconsistencies with "Add to Form" fields that spanned more than 1 line.

5.0.1 (March 18, 2016) #

  • Added Bootstrap styled/formatted Composer Template example to Demo Templates.
  • Updated the "Form Fields" section interface when creating EE Template-based forms to allow re-ordering of custom fields.
  • Fixed a bug where Freeform extension hooks were using a deprecated call.

5.0.0 (March 14, 2016) #

  • Updated Freeform to be compatible with ExpressionEngine 3+ (only). Freeform 4.x is required for ExpressionEngine 2.x.
  • Added demo templates to Freeform to help demonstrate and teach usage of add-on.
  • Added orderby="", sort="" and limit="" parameters to Freeform:Form_Info tag.
  • Removed Mailing List fieldtype, as it is no longer supported in ExpressionEngine 3.
  • Removed Freeform helper Accessory, as Accessories are no longer supported in ExpressionEngine 3.
  • Removed Freeform 3.x Migration utility. Freeform 3.x users should upgrade to Freeform 4.x on EE2 first, then to EE3 and Freeform 5.x.
  • Removed 'text_direction_row' helper function for custom fieldtypes.
  • Removed underscored '_yes_no_row' field helper. Use 'yes_no_row'.

4.2.5 (June 22, 2016) #

  • Added support for PHP7.
  • Fixed a bug where file downloads inside control panel did not work at all.
  • Fixed a bug where keyword banning setting was not working.
  • Fixed the "IS_EMPTY" search keyword to include or exclude NULL fields accordingly.
  • Fixed a bug where search criteria that had the same words as a Freeform custom field short name would show no results from entries.
  • Fixed a bug where the prevent_duplicate_on="ip_address" parameter was not being checked correctly.

4.2.4 (September 23, 2015) #

  • Fixed a bug where multi-page forms in EE 2.10+ could have issues using the 'previous page' submit feature.

4.2.3 (June 23, 2015) #

  • Added a {freeform:attachment_count} variable to the Freeform:Entries tag to display the total number of file attachments for a Freeform entry.
  • Fixed a bug in notification emails containing attachment info where {fileurl} would display a URL-encoded URL instead of a regular URL.
  • Fixed a bug where EE 2.10.x's broken legacy support for mime types was causing errors downloading large exports.
  • Fixed a bug where when using more than 1 Freeform fieldtype fields, despite having different return URL's set, one would overwrite the next one's return URL.
  • Fixed some display issues with Freeform accessory.
  • Fixed formatting and display of delete confirmation pages.

4.2.2 (February 18, 2015) #

  • Added {composer:field_description} variable for use in Composer Templates.
  • Added a delete option for uploaded files in the control panel entry edit screen.
  • Updated styles in preference area to allow for easier reading of descriptions.
  • Fixed a bug where entry statuses would return to default status on edit, unless the new/current status was included on submit.
  • Fixed a bug where the Freeform:Entries tag could merge results that were exactly the same (ex: 2 forms with the exact same fields, data, and entry ID's).
  • Updated nation ban checking to avoid errors on local machines.

4.2.1 (February 2, 2015) #

  • Added {freeform:form_id} variable to outer and inner template variables with Freeform:Form/Edit.
  • Added index to 'exp_freeform_params' database table to assist in faster deletion calls.
  • Updated duplicate prevention checking to now always return FALSE on an empty field.
  • Updated File Upload Field upload options to now be restricted to the site that the field was created on (affects MSM installs), unless the 'Show Data From All Sites' preference is enabled.
  • Fixed a bug where edit data wasn't being pulled when saving an edited form, thus affecting items like file uploads regarding required="" params and other issues.
  • Fixed a bug where editing a form entry with more than one file upload field would only show a link to the first upload fields' uploads.
  • Fixed a bug where deleting a file from the 'View Files' control panel interface for the File Upload fields would delete all files for the entry instead of just the selected files.
  • Fixed a bug where the 'File Field Uploads' button in the Form Entries manager would only show a single field's uploads.
  • Fixed a bug where mailing list caching was overzealous, causing multiple mailing list fields in the same form to always show the same lists.
  • Fixed a bug where the 'Countries' fieldtype could come up empty in some situations.
  • Fixed a bug where table sorting was not working in the Control Panel in EE 2.9.x+.
  • Fixed a bug where a blank 'Allowed File Types' choice would give an incorrect error message when creating a File Upload field.
  • Fixed a bug where percent symbols in Composer paragraph text could cause a javascript error that prevents the text from being saved.
  • Fixed a bug where Freeform Fields and Composer Templates from other sites would show up as options in Composer when the 'Show Data From All Sites' preference was disabled.

4.2.0 (July 25, 2014) #

  • Added email logging feature to assist in the troubleshooting of sending notification emails.
  • Fixed a bug where migrated fields from Freeform 3.x with illegal characters could cause errors with entry fetching.
  • Fixed a bug where errors could occur if another add-on loads the template parser before notification parsing occurs.

4.1.8 (May 12, 2014) #

  • Added a 'freeform:field_errors' conditional, for use with inline errors along side the 'freeform:general_errors' conditional.
  • Fixed a bug where the 'pending' link in the accessory pointed to all entries instead of the entry moderation page.
  • Fixed a bug where the stripslashes() call to final template on Freeform:Form was affecting fields with HTML5 regex validation.
  • Fixed a bug where CAPTCHA checking was not accounting for server offset settings and could result in failed CAPTCHA's, even when the input matched.
  • Fixed a bug with 'no_results' where template errors could occur in some situations.

4.1.7 (April 8, 2014) #

  • Fixed a bug where Freeform would conflict with some other add-ons in EE 2.8.
  • Fixed a bug where 'session_id' fetching was causing errors in EE 2.5.x.

4.1.6 (April 2, 2014) #

  • Fixed a bug where 'next_page' and 'previous_page' were incorrectly being parse protected in the {freeform:pagination_links} variable pairs.
  • Fixed a bug in notifications with the 'From Name' and 'From Email' settings.

4.1.5 (March 22, 2014) #

  • Fixed a bug where Freeform could error on updating module.

4.1.4 (March 20, 2014) #

  • Updated for compatibility with ExpressionEngine 2.8.
  • Updated secure forms handling for EE 2.8.
  • Updated documentation regarding 'require_captcha' parameter and logged in members. Freeform cannot override the EE 'Require Member Captcha' preference when set to 'No'.
  • Added detection for PHP 5.3 when directory mapping installable fields. This adds a performance boost when possible.
  • Fixed a bug where the orderby="random" parameter wasn't working in Freeform:Entries.
  • Fixed a bug where template parsing in Composer preview and notifications weren't utilizing the full abilities of EE's template parser and added 'missing template_post_parse' hook.
  • Fixed a bug where 'from_email' and 'from_name' were not accepting changes from the 'freeform_module_user_notification', 'freeform_module_admin_notification', and 'freeform_recipient_email hooks' via '$this->variables'.
  • Fixed a bug where having parameters on multiple lines with {freeform:page:1} variable pairs could result in a PHP error.
  • Fixed a bug where Captcha was being required for logged in members even with the EE 'Require Member Captcha' preference set to 'No'.

4.1.3 (October 16, 2013) #

  • Fixed a bug where default fieldtypes might error on install on Windows servers.
  • Fixed a bug where editing a form could show PHP errors in the control panel.
  • Fixed a bug where form entry filtering was failing in IE8 due to the use of an old reserved keyword in javascript.

4.1.2 (September 17, 2013) #

  • Fixed a bug where the Freeform fieldtype would trigger errors with PHP 5.2.x and EE 2.7.
  • Adjusted random hash used to store dynamic recipient emails because ISS servers incorrectly reuse unique values.

4.1.1 (September 16, 2013) #

  • Fixed a bug where the Freeform fieldtype could error on update in EE 2.7.
  • Fixed a bug where the Freeform fieldtype was displaying unparsed tags and a PHP error in the post publish preview area in EE 2.7.

4.1.0 (September 13, 2013) #

  • Added an option for exports to format entry and edit dates on output using the CP date format preference.
  • Added ability to put attribute parameters on the freeform:submit variable (ex: {freeform:submit attr:value="Submit, yo!" attr:class="submission-power"}).
  • Added {freeform:field_description} variable to the Freeform:Form {freeform:all_form_fields} variable pair.
  • Added accessory to show submissions and field names for forms to aid in template writing.
  • Added {freeform:submit_previous} variable in Freeform:Form tag to allow moving backward in multipage forms after submitting data on the current page so it is not lost.
  • Added "Submit Previous" option for Composer-based forms.
  • Added Sticky controls option for Composer so insertable elements in the left navigation are fixed on long forms. Default on.
  • Added code to help prevent issues with some ISP's and sending notifications where subject lines containing newlines might cause the emails to fail to send.
  • Updated performance with Composer output with multipage forms. Now pages are only rendered if they are detected as the current page. This is enabled by default and can be disabled, if need be, with the disable_mp_performance="yes" parameter.
  • Fixed a bug where the Freeform Channel fieldtype could show PHP errors in ExpressionEngine 2.6.
  • Fixed a bug where entry dates in the CP would sometimes show Epoch instead of the proper, localized ### of the date in versions of ExpressionEngine less than 2.6.
  • Fixed a bug where strings in the Freeform:Form 'page_marker' parameter containing regular expression symbols would not correctly move to subsequent pages.
  • Fixed a bug where HTML was not allowed in multi-item lists used in Radio, Checkbox Group, Select, and Multi-select fieldtypes.
  • Fixed a bug where protocol-agnostic URL's (starting with '//' instead of 'http' or 'https' specifically), were not properly accepted by any Freeform tags.
  • Fixed a bug where MySQL errors could occur when searching on multiple form ID's with Freeform:Entries.
  • Fixed a bug where searching for entries in the Freeform CP when user sessions are using session ID's and cookies at the same time was sending the user to the login page.
  • Fixed a language error in Preferences.
  • Fixed a bug where editing a multipage form with a required file upload would report the file field not filled if no new file was added but the previous one was kept.
  • Fixed bugs where dynamic recipients and user recipients were not getting data properly carried over when using inline errors and multipage navigation back and forth when using Composer.
  • Fixed a bug where malformed field attributes using {freeform:field:FIELD_NAME} would result in a PHP error instead of simply failing to accept the attributes.
  • Fixed a bug in EE 2.7+ where forms would not function with CSRF protection enabled.
  • Fixed a bug where some types of errors would not work properly with custom errors pages.
  • Fixed a bug where duplicating a form with fields chosen could result in an error on the edit screen for the duplicated form.

4.0.12 (April 23, 2013) #

  • Added {FIELD_NAME:form_id} to Freeform's Channel fieldtype tag parsing.
  • Added a preference for disabling the 'Missing Submit Button' warning in Composer.
  • Added a preference (default on) to protect required data from third party extensions that accidentally malform needed output on Freeform extension hooks.
  • Updated for compatibility with ExpressionEngine 2.6+.
  • Fixed a bug where '%id%' was not being replaced in radio attributes.
  • Fixed a bug where IP address and member ID were not being checked for duplicates on save form.
  • Fixed a bug where a member ID of 0 could result in duplicates checked by IP address on accident.
  • Fixed a bug where a file upload error happening on save after validate might cause a PHP error.
  • Fixed a bug with migrations where table renaming could fail.
  • Fixed a bug where having '0' as a multi-item list value (Select, Checkbox Group, Radio, etc), could result in single choices always being recorded as containing item '0' as well as the user choice.
  • Fixed a bug where when submitting a Composer-based form without a Submit button, getting the 'submit button missing' warning, then clicking 'continue anyway', would result in an error instead of properly saving.
  • Fixed a bug where PHP errors could occur when installing the fieldtype by itself.
  • Fixed a bug where PHP errors could occur when downloading files from the file upload menu in the control panel.

4.0.11 (March 14, 2013) #

  • Added a quicksave button to Freeform Composer.
  • Added {composer:column_count} and {composer:field_count} variables to the Freeform:Composer tags.
  • Added download buttons to the control panel entries file upload view area for force downloading files.
  • Added links to file upload preference pages in the control panel entries file upload view area.
  • Added 'data.return_url' to Freeform:Form AJAX submit response due to issues with 'data.return' and IE8's JS interpreter seeing it as a keyword 'return'.
  • Updated Freeform to now allow automatic updating rather than requiring manual updating in the module at all times.
  • Updated the control panel entries file upload view area to build its own links to files in order to mitigate issues with files uploaded above root.
  • Updated default output of form methods to be lowercased 'post' to assist users in complying with older XHTML formats.
  • Fixed a bug where the Hidden fieldtype (Pro) would not accept 'attr:' parameters.
  • Fixed a bug where some fields were outputting entities for plain text emails.
  • Fixed a bug where the 'freeform:mp_data:FIELD_NAME' and 'freeform:edit_data:FIELD_NAME' variables from multi-select fields would output unparsed data.
  • Fixed a bug where an incorrect 'Invalid Form id(s) submitted' error would occur when in fact the error is caused due to missing POST data when submitting Freeform:Form.
  • Fixed a bug where the 'date_range_start' and 'date_range_end' parameters on the Freeform:Entries tag were not properly accepting all types of PHP datetime formats: http://php.net/manual/en/datetime.formats.php
  • Fixed a bug where multiple status filtering (status="status1|status2") was not working in Freeform:Entries.
  • Fixed a bug where fields with multi-item choices (Multiselect, Checkbox Group, Radio), would not respect the 'backspace' parameter in Freeform:Entries.
  • Fixed a language issue in the control panel where instructions notate '{all_form_fields}' where it should be saying '{freeform:all_form_fields}'.
  • Fixed a bug where Notification templates using the '{all_form_fields}' variable pair were not ordering data by the field order set in the form edit screen in the CP and were going in Alphabetical order instead.
  • Fixed a bug where some Freeform Composer and Control Panel Entries items via JavaScript wouldn't properly display some foreign characters.
  • Fixed a bug where some older upload prefs for migrated file upload fields might not be counted.
  • Fixed a bug where editing entries in Textarea fieldtypes would incorrectly encode HTML.
  • Fixed a bug where the 'recipient_email_user' and 'recipient_email' fields were not properly requirable in Composer or in Freeform:Form.
  • Fixed a bug where migrations would add a field of type VARCHAR to legacy tables and potentially overflow the max fields available and throw MySQL errors. Changed type to TEXT.
  • Fixed a bug where migrations from Freeform 3.x would halt if a legacy field was using a MySQL reserved word such as 'group'.
  • Fixed a bug where migrations of text fields would not carry over the field length settings and would error on import.
  • Fixed a bug where requiring File Upload field types would not properly error when no files were uploaded.
  • Fixed a bug where requiring fields that pass arrays to PHP, like Checkbox Groups, could result in a PHP error on submission of forms.
  • Fixed a bug where the {freeform:filename}, {freeform:extension}, {freeform:filesize}, and {freeform:fileurl} variables were not parsing correctly when used in the {freeform:field:FIELD_NAME} variable pair in Freeform:Entries.
  • Fixed a bug where using notify_on_edit="yes" with Freeform:Edit would only email edited form data and not all form data including unedited data.
  • Removed unnecessary trimming of Freeform Composer output data.

4.0.10 (December 21, 2012) #

  • Fixed a bug where MySQL errors would occur on any template form in ExpressionEngine 2.5.4+.

4.0.9 (December 17, 2012) #

  • Added offline documentation files to download package.
  • Fixed a bug where field validation was not being run the same between the template ### of new form entries and the control panel version, possibly causing errors for extension hooks.
  • Fixed a bug where field errors that exist prior to fieldtype validation would not be prefixed for generic output types.
  • Fixed a bug where the "last_page" and "multipage" class vars were missing from the control panel class object and could cause errors with entry hooks.
  • Fixed a bug where some class variables for "edit", "last_page" and "multipage" might not be available to hooks in the Freeform:Form tag.
  • Fixed a bug where putting multiple forms on the same page could result in the same form being displayed twice instead of two different forms as expected.
  • Fixed a bug where a channel would not show up in multi-input fieldtypes as an option (multi-select, select, checkbox group, radio), if it didn't have any field groups assigned to it.
  • Fixed a bug where multi-input fieldtypes would add blank rows at the end of output choices (multi-select, select, checkbox group, radio).
  • Fixed a bug in both Freeform:Edit and multipage forms where using "inline_errors" would not carry over the inputs after an error had occurred.

4.0.8 (November 19, 2012) #

  • Added a safety net for the freeform_module_insert_begin hook that checks for a returned input array and if none, replaces with the input array existing before the hook call. This prevents irrecoverable errors with extensions not returning the form input array.
  • Fixed a bug where running multiple Freeform:Entries tags in the same template could sometimes cause errors.
  • Fixed a bug where the wrong tag for {attachment_count} was in the notification builder.
  • Fixed a bug where blank values in the first line of multi-item fieldtypes were being filtered and removed.
  • Fixed a bug where the "Reply To Email" field for notifications was not being parsed for variables.
  • Fixed a bug where the a value of "0" was not being accepted as a valid input when a field was set to required.
  • Fixed a bug where the default formatting for dates was "Y-m-d- H:s" instead of "Y-m-d- H:i".
  • Fixed a bug in email notifications where multi-select data wasn't being parsed to it's correct display data, and was instead showing raw data.
  • Fixed a bug where using the multipage_page_names="" parameter would require the use of the multipage_page="" parameter and wasn't auto-detecting segments.
  • Fixed a bug where the offset="" parameter was not functioning correctly for Freeform:Entries.
  • Fixed a bug where the {freeform:absolute_count} variable in Freeform:Entries was not adjusting based on the 'offset' parameter.

4.0.7 (October 3, 2012) #

  • Added an option to File Upload fields to individually ignore system XSS filtering settings in case users are experiencing issues with uploading files and do not want to disable XSS filtering system wide.
  • Modified 'recipient_email' to no longer be a reserved field name in order to allow the storage of recipient emails in a custom field.
  • Fixed a bug where the File Upload field could show an error while trying to throw a legitimate file upload error.
  • Fixed a bug where forms could sometimes refuse to submit if using Captcha in Composer.
  • Fixed a bug where uploading files in locales where commas are used to notate decimal places could cause SQL errors.
  • Fixed a bug where JavaScript errors could occur if the server changed "application/json" response types to "text/html".
  • Fixed a bug where deleting entries with uploaded files could result in an error.
  • Fixed a bug where having Captcha enabled in the system, but not having a captcha field in a composer layout would show an error when a user submitted the form on the front end.
  • Fixed a bug where Admin Notification Emails would not show errors for invalid emails on the initial Form creation screen.
  • Fixed a bug where used Captcha's wouldn't properly delete in some situations.
  • Fixed a bug where fields added to forms that received no input on posted forms could cause MySQL errors when MySQL strict mode is enabled.

4.0.6 (September 5, 2012) #

  • Added the "allow_status_edit" parameter to the Freeform:Form and Freeform:Edit tags to allow the submission of a "status" field that can override the default status.
  • Added the {freeform:statuses} variable pair to the Freeform:Form and Freeform:Edit tags to populate existing statuses for a form field for setting/changing status of an entry.
  • Added a 'Select All' checkbox to the migration utility to allow selecting of all collections to migrate.
  • Fixed a bug where the default Composer template was not calling Captcha with the "freeform:" prefix.
  • Fixed a bug where the selected composer template would not be used when previewing Composer output.
  • Fixed a bug where statuses that were adjusted through the "status" parameter were not being saved.
  • Fixed a bug with the Freeform 3.x -> 4.x migration utility where errors could occur with the MySQL strict flag enabled.
  • Fixed a bug where the default date formatting on the "entry_date" insert for notifications was not using '%' as required for ExpressionEngine formatting.
  • Fixed a bug where multi-option type fields would incorrectly suggest blank values for a value/label type setup.
  • Fixed a bug where channels with empty field groups could show errors when using multi-select type fields.
  • Fixed a bug where sending Base64 encoded data, containing UTF-8 special characters, to the browser and decoding it client side would result in garbled characters instead of the intended unicode output.
  • Fixed a bug where the "secure_action" and "secure_return" parameters might not properly enable HTTPS URLs.
  • Fixed a bug where the "form:action" parameter would add a second action instead of replacing the original on the form element.
  • Fixed a bug where file names for uploaded files were not getting properly renamed.
  • Fixed a bug where file names with spaces in them would cause errors and send a blank email body.
  • Fixed a bug where migrating from a lower ### of Freeform that did not contain a preferences table could throw an error on upgrade.
  • Fixed a bug where AJAX templates could error out when asp_tags are enabled in PHP.ini.
  • Fixed a bug where exports could run out of memory when many fields were in a single form.
  • Fixed a bug where a language variable could collide with other addons and report incorrect error information.
  • Fixed a bug where the "matching_fields" parameter would display a PHP error.

4.0.5 (August 14, 2012) #

  • Added the ability to override the return URL of a form with a URI value in a field named 'return'.
  • Moved the hooks: 'freeform_module_user_notification', 'freeform_module_admin_notification', and 'freeform_recipient_email' to occur after notification template parsing in order to work more like they did in Freeform 3.x.
  • Modified custom CP CSS to better override popular CP themes: Sassy CP, NSM Override, and Nerdary, and adjusted the non-custom CP theme to be better compatible with the afore mentioned.
  • Modified 'recipient_user_email' to no longer be a reserved field name in order to allow the storage of user emails in a custom field.
  • Removed the prevention of naming fields 'subject' and 'message' and adjusted the migration script for Freeform 3.x -> Freeform 4.x to reflect it.
  • Fixed a bug in migrations where fields might get accidentally duplicated if they were in more than one collection on migration.
  • Fixed a bug where putting the ip2nation check in the 'config.php' file would trigger a nation ban check even if the ip2nation module were not installed.
  • Fixed a bug where the missing required field errors would append the field name for inline errors and standard ajax error returning when it should only append for standard error output or custom error page templates (with or without ajax calls to).
  • Fixed a bug where File Upload fields could run into issues with MySQL strict mode enabled.
  • Fixed a bug where updating from Freeform Free to Freeform Pro would not automatically install the extra default field types.
  • Fixed a bug where deleting fields from the same form at the same time could cause a DB error to occur.
  • Fixed a bug where having no available custom fields would give a PHP error when attempting to edit a form and possibly prevent it from saving.

4.0.4 (August 3, 2012) #

  • Fixed a bug where dynamic recipient email notifications were not sending.
  • Fixed a bug where spam prevention was not storing all forms of user initiated emails.
  • Fixed a bug where storing user initiated emails in the spam prevention database table could result in a MySQL error.
  • Fixed a bug where admin notification template ID's were not properly being saved in form settings area.
  • Fixed a bug where field names with hyphens would cause errors when retrieving entry data.
  • Fixed a bug where the auto "short_name" creating script allowed full stops (.) when it shouldn't have. This affects the creation of Forms, Fields, Notifications, and Composer Templates.
  • Fixed a bug where the Free ### of Freeform could encounter a PHP error when attempting to delete a form.
  • Removed the dummy EXT file as it was causing confusion on installation.

4.0.3 (July 29, 2012) #

  • Fixed a bug where the Freeform Channel Fieldtype would not properly save the ID of the chosen form.

4.0.2 (July 26, 2012) #

  • Added checks for current tables during migration to make sure they are Freeform 4.x schema and not legacy 3.x tables.
  • Fixed a bug where a safety check for form updates that created missing tables was not working.
  • Fixed a bug where updating from Freeform 4 to Freeform Pro was not properly finishing the update.
  • Fixed a bug where passing arrays of inputs to a text based field would cause an error with notifications.
  • Fixed a bug where migrating tables could accidentally leave over an incorrect legacy table and prevent further migration.
  • Fixed a bug where File Upload field types would not properly save settings.
  • Fixed a bug where only comma delimited emails worked for notifications and not both pipe and comma delimited functioned as the documentation suggested.

4.0.1 (July 25, 2012) #

  • Removed a check for database credentials that would error on bootstrapped config files.

4.0.0 (July 25, 2012) #

  • Completely re-wrote codebase.
  • Freeform is now only ExpressionEngine 2.x compatible (EE 2.4+).
  • Ability to upgrade to and downgrade from Freeform Pro.

Forms * Most variables, variable pairs, and conditionals in template tags are now prefixed with "freeform:". * Collections are now individual forms created in the Freeform control panel, and the collection="" parameter is now either form_id="" or form_name="", where form_name is the short name. * Added ability to detect duplicates on any field as well as member ID and IP address. * Added optional duplicate redirect parameter. * Added matching_fields="" parameter to allow for checks to see if two values across two fields match (ex: confirming email address). * All form attributes, including the onsubmit parameter are available as form:ATTRIBUTE_NAME (ex: form:class, form:onsubmit, etc). * File uploads are now handled by the File Upload fieldtype. * Mailing List inclusion is now handled by the Mailing List fieldtype. * Added inline error handling to forms. * Added automatic AJAX support. * Added ability to moderate entries in the CP by having them assigned to "Pending" status. * Added optional HTML bracket encoding to Text and Textarea fieldtypes for security (default enabled). * Added Freeform:Form_Info tag for showing all available forms, or the details of a given form.

Notifications * Notifications now parse all template tags and variables. * Added ability to set a different notification template for all 4 notification types. * Added "all_form_fields" variable pair for Notification templates for more flexible template construction. * Added searchable, clickable field list to Notification template editing in control panel. * Added a Reply-To setting for notifications.

Control Panel * Added new control panel UI theme by Eric Miller Design (option to disable in preferences). * Added ability to duplicate Forms, Fields, and Notifications in the control panel. * Added ability to create new entries in the control panel. * Added customizable and savable entry table layout, per user, per form. * Entries table now has a moderation mode where entries with the status 'pending' can easily be approved or deleted.

Freeform Pro Only Features * Third Party custom field types are installable. * Drag and drop forms can be created in Composer. * Editable Composer form output templates. * Additional default custom fields: * Checkbox * Checkbox Group * Country Select * Hidden Field * Select * Multi Select * State Select (US) * Province Select (Canadian) * Radio Buttons * Export entries as XML and JSON in addition to the default CSV and Text. * Front end editing with Freeform:Edit and Freeform:Composer_Edit tags. * Ability to call a Composer-based form in ExpressionEngine entries through a Freeform custom channel field. * Custom error page output. * Spam keyword blocking. * Custom form statuses. * Multipage forms with automatic and manual page triggers.

  Pro Services

Need help with an implementation of Freeform Pro? Need Freeform Pro to do more? We're available for hire!

If you're interested in any of the above services, or have questions about them, fill out the form below to begin our conversation!

  EE Aftercare

Ongoing repairs, additions, and adjustments are a normal part of the life cycle of a web site. With EE Aftercare, you have someone on your team who you can trust to take care of your web site. Solspace brings years of experience in developing, refurbishing, and supporting EE web sites. With EE Aftercare, you have a high-end developer on your team, working with you to have the best and most effective possible web presence.

Learn more about EE Aftercare