This release of Webform adds several new pieces of functionality and fixes many bugs in the 4.x branch of the module. New features include HTML5 placeholder support, custom CSS classes for components, better e-mail support, and several other long-requested features.
With a set of changes this large, please be sure you *backup your database* before upgrading. This update requires running update.php. This release introduced additional API changes that contributed modules may need to accommodate for. Upgrade your production sites with caution after confirming that any contributed modules you're using with Webform are compatible. See the upgrading to Webform 4.x handbook page for more details on API changes.
- #687606 by skyhawk669, marrch_caat, Michael Lopez, stijndm, sammys, torrance123, jdanthinne, and quicksketch: Add conditional email sending feature.
- #1801782 by aaronbauman and quicksketch: Use the new token dialog to enhance UX.
- #1810752 by malcomio: Add direct link to edit webform components from webform list.
- #246470 by grndlvl and quicksketch: Allow cookies as sole voter validation.
- #1305826 by celstonbg, sokru and quicksketch: Add support for HTML5 placeholder attribute.
- #536236 by robertom, jpstrikesback, nlambert, meichr, and quicksketch: Custom CSS classes for form components.
- #1601948: Duplicate Prefix/Suffix of number when viewing a submission.
- #1963996: Increase efficiency of hook_node_update() by using $node->original.
- #1877770 by pjcdawkins: Show that 'You do not have permission to view this form" is an error.
- #1736982: Increase custom URL length.
- #1803702 by DanChadwick: Resend e-mail form w/ invalid e-mail address throws notice, doesn't add ' (empty)" as intended.
- #1821152: Remove unused hook_help() entry for component page.
- #1680952: Submission role access isn't re-checked when validating a form.
- #2020705: Notice: Undefined index: name in webform_component_defaults().
- #1811046 by stella: Webform submissions data views relationship handler can't be easily altered.
- #1820840 by pgillis: Forms under the E-mails tab causes all the tabs to disappear.
- #1375182 by anou: Adding views field "User: Webform submission count" results in "Call to a member function execute()".
- #1619978 by colemanw: Improve component extra storage to trim out defaults.
- #772120: File component: odf extension should be odt? (Removed)
- #1667662: Hide Text for "Other..." textfield by default for Select components.
- #1797670 by jp.stacey: Documentation ambiguous/incomplete for email replacement tokens.
- #1621606: PHP Warning: Invalid argument supplied for foreach() in webform_mollom_form_info().
- #1721996 by Stevel: _webform_filter_values check_plains token replacements when $strict is FALSE.
- #1830636 by Liam Morland: Pre-built option lists don't work properly if they contain a group.
- #1464988 by Liam Morland and Pasqualle: Export field_key instead of labels.
- #1821184 by siwinski, wodenx, and noahadler: Update infinite loop in webform_update_7401() and webform_update_7403().
- #1533408 by rlhawk: Allow modules to modify exported submissions.
- #1267142 by mrfelton: webform_email_html_capable should also check for existence of htmlmail module.
- #1681520 by Liam Morland: Empty file field causes error on Postgres.
- #1804858 by bxtaylor and pdrake: Fatal error: Allowed memory size exhausted in number.inc when calculating standard deviation.
- #1790872 by jweowu: Invalid 'access arguments' for webform/autocomplete.
- #1928150: Notice: "Undefined index" when removing components used in conditionals.
- #1811544 by stella: Call-time pass-by-reference has been deprecated error when adding Views filter
- #1821422: Call to undefined function webform_component_property() in webform.module on line 2333.
- #1803808 by pjcdawkins and eltermann: Undefined variable: account in webform_set_breadcrumb().
- #1562756 by weseze and ParisLiakos: Webform "admin/content/webform" page should only show nodes with webform configuration, not all webform-enabled types.
- #1795820: Same Page Conditionals Not Working with Select or Other fields as the source.
- #1668826: Download range option returns all results when range is not valid.
- #2006740 by robwilmshurst: Notice: Undefined variable: sid in webform_results_export().
- #2008000 by dropfen: Check for $cid in webform_submission_data() to skip pseudo-fields.
- #2009124 by grndlvl: IE bug with conditional operator is blank.
- #1844278 by Liam Morland: Spelling mistakes.
- #1287382 by stella, Liam Morland: Use invisible instead of non-existent field labels for accessibility.
- #1923506: Anonymous users are now given the login form when only custom roles have access to a webform.
- #1578034 by Jelle_S: Trigger change event when date popup is used.
- #1774090 by drewish: Switch static variables to drupal_static().
- #1807696: Tag webform_submission_user_limit_check() query.
- #1793668 by Liam Morland: Put submit buttons in form actions div.
- #2020723: Rename "mandatory" to "required" for consistency with HTML5 and the rest of Drupal.
- #1468944 by Jody Lynn and tim.plunkett: Preprocess variables for components form.
- #2022901: Tag webform_get_submissions() queries.