Skip to main content

Changelog

6.0.42018-11-21

Fixes

  • Fixed a bug where the search:field="value" parameter did not work with exact searching.

6.0.32018-04-30

Changes

  • Further updates for compatibility with ExpressionEngine 4.2+. Addresses UI issues with assigning fields to forms and editing field layouts in Submissions CP view.

6.0.22018-04-24

Changes

  • Updated for compatibility with ExpressionEngine 4.2+. Addresses a critical issue with assigning fields to forms and editing field layouts in Submissions CP view.

6.0.12018-03-01

Fixes

  • Fixed a bug where Freeform Classic would not install on sites with utf8mb4 character set.
  • Fixed a bug where the Country fieldtype was using a deprecated call.
  • Fixed a bug where some Freeform template tags were using deprecated assign_parameters() calls.

6.0.02017-12-04

Important: Freeform Classic has been discontinued but will continue to be available until sometime in 2018. Users should strongly consider switching to the new Freeform (A.K.A. Freeform Next).

Changes

  • Updated for compatibility with ExpressionEngine 4+ (only). For EE3, please use Freeform Classic 5.x.
  • Renamed Freeform Pro / Freeform Classic Pro to just Freeform Classic (free version is no longer available).

5.3.02017-12-04

Important: Freeform Classic has been discontinued but will continue to be available until sometime in 2018. Users should strongly consider switching to the new Freeform (A.K.A. Freeform Next).

Changes

  • Renamed Freeform Pro / Freeform Classic Pro to just Freeform Classic (free version is no longer available).

5.2.22017-10-17

Fixes

  • Fixed a bug where Field Layout Editor (in Submissions list) would not work on MSM sites.

5.2.12017-09-05

Fixes

  • Fixed a bug where fields would be displayed in alphabetical order instead of Composer field order when editing/viewing Freeform submissions in CP.
  • Fixed a bug where Fields from other MSM sites would show up in Fields area while creating/editing a form when 'Show Data from All Sites' preference was set to NO.

5.2.02017-06-06

Changes

  • Renamed Freeform / Freeform Pro to Freeform Classic / Freeform Classic Pro respectively, in light of Freeform Next launch.

Fixes

  • Fixed a bug where email notification templates using the {all_form_fields} variable pair would not respect the field order set in Composer.

5.1.22016-12-29

Fixes

  • Fixed a compatibility issue with ExpressionEngine 3.4.5+.
  • Fixed a bug where the custom error page feature would not work when a template is saved as a file.

5.1.12016-11-03

Fixes

  • 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.02016-09-22

Additions

  • 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.

Fixes

  • 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.52016-08-19

Fixes

  • 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 the 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.42016-06-22

Changes

  • Updated for compatibility with ExpressionEngine 3.4.

Fixes

  • 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.32016-04-29

Additions

  • Added support for PHP7.

5.0.22016-04-19

Additions

  • Added Troubleshooting guide to Demo Templates.

Changes

  • Updated User for compatibility with ExpressionEngine 3.3's new icon set in the control panel.

Fixes

  • 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.12016-03-18

Additions

  • Added Bootstrap styled/formatted Composer Template example to Demo Templates.

Changes

  • Updated the "Form Fields" section interface when creating EE Template-based forms to allow re-ordering of custom fields.

Fixes

  • Fixed a bug where Freeform extension hooks were using a deprecated call.

5.0.02016-03-14

Additions

  • 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.

Removals

  • 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.52016-06-22

Additions

  • Added support for PHP7.

Fixes

  • 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.42015-09-23

Fixes

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

4.2.32015-06-23

Additions

  • Added a {freeform:attachment_count} variable to the Freeform:Entries tag to display the total number of file attachments for a Freeform entry.

Fixes

  • 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 URLs 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.22015-02-18

Additions

  • Added {composer:field_description} variable for use in Composer Templates.
  • Added a delete option for uploaded files in the control panel entry edit screen.

Changes

  • Updated styles in preference area to allow for easier reading of descriptions.
  • Updated nation ban checking to avoid errors on local machines.

Fixes

  • 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 IDs).

4.2.12015-02-02

Additions

  • 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.

Changes

  • 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.

Fixes

  • 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 field's 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.02014-07-25

