Changelog
New features, improvements and bug fixes.
- Improved: When
native
PDF generation is enabled, add the country flag next to the international phonenumber field
- Improved: Scrolling to next focused field or next multi-part. Only scroll when required based on the elements top/bottom positioning compared to widnow height
- Improved: When using keyboard arrows up/down on radio button do not go to next step automatically when enabled on multi-part
- Fix: Fix file upload when using ACF Pro Gallery field when saving a custom post via
Front-end Posting
feature
- Added: Option to jump to a specific field so that a user can edit it, simply use
#fieldname
on your href attribute like soSummary:<br />First name: {first_name} - <a href="#first_name">EDIT</a>
- Added: Option to define wrapper and or field ID attribute elements, when left blank the default ID will be
sf-wrapper-1234-yourfieldname
andsf-field-582-1-yourfieldname
where582
would be the form ID and1
the form index (if you have multiple forms this will auto increment by one). - Fix: Signature not populated from
Save form progression
andRetrieve previous entry data
. Also, when retrieved from entry data disallow editing the existing signature.
- Added:
Listings
when editing entries, you can define if the user is allowed to change the entry status, and disallow to change the entry if it already has a specific status - Improved: Grid/Columns now using flex method
- Improved:
Color picker
element small responsiveness fix - Improved:
PDF page breaks
are calculated after HTML block is updated/changed. Allowing to use the PDF page break html directly inside foreach loops. Example which loops over uploaded files:
foreach(file;loop):
if(<%counter%>!='1'):<div class="super-shortcode super-field super-pdf_page_break"></div>endif;
<img src="<%url%>" style="display:block;width:300px;" />
endforeach;
- Fix:
Signature
element, rare bug which caused the canvas to not be full width, which would cut off the signature by 50% - Fix:
<%attachment%>
and<%attachment_id%>
insideforeach
loop inside HTML element should return the file attachment ID not the file name
- Added: Option to calculate distances between multiple addresses e.g: (between A to B, between B to C and from C back to A)
- Added: Option
Disable browser translation
underTranslations
TAB to disable browsers to translate the form - Added: New predefined tags to retrieve form submission date inside emails:
submission_date_gmt
,submission_hours_gmt
,submission_timestamp_gmt
,submission_date
,submission_hours
,submission_timestamp
- Added:
isset()
and!isset()
methods to check if a field was conditionally hidden/visible. Useful inside HTML elements and E-mails. Example here: (https://renstillmann.github.io/super-forms/#/email-if-statements?id=checking-if-a-field-exists) - Improved: Significant speed improvements/optimization for large/complex forms with a lot of conditional logic/variable conditions/calculations.
- Added: Option to add attributes on the listings shortcode to apply hardcoded filters e.g.
[super_listings list="1" id="61602" entry_status="completed"]
would only display entries with statusCompleted
- Added: Extra tags to retrieve date names for datepicker element:
{date;day_name}
,{date;day_name_short}
,{date;day_name_shortest}
,{date;day_of_week}
. This way you can display specific time slots based on a specific week day - Added: Filter logic option
Exact match
for autosuggest feature to filter exactLabel
value for an item - Added: Filter logic case sensitive search
- Added: Form locker option
Do not lock form, but still display a message
to only display a message but still allow user to submit the form even if the threshold was reached. - Added: Option to pre-load conditional logics via Ajax request, to store it into an object on the client side, instead of in the source code. Useful/required when dealing with 500+ conditions
- Added: Option to attach XML file with form data to admin E-mails via
Form Settings > XML Attachment
on builder page - Fix: Allow the
Currency
field to have zero value e.g:0.00
- Fix: Issue with
{register_generated_password}
tag not working when sending activation email after user registration - Fix: Issue with
Unique code generation
when using invoice increment option. Not saving the invoice number increment in some occasions depending on the configured settings - Fix: Issue with generated PDF when theme placing footer scripts/styles inside a custom node. Causing PDF to miss specific styles. An example them is the famous
Avada
theme. - Fix: PDF line-height/vertical alignment of text for text and textarea input fields improvements
- Fix: Issue with Listings filters causing to display entries that have
post_author
value0
to all users even though it shouldn't - Fix: Form data population issue for
Keyword/tags field
- Added: Missing country
Kosovo
for theCountries (ISO2)
andCountries (FULL)
elements - Improved: When using
Quantity
field with steps defined to0.5
make sure the user can enter a single decimal point by hand. When using0.05
user will be able to enter 2 decimal point numbers instead. When the step is defined to1
user won't be able to enter any decimals - Fix: PDF page break element orientation change bug
- Fix: Javascript error
indexOf is not a function
when called on a number value - Fix: When populating signatures via
Contact Entry Search
field make sure signature can't be edited by the user when defined to do so - Fix: Column layout combination 3/5 + 1/5 + 1/5 causing last column to be placed on a new line
- Fix: When exporting entry data and the server returns an error e.g:
cURL error...
, make sure to delete the file before returning 404 error code, and log the incident - Fix: When
Save form progress
is enabled make sure to not populateHidden fields
values - Fix: When using
Dynamic column
insideMulti-parts
make sure when adding a new column it doesn't switch to the first multi-part - Fix: When storing client data make sure the generate ID does not exceed 64 characters in length, due to WordPress options table >
option_name varchar(64)
limit - Fix:
Calculator
element should not replace tags starting withoption_
with custom predefined values, instead if a user has a field namedoption_radio
it should grab that value, and not try to grab the option value from the DB table - Fix: When using Dynamic Column the
%d
parameter wouldn't be replaced with the current column number correctly for the E-mail label/Entry Label setting - Fix: When using
Name Your Price
withWooCommerce Checkout
in combination with thousand separator.
(dot) and decimal,
(comma) for prices (can be defined in the WooCommerce settings), make sure the price is formatted accordingly before parsing it to Name Your Price. - Fix: PHP notices/errors
- Added: Option to count words for
Textarea field
with use of tag{fieldname;word}
to count words - Added: Option to count words for
Textarea field
with use of tag{fieldname;chars}
to count characters excluding, carriage return, line-feed (newline), tab, form-feed, vertical whitespace - Added: Option to count words for
Textarea field
with use of tag{fieldname;allchars}
to count all characters including, carriage return, line-feed (newline), tab, form-feed, vertical whitespace - Improved: Do not store
server_http_referrer_session
and/ortags_values
as client data when not needed, which could stress the database on high traffic websites - Improved: Cookie/Session system, in case WP Cron is disabled, make sure we still clear expired client data from the database
- Fix: Bug with
Calculation
not summing up amounts correctly when inside dynamic column - Fix: icon for
Calculator
element not being displayed even if defined - Fix:
Keyword/tags field
should not filter case sensitive - Fix:
WooCommerce Order Search
feature forText field
having issues with rendering the search results on front-end properly, plus additional CSS improvements across theme style/icon positioning - Fix:
Enfold
theme was causing some issues withKeyword/Tags
feature due to CSS styles being used by the theme - Fix: Bug/Issue with
Avada Builder
when typing in TinyMCE editor it would not update the live view properly - Fix:
Listings
bug fix when leaving role settings empty (did not allow the user to view/edit/delete their own entries)
- Added: MailPoet v3 settings under
Form Settings > MailPoet Settings
which allows you to subscribe users after they submit the form. Optionally you can map custom fields to store additional information/date for the user - Added: New option under
Form Settings > Form Settings
calledDisable Multi-part current step parameter in the URL
which prevents the step parameters#step-58731-2
from being added to the URL - Added: New option under
Form Settings > Popup Settings
calledClear form after closing popup
which will reset/clear the form when the popup is being closed, this is especially useful when you are using the same form but populating it with different values when the popup is being opened - Added:
WooCommerce Checkout
Option to conditionally checkout to WooCommerce - Added: Buttons/Icons to reset form settings to it's Default, Last known or Global value. Or to lock the setting to it's global value
- Added: New predefined tag
{option_****}
to retrieve any option from the wp_options database table. If the option is of type Array, you can also filter the sub values by defining a key like so{option_****;arrayKey}
. When the arrayKey is omitted, a JSON representation of the Array will be returned. - Added: Extra filter logic
Starts with (from left to right)
to filter from start to end instead of "Contains" method for both theAuto suggest
andTags/Keyword
field field - Improved: Cookie/Session system, which allows to filter the expiry and expiration variation values to increase or decrease the lifetime of client data
- Improved:
Register & Login
Option to define custom headers for emails such asVerification
,Approval
andReset Password
E-mails - Improved:
Register & Login
Don't show activation status on profile page in back-end for current logged in user, no need - Improved:
{dynamic_column_counter}
can now be used on field label and description, when used inside a dynamic column - Fix: When using Elementor Popup use
elementor/popup/show
event provided by Elementor v2.7 to initialize the form in case it's not initialized - Fix: When using a multi-language form with
PDF Generator
enabled and theAdd Language Switch
being enabled, the language switch dropdown should not be included in the PDF - Fix: Issue with columns not aligned properly in Safari browser when RTL is enabled
- Fix: When the form is inside a Popup, make sure that scrolling events are applied to the content of the popup and not to the site page itself, for instance when scrolling to the first error, or other similar form scrolling events
- Fix: JavaScript error for Safari browser on iPhone when generating PDF, causing the PDF generation to get stuck/hang on loading/spinner icon
- Fix: Issue with
Print
button on Contact Entry page - Fix: Issue with
Exclude dates or a range of dates
setting for Datepickers when being used on multiple datepickers in the form - Fix: An issue since v6.2.200 with dynamic columns where newly columns were inserted after the first column
- Fix:
{dynamic_column_counter}
not correctly counting when used in combination with a dynamic column that has conditional logic enabled - Fix: JavaScript error in older Safari v12 browsers due to
replaceAll()
function not known by the browser, replaced withreplace()
with use ofRegExp()
- Fix: Issue with
Register & Login
when changing user status from Pending to Active in backend - Fix: Issue with
Register & Login
form, when having a login form that allows all user roles, filter array and remove any possible empty values, because this could cause any user to be unable to login - Fix: When setting
Send email confirmation/verification email
toDo nothing
make sure to set user status to 1, since they are not required to confirm their E-mail address, they will still not be able to login in case theUser login status
is set to anything other thanActive
- Improved: Disable the browsers's font boosting and text inflation algorithm by using the
max-height:XXXXXem;
hack, and settingtext-size-adjust:none;
(which is used by some smartphones and tablets, some browsers will still ignore this property) - Improved: Do not load "Roboto" font, because no longer used
- Improved:
Tags/Keyword
elementAdvanced > Max char/selection
blocks user from adding more tags if limit was reached instead of validating on form submission - Improved: Code cleanup
- Fix: When renaming the
Button
name, spaces were being replaced with underscores - Fix: Fix an issue with the
File upload
element when a maximum is set in combination with a user trying to add more files at once via the file explorer - Fix: When deleting a
CSV file
from aDropdown
element it would scroll the user to the top of the page - Fix: In the back-end when defining condtional logic for a field the user was not able to define a
Value
comparison that had the same value as the current field name e.g:DC
field name and having a conditional logic value equals toDC
which should be allowed. However theField name
isn't allowed to point to the current field, so that still needs to be validated - Fix: Redirect message undefined in JS, causing form not redirecting at all
- Fix: Toggle button alignment for
Field label
andField description
- Fix: Issue with WooCommerce Checkout
- Added: Predefined
Tags/Keyword
element - Added: Predefined
Autosuggest
element - Added: Option to disable CSRF check under
Super Forms > Settings > Form Settings > Cross-Site Request Forgery (CSRF) check
. This allows a user to submit the form that was loaded via an iframe from a different origin address - Improved: Only load Cyrillic text font for PDF Generator if the option to do so is enabled and if Text rendering is enabled, there is no need to load these fonts otherwise
- Improved: Tags/Keyword field improvements
- Fix: If thousand separator and decimal separator was set to the same value, set the thousand separator to an empty value, since it shouldn't be possible to have the same values, it would throw a JS error and prevent the form from loading
- Fix: Regenerate nonce for sites that use cache
- Fix: When
editing
is enabled for aListings
(Listings Add-on) make sure the styles/scripts are loaded so that normal form functions and styles are applied - Fix: Validate requests made to switch form language by using a custom nonce system
- Fix: PHP parse error when loading a php file used for PHP versions below v8
- Fix: Option
Delete files from server after the form was submitted
wasn't working properly when storing files outside site root (secure file uploads) - Fix: Back-end preview not generating the PDF due to fonts not being enqueued
- Fix: Issue with files not being attached to E-mails when upload directory was setup to be outside the site root (secure file uploads)
- Fix: PHP Warning related to
MailChimp
,Mailster
andPassword Protect
- Fix: PHP Warning when calling
file_get_contents()
to load PDF generator fonts - Changed: File upload names are now fully visible when user added a file on the file upload element, they are no longer truncated. If you still want the truncated version you will have to apply custom CSS and and set overflow to ellipsis method
- Changed: By default the
secure
parameter for cookies is now set to true, you can still filter this withsuper_session_cookie_secure
hook if needed - Changed: By default the
httponly
parameter for cookies is now set to true, you can still filter this withsuper_session_cookie_httponly
hook if needed
- Added:
TinyMCE
element, allows you to add HTML by using the WordPress rich text editor. - Added:
HTML (raw)
andTinyMCE
elements are now treated as fields, meaning they can be retrieved and included inside emails and stored as data inside contact entries. Optionally you can exclude them from being retrieved in your emails and stored as entry data just like all other fields. - Added: Ability to insert dynamic columns inside other dyanmic columns.
- Added: Ability to use
foreach()
loop inside other foreach loops insideHTML (raw)
elements (this doesn't work directly inside email body settings, so if you need to use this you must use aHTML (raw)
element instead), maybe in a future version it will be possible to use it directly in the emails too. - Added: New filter hook
super_csv_bom_header_filter
to alter/delete the byte order mark added for Excel compatibility - Fix: Some PHP version 8.0+ warnings
- Fix: Bug with generating invoice numbers on the
Hidden
field (depending on what settings are defined by the user)
- Added: Option to filter based on form ID when exporting entries to CSV via
Super Forms > Settings > Export & Import
- Added: Option to sort by oldest or newest first when exporting entries to CSV via
Super Forms > Settings > Export & Import
andSuper Forms > Contact Enties
- Added: Option to define custom delimiter and enclosure when exportin entries to CSV via
Super Forms > Contact Enties
- Added: Option for datepicker to use {tags} inside the
Default value
setting - Added: Option for datepicker to return the year, month, day or the timestamp by calling tags:
{date;year}
,{date;month}
,{date;day}
,{date;timestamp}
- Added: Ability to use
{dynamic_column_counter}
inside conditional logic and variable conditions, can be used to hide/display elements inside a specific dyanmically added column - Added: Option for hidden field
Unique code generation
to define aUnique invoice key
which allows you to generate multiple invoice numbers. This is useful for when you require both Invoice numbers and Quote numbers - Improved: RTL layout for elements when site uses dir="rtl" on html tag
- Fix: International Phonenumber bug on mobile devices
- Fix: Issue with reCapthca validation when files are being uploaded
- Fix: When using SMTP on WP v5.5+ make sure to include the PHPMailer
Exceptions.php
file - Fix: Bug with datepicker being cleared upon form submission
- Fix:
PDF Generator Add-on
Issue with Cyrillic/Arabic text rendering for PDF file, when copying text it would give you strange characters - Fix:
PDF Generator Add-on
PDF Page break sometimes generating white/blank page - Fix: When
Prevent submitting form on pressing "Enter" keyboard button
is enabled, make sure to still allow line breaks onTextarea
elements - Fix: Form settings translation bug
- Fix: HTML element automatic linebreak not working when using {tags} inside the HTML
- Fix: HTML element causing 404 when using {tag} to apply dynamic source tag on images
- Fix: Issue with HTML not being generated when no {tags} are used, due to above 404 bug fix
- Fix: Slider label positioning on theme
minimal
and whenadaptive placeholders
are enabled - Fix: Slider amount positioning incorrect when conditionally became visible and when value was the same as last known value
- Fix: JS error
Uncaught ReferenceError: nodes is not defined
- Added: International Phonenumber field
- Added: Option for WooCommerce Checkout Add-on to hide product gallery on single product page so that only the Super Form is visible
- Improved: Improved CSS for dropdown placeholder and radio/checkbox items for compatibility
- Improved: Replace
file_get_contents()
withwp_safe_remote_get()
for improved security and compatibility accross hosting providers - Fix: Issue with PDF Generator and Visual Compose/WP Bakery builder when form is inside a Accordion element
- Fix: Slider amount/label update positioning based on default value after becoming conditionally visible, or when inside tab/accordion
- Fix: JS error in back-end builder with renaming field names automatically to avoid duplicate field names
- Fix: JS error in firefox for focusin method and missing
e.target.closest
function - Fix: JS error with file uploads
- Fix: Text field
keyword field
method not working with retrieve methodSpecific posts (post_type)
- Fix: Slider element default value positioning for amount label not correctly aligned
- Fix: JS error with Radio/Checkbox as Display Layout: Slider (Carousel)
- Fix: Bug with multiple file upload elements that would skip uploading files when last element was not containing any files
- Fix: Make sure rand() function only passes a max int value to avoid overflow on 32 bit systems
- Fix: Conditional logic not properly working upon page load
- Fix: When no files are selected for upload skip the request to try upload files (no need to do this)
- Fix: Bug fix for conditional logic with Calculator element
- Added:
Listings Add-on
display entries on front-end, more info here (https://renstillmann.github.io/super-forms/#/listings-add-on) - Added: New element
HTML Elements > PDF Page Break
for PDF Generator Add-on, which allows you to start a new page after a specific element. You can also switch between orientationPortrait
andLandscape
if needed. - Added: New file upload system, file upload element will now display image/document in thumbnail preview before it's being uploaded to the server, they will also be visible in the generated PDF
PDF Generator Add-on
- Added: New tags for file upload element, can be used inside HTML element on front-end and inside E-mail body
{fieldname}
(retrieve list with file name(s)){fieldname;count}
(retrieve total amount of files connected to this file upload element){fieldname;new_count}
(retrieve total amount of files that are yet to be uploaded){fieldname;existing_count}
(retrieve total amount of files already/previously uploaded){fieldname;url}
(retrieve file "blob" or "URL"){fieldname;size}
(retrieve file size){fieldname;type}
(retrieve file type){fieldname;name}
(retrieve file name){fieldname;ext}
(retrieve file extension){fieldname;attachment_id}
(retrieve file ID after file has been uploaded when form is submitted){fieldname;url[2]}
(retrieve specific file data, this example retrieves the third file URL if it exists based on array index){fieldname;allFileNames}
(retrieve list with all file names, it's possible to filter this list with filter hook:super_filter_all_file_names_filter
{fieldname;allFileUrls}
(retrieve list with all file URLs, it's possible to filter this list with filter hook:super_filter_all_file_urls_filter
{fieldname;allFileLinks}
(retrieve list with a link to the file, it's possible to filter this list with filter hook:super_filter_all_file_links_filter
- Added: Compatibility for file upload with
foreach
loop inside HTML element and E-mail body example:foreach(fileupload_field_name_here;loop):<strong>Name (<%counter%>):</strong> <%name%><br /><strong>URL (<%counter%>):</strong> <%url%><br /><strong>Extension (<%counter%>):</strong> <%ext%><br /><strong>Type (<%counter%>):</strong> <%type%><br /><strong>ID (<%counter%>):</strong> <%attachment_id%><br />endforeach; - Added: New option under global settings
Super Forms > Settings > WooCommerce My Account Menu Items
to add custom menu items with custom content/shortcode or a custom URL to redirect to a custom page. This allows you to display any extra content for the/my-account
page. For instance you could list contact entries with the use of theListings Add-on
on theMy Account
page. Since you can use shortcodes you could also use it for other usecases that are not even related to Super Forms. - Added: Option to override form settings via shortcode attribute e.g:
[super_form id="54903" _setting_retrieve_last_entry_data="false"]
would override the option defined underForm Settings > Form Settings > Retrieve form data from users last submission
. This allows you to have a single form to maintain while having separate forms with slightly different settings/options defined. If you don't know thekey
of a settings just submit a ticket. But most settings can be found in the fileincludes/class-settings.php
- Added: Option to define colors for Dropdowns via
Form Settings > Theme & Colors
- Added: Option to define colors for Tooltips via
Form Settings > Theme & Colors
- Added: Option to define colors for Calculator element (Calculator Add-on) via
Form Settings > Theme & Colors
- Added:
{user_last_entry_status_any_form}
tag to retrieve the latest contact entry status of the logged in user for any form - Added:
{user_last_entry_id_any_form}
tag to retrieve the latest contact entry ID of the logged in user for any form - Added: New filter hook
super_attachments_filter
to alter/add/delete the email attachments - Added:
MailChimp Add-on
escape html in output message and replace psuedo after/before elements with normal DOM element - Added: New tags to be used inside E-mails
{_generated_pdf_file_label}
,{_generated_pdf_file_name}
,{_generated_pdf_file_url}
allows you to retrieve the Generated PDF url so you can create a button that links to the file for download - Added: New actions
Prev/Next Multipart/Step
forButton
element to have more control over when to show the Previous / Next buttons in a multi-part element. - Added: New filter hook
super_form_enctype_filter
to alter the form enctype attribute which defaults tomultipart/form-data
add_filter( 'super_form_enctype_filter', 'f4d_change_enctype', 10, 2 );function f4d_change_enctype($enctype, $attr){return 'application/x-www-form-urlencoded':} - Improved: Created a new Tabbing system (TAB/Shift TAB) to navigate through all elements properly and allow to select/deselect items such as radio/checkbox/dropdown items
- Improved:
Front-end posting Add-on
- create connection between created post and contact entry by storing the ID as meta data - Fix:
PDF Generator Add-on
option to exclude generated PDF from contact entry not working - Fix: When switching language through language switcher, preserver URL parameters so that the form is populated with data after switching language
- Fix:
Front-end Register & Login Add-on
when using language switcher, make sure thecode
parameters is preserverd (for account/email verifications) - Fix:
Front-end Posting Add-on
issue with saving google map data for ACF map field - Fix:
Signature Add-on
fix issue when clicking on canvas would create a vertical line instead of a small dot - Fix:
WooCommerce Checkout Add-on
issue withExternal/Affiliate product
URL being reset to the product permalink - Fix:
WooCommerce Checkout Add-on
bug with shortcodes of other plugins not being able to list/retrieve products due to a bug in the new setting optionSuper Forms > Settings > WooCommerce Checkout > Hide products from the shop
- Fix:
Zapier Add-on
use numbered index instead of filenames as index for the array, otherwise you would not be able to map/retrieve the file within zapier interface - Fix: Possible RCE (Remote Code Exectuion) vulnerability in old file upload system (doesn't affect most servers, but it's recommended to update to the latest version anyway)
- Added:
WooCommerce Checkout Add-on
option viaSuper Forms > Settings > WooCommerce Checkout
to exclude products the shop so that they can only be ordered via the form - Added:
WooCommerce Checkout Add-on
option viaSuper Forms > Settings > WooCommerce Checkout
to replace the default "Add to cart" section with a specific form - Added:
Signature Add-on
Option to set signature line color - Added: Options to define the
region
andlanguage
for the Googla Maps API. This will affect theGoogle Map
element,Address autocomplete
andDistance calculation
features - Added: Option to use
{tags}
forTime picker
settingsThe time that should appear first in the dropdown list (Minimum Time)
andThe time that should appear last in the dropdown list (Maximum Time)
which makes it possible to retrieve a "manipulated" timestamp which could for instance be set 6 hours in the future based on the current time. This can be used in combination with theCalculator Add-on
demo form available here: Dynamic time picker that is always 6 hours in the future - Added: New option for column element
Align inner elements
which allows you to center, left, right align directly inner elements - Added: New
Retrieve method
calledCurrent Page or Post terms
for dropdown, radio, checkboxes to retrieve specific taxonomy terms based on the current page/post the form is on - Added: Predefined tags
{post_term_names_****}
,{post_term_slugs_****}
,{post_term_ids_****}
. This way you can retrieve specific terms based on taxonomy. For instance to retrieve category names of a post you could use{post_term_names_category}
- Added: When
Prevent submitting form when entry title already exists
is enabled there is an extra option calledAlso compare against trashed contact entries
which allows you to also check against possible trashed contact entries - Added:
Calculator Add-on
option to use space for Decimal and Thousand separator viaAdvanced
tab - Improved: Add missing escaped attributes
- Fix: PDF Generator Add-on fix for iPhone specifically, psuedo elements
:after
,:before
not being generated - Fix: When using google address autocomplete field, the value was not being displayed on the entry page in the back-end
Super Forms > Contact Entry
- Fix:
Signature Add-on
Changing signature line thickness not working - Fix: Some hosts use a firewall rule that didn't allow to upload files due to it being uploaded inside a folder called
uploads
andfiles
(uploads/php/files). This is now changed to (u/f) which solves a 403 error returned by the host - Fix: JavaScript error when using Google Map in combination with PDF Generator Add-on
- Fix: Undo code that would speed up form loading time when using a lot of HTML elements with tags, however this code caused issues when using variable fields. Temporarily disabled / undo the code until we find a work-around or alternative
- Fix: A recent speed improvement in the code caused issues with variable fields that contains more than one {tag} as value. Only the first {tag} would be replaced with a value, skipping any other {tags}.
- Fix: Arbitrary File Upload to Remote Code Execution
- Fix: When saving contact entry with default title, make sure there is a space between the entry ID and the title
- Fix: Typo
from
should beform
, causing issues with PDF generator when usingCurrency
field together withCalculator
element - Improved: Time picker element now uses WP core
current_time()
function whenReturn current time as default value
is enabled to get time with the GMT offset in the WordPress option. - Improved: Contact entry search will also trigger when "copy/pasting" text into the input field on mobile devices
- Added: Back-end translations:
- Afrikaans
- Arabic
- Bengali (Bangladesh)
- Czech
- Danish
- Dutch
- French (Canada)
- French (France)
- German
- Gujarati
- Hindi
- Hungarian
- Indonesian
- Italian
- Japanese
- Javanese
- Kannada
- Korean
- Marathi
- Norwegian (Nynorsk)
- Persian
- Polish
- Portuguese (Portugal)
- Punjabi
- Russian
- Spanish (Spain)
- Swahili
- Swedish
- Tamil
- Telugu
- Thai
- Turkish
- Urdu
- Vietnamese
- 香港中文版
- 繁體中文
- 简体中文
- Added: Option to prevent saving contact entry if a contact entry with the same title already exists, more info here:
- Added:
MailChimp Add-on
option to unsubscribe users by settingSend the Mailchimp confirmation email
toNo
and settingSubscriber status after submitting the form
toUnsubscribed
- Improved: Form loading speed when using many HTML elements that contain many {tags}. Super Forms now remembers tag values and will not re-process these if they haven't changed since. This speeds up the loading speed significantly for forms that are using many HTML elements with many {tags}
- Fix: When
Enable form POST method
is enabled in combination withEnable custom parameter string for POST method
do not storeThank you message
into a session, otherwise it would be displayed twice when user navigates to a different page. - Fix: When using multiple google address autocomplete elements in a form they would conflict with eachother.
- Added: Option to add field {tags} inside the
Default value
setting, which would populate it on page load with the value from that field value. Previously you could only use predefined tags. - Added:
Calculator Add-on
option to directly retrieve predefined tags inside math, e.g: to retrieve current year, month or price of current WooCommerce product etc. - Added: Option to set separate error messages for validation error or empty field
Validation error message
,Empty error message
more info here: - Fix: Bug with
Date
element when settingAllow user to choose a maximum of X dates
to anything higher than1
causing it to switch to current month e.g when choosing 2 dates in monthFeb
, it would switch back to monthJan
- Fix: Issue with dragging elements in Accordion element
- Fix: Back-end settings CSS fix
- Added: Option to map the so called
Formatted address (full address)
for Google address autocomplete - Added: Option for Contact entry search to return contact entry status, ID and Title by adding fields named
hidden_contact_entry_status
,hidden_contact_entry_id
orhidden_contact_entry_title
- Added:
WooCommerce Checkout Add-on
option to update Contact Entry status after WooCommerce order completed - Added: Option for google address autocomplete to return
The place's name
,Formatted phone number
,International phone number
andWebsite of the business
- Improved: Google address autocomplete now also returns
City
if mapped aspostal_town
and orsublocality_leve_1
see: Maps JavaScript API documentation for more info - Improved: When translating form make sure to only display settings that the main language field uses
- Improved: When using google autocomplete the code will now determine what data is being used in your form, and strip out any unnecessary data from the API request which could considerably reduce costs
- Improved: Focus/Filled status for currency field
- Fix: JavaScript error on currency field when
Number format
contained space(s) - Fix: Builder UI scrolling bug in Firefox browser causing a continues scroll
- Fix: When selecting default items for
Dropdown
element it would still display the placeholder instead of the actual selected item - Fix: US States element contained some incorrectly sorted items by alphabet
- Fix: Issue with SMTP on older PHP versions due to WordPress moving the class to a different location
- Fix: PHP Notice
- Added: Option for Address auto complete (google places) to specify the types of results to return e.g:
geocode
: return only geocoding results, rather than business results. Generally, you use this request to disambiguate results where the location specified may be indeterminate.address
: return only geocoding results with a precise address. Generally, you use this request when you know the user will be looking for a fully specified address.establishment
: return only business results.(regions)
: return any result matching the following types: locality, sublocality, postal_code, country, administrative_area_level_1, administrative_area_level_2(cities)
: type collection instructs the Places service to return results that match locality or administrative_area_level_3
- Added: Option for Address auto complete (google places) to restrict results by countrie(s) e.g: fr,nl,de (to restrict results by France, Netherlands and Germany)
- Improved:
Keyword field
style improvements - Improved: Auto suggest style improvements
- Improved: Allow setting
The types of place results to return
to be empty forAddress auto complete
feature, so that all types can be returned when left blank - Improved: Clean up generated PDF datauri, no need to store it in contact entry data in database, it could also cause the database to throw error due to reaching maximum Text/Blob size
- Fix: When filtering Auto suggest make sure to preserve any spaces in the search results
- Fix: Firefox adaptive placeholders focus automatically getting unfocussed
- Fix: When using
Currency
field with aDefault value
make sure the masked is applied upon page load - Fix: When using connected datepickers in combination with a custom
Localization
e.gCzech
and a min/max connected date, the connection would not function due to difference in date formats - Fix: Multi-part thinking there was still a field that required validation when in fact the field had become conditionally hidden while after the field had thrown a validation error. This caused the form being unable to submit.
- Fix: When using double quotes in radio/checkbox/dropdown Labels (when using custom HTML for instance) make sure any backslashes are not saved
- Fix: Calculator Add-on conditional logic wasn't working due to new CSS rule
display:fex!important;
- Added:
Default value
setting forTimepicker
element, this way you can set a default time upon page load - Improved: PDF Generation will now be identical between mobile and desktop, no longer applies bigger font size, and or responsiveness
- Improved:
{tag}
regular expression, so that values in a HTML element like{something like this / and this}
are not being detected as valid{tags}
- Fix: JS error when using signature element in combination with any top level conditional logic
- Fix: WordPress moved PHPMailer class into different location from v5.5 and above. Causing issues for those that had SMTP enabled in super forms.
- Added: Secrets to safely store sensitive data on server side, but still be able to retrieve it conditionally and use it in the form settings
- Fix: When using Accordion or TAB element and using columns inside the column was not correctly closed in some scenario's
- Fix: When using a
Global secret
inside a Hidden fields default value, it would be converted to the underlaying value upon page load - Fix: Problem with datepicker connected to a datepicker that allows a user to choose multiple dates automatically clearing the field value upon selecting dates
- Fix: Issue when adaptive placeholders are being used, but are empty, would cause it to be prefixed with numbers "1" or "2"
- Fix: JS error when not using adaptive placeholders
- New: PDF Generator will now generate text to make PDF searchable
- Improved: Use the build in WordPress PHP Mailer library instead of included one, and removed the library from plugin source code
- Fix: Form not loading when using multiple forms on a single page
- Fix: Internet Explorer javascript error (added polyfill for promises)
- Fix: FireFox issue with adaptive placeholders causing to overlapping placeholder with text from the browsers remembered values (fields history)
- Fix: Some PHP Notices/Warnings
- Fix: {tags} for PDF filename not working
- Fix: When using a field to search previous contact entry a JavaScript error is thrown causing the form to not load.
- Changed: Default font family is now set to
"Helvetica", "Arial", sans-serif
- Added: When going to next multi-part super forms will remember the last step the user was on so when the user refreshes the page the last step will be opened.
- Added: Option to link to a specific Multi-part via URL anchor e.g:
domain.com/order-form#step-12345-3
wherestep
is the identifier,12345
the form ID and3
the step (multi-part) that needs to be openend/shown upon page load. - Added: Options for
Heading
element to use the WordPress theme styles by setting options tonone
or-1
, for instance for Font weight, Line height etc. - Added: Options to control font styles (size, line height, font weight) globally (all elements) and for field labels/descriptions specifically, plus with the option to define the font styles on mobile devices (first/second responsiveness based on window/screen width).
- Fix: Field placeholder font size not correctly set based on font settings.
- Fix: JavaScript error when using conditional validation e.g:
Allow field to be empty > Yes, but not when the following conditions are met
- Added: Setting to turn of the new "Processing overlay/popup" and fall back to the legacy (old) thank you message
Form Settings > Form Settings > Display form processing overlay (popup)
- Added: Prefix
super
toclose
classname for zero conflict policy - Improved: When using the
Popup Add-on
andShow thank you message
is disabled the popup should automatically close after form submission (this will prevent displaying an empty popup) - Improved: Added timestamp to Contact Entries export file name (solves problem with cached files)
- WP Requirements Compliant: Maintains items to Envato's current standards for WordPress
- Improved: Regex that looks for {tags} inside HTML element to exclude any tags that include double quote or single quote, because some third party plugin shortcodes might generate HTML with element attributes like
{"something":"here"}
which caused Super Forms to throw a JS error - Fix: HTML element with foreach loop without {tags} inside Multi-part not being updated
- Fix: Make sure that third party plugins do not display notifications on the builder page that are not using the build in admin notice function within wordpress but a custom one
- Fix: Responsiveness when using multiple form on a single page
- Fix: Multi-part autostep function passed incorrect parameter causing problems with checkboxes and other selectable elements
- Fix: Google Maps not loading due to JavaScript error
- Fix: Several other JS errors fixed
- Fix: JS error with Multi-part element when
Check for errors before going to next step
is enabled
- Improved: Code refactoring
- Improved: Responsiveness for Radio/Checkboxes with Grid layout enabled
- Fix: When using radio/checkbox/dropdown with values like
0.2
,0.20
,0.200
and the option with0.2
was set as the default value the other options should not be set as default value on the front-end. Fixed by enablingstrict
onin_array()
function - Fix: When using address autocomplete with mapped fields and adaptive placeholder the "filled" status should be activated for the field
- Fix: Allow user to trial Add-on even when on a non-secure connection (http)
- Improved: Envato Quality Indicator Application
- Removed prefix from third-party assets handles
- Renamed asset handles to match filename, and without extension
- Missing translatable text strings
- Escape translatable strings
- Remove all unused code
- Escape all translatable strings
- Use
.on()
rather than.click()
,.bind()
,.hover()
,.submit()
etc.
- Fix: Clear form after submission throwing javascript error
- Fix: Compatibility with PayPal Add-on (not redirecting to PayPal checkout page after form submission)
- Improved: Tooltips are now also triggered by both
click
andhover
events - Improved: Resonpsiveness for radio/checkbox items when using Large or Huge field size
- Fix: Multipart autostep not working when having hidden fields at the bottom of a step
- Fix: When using a predefined tag inside
Default value
setting in combination with a button with action set toClear/Reset form
it was replacing the field value to the raw {tag} instead of it's value - Fix: Bug with dynamic columns and field name incremental
- Added: New operator
??
(contains) and!??
(does not contain) for E-mail/HTML if statements. - Added: Option for datepicker to specify dates or date range to override the
Exclude days
setting. This way you can for instance exclude all Mondays, and Tuesdays, with the exception for some hollidays. - Improved: Country strings are now translation ready (used on Country element)
- Improved: Google Map element responsiveness on mobile devices
- Improved: Google Map indicator in back-end to notify users that the Map will only be generated on the Front-end
- Fix/Improved: When using third party shortcodes inside HTML element and it does not contain any {tag} we shouldn't refresh the HTML content. This would cause losing any initialized DOM elements. This also should improve speed for forms that use a lot of HTML elements but didn't contain any {tags}
- Fix: PHP throwing Fatal error when using
Retrieve method
>Post type
- Fix: 3 demo forms were no longer installing properly due to invalid serialized array
- Fix: Issue with slider field inside dynamic column, not updating the amount label position relative to "dragger" when dynamic column becomes visible. Issue also applied to Accordion/Tab element.
- Added: Option for Google Map element to set region code e.g
nl
,de
,uk
,us
etc.uu - Added: Option for Google Map element to set/adjust
zoom
- Added: Option for Google Map element to enable/disable
UI (buttons)
- Added: Option for Google Map element to
draw Route
from address A (origin) to address B (destination) - Added: Option for Google Map element to optionally display the
directions panel
(list with route instructions) - Added: Option for Google Map element to set it's travel mode
DRIVING
,BICYCLKING
,TRANSIT
,WALKING
- Added: Option for Google Map element to populate
distance
to field (including Calculator Add-on) - Added: Option for Google Map element to populate
duration
to field (including Calculator Add-on) - Added: Option for Google Map element to define the unit system
METRIC
orIMPERIAL
- Added: Option for Google Map element to draw Route with
Waypoints
(stops in between the route) - Added: Option for Google Map element to optimize route with waypoints (to rearrange it in a more efficient order)
- Added: Option for Google Map element to avoid
Ferries
,Major highways
,Toll roads
(if possible) - Fix: Incorrect incrementing field names in dynamic columns
- Fix: MySQL error in prepare() statement when unique code is generated
- Fix: Issue with browser
Back
button remembering the uniquely generated code (Hidden field with Unique code generation enabled), should instead generate a new one so that it is a unique code.
- Fix: Limit for dynamic column was no longer working
- Fix: Fix for datepicker, user was able to click days in next and previous months while they shouldn't be able to do so
- New:
Secure file uploads
setting underSuper Forms > Settings > File Upload Settings
- option to define a custom directory name relative to the site root e.g:
wp-content/uploads/superforms
the default upload directory for file uploadsmy-custom-public-folder
custom file upload directory outside wp-content directory (which is still publically accessible but will not store in Media Library)../my-custom-private-folder
secure file uploads../../my-custom-private-folder
secure file uploads when WP is installed in a subdirectory - optionally choose to organize uploaded files in a month/year based structure e.g:
2020/05
- option to hide file uploads from the
Media Library
even if the file was uploaded to a directory inside wp-content directory- Note that if you are uploading files outside the root of your site then files will not be uploaded to the Media Library by default
- only allow logged in users to download secure/private files
- only allow specific roles to download secure/private files
- New: Option to remove hyperlinks (URLs) of file uploads in the email list
- New: Option to remove the uploaded files in the email list
{loop_fields}
(this will still send it as an attachment though) - New: Option to hide file uploads from Media Library via
Super Forms > Settings > File Upload Settings
- New:
PayPal Add-on
: option to send custom email after payment completed - New:
PayPal Add-on
&Register & Login Add-on
: option to update the registered user role after payment completed - New:
Register & Login Add-on
: option to change user role for actionUpdate existing user
- New:
WooCommerce Checkout Add-on
&Register & Login Add-on
: option to update the registered user role after payment completed - New:
WooCommerce Checkout Add-on
: option to populate checkout fields more easily with native setting, matching the field names e.gbilling_first_name
will still work and will be theleading
value if it exists. Otherwise you can define values like so in the settings:billing_first_name|{yourfieldnamehere}
. You can define bothbilling_
andshipping_
fields, both will work. - New: Added
Custom regex
validation option forTextarea
element