CHANGELOG.md 43 KB

v5.1.4

11/16/2021

  1. [](#bugfix)
    • Fixed buttons no longer rendered #537

v5.1.3

10/26/2021

  1. [](#new)
    • Require Grav 1.7.24
    • Added support to disable a form, making it readonly
    • Added |value_and_label Twig filter to convert options to value/label pairs
  2. [](#improved)
    • Improved Twig function include_form_field() to allow the second parameter to be an array of layouts

v5.1.2

09/29/2021

  1. [](#improved)
    • Improved support for Twig 2/3

v5.1.1

09/14/2021

  1. [](#new)
    • Require Grav 1.7.21
  2. [](#bugfix)
    • Fixed accidental admin plugin requirement for YAML filter in the form
    • Fixed GravForm.config JS to have correct current_url and current_params settings
    • Fixed custom file upload and remove routes
    • Fixed bug where uploading file has no effect #349
    • Fixed field with numeric field name in prepare_form_fields() #530

v5.1.0

08/31/2021

  1. [](#new)
    • Require Grav 1.7.19
    • Added support for custom form layouts
    • Added Twig function prepare_form_fields() and prepare_form_field() to prepare form fields and field array
    • Added Twig function include_form_field() to get all include paths for the field type
    • Make nonce to a customizable field
  2. [](#bugfix)
    • Fixed bad cookie value for remembering the position of nested tabs

v5.0.3

06/15/2021

  1. [](#improved)
    • Removed the windows \r\n line breaks + extraneous escaping in data.txt.twig
    • Use base64_encode filter rather than function

v5.0.2

04/23/2021

  1. [](#improved)
    • Better message for invalid nonce #513
    • Better error if Form::getPage() gets called too early #518
    • Added support for custom Toggle id

v5.0.1

03/17/2021

  1. [](#improved)
    • Updated de language #510
    • Better field type definitions for avatar and file fields
  2. [](#bugfix)
    • Fixed toggle highlight when there's no value
    • Fixed wrong selected values in select field with integer and boolean values
    • Fixed changelog display #502

v5.0.0

02/17/2021

  1. [](#new)
    • Requires Grav 1.7.0
    • Allow admins to temporarily disable form process actions by setting the value to false #481
  2. [](#improved)
    • Add id attribute to hidden field #495
    • Escape text as YAML in multi-line textarea #464
  3. [](#bugfix)
    • Fixed reCaptcha v3 incompatibility with multiple forms on the same page sharing different actions #416
    • Toggle fields do not save false if they are toggleable #497
    • Data template fixes #494
    • Fix deprecated Twig method

v4.3.1

01/31/2021

  1. [](#improved)
    • Updated deprecated Twig_SimpleFunction code
    • Added Lithuanian translation #485
  2. [](#bugfix)
    • Fixed state of the checkbox if no value is provided
    • Fixed evaluating default value in hidden field (thanks @NicoHood)
    • Fixed default value to come from the Form in overridable field (thanks @NicoHood)
    • Fix for disabling client_side_validation #482
    • Fix for translations in select field in data template #475
    • PHPDoc fixes

v4.3.0

12/14/2020

  1. [](#new)
    • Added a new ‘condition’ attribute for tab for logic to process if it should display or not
  2. [](#improved)
    • Added priority to form translations/config
  3. [](#bugfix)
    • Fix admin access check #463

v4.2.0

12/02/2020

  1. [](#improved)
    • Added support for arbitrary attributes on form, textarea and checkbox and buttons. #447 #448
    • Better support for array field key/value when either key or value are left empty
    • Allow data-* form parameters to be used as attributes. #336
    • Allow action param when including form partial #410
    • Also support validate min/max for textarea #455
    • Translate form labels also in text file #444
  2. [](#bugfix)
    • Fixed KeepAlive issue where too large of a session value would fire the keep alive immediately
    • Fixed stringable objects breaking the inputs
    • Remove unused route variable from file field
    • Fix condition for required attribute in toggle field #451
    • Fix form data template when select field is set to multiple #452
    • Fix has-errors for select and other fields #454
    • Fix #453 section title level #459
  3. v4.1.2

    10/07/2020

    1. [](#bugfix)
      • Added some missing class attributes

    v4.1.1

    09/01/2020

    1. [](#bugfix)
      • Key field should not escape the value

    v4.1.0

    07/29/2020

    1. [](#new)
      • Support JSON based form submissions
    2. [](#improved)
      • Improved handling of error messages with more details + translation #428 #429
      • Various improvements for nested form data in data.html.twig and data.txt.twig
      • Use |length rather than |count twig filter
      • Various language updates
    3. [](#bugfix)
      • Disabled the EXIF library for Dropzone for fixing the orientation as it was getting applied twice #1923
      • Forked Dropzone fo fix issue with Resize + EXIF orientation #1923

    v4.0.10

    06/08/2020

    1. [](#improved)
      • Updated languages
    2. [](#bugfix)
      • Fixed redirect causing empty form on homepage forms with no action set

    v4.0.9

    06/03/2020

    1. [](#bugfix)
      • Fixed bad id attribute on checkbox field #421
      • Show the description span even for an empty description #313

    v4.0.8

    04/30/2020

    1. [](#bugfix)
      • Fixed issue with force_bool in toggle field to be more robust

    v4.0.7

    04/27/2020

    1. [](#new)
      • Added ability to hide form fields in data.html.twig and data.txt.twig with field.store: false
    2. [](#improved)
      • Updated node dependencies
      • Added new force_bool: true|false option to toggle field to cast strings for use in BC situations
    3. [](#bugfix)
      • Fix markdown links in changelog #415

    v4.0.6

    03/19/2020

    1. [](#new)
      • CHANGE: Form labels are now displayed in raw format so you can use HTML in them
      • Added support for name attribute on buttons #411
    2. [](#improved)
      • Added support for classes option in avatar field
      • Recompiled JS with latest NPM libraries
    3. [](#bugfix)
      • Fixed password field outputting the contents to HTML (will now always be empty when loading the page)
      • Escape default output in formdata.html.twig #384
      • Better JS rendering of captcha field scripts for VueJS template compatibility

    v4.0.5

    03/05/2020

    1. [](#bugfix)
      • Fixed form actions that post to page anchors should not have current base_url added (e.g. #contact-us)
      • Fixed toggleable buttons no longer holding false state #406

    v4.0.4

    02/25/2020

    1. [](#bugfix)
      • Fix for enctype in multipart forms #408

    v4.0.3

    02/11/2020

    1. [](#new)
      • Pass phpstan level 1 tests

    v4.0.2

    02/03/2020

    1. [](#improved)
      • Allow checkbox field to have custom value, default to 1
    2. [](#bugfix)
      • Fixed toggle field not working with toggleable: true
      • Fixed fatal error when form type is disabled

    v4.0.1

    01/02/2020

    1. [](#improved)
      • Improve Grav 1.7 support by not using deprecated $page->modular() call
      • Use form scope if it is defined
    2. [](#bugfix)
      • Fixed bad HTML in select, radio, key, toggle, checkbox ad textarea when using tabindex attribute
      • Fixed bad looking tabs field with a single tab in admin

    v4.0.0

    11/06/2019

    1. [](#new)
      • Added tabindex to global attributes of default field
      • Add ability to Sanitize SVGs on upload (Grav 1.7+ required)
    2. [](#improved)
      • Deprecate select_optgroup as select can handle optgroups now
      • Added missing tabindex checks
      • Refactored field inheritance to make things more reliable
      • Removed jQuery dependency for the reCaptcha field and VanillaJS-ified it instead
      • Removed a stray dump() command
      • Refactored the base templates/forms/default twig templates to make things more extensible
      • Added a new templates/forms/layouts set of twit templates to allow for easier customization
    3. [](#bugfix)
      • Fixed Badly encoded JSON data warning when uploading files grav#2663
      • Fixed a number of escaping issues #368

    v3.0.9

    09/19/2019

    1. [](#improved)
      • Removed jQuery dependency for the reCaptcha field and VanillaJS-ified it instead
      • Updated to ReCaptcha library version 1.2.3
    2. [](#bugfix)
      • Fixed Badly encoded JSON data warning when uploading files grav#2663

    v3.0.8

    08/14/2019

    1. [](#improved)
      • Change form save action location to user-data:// stream #353
      • Updated eu, fr and pl language
      • Make Form::initialize() chainable
      • Added folder option to save: action with fallback
    2. [](#bugfix)
      • Fixed Submit & Redirect not working as expected #355
      • Fixed oversensitive refresh prevention #354
      • Fixed issue with Form JS when pipeline is enabled grav#2592
      • Fixed accept for SVG in file field #364
      • Fixed issue with plugin not returning expected form #309
      • Fixed form message not showing up after reset process
      • Fixed form fields inside a single tab not using value from the form object if it is available
      • Fixed file form field failing resolution checks in certain circumstances

    v3.0.7

    07/01/2019

    1. [](#bugfix)
      • Fixed file upload when $grav['user'] is not set #352
      • Fixed label markdown being escaped #356

    v3.0.6

    06/24/2019

    1. [](#bugfix)
      • Fixed regression breaking forms external to the page in some sites
      • Fixed regression with form action in sub-path folders

    v3.0.5

    06/21/2019

    1. [](#new)
      • Added support for form state saving with dynamic unique id appended to the URL
    2. [](#improved)
      • Avoid creating form state if there is no data to be saved
    3. [](#bugfix)
      • Fixed missing check for maximum allowed files in files field
      • Fixed unique form ids getting cached, they should change on every page reload

    v3.0.4

    06/14/2019

    1. [](#improved)
      • Captcha field: fail silently and display error in console if site_key was not defined
      • Support inline-errors, prepend, append in textarea
    2. [](#bugfix)
      • Use less-strict comparison when checking version 3 #344

    v3.0.3

    05/09/2019

    1. [](#new)
      • Added Text field.copy-to-clipboard which can be used by admin plugin
    2. [](#bugfix)
      • Fixed Flex route issue in list page
      • Fix flex-height of signature field
      • Fix for broken field.recaptcha_site_key #344
      • Fix for checkbox data lang string #343
      • Fix for duplicate inline error messages #337
      • Fixed bad folder permissions when creating folder for file uploads

    v3.0.2

    04/22/2019

    1. [](#new)
      • Support for Google Recaptcha theme (light/dark) doesn't work in v3 yet.
    2. [](#improved)
      • Visual upgrade for form field descriptions #335
    3. [](#bugfix)
      • Fixed issue with recaptcha_not_validated property not being used

    v3.0.1

    04/15/2019

    1. [](#new)
      • Added support for form task in blueprint
    2. [](#bugfix)
      • Fix url field output in list view

    v3.0.0

    04/11/2019

    1. [](#new)
      • Allow streams in file field widget #119
      • Use new unified |t translate filter in all fields
      • Google reCAPTCHA v3 support added
      • Google reCAPTCHA v2 Invisible support added
      • Added mutliple forms with reCAPTCHA support
      • Form no longer extends Grav\Common\Iterator (may have some backward compatibility issues with plugins, likely not)
      • Form now uses NestedArrayAccessWithGetters (with '/' separator) and FormTrait traits
      • Added view, key, ignore, section, toggle, tabs and tab form fields
      • Added support for toggleable inputs, which can be disabled/enabled by user
      • Added $grav['forms'] to allow plugins to better use forms #307
      • Added support for custom form types
      • Forms can now remember their state after page reload with YAML datasets: store-state: true set in the fields
      • Added clear-state AJAX task
      • Added task to clear form flash
      • Added support for file-upload and file-remove tasks
      • Added ability to set a custom clear_redirect_url on a form
      • Added Form::setMessage() method
      • Added new form field templates for edit list table
      • Requires Grav 1.6.0-beta.7 (and optionally Admin 1.9.0-beta.7)
      • Backwards incompatibility: Do not allow static Form::getNonce() call, only $form->getNonce() works now
      • Backwards incompatibility: All form field twig files are required to extend field.html.twig to work properly
      • Allow using custom nonce field/action by setting nonce.name and nonce.action inside the form YAML
      • Added html: true support for form buttons (will not escape the button value)
      • Added toggle, tabs and tab form fields
      • Added support for toggleable inputs, which can be disabled/enabled by user
      • Added proper support for hiding form fields in blueprints by using dynamic property like security@: admin.foobar to any field
    2. [](#improved)
      • Make fields formname, uniqueid and honeypot non-inputs in form validation
      • Update all Form classes to rely on PageInterface instead of Page class
      • Removed media.upload_limit references
      • Added field type hidden to ip and timestamp actions
      • Improved the hidden field logic to support value or default set
      • Set the message globally on messages object when using a redirect in form
      • Improved logic for finding the current form
      • Added support for data-sets in textarea and select fields
      • Simplify shouldProcessForm() logic
      • Do not cache flat forms list, regenerate it instead
      • Fixed some inconsistencies on how blueprints are handled
      • Improved uploads handling, added new upload: true|false process
      • Make Form implement FormInterface
      • Added field.size in array, select, and textarea
      • Enable forms in admin plugin
      • Removed submit of unchecked fields in frontend
      • Make sure that the images in the file field are not cached in browser
      • Updated code to use PHP 7.1 features
      • Added some extra blocks to file field to make it more extensible
      • Added field.classes to form field to allow customization
      • Used Google reCAPTCHA API all token validation
      • Better filename and mime type handling
      • Now using the new core Grav language prefix
      • Make all form fields to extend field.html.twig
    3. [](#bugfix)
      • Fixed old way to access form name
      • Fixed minor bugs
      • Fixed null date/time in list view
      • Fixed forms not being cached properly
      • Fixed issue with selectize, automatically selecting an unintended value
      • Throw exception if you try to add to a file and don't provide filename #324
      • Fixed file field saving with nested name
      • Fixed file saving if destination folder does not exist
      • Fixed FormFlash object not getting deleted on form post
      • Regression: Fixed ignored form action #318
      • Regression: Fixed modular form submit not triggering the action sometimes
      • Fixed modular form submits without defined action: /path inside the form
      • Fixed form processing in nested modular pages
      • Fixed container fields breaking values from the child fields
      • Fixed form fields not accepting object values
      • Fixed some form fields having no value for nested field sets
      • Fixed double escaping of file type input JSON value
      • Fixed double locking of file when calling processor save
      • Fixed some missing backwards compatibility
      • Fixed some issues with flashed form
      • Fixed Twig 2 compatibility issue
      • Fixed files uploading before captcha check
      • Fixed files uploading before data has been stored
      • Fixed some issues with reCAPTCHA v3
      • Fixed error responses when file actions fail in the form
      • Pass unique_id when uploading files if available

    v2.16.4

    12/14/2018

    1. [](#improved)
      • Better handling of invalid file names during upload
      • Better MIME type checking of files during file upload
      • Do not rely on jQuery for merging languages from form fields #290 #291
    2. [](#bugfix)
      • Remove jQuery dependency in form.html.twig (#290)
    3. [](#new)
      • Added Object.assign-polyfill (#291)

    v2.16.3

    09/21/2018

    1. [](#improved)
      • Use Url:post() to get the $_POST variable (allows common security checks/filtering for the POST data)
      • Various JS tweaks and enhancements
    2. [](#bugfix)
      • Fixed issue where select set up as multiple and with selectize: create: true would not properly merge newly created values on rendering.

    v2.16.2

    08/23/2018

    1. [](#improved)
      • Switched to new Grav Yaml class to support Native + Fallback YAML libraries
      • Simple styling fixes for array field
    2. [](#bugfix)
      • Fixed issue with translations of placeholder text in array field

    v2.16.1

    08/20/2018

    1. [](#new)
      • Fixed a regression issue with file & array field

    v2.16.0

    08/20/2018

    1. [](#new)
      • Added new form.keep_alive option to keep session alive #275
      • Added array field for frontend use
    2. [](#improved)
      • Improving compatibility autocomplete spec #274

    v2.15.1

    06/20/2018

    1. [](#improved)
      • Including EXIF JS library in the modules dependencies to fix orientation when uploading images
    2. [](#bugfix)
      • Fix HTML data template for checkboxes fields where 'use' property is "keys" #258

    v2.15.0

    05/31/2018

    1. [](#new)
      • Added support for Uri::post()
      • Added support for autocapitalize, inputmode, and spellcheck options in field definitions

    v2.14.1

    05/15/2018

    1. [](#bugfix)

    v2.14.0

    05/11/2018

    1. [](#new)
      • Make pagemedia field available outside of pages context
      • Added option on fields to disable displaying of label (display_label: false)
      • Moved Dropzone HTML into an overridable Twig template
      • Added support for image upload delete in Dropzone file field
    2. [](#improved)
      • Added support for optgroup within select field
      • Save forms only once (stops extra work being done)
      • Allow file field to pass dropzone options
      • Added datasets support to fields
      • Added field.classes support to display field
    3. [](#bugfix)
      • Removed overridden class in password field
      • Worked around forms being lost if form cache expired before page cache, see #240
      • Fixed default form in dynamically created page if header uses forms instead of old form field
      • Escape placeholder text in default field

    v2.13.3

    04/13/2018

    1. [](#new)
      • Added support to save form data in raw format (yaml or json)
      • Added new timestamp action to add a timestamp field

    v2.13.2

    04/12/2018

    1. [](#new)
      • Added event onFormPrepareValidation to allow some pre-processing before form validation
      • Added new postfix and dateraw options to "Save" action
    2. [](#improved)
      • Added support for nest_id boolean flag to fieldset field to nest sub-fields with name of fieldset
      • Added classes attribute to spacer field
    3. [](#bugfix)
      • Fixed Form::setFields() causing validation to fail on added and removed fields

    v2.13.1

    03/21/2018

    1. [](#improved)
      • CAPTCHA fallback to cURL if Fopen is not allowed #224
      • Use visibility:hidden rather than display:none for honeypot field #235
      • Added support for markdown in checkbox field #233
      • Added option to control inline_css: true|false for fields such as honeypot
      • Added class and CSS for honeypot field

    v2.13.0

    03/09/2018

    1. [](#new)
      • Forced registration of Form page template for admin
      • Implemented support for resolution setting for images in file field
      • Implemented support for resizeWidth, resizeHeight, resizeQuality and updated Dropzone to latest version
      • Added a new signature field
    2. [](#improved)
      • Force an onPageProcessed() event if page cache expires before form cache #240
    3. [](#bugfix)
      • Fixed an issue where unlimited size 0 was not being set properly in File field
      • field.description now translated and displays properly

    v2.12.0

    02/22/2018

    1. [](#new)
      • Added toggle to enable/disable client-side HTML5 validation
      • Added toggle to enable/disable inline-error messages
    2. [](#improved)
      • Reformatted form.php plugin class for better readability
    3. [](#bugfix)
      • Fixed an issue with in-content Twig forms not working because forms were not initialized yet

    v2.11.5

    02/16/2018

    1. [](#new)
      • Added support for form: process: - call: ['Class', 'method'] for custom form handling
    2. [](#bugfix)
      • Fixed regression in v2.11.4: Call to a member function post() on null grav#1720

    v2.11.4

    02/15/2018

    1. [](#improved)
      • Stopped Chrome from auto-completing admin user profile form grav#1847
      • Start using composer to autoload classes
      • Added support for switch to be treated as checkbox
    2. [](#bugfix)
      • Fixed missing form submit in dynamically created pages

    v2.11.3

    01/31/2018

    1. [](#new)
      • Added support for file in Display field. Allows the ability to read a file and output it, works in combination with |markdown filter
      • Added minlength and maxlength to Textarea field #231

    v2.11.2

    01/22/2018

    1. [](#new)
      • Added support for markdown in all form fields for label, help, and description when markdown: true is set on field

    v2.11.1

    12/18/2017

    1. [](#improved)
      • Updated default fields to make them more consistent with class names

    v2.11.0

    12/05/2017

    1. [](#new)
      • Added ability to set novalidate: true on form definition to turn off all HTML5 form validation
    2. [](#improved)
      • Improved logic to handle dynamically added forms to be more reliable
      • Added Dutch Translation #207
      • Improved both HTML and JSON error output by utilizing form.status
      • Code Cleanup
    3. [](#bugfix)
      • Fix AJAX response message and wrong status #211
      • Escaped YAML to form save action to prevent parsing errors #206
      • Fixed RU translations #204
      • Fixed nonce check fail not setting status to error #213
      • Fixed validation fail not setting status to error #209
      • Catch ValidationException to avoid potential fatal error
      • Fixed regression issue on reset fields
      • Removed required attribute in individual checkboxes as it forces all to be checked
      • Security fix to ensure file uploads are not manipulated mid-post - thnx @FLH!

    v2.10.0

    10/26/2017

    1. [](#new)
      • Added ability to 'remember' field values in cookie between submissions #200
    2. [](#improved)
      • Added back improved filesize option that falls back to PHP file upload limits by default #202
      • Added missing file upload options into blueprints and language files
      • Added the ability for a form to have an http_response_code and use it for form-messages.html.twig (requires Grav v1.3.6+)

    v2.9.3

    10/11/2017

    1. [](#improved)
      • Removed filesize plugin configuration in favor of system.media.upload_limit
      • Consolidated field.classes and field.wrapper_classes in radio/checkbox/checkboxes #193
      • Remove trailing slash from form action #195
      • Improved honeypot validation check #198

    v2.9.2

    09/30/2017

    1. [](#improved)
      • Improved Polish translation
    2. [](#bugfix)
      • Added missing @input: false attributes to some non-display fields #189

    v2.9.1

    09/14/2017

    1. [](#bugfix)
      • Fixed backwards compatibility issue with conditional field #188

    v2.9.0

    09/07/2017

    1. [](#new)
      • Added Refresh Prevention capabilities (Not enabled by default) #184
      • Added support for field attributes #176
      • Added global variables for setting form classes
      • Added support for new select_optgroup form field #165
    2. [](#improved)
      • Moved messages output into partial to allow style overriding
      • Logic cleanup
      • Updated Italian and Russian translations
    3. [](#bugfix)
      • Fixed an issue with conditional field not always displaying properly
      • Only add Twig form variable if not already set
      • Fixed issue with multiple forms on a page failing on Captcha client-side validation #182
      • Fixed issue with Ajax forms return full form HTML on error #163

    v2.8.2

    08/18/2017

    1. [](#new)
      • Added new columns and column fields for controlled form layout

    v2.8.1

    08/15/2017

    1. [](#improved)
      • Added extra class support to the default field for more flexible styling

    v2.8.0

    07/16/2017

    1. [](#bugfix)
      • Fixed a typo in the spanish translation #167

    v2.8.0-rc.2

    06/22/2017

    1. [](#improved)
      • Add default client-side validation for captcha, with error popup #139
      • Added key observe for select
      • Added Czech translation
    2. [](#bugfix)
      • Bug fix for radio type form field #154
      • Remove double escaping #155

    v2.8.0-rc.1

    05/22/2017

    1. [](#new)
      • Bundled as RC release for Grav/Admin RC releases

    v2.7.1

    05/22/2017

    1. [](#improved)
      • Force modular sub-pages with forms to set $never_cache_twig = true to improve form processing reliability #153
      • Use new Utils::getPagePathFromToken() method

    v2.7.0

    05/16/2017

    1. [](#bugfix)
      • Fix issue with dynamically added forms (Registration, Profile, Comments, etc) not processed #149
      • Fixed issue with nested values not being repopulated on form error #140

    v2.6.0

    05/04/2017

    1. [](#new)
      • Allow form item replacement in redirect location #144
    2. [](#bugfix)
      • Fix regression with file uploads introduced in 2.5.0

    v2.5.0

    04/24/2017

    1. [](#new)
      • Support proper form handling with nested fields #141
    2. [](#bugfix)
      • Added check for valid Grav forms before trying to create a form object

    v2.4.0

    04/19/2017

    1. [](#new)
      • Added the ability for front-end forms to use advanced blueprint features such as data-*@ and config-*@
      • Added support for dynamically added pages to process forms properly
      • Added a new avatar field for displaying account avatar
      • Added method to get all data from a form
      • Support task in button types
    2. [](#improved)
      • Added step to range field #136
      • Added a new default ajax handler twig template
      • Moved twig events to always process even if forms are not defined
      • Some code cleanup
      • Handle null with session-based form
      • Added support for append/prepend to number field
    3. [](#bugfix)
      • Always process form events as long as a $_POST exists login #101
      • Various fixes for file field
      • Allow manually added pages to process forms and upload files
      • Fixed issue with nested fileds not showing up in data.*.twig templates

    v2.3.1

    03/23/2017

    1. [](#bugfix)
      • Only include outerclasses DIV if defined #135

    v2.3.0

    03/17/2017

    1. [](#new)
      • Ability to process any form on any page via action:. Super useful if you want to handle form processing on some other non-form page (or Ajax)
      • Added the ability for the form to set the template: to use to render the form processing response.
    2. [](#bugfix)
      • Fix number field so it works with min value 0 #130

    v2.2.0

    03/13/2017

    1. [](#new)
      • Added new fieldset form field #125
      • Added new conditional form field to show fields only if some condition is set
    2. [](#improved)
      • Added the option to have outer-classes on buttons #124
      • Added the option to disable fields label if not defined #126

    v2.1.1

    02/17/2017

    1. [](#improved)
      • Better default output for select, checkbox and checkboxes fields in the form destination page and in the emails sent via form submit #121

    v2.1.0

    02/10/2017

    1. [](#improved)
      • Reworked logic so form caching is based on Pages::getPagesCacheId()
      • Added url option for button field
    2. [](#bugfix)
      • Fixed issue with honeypot field not throwing exception properly

    v2.0.10

    02/08/2017

    1. [](#improved)
      • Optimistically set 'status' to success when requesting a form via Ajax. Form processing listeners should take care of setting status to something else
    2. [](#bugfix)
      • File uploads are now adding a __form-file-uploader__ POST field to better allow identifying them with Ajax
      • Require jQuery when using the File field, as it's needed by the form.min.js file required in the file upload functionality

    v2.0.9

    01/24/2017

    1. [](#bugfix)

    v2.0.8

    12/13/2016

    1. [](#new)
      • RC released as stable
      • Added a new honeypot field for form anti-spam protection

    v2.0.8-rc.1

    11/26/2016

    1. [](#bugfix)
      • Fixed Forms 2.0 changes for registration form #101
      • Fixed errant reference to Grav DI container in Form#getPagePathFromToken #105
      • Fixed issue with spacer fields being displayed first, not in order #104

    v2.0.7

    11/17/2016

    1. [](#improved)
      • Added method to set all data in a form
      • Added params to form action URL
      • Added ability to add ids to buttons and to set them disabled
    2. [](#bugfix)
      • Moved Files Upload GC logic to function in front-end only

    v2.0.6

    10/19/2016

    1. [](#bugfix)
      • Fixed translations for display field
      • Fixed #95 multilanguage forms submission
      • Fixed duplicate textarea class tag #98

    v2.0.5

    09/15/2016

    1. [](#bugfix)
      • Fix passing updating the header through event, no need for return value

    v2.0.4

    09/15/2016

    1. [](#improved)
      • Allow filling the page header form dynamically (e.g. use case: Comments plugin)

    v2.0.3

    09/12/2016

    1. [](#improved)
      • Use Page::slug() for form name if not set in the form itself (better backwards compatibility)

    v2.0.2

    09/08/2016

    1. [](#improved)
      • Added support for Grav's autoescape twig setting
      • Allow to add additional markup fields in form and field twig overrides
      • Updated the french language translation

    v2.0.1

    09/07/2016

    1. [](#bugfix)
      • Fixed a backwards compatibility issue with Admin forms

    v2.0.0

    09/07/2016

    1. [](#new)
      • Forms now supports multiple forms per page!
      • Access forms from any other page within the current page
      • Instantiate forms directly in page content with Twig processing enabled
      • New Twig function to get forms data from any other page
      • Ability to use Twig in saved filename
      • Reworked the file field. All files get uploaded via Ajax and are stored upon Submit. Fully backward compatible, file field now includes also a limit and filesize option. The former determines how many files are allowed to be uploaded when in combination with multiple: true (default: 10), the latter determines the file size limit (in MB) allowed for each file (default: 5MB)
    2. [](#improved)
      • Added several missing HTML5 form input field types #87
      • Added Support for CSS id in form definition

    v1.3.2

    08/10/2016

    1. [](#improved)
      • Added Romanian translation
    2. [](#bugfix)
      • Fixed an issue with Recaptcha secret throwing errors #84

    v1.3.1

    07/27/2016

    1. [](#improved)
      • Added support for multiple emails in email field (add multiple: true to enable)
    2. [](#bugfix)
      • Fixed backward incompatibility with forms submission and data retrieval getgrav/grav#933

    v1.3.0

    07/14/2016

    1. [](#improved)
      • When uploading a file through a form, if the file is already existing prepend the current day and time to the filename instead of overwriting it.

    v1.3.0-rc.4

    06/21/2016

    1. [](#bugfix)
      • Fixed running on Grav 1.0.x

    v1.3.0-rc.3

    06/17/2016

    1. [](#new)
      • Set hints for checkboxes options and allow field descriptions

    v1.3.0-rc.2

    06/08/2016

    1. [](#new)
      • Allow to process Twig in a hidden field, by setting evaluate: true

    v1.3.0-rc.1

    06/01/2016

    1. [](#improved)
      • French updated

    v1.3.0-beta.6

    05/23/2016

    1. [](#new)
      • Added support for advanced blueprint functionality in forms
      • Added site-wide form options to set Google Captcha site + secret keys #34
      • Session-based 'flash' storage of form for redirects #48
      • Added ability to append to file if you include a process: save: body: template attribute #65
    2. [](#improved)
      • Support keyname form format like admin forms
      • Added backwards compatibility for Captcha field
      • Added 'markdown-notices' style output for better errors
      • Added Forms::getValue() method to retrieve values programatically
      • Changed datetime form field to simply extend text until implemented
      • Updated french language
    3. [](#bugfix)
      • Refactored the files upload logic
      • Missing Language string
      • Fixed errors not getting output

    v1.3.0-beta.5

    05/12/2016

    1. [](#improved)
      • Moved form/field.html.twig file to the default folder, to be more easily extended in themes

    v1.3.0-beta.4

    05/04/2016

    1. [](#new)
      • Added support for prepend and append field attributes for Text input

    v1.3.0-beta.3

    05/03/2016

    1. [](#bugfix)
      • Fix for select field admin translation

    v1.3.0-beta.2

    04/27/2016

    1. [](#bugfix)
      • Fix for autoescape in spacer and display form fields
      • Fix issue with form reset action #66

    v1.3.0-beta.1

    04/20/2016

    1. [](#new)
      • Added the HTML5 range input field with min and max parameters
    2. [](#improved)
      • Allow to override classes in Form definition for the form element
      • Add more blocks in the Form twig template, so classes can be overridden more easily in themes
      • Reworked some fields to fit the new Admin
      • Use scope for form fields to allow fields to be excluded from the data by adding input@: false to their definition
      • Added german translation
      • Allow to add inline Twig to the form message definition
    3. [](#bugfix)
      • Fixed the form action URL for home page forms
      • Fix stopping form events propagation, correctly stop when one event is stopped
      • Allow to translate the fields placeholders and the form message
      • Fix captcha javascript function ordering. Also, render it in the site active language
      • Support attribute for="id" on label for checkbox
      • Fix select fields with the multiple option enabled
      • Fixed select options escaping with autoescape on - #502

    v1.2.2

    02/11/2016

    1. [](#bugfix)
      • Fixed case issue when including form file.

    v1.2.1

    02/11/2016

    1. [](#new)
      • Allow placeholder for select field
    2. [](#improved)
      • Use common language strings in blueprints
      • Use for attribute in labels
      • Improved README.md
      • Code lint
    3. [](#bugfix)
      • Moved nl2br to correct place or will break for arrays

    v1.2.0

    01/06/2016

    1. [](#bugfix)
      • Correctly merge the file field configuration
      • restore full file information save

    v1.1.0

    12/18/2015

    1. [](#new)
      • Croatian translation
      • Added id, style, and disabled options to select fields
    2. [](#improved)
      • Allow adding form labels and help text as lang strings
      • Allow translating field content
      • Allow translating button and checkbox labels
      • Allow adding classes to the form field container with field.outerclasses
      • Updated French translation
    3. [](#bugfix)
      • Fixed error message on file upload
      • Fixed overriding defaults for the file type in forms

    v1.0.3

    12/11/2015

    1. [](#improved)
      • Updated languages
      • Allow an action to stop processing
    2. [](#bugfix)
      • Fix captcha validation
      • Fix issue where Form was unsetting valid page

    v1.0.2

    12/01/2015

    1. [](#bugfix)
      • Fixed merge of defaults settings
      • Support for arrays in data.txt.twig
      • Fixed blueprint for admin

    v1.0.1

    12/01/2015

    1. [](#new)
      • New file upload field
      • Added modular form template
      • Spanish translation
      • Hungarian translation
      • Italian translation

    v1.0.0

    11/21/2015

    1. [](#new)
      • Server-side validation of forms #11
      • Added french translation
      • Added nonce form security
    2. [](#improved)
      • Show a more meaningful error when the display page is not found
      • Added links to learn site for form examples
      • Label can be omitted
      • Allow user to set the CSS class for buttons
    3. [](#bugfix)
      • Fixed multi-language forms
      • Checkbox is translatable
      • Minor fixes

    v0.6.0

    10/21/2015

    1. [](#bugfix)
      • Fixed for missing attributes in textarea field
      • Fixed checkbox inputs

    v0.5.0

    10/15/2015

    1. [](#new)
      • New operation param to allow different file saving strategies
      • Ability to add new file saving strategies
      • Now calls a process() method during form processing
    2. [](#improved)
      • Added server-side captcha validation and removed front-end validation
      • Allow filename instead of prefix, format + extension
    3. [](#bugfix)
      • Fixed radio inputs

    v0.4.0

    9/16/2015

    1. [](#new)
      • PHP server-side form validation
      • Added new Google Catpcha field with front-end validation
    2. [](#improved)
      • Add defaults for forms, moved from the themes to the Form plugin
      • Store multi-line fields with line endings converted to HTML

    v0.3.0

    9/11/2015

    1. [](#improved)
      • Refactored all the forms fields

    v0.2.1

    08/24/2015

    1. [](#improved)
      • Translated tooltips

    v0.2.0

    08/11/2015

    1. [](#improved)
      • Disable enable in admin

    v0.1.0

    08/04/2015

    1. [](#new)
      • ChangeLog started...