Additions

  • Added email logging feature to assist in the troubleshooting of sending notification emails.

Fixes

  • 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.82014-05-12

Additions

  • Added a freeform:field_errors conditional, for use with inline errors alongside the freeform:general_errors conditional.

Fixes

  • 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 the 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 CAPTCHAs, even when the input matched.
  • Fixed a bug with no_results where template errors could occur in some situations.

4.1.72014-04-08

Fixes

  • 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.62014-04-02

Fixes

  • 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.52014-03-22

Fixes

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

4.1.42014-03-20

Additions

  • Added detection for PHP 5.3 when directory mapping installable fields. This adds a performance boost when possible.

Changes

  • Updated for compatibility with ExpressionEngine 2.8.
  • Updated secure forms handling for EE 2.8.
  • Updated documentation regarding the require_captcha parameter and logged-in members. Freeform cannot override the EE 'Require Member Captcha' preference when set to 'No'.

Fixes

  • 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 a 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.32013-10-16

Fixes

  • Fixed a bug where default fieldtypes might error during installation 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.22013-09-17

Fixes

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

4.1.12013-09-16

Fixes

  • 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.02013-09-13

Additions

  • Added an option for exports to format entry and edit dates on output using the CP date format preference.
  • Added the ability to put attribute parameters on the freeform:submit variable (e.g.: {freeform:submit attr:value="Submit, yo!" attr:class="submission-power"}).
  • Added the {freeform:field_description} variable to the Freeform:Form {freeform:all_form_fields} variable pair.
  • Added an accessory to show submissions and field names for forms to aid in template writing.
  • Added the {freeform:submit_previous} variable in the 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 ISPs and sending notifications where subject lines containing newlines might cause the emails to fail to send.

Changes

  • 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.

Fixes

  • 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 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 URLs (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 IDs with Freeform:Entries.
  • Fixed a bug where searching for entries in the Freeform CP when user sessions are using session IDs 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 error 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.122013-04-23

Additions

  • 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.

Changes

  • Updated for compatibility with ExpressionEngine 2.6+.

Fixes

  • 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 validation 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.112013-03-14

Additions

  • 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.

Changes

  • 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.

Fixes

  • 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.
  • 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.

Removals

  • Removed unnecessary trimming of Freeform Composer output data.

4.0.102012-12-21

Fixes

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

4.0.92012-12-17

Additions

  • Added offline documentation files to download package.

Fixes

  • Fixed a bug where field validation was not being run the same between the template version 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.82012-11-19

Additions

  • Added a safety net for the freeform_module_insert_begin hook that checks for a returned input array and if none, replaces it with the input array existing before the hook call. This prevents irrecoverable errors with extensions not returning the form input array.

Fixes

  • 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 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 its 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 {freeform:absolute_count} variable in Freeform:Entries was not adjusting based on the offset parameter.

4.0.72012-10-03

Additions

  • 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.

Changes

  • Modified recipient_email to no longer be a reserved field name in order to allow the storage of recipient emails in a custom field.

Fixes

  • 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 Captchas 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.62012-09-05

Additions

  • 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 the status of an entry.
  • Added a 'Select All' checkbox to the migration utility to allow selecting of all collections to migrate.

Fixes

  • 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 version 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 add-ons and report incorrect error information.
  • Fixed a bug where the matching_fields parameter would display a PHP error.

4.0.52012-08-14

Additions

  • Added the ability to override the return URL of a form with a URI value in a field named 'return'.

Changes

  • 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 aforementioned.
  • 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.

Fixes

  • 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).
  • 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.42012-08-03

Fixes

  • 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 IDs were not properly being saved in the 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 version of Freeform could encounter a PHP error when attempting to delete a form.

Removals

  • Removed the dummy EXT file as it was causing confusion during installation.

4.0.32012-07-29

Fixes

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

4.0.22012-07-26

Additions

  • Added checks for current tables during migration to make sure they are Freeform 4.x schema and not legacy 3.x tables.

Fixes

  • 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.12012-07-25

Fixes

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

4.0.02012-07-25

Additions

  • Completely re-wrote the 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 the 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 the 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 the 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 the 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 the ability to duplicate Forms, Fields, and Notifications in the control panel.
    • Added the ability to create new entries in the control panel.
    • Added a customizable and savable entry table layout, per user, per form.
    • The 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.
    • The 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.

