Released 2024-10-20
- Move the project to the pallets-eco organization. :pr:`602`
- Stop support for Python 3.8. Start support for Python 3.13. :pr:`603`
Released 2023-10-02
- Fix a bug introduced with :pr:`556` where file validators were editing the file fields content. :pr:`578`
Released 2023-10-01
- Add field
MultipleFileField
.FileRequired
,FileAllowed
,FileSize
now can be used to validate multiple files :pr:`556` :issue:`338`
Released 2023-09-29
- Fixed Flask 2.3 deprecations of
werkzeug.urls.url_encode
andflask.Markup
:pr:`565` :issue:`561` - Stop support for python 3.7 :pr:`574`
- Use pyproject.toml instead of setup.cfg :pr:`576`
- Fixed nested blueprint CSRF exemption :pr:`572`
Released 2023-01-17
- Fixed validate extra_validators parameter. :pr:`548`
Released 2023-01-15
- Drop support for Python 3.6.
validate_on_submit
takes aextra_validators
parameters :pr:`479`- Stop supporting Flask-Babelex :pr:`540`
- Support for python 3.11 :pr:`542`
- Remove unused call to JSONEncoder :pr:`536`
Released 2022-03-31
- Update compatibility with the latest Werkzeug release. :issue:`511`
Released 2021-11-07
- Deprecated items removal :pr:`484`
- Support for alternatives captcha services :pr:`425` :pr:`342` :pr:`387` :issue:`384`
Released 2021-05-25
- Add
python_requires
metadata to avoid installing on unsupported Python versions. :pr:`442`
Released 2021-05-24
- Drop support for Python < 3.6. :pr:`416`
FileSize
validator. :pr:`307, 365`- Extra requirement
email
installs theemail_validator
package. :pr:`423` - Fixed Flask 2.0 warnings. :pr:`434`
- Various documentation fixes. :pr:`315, 321, 335, 344, 386, 400`, :pr:`404, 420, 437`
- Various CI fixes. :pr:`405, 438`
Released 2020-02-06
- Fix deprecated imports from
werkzeug
andcollections
.
Released 2017-01-10
- Fix bug where
FlaskForm
assumedmeta
argument was notNone
if it was passed. :issue:`278`
Released 2017-01-10
- Fix bug where the file validators would incorrectly identify an
empty file as valid data. :issue:`276`, :pr:`277`
FileField
is no longer deprecated. The data is checked during processing and only set if it's a valid file.has_file
is deprecated; it's now equivalent tobool(field.data)
.FileRequired
andFileAllowed
work with both the Flask-WTF and WTFormsFileField
classes.- The
Optional
validator now works withFileField
.
Released 2017-01-06
- Use ItsDangerous to sign CSRF tokens and check expiration instead of
doing it ourselves. :issue:`264`
- All tokens are URL safe, removing the
url_safe
parameter fromgenerate_csrf
. :issue:`206` - All tokens store a timestamp, which is checked in
validate_csrf
. Thetime_limit
parameter ofgenerate_csrf
is removed.
- All tokens are URL safe, removing the
- Remove the
app
attribute fromCsrfProtect
, usecurrent_app
. :issue:`264` CsrfProtect
protects theDELETE
method by default. :issue:`264`- The same CSRF token is generated for the lifetime of a request. It
is exposed as
g.csrf_token
for use during testing. :issue:`227, 264` CsrfProtect.error_handler
is deprecated. :issue:`264`- Handlers that return a response work in addition to those that raise an error. The behavior was not clear in previous docs.
- :issue:`200, 209, 243, 252`
- Use
Form.Meta
instead of deprecatedSecureForm
for CSRF (and everything else). :issue:`216, 271`csrf_enabled
parameter is still recognized but deprecated. All other attributes and methods fromSecureForm
are removed. :issue:`271`
- Provide
WTF_CSRF_FIELD_NAME
to configure the name of the CSRF token. :issue:`271` validate_csrf
raiseswtforms.ValidationError
with specific messages instead of returningTrue
orFalse
. This breaks anything that was calling the method directly. :issue:`239, 271`- CSRF errors are logged as well as raised. :issue:`239`
CsrfProtect
is renamed toCSRFProtect
. A deprecation warning is issued when using the old name.CsrfError
is renamed toCSRFError
without deprecation. :issue:`271`FileField
is deprecated because it no longer provides functionality over the provided validators. Usewtforms.FileField
directly. :issue:`272`
Released 2016-10-6
- Deprecation warning for
Form
is shown during__init__
instead of immediately when subclassing. :issue:`262` - Don't use
pkg_resources
to get version, for compatibility with GAE. :issue:`261`
Released 2016-09-29
Form
is renamed toFlaskForm
in order to avoid name collision with WTForms's base class. UsingForm
will show a deprecation warning. :issue:`250`hidden_tag
no longer wraps the hidden inputs in a hidden div. This is valid HTML5 and any modern HTML parser will behave correctly. :issue:`193, 217`flask_wtf.html5
is deprecated. Import directly fromwtforms.fields.html5
. :issue:`251`is_submitted
is true forPATCH
andDELETE
in addition toPOST
andPUT
. :issue:`187`generate_csrf
takes atoken_key
parameter to specify the key stored in the session. :issue:`206`generate_csrf
takes aurl_safe
parameter to allow the token to be used in URLs. :issue:`206`form.data
can be accessed multiple times without raising an exception. :issue:`248`- File extension with multiple parts (
.tar.gz
) can be used in theFileAllowed
validator. :issue:`201`
Released 2015-07-09
- Abstract
protect_csrf()
into a separate method. - Update reCAPTCHA configuration.
- Fix reCAPTCHA error handle.
Released 2015-01-21
- Use the new reCAPTCHA API. :pr:`164`
Released 2014-11-16
- Add configuration:
WTF_CSRF_HEADERS
. :pr:`159` - Support customize hidden tags. :pr:`150`
- And many more bug fixes.
Released 2014-09-03
- Update translation for reCaptcha. :pr:`146`
Released 2014-08-26
- Update
RECAPTCHA_API_SERVER_URL
. :pr:`145` - Update requirement Werkzeug >= 0.9.5.
- Fix
CsrfProtect
exempt for blueprints. :pr:`143`
Released 2014-07-16
- Add configuration:
WTF_CSRF_METHODS
. - Support WTForms 2.0 now.
- Fix CSRF validation without time limit (
time_limit=False
). csrf_exempt
supports blueprint. :issue:`111`
Released 2014-03-21
csrf_token
for all template types. :pr:`112`- Make
FileRequired
a subclass ofInputRequired
. :pr:`108`
Released 2013-12-20
- Bugfix for
csrf
module when form has a prefix. - Compatible support for WTForms 2.
- Remove file API for
FileField
Released 2013-10-02
Released 2013-09-11
- Upgrade WTForms to 1.0.5.
- No lazy string for i18n. :issue:`77`
- No
DateInput
widget in HTML5. :issue:`81` PUT
andPATCH
for CSRF. :issue:`86`
Released 2013-08-21
- Compatibility with Flask < 0.10. :issue:`82`
Released 2013-08-15
- Add i18n support. :issue:`65`
- Use default HTML5 widgets and fields provided by WTForms.
- Python 3.3+ support.
- Redesign form, replace
SessionSecureForm
. - CSRF protection solution.
- Drop WTForms imports.
- Fix recaptcha i18n support.
- Fix recaptcha validator for Python 3.
- More test cases, it's 90%+ coverage now.
- Redesign documentation.
Released 2013-03-28
- Recaptcha Validator now returns provided message. :issue:`66`
- Minor doc fixes.
- Fixed issue with tests barking because of nose/multiprocessing issue.
Released 2013-03-13
- Update documentation to indicate pending deprecation of WTForms namespace facade.
- PEP8 fixes. :issue:`64`
- Fix Recaptcha widget. :issue:`49`
Initial development by Dan Jacob and Ron Duplain.