Skip to content

Releases: pallets-eco/wtforms

3.2.1

21 Oct 11:36
3.2.1
f9a999e
Compare
Choose a tag to compare

Released 2024-10-21

  • Fix SelectMultipleBase import. #861 #862

3.2.0

20 Oct 20:10
3.2.0
6ff08ce
Compare
Choose a tag to compare

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 from HiddenWidget,
    RangeWidget and SelectWidget to
    conform to W3C #810
  • NoneOf and AnyOf
    can validate multiple valued fields like SelectMultipleField
    #538 #807
  • Use GHA and pre-commit workflows inspired from Flask. #856 #860

Warning

Some deprecated code was removed (#859):

  • Flags can no longer be tuples. #467
  • iter_choices needs a tuple of 4 items #816

Warning

The key for form errors moved from :data:None to empty string "". #829 #858

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

06 Jan 07:53
3.1.2
d4ba836
Compare
Choose a tag to compare

Released 2024-01-06

  • Fix SelectMultipleField value coercion on validation.
    #822 #823

3.1.1

01 Nov 10:26
3.1.1
92bd434
Compare
Choose a tag to compare

Released 2023-11-01

  • Display Flags values in their repr. #808
  • ~SelectField and SelectMultipleField choices can be None if validate_choice is False #809
  • Documentation improvements #812 #815 #817
  • Unit tests improvements #813
  • Python 3.12 support #818
  • Restored support for 3-items tuple return value from iter_choices #816

3.1.0

10 Oct 21:24
3.1.0
49378b8
Compare
Choose a tag to compare

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

23 Dec 10:10
Compare
Choose a tag to compare

Released 2021-12-23

  • Fixed DateTimeField and other similar fields can handle multiple formats. #720 #721
  • Stop support for python 3.6 #722

3.0.0

07 Nov 12:24
Compare
Choose a tag to compare

Released 2021-11-07

  • Fixed fields.RadioField validators. #477 #615
  • fields.FormField.populate_obj always calls setattr #675
  • WTForms has a new logo. #569 #689
  • Fixed fields.RadioField render_kw rendering. #490 #628 #688
  • Support for optgroups in fields.SelectField and fields.SelectMultipleField. #656 #667
  • Minor documentation fix. #701
  • Custom separators for fields.FieldList. #681 #694
  • fields.DateTimeField, fields.DateField and fields.TimeField support time formats that removes leading zeros. #703
  • Refactoring: split fields/core.py and fields/simple.py #710

3.0.0a1

23 Nov 15:30
Compare
Choose a tag to compare
3.0.0a1 Pre-release
Pre-release
  • 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 raise validators.ValidationError or validators.StopValidation to make a validation fail. #445
  • fields.SelectField, fields.SelectMultipleField and fields.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

2.3.3

30 Jul 17:11
244c8d6
Compare
Choose a tag to compare

Includes the translation files that were missing in the 2.3.2 release.

2.3.2

30 Jul 12:18
670f6f3
Compare
Choose a tag to compare

Changelog:

  • Fixed a bug with :class:~fields.SelectField choices shortcut at
    form submission. #598 #639