=======
CHANGES
=======

Version 0.4.0 (2008-08-26)
--------------------------

- Feature: There is now a special unique prefix generator that uses
  `z3c.form`'s new ``createCSSId()`` function to generate css selectable
  prefixes for ajax forms.

- Feature: There is now a viewlet manager already registered with all
  the viewlets necessary to use `z3c.formjs`.  You can now just do:

    <script tal:replace="structure
                         provider:z3c.formjs.interfaces.IDynamicJavaScript">
    </script>

- Feature: When AJAX handlers return complex data structures (dictionaries,
  lists and tuples), the data is automatically converted into JSON
  format before delivery.

- Restructure: Make package run on latest z3c.form 1.9.0 release.

- Bug: Widgets that were being updated multiple times were generating
  duplicate javascript event subscriptions. This is now fixed.


Version 0.3.0 (2007-10-03)
--------------------------

- Feature: Made a JavaScript renderer for calls to JS Functions.

- Feature: Implemented tools to make server side events propagate to
  the client.

- Feature: Now the ``jsevent.subscribe`` and ``jsaction.handler`` decorators
  can be chained together, allowing them to be called multiple time for the
  same methods.

- Feature: Implemented ability to switch widget modes on a form.


Version 0.2.0 (2007-07-18)
--------------------------

- Feature: Registration of public AJAX server calls via a simple
  decorator. The calls are made available via a special ``ajax`` view on the
  original view.

- Feature: Allow registering of JS subscriptions via a decorator within the
  presentation component.

- Feature: Added a new CSS selector.

- Feature: Implementation of AJAX-driven widget value validation.

- Restructure: Completely overhauled the entire API to be most easy to use and
  have the most minimal implementation.

- Bug: The package is now 100% tested.

- Feature: Implementation of AJAX request handlers in forms.

Version 0.1.0 (2007-06-29)
--------------------------

- Initial Release

  * Feature: JS event association with fields and buttons.
