unstale

pypi / wtforms

wtforms

What changed in wtforms 3, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-25.

2 breaking1 deprecations10 new APIs and options1 performance6 behavior and defaults13 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.2.6 on npm

wtforms 333 changes

Breaking changes 2

  • Render-time checked kwargs take precedence over field.checked.

    3.3.0release notes

  • Radio labels no longer render a for attribute.

    3.3.0release notes

Deprecations 1

New APIs and options 10

  • ButtonField is implemented.

    3.3.0release notes

  • Datalist is implemented.

    3.3.0release notes

  • A DateRange validator, similar to NumberRange, is implemented.

    3.3.0release notes

  • DateTimeLocalField accepts a tz parameter.

    3.3.0release notes

  • The Email validator supports test_environment.

    3.3.0release notes

  • Error messages can be customized.

    3.3.0release notes

  • The formdata parameter is passed to post_process.

    3.3.0release notes

  • RangeInput implements min and max parameters.

    3.3.0release notes

  • The Regexp validator allows customization of its match method.

    3.3.0release notes

  • SelectField supports Enum choices, with improved enum coercion and backward compatibility.

    3.3.0release notes

Performance 1

  • URL validation is faster on hostnames with many dashes.

    3.3.1release notes

Behavior and default changes 6

Fixes and other changes 13

  • FieldList keeps the form prefix when renumbering its entries.

    3.3.1release notes

  • Choice and SelectChoice dataclasses are re-introduced.

    3.3.0release notes

  • The Email validator respects email_validator default values.

    3.3.0release notes

  • post_process is appended on new FieldList items.

    3.3.0release notes

  • FieldList resets index state when process is called, handles entries with indices, and uses consecutive IDs after insert and remove.

    3.3.0release notes

  • Double quotes in HTML attribute values are escaped.

    3.3.0release notes

  • Numeric fields handle TypeError.

    3.3.0release notes

  • WTForms supports Python 3.15.

    3.3.0release notes

  • The Regexp validator sets the HTML input pattern attribute.

    3.3.0release notes

  • render_kw is copied for each form instance.

    3.3.0release notes

  • False values are handled correctly with Select.

    3.3.0release notes

  • Supports Python versions from 3.10 to 3.14.

    3.2.2release notes

  • Fixes validation being disabled when formdata is provided.

    3.2.2release notes