3.1.52013-01-25

Fixes

  • Fixed a bug when editing saved entries from the CP with the show_empties checkbox checked.
  • Fixed a bug where MySQL errors would occur in EE 2.5.4+.
  • Fixed a bug where Freeform would show an error on form submission if the IP to Nation module was not installed.

3.1.42012-05-10

Additions

  • Added entry_id to the JSON array that can be outputted upon successful submission.

Fixes

  • Fixed a bug where file upload errors did not display the error language properly to the end user.
  • Fixed a bug where parameters would expire and still allow form submission when Secure Form Hashes were disabled.
  • Fixed a bug where PHP 5.4 with E_STRICT would throw an error.
  • Fixed a bug where EE1, with Secure Forms disabled, an error would show up when editing a Freeform entry in the CP.
  • Fixed a bug where empty fields would not show up when editing an entry in the CP if the status was closed.
  • Fixed a bug where changing an existing field name with an already existing field name value would cause a MySQL error on submit.

3.1.32012-02-13

Additions

  • Added the output_json="yes" parameter, which can be used with AJAX requests to return errors and success messages in JSON. Default is 'no'.

3.1.22012-02-10

Additions

  • Added the option to select which fields are visible in the Entries tab of the Freeform control panel (EE2-only).
  • Added compatibility for MySQL Strict.

Changes

  • Modified Freeform to support AJAX requests by default. To disable, use ajax_request="no" parameter on Freeform:Form.

Fixes

  • Fixed a bug where forms were given an incorrect name attribute value when the form:name= parameter wasn't specified in Freeform:Form tag.
  • Fixed a bug where the max_file preference was being calculated incorrectly.
  • Fixed a bug where when exporting to CSV, entries with commas or quotes were not properly escaped.
  • Fixed a bug where file uploads in form submissions were being validated too late.

Security

  • Fixed a potential XSS security issue in the control panel.

3.1.12011-11-04

Fixes

  • Fixed a bug where the entry_id parameter was being ignored in the Freeform:Entries tag.
  • Fixed a bug where Freeform was adding http:// to URLs submitted into custom fields.
  • Fixed a bug where passing an array input and requiring the field would trigger a PHP error.
  • Fixed a bug where using quotes in a Freeform field name label would not work correctly.

3.1.02011-06-21

Additions

  • Converted Freeform to use Solspace Add-on Builder Framework, and Solspace Bridge for EE 1.x.
  • Added compatibility for NSM addon updater.
  • Added the ability to dynamically assign a reply_to value for admin notifications.
  • Added allowed_file_types parameter to Freeform:Form tag to allow additional validation of uploaded file types.

Fixes

  • Fixed a bug where the {collection_name} variable didn't parse in the message area of notification templates.
  • Fixed a bug where pagination in the CP was losing some filter options.
  • Fixed a bug where the entry_id param on freeform:entries wasn't being honored.
  • Fixed a bug where URLs submitted in certain fields were being prepended with http:// before saving.
  • Fixed a bug where requiring and array input would throw a PHP error.

3.0.62011-02-03

Changes

  • Updated and enhanced Freeform module CP area (in EE 2.x) to conform completely to native EE styling.

Fixes

  • Fixed a bug where file extensions were getting cut off of file uploads in EE 1.x.
  • Fixed a bug where default Prefs were not correctly cached and caused errors on the front end.
  • Fixed a bug where Template Label, From Name, and Email Subject in the Notification Template create/edit CP area could cause errors when containing quotes or other special or non-latin UTF-8 characters.
  • Fixed a bug where when a required field contains a value of 0, it wouldn't pass validation.

Security

  • Fixed a bug where the default website field did not contain any security on it.

3.0.52010-11-29

Additions

  • Added CSV export option in the Freeform CP.

Fixes

  • Fixed a bug where the Collection name was not being properly recorded to the database.

3.0.42010-11-23

Fixes

  • Fixed a bug where the \{collection_name} variable was not parsing in the Freeform:Entries tag.
  • Fixed a bug where the ID field was being inserted into hidden fields and conflicted with Ajax when used on a form.
  • Fixed a bug where the "select all" checkboxes feature in the Freeform CP area would not work.
  • Fixed a bug where having subject as a field name would cause issues.
  • Fixed a bug where the uploaded files would display to have a file size of "1KB" in the Freeform CP.
  • Fixed a bug where Freeform Preferences were not always stored properly in the database.

