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
requiredflag support fromHiddenWidget,
RangeWidgetandSelectWidgetto
conform to W3C #810 NoneOfandAnyOf
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
choicesparameter #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_ipparameter #800 - Implement :class:
~validators.ReadOnlyand
:class:~validators.Disabled#788
3.0.1
3.0.0
Released 2021-11-07
- Fixed
fields.RadioFieldvalidators. #477 #615 fields.FormField.populate_objalways callssetattr#675- WTForms has a new logo. #569 #689
- Fixed
fields.RadioFieldrender_kwrendering. #490 #628 #688 - Support for optgroups in
fields.SelectFieldandfields.SelectMultipleField. #656 #667 - Minor documentation fix. #701
- Custom separators for
fields.FieldList. #681 #694 fields.DateTimeField,fields.DateFieldandfields.TimeFieldsupport time formats that removes leading zeros. #703- Refactoring: split
fields/core.pyandfields/simple.py#710
3.0.0a1
- Drop support for Python < 3.6. #554
fields.StringFieldsets 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
ValueErrorraised by a validator are handled like regular exceptions. Validators need to raisevalidators.ValidationErrororvalidators.StopValidationto make a validation fail. #445fields.SelectField,fields.SelectMultipleFieldandfields.RadioFieldchoices 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.processtakes 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.SelectFieldchoices are list of strings. #598 - Error messages standardization. #613 #620 #626 #627
fields.core.SelectMultipleFieldvalidate_choice bugfix. #606 #642- Fixed SelectMultipleField validation when using choices list shortcut. #612 #661