Changelog for FormIt.

FormIt 2.0.2
====================================
- [#4864] Fix issue with isNumber not allowing blank fields
- [#5404] Fix issues with checkboxes and array fields in FormItAutoResponder
- [#5269] Fix issues with checkboxes in various forms in emails
- [#5792] Update reCaptcha URLs

FormIt 2.0.1
====================================
- [#5525] Add &allowFiles property, that when set to 0, prevents file submissions on form
- [#5484] Fix issue with double validation error spans
- Fix issue where config was not passed to hooks
- Update German translation

FormIt 2.0.0
====================================
- [#3514] Add ability to customize validator error messages per FormIt form and per field
- [#4705] Add regexp validator
- [#5454] Fix issue with customValidators property in 2.0.0-rc2
- Major reworking of main FormIt script to be OOP
- Add over 150 unit tests to prevent regression
- [#5388], [#5240] Fix issue with FormItCountryOptions and &useIsoCode
- Fix issue with FormItStateOptions and &useAbbr
- [#5267] Fix issue with FormItRetriever and array fields

FormIt 1.7.0
====================================
- Add ability to have "Frequent Visitors" optgroup in FormItCountryOptions, moving specified countries to the top of the list in an optgroup
- Add missing property translations for FormItStateOptions snippet
- Fix small issue with stored values after validation of fields
- Add FormItStateOptions snippet for easy U.S. state dropdowns
- Add FormItCountryOptions snippet for easy country dropdowns
- [#5101] Fix issue with emailMultiSeparator and emailMultiWrapper default values
- Fix issue with bracketed field names being added as extra fields post-validation with . prefix

FormIt 1.6.0
====================================
- [#4708] Add support for bracketed fields, such as contact[name]
- [#5038] Fix uninitialized variable warnings in reCaptcha service
- [#4993] Add Italian translation and fix recaptcha links
- Fix issue where fields could be removed via DOM from form and be bypassed
- Add &emailMultiSeparator and &emailMultiWrapper for handling display of checkboxes/multi-selects in email hook

FormIt 1.5.6
====================================
- [#4564] Fix redirectTo with non-web contexts

FormIt 1.5.5
====================================
- [#4168] Add emailConvertNewlines property for handling newlines in HTML emails
- [#4057] Prevent math hook from generating similar numbers
- [#4302] Cleanups to FormItAutoResponder snippet
- [#3991] Fix issue with checkbox values in emails

FormIt 1.5.4
====================================
- Fix issue with math hook where error placeholders were incorrect
- Fix issue where emailHtml property was not respected in email hook
- Fix issue where hooks were not passed customProperties array
- [#51] Allow blank fields to be passed with :email validator
- [#55] Allow all fields to be accessed in custom validators

FormIt 1.5.3
====================================
- [#40] Add ability to display all error messages in bulk at top, added validationErrorBulkTpl for templating each one
- [#52] Add a general validation error message property, validationErrorMessage, that shows when validation fails
- [#53] Fix bug that prevented recaptcha options from working
- Add a generic validation error placeholder in FormIt to allow for general messages
- [#50] Trim each hook specification in hooks calls
- [#49] Ensure reCaptcha service instance is unique for each FormIt instance
- [#47] Ensure email validator checks for empty string
- [#42] Can now include field names in error strings via `field` placeholder
- [#39] Fix issue with FormItIsChecked/Selected to prevent output from occurring if not checked
- [#37] Fix allowTags validator to work, and work with parameters encapsulated by ^

FormIt 1.5.2
====================================
- Fixed security vulnerability
- Added math hook, allowing anti-spam math field measure
- Added more debugging info to email hook

FormIt 1.5.1
====================================
- Fixed issue where &store was not respecting values set in post-hooks
- Redirect hook now redirects *after* all other hooks execute

FormIt 1.5.0
====================================
- Fixed bug with redirectParams not parsing placeholders in the params
- Added redirectParams property, which allows a JSON object of params to be passed when using redirect hook
- Added spamCheckIp property, defaults to false, to check IP as well in spam hook
- Fixed incorrect default param for fiarSender
- Fixed error reporting for FormItAutoResponder
- Added sanity checks to form attachments when dealing with missing names
- Fixed invalid offset error in checkbox validation
- Added recaptchaJS to allow for custom JS overriding of reCaptcha options var

FormIt 1.4.1
====================================
- Added sanity check for emailHtml property on email hook
- Added sanity check for replyto/cc/bcc emails on email hook
- Added ability to change language via &language parameter

FormIt 1.4.0
====================================
- Fixed bug with recaptcha and other hooks error display messages
- Introduced &validate parameter for more secure validation parameters to prevent POST injection
- Added FormItIsChecked and FormItIsSelected custom output filters for easier checkbox/radio/select handling of selected values
- Added &placeholderPrefix for FormIt snippet, defaults to `fi.`

FormIt 1.3.0
====================================
- Fixed issue with isNumber validator
- Added FormItRetriever snippet to get data from a FormIt submission for thank you pages
- Added extra API methods for custom hooks for easier data grabbing
- Added FormItAutoResponder snippet to use as a custom hook for auto-responses
- Added &successMessage and &successMessagePlaceholder properties for easier success message handling
- Fixed ordering for &emailFrom property
- Added width/height for reCaptcha, however, reCaptcha APIs prevent resizing via calls

FormIt 1.2.1
====================================
- Added recaptchaTheme property, which allows theming of reCaptcha hook

FormIt 1.2.0
====================================
- Added preHooks property to allow for custom snippets to pre-fill fields
- Added clearFieldsOnSuccess property to clear fields after a successful form submission without a redirect
- Allow placeholders of fields in all email properties
- Added customValidators property to FormIt snippet to restrict custom validators to only specified validators to prevent brute force snippet loading
- Added fiValidator::addError for easier error loading for custom validators
- Added German translation

FormIt 1.1.7
====================================
- Added bcc and cc properties for email hook

FormIt 1.1.6
====================================
- i18n of Snippet properties
- Added emailReplyToName and emailReplyTo properties for email hook
- Removed SMTP settings as those are now in Revo
- Fixed bug in html emails where linebreaks were being ignored
- Added islowercase and isuppercase validators
- Added multibyte support to validators

FormIt 1.1.5
====================================
- Added Russian translation
- Updated copyright information

FormIt 1.1.4
====================================
- Fixed bug with isDate check
- Migrated FormIt to Git
- Fixed bug that caused validators to not fire
- Fixed bug where custom validators were wonky, added 'errors' references to custom hooks/validators
- [#ADDON-147] Added support for validation and emailing of file fields
- Added stripTags to all fields by default (unless 'allowTags' hook is passed') to prevent XSS
- Added in missing settings
- Added reCaptcha support via the recaptcha hook
- Adjusted copyright information to reflect current year

FormIt 1.0
====================================
- Fixed bug with emailFrom property getting overwritten
- [#ADDON-122] Fixed incorrect message in spam lexicon item
- Added 'spam' hook that utilizes StopForumSpam spam filter. Will filter the fields in the property &spamEmailFields 
- Ensure hooks errors are set as placeholders
- Aded fi.success placeholder to be set on a successful form submission if no redirect hook is specified 
- Added default to emailTpl property so that it is now no longer required. Will send out email with just field names and values.
- Added Dutch translation
- Added missing formit.contains lexicon entry
- Fixed possible loophole with $this->fields and referencing in multiple hooks
- Fixed bug on hooks due to !== and != difference
- Added SMTP support to FormIt email hook
- Fixed bug with emailFrom in email hook
- Added emailUseFieldForSubject property to FormIt snippet
- Fixed bug on email hook where if subject was passed through form, it wouldn't set it as email subject
- Added changelog