Releases: pallets-eco/wtforms
Releases · pallets-eco/wtforms
3.2.1
3.2.0
Released 2024-10-20
- Translations update: korean, chinese (traditional), portugese, russian,
dutch, kazakh, swedish, turkish, slovak, ukranian, spanish, french. - Move the repository to the pallets-eco organization. #854
- Stop supporting Python 3.9 and start supporting Python 3.13 #855
- Removed
required
flag support fromHiddenWidget
,
RangeWidget
andSelectWidget
to
conform to W3C #810 NoneOf
andAnyOf
can validate multiple valued fields likeSelectMultipleField
#538 #807- Use GHA and pre-commit workflows inspired from Flask. #856 #860
Warning
Some deprecated code was removed (#859):
Note
If you need to keep the old behavior you can set the _form_error_key
parameter of your form to :data:None
.
3.1.2
3.1.1
Released 2023-11-01
3.1.0
Released 2023-10-10
- Documentation improvements #726 #733 #749
#767 #788 #789 #793 - Translation improvements #732 #734 #754
- Implement :class:
~fields.ColorField
#755 - Delayed import of
email_validator
. #727 <option>
attributes can be passed by the :class:~fields.SelectField
choices
parameter #692 #738- Use the standard datetime formats by default for
:class:~fields.DateTimeLocalField
#761 - Python 3.11 support #763
- Added shorter format to :class:
~fields.DateTimeLocalField
defaults #761 - Stop support for python 3.7 #794
- Added shorter format to :class:
~fields.WeekField
defaults #765 - Move to pyproject.toml #796
- URL validator takes a
allow_ip
parameter #800 - Implement :class:
~validators.ReadOnly
and
:class:~validators.Disabled
#788
3.0.1
3.0.0
Released 2021-11-07
- Fixed
fields.RadioField
validators. #477 #615 fields.FormField.populate_obj
always callssetattr
#675- WTForms has a new logo. #569 #689
- Fixed
fields.RadioField
render_kw
rendering. #490 #628 #688 - Support for optgroups in
fields.SelectField
andfields.SelectMultipleField
. #656 #667 - Minor documentation fix. #701
- Custom separators for
fields.FieldList
. #681 #694 fields.DateTimeField
,fields.DateField
andfields.TimeField
support time formats that removes leading zeros. #703- Refactoring: split
fields/core.py
andfields/simple.py
#710
3.0.0a1
- Drop support for Python < 3.6. #554
fields.StringField
sets data to None when form data is empty and an initial value was not provided. Although it previously set an empty string, None is consistent with the behavior of other fields. #355- Specified version of Babel required for setup to avoid errors. #430
- Replaced use of getattr/setattr with regular variable access. #482
ValueError
raised by a validator are handled like regular exceptions. Validators need to raisevalidators.ValidationError
orvalidators.StopValidation
to make a validation fail. #445fields.SelectField
,fields.SelectMultipleField
andfields.RadioField
choices parameter can be a callable. #608- Choices shortcut for
fields.core.SelectMultipleField
. #603 #605 - Forms can have form-level errors. #55 #595
- Implemented
fields.core.MonthField
. #530 #593 - Filters can be inline.
form.BaseForm.process
takes a extra_filters parameter. #128 #592 - Fields can be passed the name argument to use a HTML name different than their Python name. #205, #601
- Render attribute names like for_ and class_ are normalized consistently so later values override those specified earlier. #449, #596
- Flags can take non-boolean values. #406 #467
- Widgets are HTML5 by default. #594 #614
- Fixed a bug when the
fields.core.SelectField
choices are list of strings. #598 - Error messages standardization. #613 #620 #626 #627
fields.core.SelectMultipleField
validate_choice bugfix. #606 #642- Fixed SelectMultipleField validation when using choices list shortcut. #612 #661