Removals

  • Removed the Flow UI theme from Freeform in EE 1.x.

3.0.32010-08-18

Changes

  • Modified Freeform to now use the native EE 2.x JS success/error messages.

Fixes

  • Fixed a bug where the confirmation link in the Mailing List opt-in email notification triggered by Freeform was not being parsed.
  • Fixed a bug where Freeform was taking away the file extensions of uploaded files or in some cases renaming them improperly.
  • Fixed a bug where date formatting was not working on the entry_date variable when used in a "user" notification email.
  • Fixed a bug where Freeform was improperly displaying foreign characters as entities in the Entry Editing area of the Freeform module CP.
  • Fixed a bug where other EE tags would not parse properly inside Freeform template tags.
  • Fixed a bug where when creating a custom Freeform field in the Freeform CP would throw an error if "Process form data in secure mode" is disabled.

3.0.22010-07-12

Changes

  • Modified all instances of BASEPATH to now use PATH_THIRD as the app folder is outside of the system folder in EE 2.1.

3.0.12010-06-15

Changes

  • Updated all instances of XID_SECURE_HASH to $XID_SECURE_HASH in EE 2.x view files.

Fixes

  • Fixed a bug where an error would display in the CP if you had no Freeform fields.
  • Fixed a bug where the final extension hook call in insert_new_entry was improperly cleared.
  • Fixed a bug where duplicate checking and conditionals were not working correctly for Super Admins.

3.0.02010-05-13

Additions

  • Added the new Dynamic Recipients feature to Freeform:Form. Allows you to predefine a list of recipients for a user to choose from.
  • Added several new parameters, form fields, variables, and variable pairs to assist with the Dynamic Recipients feature.
  • Added Tell-A-Friend functionality to Freeform:Form. Users can now enter in recipient email address(es).
  • Added spam controls for the Tell-A-Friend functionality via the new Preferences tab in the CP and/or new parameters for Freeform:Form.
  • Added the form:attribute="" parameter type to the Freeform:Form tag.

Changes

  • Upgraded module to use Solspace Bridge 1.0 with CodeIgniter, therefore allowing compatibility with EE 2.x.
  • Modified Freeform module to be PHP 5.3 compatible without throwing deprecated errors.
  • Renamed all references of form_name to collection.

Deprecations

  • Deprecated the form_name parameter.

Fixes

  • Fixed a bug where the {entry_date format=""} variable was not being correctly parsed in the User Notification email.
  • Fixed a bug where if a Freeform field didn't exist and was added to the required="" parameter in Freeform:Form, it would return a PHP error.

2.7.2 - Build 200907212009-07-21

Additions

  • Added a default $msg variable prior to the user email, in case it is not sent so that the extension hook does not throw an unset variable error.

Fixes

  • Fixed a bug where PHP errors would be outputted with mailing_list_opt_in="no" because of a variable collision.

2.7.22009-05-08

Fixes

  • Fixed a bug where the mailing_list_opt_in="no" parameter would not send the Admin Notification for the Mailing List module.
  • Fixed a bug where upon File Upload error one could not resubmit because of the CAPTCHA no longer being valid.

2.7.1 - Build 200902182009-02-18

Additions

  • Added the {freeform_entry_id} variable parsing to the Subject field for notification templates.

Changes

  • Modified the File Size display for attachment size in the CP to display in KBs.

Fixes

  • Fixed a bug with redirect_on_duplicate="" parameter where forward slashes were converted to entities incorrectly in the hidden field.

2.7.1 - Build 200901112009-01-11

Additions

  • Added {freeform_entry_id} to the list of available variables for Notification Templates.

2.7.1 - Build 200901082009-01-08

Additions

  • Added freeform_module_admin_notification extension hook which allows you to alter the $msg variable before an admin notification is sent.
  • Added freeform_module_user_notification extension hook which allows you to alter the $msg variable before a user notification is sent.

2.7.12009-01-03

Additions

  • Added indexes to various tables in the database to improve performance.

2.7.0 - Build 200812112008-12-11

