Changelog
=========

0.4.1 (2009-07-31)
------------------

- Added defaultdict emulation class. [malthe]

0.4 (2009-07-29)
----------------

- The selected action, if any, is available in the ``action``
  attribute of a form instance. [malthe]

- Even if form input does not validate, the input is available as-is
  in the ``data`` dictionary. [malthe, rnix]

- Request parameters can now be provided directly as the ``params``
  keyword argument. [malthe]

- Added ``get`` method to errors dictionary. [malthe]

- Errors can now be compared with each other to see if they are the
  same. This makes it easier to test without doctest.

- Made the truth test for the errors object check just for messages in
  itself or it's sub errors. This avoids having the errors object
  saying it is true after accessing a key for which no error exists
  (thus creating a new errors object). [jvloothuis]

- Changed the base class of errors from unicode to object. This makes
  it behave like one would expect when printing etc. [jvloothuis]

0.3.2 (2009-03-09)
------------------

- Shedding unused dependency on 'zope.interface' [jvloothuis]

0.3.1 (2008-10-27)
------------------

- Make it possible to set `prefix` as class attribute. [malthe]

- Fixed issue where action parameters would not get set. [malthe]

0.3 (2008-10-27)
----------------

- Marshalled data is no longer applied when no parameters are
  available from the request. [malthe]

- Made the `errors`-object subclass unicode instead of defaultdict and
  implemented custom string representation function which concatenates
  error messages. [malthe]

0.2 (2008-10-19)
----------------

- Created/improved the abilities for custom validation. [jvloothuis]

- Added form action support. [malthe]

- Reworked marshalling code to handle dynamic dictionary
  keys. [malthe]

- Implemented form data object which facilities the form processing
  flow from applying the request to committing changes to a context
  object. [malthe]

- Integrated the converter into the ``form` module. [seletz]

- Added ``ValidationErrors`` object, which evaluates to True if validation
  errors occured. [seletz]

- Added ``unicode`` converter. [seletz]

- Added ``converter`` module to support converting and validating request
  parameters sent by a form. [seletz]

- Added logic to allow registering and acquiring template API
  components from templates. [malthe]

- Changed the Skin Template View to be a class, and added a minimal
  interface ISkinTemplate to access the template path [seletz]

- Fixed a bug where we did not tear down the tests correctly [seletz]

- Fixed bug where the INewRequest event handler would call
  templates when checking for their existence [seletz]

0.1 (2008-09-25)
----------------

- Initial release [malthe]

- Added support to dynamically register templates if they
  are added to a registered template directory [seletz]

