Changes
=======

3.1
---

2011-02-09
~~~~~~~~~~

* Better support for nested record format
* Support for regular expressions in option definitions, useful for sharing
  options within repeated fieldsets

3.0.3
-----

2010-09-01
~~~~~~~~~~

* Allow a list or tuple of escaped HTML string as argument to ``action_bar()``
* Gave ``submit()`` default arguments, ``submit`` and ``Submit``.

3.0.2
-----

2010-08-07
~~~~~~~~~~

* Fixed bug with ``end_layout()``
* Added optional ``side`` argument to ``field()`` so that labels can be
  put *above* fields when it is set to ``False``
* Added a ``required_position`` argument to ``field()`` so that the required
  asterix can be put after the label when set to ``'after'``.

3.0.1
-----

2010-01-15
~~~~~~~~~~

* Added ``for`` attributes to ``<label>`` fields generated by ``field()``

2009-12-24
~~~~~~~~~~

* Support for BuildKit
* Fixed tests with legacy WebHelpers

3.0
---

FormBuild 3 is a complete from-the-ground-up re-write of FormBuild 2 with
deliberately more limited scope but increased real-world usefuleness.

Major changes since previous version:

* Removal of the ``formbuild.helpers`` module
* Removal of dependency on ``WebHelpers``
* Removal of all previously deprecated code
* Renaming the ``values``, ``errors``, ``state`` and ``options`` argument to
  ``Form`` to ``value``, ``error``, ``flow`` and ``option`` respectively
* Removal of ability to set values, or options at design time
* Introduction of a ``checked`` argument to ``Form`` to determine whether 
  checkboxes are checked or not at form execution time, not based on values
  or at design time
* The ``id`` attribute is no longer automatically generated based on the name
  and the ``type`` attribute comes before ``name`` for ``<input>`` fields
* Added doctests for all fields
* Added full documentation

2.2.1
-----

2009-10-20
~~~~~~~~~~

* Added helpers for ``combo()`` and ``dropdown()``
* Refactored the options code for using a dropdown in a field
* Started updating the documentation 
* Removed some old comments, moved deprecated code to the end

2.2.0
-----

2009-10-04
~~~~~~~~~~

* Added the ability of ``select()`` to use the new ``options`` infrastructure.
* Updated the ``MANIFEST.in`` file to include tests and docs in the source
  distribution.
* Moved the ``formbuild.helpers`` doctest code into the main ``doc.py`` test.

2009-08-20
~~~~~~~~~~

* Made the use of the ``default`` argument raise an Exception instead of 
  logging an error

2009-08-08
~~~~~~~~~~

* Added some documentation tests
* Changed ``checkbox_group()`` and ``radio_group()`` to take a ``sub_name``
  argument for formatting fields according to a NestedRecord structure.
* The ``combo()`` and ``checkbox_group()`` fields can now take options from
  those passed to the ``Form`` object constructor.
* Added Sphinx code
* Made ``checkbox_group()`` and ``radio_group()`` XHTML compatible by using
  the attribute ``checked="checked"``.
* Allowed the ``checkbox()`` to also be able to get its value from the
  ``options`` argument  passed to the ``Form`` constructor and determine
  whether not it is ticked from a ``True`` or ``False`` value in the ``values``
  argument passed to the ``Form`` constructor.

2.1.3
-----

2009-07-13
~~~~~~~~~~

* Used CSS for spacing of required asterix
* Added an options argument to Form instead of individual fields having
  options

2.1.2
-----

* Added a stricter ``errors_to_dict()`` function that catches errors such as
  forgetting ``allow_extra_fields``, ``filter_extra_fields``.
* Added a values_to_dict() function for encoding values
* Added a .validation_state attribute and ValidationState class.
* The title() field and action bar now have a colspan of 3

2.1.1
-----

* Added a title() field to the Form
* Added an imagebutton field
* Added field_pre and field_extra options to the field() method

2.0.1
-----

* Updated the tests
* Added a style used for padding to the labels in checkbox groups.
* Changed _group() helper to automatically convert arguments to unicode.

2.0.0
-----

* First pre-alpha version of the refactored FormBuild.