Fixes

  • Fixed a bug where mailing list subscriptions would not work when sending the list_name in an array of values (ex: form checkboxes).

2.7.02008-12-05

Additions

  • Added {freeform_entry_id} as a variable in the Notification templates.
  • Added support for the format="" parameter for {entry_date} variable in the Freeform notification templates.
  • Added secure_action="" and secure_return="" parameters to the Freeform:Form function.
  • Added a default name="" attribute to the Freeform:Form function so that entries in the CP would always have a form name instead of a blank.
  • Added some descriptions to the Template area in Freeform CP for clarity.

Changes

  • Modified the form creation code to remove the action="" parameter, which was causing IE6 to behave incorrectly when an error message was shown.
  • Modified the Templates section of the Freeform CP to show the available variables when creating a new template.
  • Modified the mailinglist="" parameter to have div's around hidden fields for XHTML validation.

Fixes

  • Fixed a bug where the Manage Entries section of the CP that would use up all available PHP memory if excessive entries existed.
  • Fixed a bug where the return="" parameter's forward slash HTML entity was not converted to a character.
  • Fixed a bug where the {mailing_list} variable was not being parsed in the email activation template.
  • Fixed a bug where when a Freeform Form was put on a Site's main index template, the redirect caused an error.
  • Fixed a bug where Freeform was converting characters and entities on outputted forms, which caused problems with quotes and validation.
  • Fixed a bug where duplicate emails could be inserted using the mailinglist="" parameter because the email could be inserted into the authorization queue multiple times.
  • Fixed a bug where certain MySQL keywords were unable to be Freeform fields.
  • Fixed a bug where Freeform was lower-cased in the CP URLs, causing certain MySQL Strict servers not to show the module's CP at all.
  • Fixed a bug in the Freeform:Entries function where the No Results conditional would not work.
  • Fixed a bug where Freeform entries could be submitted with no form_name="" attribute with the Freeform:Form function.
  • Fixed a bug where selecting no entries and trying to delete in the Freeform CP resulted in an error.
  • Fixed a bug where using Sessions on front end would cause the Session to show twice in the return path.

2.6.62008-08-14

Fixes

  • Fixed various extension hook bugs.

2.6.52008-03-27

Fixes

  • Fixed cannot yet handle MBCS in html_entity_decode bug when using extension hooks.

2.6.42008-03-19

Fixes

  • Fixed stripped quotes bug.

2.6.3 - Build 200802222008-02-22

Fixes

  • Fixed return parameter slash bug.

2.6.32008-02-14

Fixes

  • Fixed entity decoding bug.

2.6.22008-02-05

Fixes

  • Fixed variable bugs in freeform_module_insert_end extension hook.

2.6.12008-01-08

Fixes

  • Fixed return parameter slash bug with EE 1.6.1.

2.5.92007-11-21

Fixes

  • Fixed a form validation bug related to params database table deletions.
  • Fixed a bug caused by 1.6.1 REGEX change to adjust ampersands and slashes.

2.5.82007-11-11

Fixes

  • Fixed a return parameter bug.

2.5.72007-09-05

Fixes

  • Fixed a status bug.

2.5.62007-08-31

Fixes

  • Fixed a bug in the Entries tag.

2.5.52007-08-27

Changes

  • Changed the name attribute on the form so that it is now set through the name parameter rather than through form_name for XHTML Strict compliance.

2.5.42007-08-15

Additions

  • Added single entry capability in Freeform:Entries.

Changes

  • Adopted new commenting syntax.

Fixes

  • Several large fixes.

2.5.32007-07-22

Additions

  • Added extension hooks.

2.5.22007-05-16

Additions

  • Added entry ID return capability.

2.5.02007-04-15

Additions

  • Added file upload and attachment capability.
  • Added attachment management functions to CP.
  • Used a new method of passing form parameters and settings more securely.
  • Added HTML capability to notifications.
  • Added file_upload parameter.
  • Added form fields for multiple files of format name="file1".
  • Added send_user_attachment parameter to form function.
  • Added send_attachment parameter to form function.
  • Added variables to email templates to add links to attachments in messages.
  • Added attachment parsing to Freeform:Entries function.
  • Added form_class parameter to exp:freeform:form.
  • Added form_title parameter to exp:freeform:form.