Changelog History
Page 3
-
v0.6.3 Changes
๐ Released 2011-04-24
- ๐ Documentation: Substantial documentation improvements, including adding Crash Course as a Sphinx document.
-
ext.django
QuerySetSelectField
andModelSelectField
now acceptget_label
similar to sqlalchemy equivalents. - ๐
ext.appengine
model_form
fixes forFloatField
,TimeField
, andDateTimeField
. -
ext.appengine
ReferencePropertyField
now properly stores model object, not key.
-
v0.6.2 Changes
๐ Released January 22, 2011
๐ Bug Fixes:
ext.appengine
: various field fixes (#34, #48),model_form
changes (#41)- Fix issue in
Optional
with non-string input. - Make numeric fields more consistent.
โ Tests: Improve test coverage substantially.
-
v0.6.1 Changes
๐ Released September 17th, 2010
๐ Bug Fixes:
ext.appengine ReferencePropertyField
(#36, #37)- dateutil fields: render issue (r419), and consistency issue (#35)
- Optional validator failed when raw_data was absent (r418)
๐ Documentation: docs now mention HTML escaping functionality (#38)
โ Add preliminary support for providing a translations object that can translate built-in validation and coercion errors (#32)
-
v0.6 Changes
๐ Released April 25th, 2010.
Widgets:
- HTML is now marked as safe (using
__html__
) so that compatible templating engines will not auto-escape it.
- HTML is now marked as safe (using
Fields:
Field._default
is nowField.default
.- All fields now have a
raw_data
property. - Fields which are select fields (including those in
.ext
) can be iterated to produce options, and have anoption_widget
kwarg. - Minor bugfixes and cleanup in
FieldList
,Select(Multiple)Field
,QuerySelectField
to address behavioral consistency. - Added
FloatField
, based onIntegerField
.
Extensions:
- ext.appengine now supports FloatProperty and GeoPtProperty.
- ext.sqlalchemy QueryMultipleSelectField changed to QuerySelectMultipleField.
-
v0.5 Changes
๐ Released February 13th, 2010.
โ Added a
BaseForm
class which provides the core processing and validation functionality ofForm
without requiring declarative subclassing.Fields:
- Field labels now default to a humanized field name.
- Fields now have a
short_name
property which is the un-prefixed name. DecimalField
now rounds values for display without float coercion. See docs for details on how to format decimals.
Extensions:
ext.sqlalchemy.fields
now has an additionalQuerySelectMultipleField
, and all fields can now support multiple-column primary keys.ext.sqlalchemy.orm
contains tools for making forms from ORM models.- Added
ext.dateutil
for flexible date-time parsing. - Added
ext.appengine
contributed by Rodrigo Moraes.
โ Added AnyOf and NoneOf validators.
-
v0.4 Changes
๐ Released 2009-10-10
- Fields have much greater control over input processing. Filters have been added to implement a simple way to transform input data.
- Added fields that encapsulate advanced data structures such as dynamic lists or child forms for more powerful field composing.
- Fields now use widgets for rendering.
- All built-in validators have been converted to classes to clean up the code.
-
Form.auto_populate
andField.populate
were renamed topopulate_obj
to clarify that they populate another object, not the Form or Field. This is an API breaking change. - ๐ Dropped support for Python 2.3.
-
v0.3.1 Changes
๐ Released 2009-01-24
- โ Several fixes were made to the code and tests to make WTForms compatible with Python 2.3/2.4.
- ๐
Form's properties can now be accessed via dictionary-style access
such as
form['author']
. This also has the intended effect of making variable lookups in Django templates more reliable. - Form and Field construction changes: Form now uses a metaclass to
handle creating its
_unbound_fields
property, and Field construction now gives an instance of the newUnboundField
class instead of using a partial function application. These are both internal changes and do not change the API.
-
v0.3 Changes
๐ Released January 18th, 2009.
Validation overhaul: Fields are now responsible for their own validation, instead of mostly relying on
Form
. There are also newpre_validate
andpost_validate
hooks on subfields, adding a great deal of flexibility when dealing with field-level validation. Note that this is an API breaking change if you have any subfields that overrideField.validate
. These will need to be updated to use the new hooks.Changes in how
process_data
andprocess_formdata
are called:process_data
no longer accepts thehas_formdata
parameter.- At form instantiation time,
process_data
will be called only once for each field. If a model object is provided which contains the property, then this value is used. Otherwise, a keyword argument if specified is used. Failing that, the field's default value is used. - If any form data is sent,
process_formdata
will be called afterprocess_data
for each field. If no form data is available for the given field, it is called with an empty list.
wtforms.ext.django
has been overhauled, both to mirror features and changes of the Django 1.0 release, and to add some useful fields for working with django ORM data in forms.The
checker
keyword argument toSelectField
,SelectMultipleField
, andRadioField
has been renamed tocoerce
to reflect the actual functionality of this callable.
-
v0.2 Changes
๐ Released 2009-01-13
- ๐ We have documentation and unit tests!
- Fields now have a
flags
property which contain boolean flags that are set either by the field itself or validators being specified on a field. The flags can then be used in checks in template or Python code. - Changed the way fields take parameters, they are no longer quasi magic. This is a breaking change. Please see the documentation for the new syntax.
- Added optional description argument to
Field
, accessible on the field asdescription
. This provides an easy way to define e.g. help text in the same place as the form. - Added new semantics for validators which can stop the validation chain, with or without errors.
- ๐ Added a regexp validator, and removed the
not_empty
validator in favour of two validators, optional and required. The new validators allow control over the validation chain in addition to checking emptiness. - Renamed
wtforms.contrib
towtforms.ext
and reorganisedwtforms.ext.django
. This is a breaking change if you were using the Django extensions, but should only require changing your imports around a little. - ๐ Better support for other frameworks such as Pylons.
-
v0.1 Changes
๐ Released July 25th, 2008.
- ๐ Initial release.