What’s New In FormEncode 2.x

This article explains the latest changes in FormEncode version 2.x compared to its predecessor, FormEncode version 1.3.

2.1.1

  • Add support for 3.13

  • Don’t require legacy-cgi to be installed on 3.13 and later (#176)

  • Don’t permit FieldStorageUploadConverter to be instantiated without having legacy-cgi installed since it does not make sense

  • Releases are now automated through GitHub Actions (#184)

Note: This is the last version that will support Python 3.7 and 3.8 as those are now out of support.

2.1.0

  • Add support for Python 3.7 to 3.12, end support for older Python versions

  • Context.set() now works as a context manager

  • Fix binary of swedish translation

  • Some internal code cleanup and modernization

2.0.1

  • Add support for Python 3.10

  • use Pytest instead of Nose and GitHub Actions instead of Travis for tests

  • Documentation updates

  • Note this will be the last version to support Python 2. The next version will be 2.1.0 to signal this change. For compatibility with older Python versions, please use versions < 2.1.

2.0.0

  • FormEncode can now run on Python 3.6 and higher without needing to run 2to3 first.

  • FormEncode 2.0 is no longer compatible with Python 2.6 and 3.2 to 3.5. For compatibility with older Python versions, please use versions < 1.3.

  • This will be the last major version to support Python 2.

  • Add strict flag to USPostalCode to raise error on postal codes that has too many digits instead of just truncating

  • Various Python 3 fixes

  • Serbian latin translation

  • Changed License to MIT

  • Dutch, UK, Greek and South Korean postal code format fixes

  • Add postal code formats for Switzerland, Cyprus, Faroe Islands, San Marino, Ukraine and Vatican City.

  • Add ISODateTimeConverter validator

  • Add ability to target htmlfill to particular form or ignore a form

  • Fix format errors in some translations

  • The version of the library can be checked using formencode.__version__