All notable changes to this project will be documented in this file.
This projects adheres to Semantic Versioning and Keep a CHANGELOG.
- Broken Use conditions on settings
- Broken Talentlyft integration if we have custom fields.
- Wrong filter callback for Debug options.
- Prevention of multiple form submissions from the same user until the API response is processed.
- Decoupled Clearbit integration from sync submit and moved it to job queue.
- Req class on the form fields that are required.
- Locations ajax for results output listing.
- Option to customize Date and Time fields Preview and Output format.
- Result Outputs can now be exported and imported using settings.
- Settings entries list now has better UX in settings.
getFormUsageLocation
helper now supports custom post type.- HubSpot integration now works using
v3
API for all data except form submission as it is not supported. - Corvus Pay integration now supports IBAN payments.
- TalentLyft integration now supports additional statuses.
- Input Range status variable will output max 2 decimals.
- Input Range settings pickers broken up/down buttons.
- Corvus Pay integration fix with
Require complete
option.
- Any Server Side Render for the forms and results output.
- Result Output global settings option to setup custom frontend URL.
- Req class on the form fields that are required.
@infinum/eightshift-forms-utils
to the latest version3.0.7
.
- Language issues implemented in WP
6.7
.
- Admin JS and CSS scripts are now loaded only on the forms page.
@infinum/eightshift-forms-utils
to the latest version3.0.6
.brain/monkey
to the latest version2.6.2
.php-parallel-lint/php-parallel-lint
to the latest version1.4.0
.php-stubs/wordpress-stubs
to the latest version6.6.2
.- minimal PHP version to
8.3
.
- Broken single submit feature on some integrations.
- Limit Talentlyft integration to only
published
forms.
- New Integration for
PayCek payment
.
- New Integration for
CorvusPay
. - New helper to get forms usage locations -
getFormUsageLocation
.
- Broken conditional tags for none form fields.
- New feature to allow the form to be submitted only once per user.
- New feature to allow the form to be visible only when the user is logged in.
- Mailer now supports few new email response keys:
mailerPostTitle
,mailerPostUrl
,mailerPostId
,mailerFormId
andmailerFormTitle
.
- TalentLyft integration bugfix
- TalentLyft integration custom fields not being saved correctly.
- TalentLyft integration not displaying label for radios and checkboxes.
- Wrong function type hint for
getCptLimits
function.
- Fixing broken setting key for hide form.
- Do not show the form in the admin settings link if the user is missing cap.
- Wrong function type hint for
getCptLimits
function.
- Forms Custom post types will no longer appear in the search results using regular WP search query.
- Results output will no longer appear in the admin sidebar menu as a top-level item.
- Forms Custom post types will no longer be registered as a standard rest API endpoints for security reasons.
@infinum/eightshift-forms-utils
to the latest version3.0.4
.
- public helper
esFormsGetComponentsRender
now supports Tailwind classes.
- New TalentLyft integration.
@infinum/eightshift-forms-utils
to the latest version3.0.3
.
- Broken Mailchimp integration if only email is sent.
- New way of handling Tailwind classes for forms.
- Rating field is now disabled if the parameter is set to true.
- Input number is now able to use standard tab navigation.
- Rating field now supports tab navigation.
- Any unnecessary server side renders for the forms.
- Additional Tailwind selectors for forms fields.
- Range field not supports progress CSS variable.
- Implemented a new "value type" attribute to the country field, allowing for the dynamic definition of option values.
- Adapted the Countries class to support the new "value type" attribute.
- Filter to allow adding custom Tailwind classes to all form elements.
- Bypass captcha flag now works correctly on all forms.
- new integration filter
overridePostRequest
to override the post request data. - new public helper
getFormsGetCountryList
to get the list of countries.
- Result output configuration for missing link URL.
- Added field validation to the output of the error msg.
- Additional fixes for legacy output data.
- new integration filter
afterCustomResultOutputProcess
.
- Removing copy for result output setting.
- JSON decode issue with the result output setting.
- Updated npm packages to the latest version.
- Result output now supports single view and has link in the admin listing.
- Result output item now supports fetching data from encrypted URL.
- New filter
beforeSuccessResponse
for the forms. - New variations setting and way of handing form data submission.
- Form fallback debug settings now supports original data and request url in the email.
- New email response keys
mailerSuccessRedirectUrl
,mailerEntryId
,mailerEntryUrl
that can be used in any email. - New
esFormsROISF
shortcode that can be used inside the result output item to show the form again. - Feature to hide form after submission.
- Multiple filter not in use anymore:
successRedirectVariation
,successRedirectVariationOptions
,preResponseAddonData
,preResponseSuccessRedirectData
,resultOutputItems
,resultOutputParts
.
- Conditional tags logic is now transferred to utils so it can be used in other features.
- Forms specific settings that should be available only after form is submitted is not fetched on the form success submission and not hardcoded in the DOM.
- Result output is now styled with the new design for better UX.
- Result output now supports comparator for the conditional logic.
- Form submission is now handled with new and optimized way of handling data and multiple features.
esFormsROIP
shortcode now supports variation data submission.
- Entries listing is no longer breaking if the value is to long.
- Stylelint errors from the new setup.
- All form fields are now additionally checked for correct data structure on submission.
- removed unnecessary email fallback.
Eightshift-forms-utils
to the latest version2.0.2
.- result output item now supports conditional logic with both single and duplicate values.
- email fallback now supports request IP sent from the server, the data is anonymized.
- new form setting that will hide form once it is submitted with success.
- new
esFormsROISF
shortcode that can be used inside the result output item to show the form again.
Eightshift-forms-utils
to the latest version2.0.1
.
- Countries get list pulled the data from the wrong manifest cache file.
- Updating .js files for the new eslint rules.
@infinum/eightshift-frontend-libs
to the latest version12.1.5
.
- Countries list is now loaded from php file and not from the manifest json.
- Countries list from cache.
- Translations for the countries list for 14 languages.
- Geolocation added additional check for sent headers.
- Changing the main Manifest cache function for setting up initial cache.
Eightshift-forms-utils
to the latest version2.0.0
.@infinum/eightshift-libs
to the latest version8.0.0
.@infinum/eightshift-frontend-libs
to the latest version12.0.0
.
- All
Data
are not loaded from utils lib. - Top bar no longer supports listing all forms items for faster loading.
src/Exception/MissingFilterInfoException.php
because it is not used anymore.
- New
Caching
service for manifest data and new options to flush cache from the settings. - Input number validation for allowed keys.
- WP Rocket cache options settings.
- Custom post type labels are not translatable.
- Filter
script_dependency_theme
is nowscript_dependency_theme_captcha
.
- Geolocation will now work even if forms is configured but global setting is disabled.
- HubSpot Client fixes for additional params broken after security fixes on the Chrome browser.
- Two new filters for encryption and decryption of the data.
- Updated the
@infinum/eightshift-forms-utils
to the latest version.
- Two new filters for encryption and decryption of the data.
- Airtable integration now supports multiple select fields.
- Moments form validation of input fields limiting the number of characters to 1000.
- Calculator will no longer break reCaptcha validation.
- Single submit with global msg disabled will no longer output the empty success message.
- Single submit now supports input type number.
- Security feature now supports calculator rate limiting separate setting.
- Reverted changes for enrichment prefill hidden fields.
- New filer
es_forms_block_form_custom_class_selector
for adding custom class to the form block. - New type attribute to the
esFormsROIP
shortcode.
- Strauss to the latest version.
- Ability for checkboxes and radios when used as a "show as" option to select to have placeholder text.
- Check for the enrichment if locale storage is available.
- Google reCaptcha will now throw an error if not set up correctly.
- Multiple JS errors when array or objects are missing.
- Google reCaptcha will now send a fallback email if there is an issue with the validation only.
- Cleaned up unnecessary data from fallback e-mails.
- Enrichment will now only prefill visible fields.
- Eightshift-forms-utils to the latest version
1.3.6
. - Updated create entries helper to check if the database table exists.
- Updated validator to load email tld manifest data from cache.
- Fix the shortcode for displaying the output of the calculations.
- reCaptcha will now output the correct message on the frontend in any case.
- reCaptcha will now send fallback email if there is an issue with the validation.
- Security feature now supports option to ignore IPs.
- Eightshift-forms-utils to the latest version
1.3.5
. - License updated.
- Deploy scripts.
- single submit on calculation forms will no longer reset the form on submit.
- single submit on calculation forms will now send all form data on submit.
- range current state will now update on initial load.
- issue with not syncing correctly form fields with escape characters.
- issue with multiple select fields not being saved correctly in Moments integration.
- single submit logic for the forms.
- issue with multiple select fields not being saved correctly.
range
field for the forms.singleSubmit
attribute on all fields to allow only one submit per form to be used as calculation form.Result output
custom post type.- Blocks for the result output.
- Calculator form type and necessary filters.
- Forms can now use
single submit
option to send data without submit button. - Setting for single form to hide global msg on submit success.
esFormsRangeCurrent
shortcode to output the current value of the range field.esFormsROIP
shortcode to output the result output part.
Input
fields now output correct types for e-mail and URL fields, so the experience on mobile devices should be much better.- Admin listing URLs can now support additional types.
- All icons are now used from utils lib.
- JS errors when missing data.
- Broken URLs for admin listing when using custom post types.
- Unnecessary options in the
rating
field.
- issue with multiple select fields not being saved correctly in Moments integration.
- File upload validation will no longer break if API returns invalid type.
- issue with multiple select fields not being saved correctly.
- New support page in the settings for easier access to server configuration issues.
- Options to send empty fields to entires.
- Block Editor select option will auto close on selection.
- File upload validation will no longer break the API returns invalid type.
- Validation pattern will no longer break if value is array.
- Ability to send fallback email if there has been validation error for
validationMissingMandatoryParams
,validationFileUploadProcessError
andvalidationSecurity
. - New fallback processing validation fallback function.
- The security validation feature will no longer trigger count files and step requests.
- Entries now have ability to save empty fields based on the settings.
- Typo for fallback function.
- Custom mailer now supports saving entires.
- New
dynamic
block and component to allow dynamic form fields. - Integration form picker now supports clear option.
- Airtable integration now supports dynamic, connected tables.
- Airtable integration now supports multiple select fields.
- Mailer now supports custom response tag
mailerSuccessRedirectUrl
. - Locations use the URL to the settings page and top admin bar.
- Integration sync fix when you unset attributes set in the manifest as default.
- Forms JS breaking on the frontend when API response returns JSON but, the response is not an object.
- SCSS linter errors.
@infinum/eightshift-frontend-libs
to the latest version.@infinum/eightshift-forms-utils
to the latest version.husky
to the latest version.webpack
to the latest version.webpack-cli
to the latest version.reactflow
to the latest version.
- Extracting for helpers to new library for easier usage across add-ons.
- Creating new addon options for new potential projects.
- Forms listing filter will allow you to filter form by type.
- Forms settings will now follow the used theme admin color scheme.
- New Dashboard settings page where you can toggle options you want to use in the project.
- New checkbox toggle state for the settings pages.
- Conditional logic for all integration forms.
- Conditional tags for all forms.
- Multi-step multiflow forms can now be created.
- Over 30 new filters for the forms and integrations.
- Automatic diff between integration forms an internal forms.
- Documentation page in the settings.
- Migrations page where you can migrate the data for the options that were changed in the major versions.
- Debug options with multiple options for debugging.
- Forms can now store entires in the database.
- New form fields for country, rating, date, time, multi-select, and phone number with country picker.
- New security options for the forms.
- Google reCaptcha now supports invisible reCaptcha and business version.
- Top admin bar option for easier access to the settings and forms.
- Ability to delete/sync/duplicate multiple forms at once from admin listing.
- Forms now supports multiple languages using WPML plugin.
- Forms now supports RTL languages.
- Forms now supports Cloudflare setup.
- Import/Export forms and settings for easier migration between projects.
- New integrations for Pipedrive, Jira, Moments, Airtable.
- Enrichment now supports remembering the last used field values from local storage or URL.
- Email validation now supports top level domain validation.
- Forms are now faster and more secure.
- Visual styling for all settings pages with tabs, better copy, and a lot of UX/UI improvements.
- Fallback emails are no longer in the troubleshooting class but as a standalone class.
- Your forms will now show only integrations in the settings set in the Block editor.
- Geolocation will now load forms faster and even work with the cookieless setup with caching options.
- Forms are now compatible with latest WordPress version and PHP 8+.
- Optimized loading of all settings pages.
- Issue with attributes escaping on the PHP8+.
ES_DEVELOP_MODE
constant because you can configure everything from the settings page.
- HubSpot internal logic for api auth. Switching from API Key to Private App.
- Issue with the hidden field and legacy items in the integration settings.
- MailerLite default status to active
- Hubspot fix so the input hidden is not displayed on the frontend.
- custom form params are now in one place and used as an enum for PHP and JS.
- server errors will no longer produce a fatal error on the form but will output the message to the user, which is also translatable.
- option to remove all unnecessary custom params set on the form before the final integration post, so we don't send unnecessary stuff.
- new admin setting sidebar title for grouping the sections
- new troubleshooting section that contains debugging options: skip validation, form reset on submit, output log.
- new fallback email fields for all integrations; this will send an email with all details if there is an integration issue.
es_forms_geolocation_db_location
filter to specify the location of the geolocation database in your project.es_forms_geolocation_phar_location
filter to specify the location of the geolocation database in your project.- new filter
es_forms_troubleshooting_output_log
provides the ability to output internal logs to an external source. - new toggle button in troubleshooting settings will enable you to skip captcha validation.
- geolocation license copy
- new sortable option to all integration fields.
- all JS global variables for frontend and backend are now using the same name.
- internal custom field for actions is now called es-form-action.
- filter for setting http request from
httpRequestArgs
tohttpRequestTimeout
because it is used only to set timeout. - Greenhouse integration from
wp_remote_post
to regularCurl
because of the issues while sending the attachments. You are now only limited on the amount of memory your server can send. - form will now throw an error if form-ID or type is missing in the request.
- all remote requests are now outputed via helper for easier and more predictable output.
- converting from internal geolocation logic to libs abstract class logic.
- updating libs.
ES_GEOLOCAITON
global constant toES_GEOLOCAITON_IP
.
- all wrong text domains are changed from
eightshift-form
toeightshift-forms
. - Active campaign body was set wrong and was not working.
- Active campaign setting info copy for setting api key and url.
- customSuccess label is now translatable from settings.
- validator will now skip the input type hidden because there is no need for that.
- Greenhouse timeout issue on large files.
- wrong mime type for google docs file format .docx
- internal filter naming for functions
ES_DEVELOP_MODE_SKIP_VALIDATION
because it is used from admin now.ES_LOG_MODE
because it is used from admin now.es_forms_geolocation_user_location
filter.
- preselected values for custom select.
- added additional corrections for localStorage.
- missing attribute from component to form block manifest.json.
- updating libs and frontend libs.
- fixing loading of js.
- fixing way the settings are passed to the js.
- fixing linting issues.
- removing unnecessary style and scripts.
- new field hidden attributes for hiding fields from dom.
- hidden field for hubspot integration.
- preselected value field for hubspot integration.
- enabled field for hubspot integration.
- new custom form type used to provide custom form action location.
- options in forms block to define action.
- option to send form submit to external url if form action is set.
- new tracking class for storing url tags and detecting tags from get param.
- new option to store url tracking tags to localStorage for later usage.
- new filters for tracking.
- local and global file upload allowed types.
- logic for scroll to top and scroll to first error.
- Mailchimp integration merge fields.
- Logic behind the form Js initialization with the option to avoid domReady.
- Method to remove all event listeners on demand.
- New event when all event listeners are removed.
- Filter for updating http_request_args.
- Better internal logging for integrations.
- Option to provide checkbox unchecked value.
- New filter to allow filtering of the formDataTypeSelector attribute during form component renders.
- Greenhouse integration checkbox true/false unchecked value.
- Geolocation hook condition to be able to disable on filter.
- Internal build process for GH actions.
- Internal links to support WP multisite.
- passing get parameters to the backend to process and get what we need.
- New Greenhouse field that gets data from the get parameter and pass it to the api.
- Broken validation for file type.
- Validation for input type to detect the type and validate accordingly.
- Option to show WP-CLI command.
- Mailchimp integration total number of list items to show.
- Option to use string templates in mailer subject and other fields.
- Initial production release.