Release 0.3

  - Attributes are now grouped by AttributeCollection titles in the edit form

  - getFlatVocab now returns a DisplayList with AttributeColleciton.title +
    ' : ' + Attribute.title so that the standard plone view at least has all
    the info needed to read the field values in a meaningful way.

  - Sped up CategoryWidgets category tree creation by about a bagilion times.
    Thanks to Jason Lantz of Hotsos Enterprises, Ltd. for the heavy lifting.

  - Added a batch entry form for Attributes and Categories accessable via the
    utils tab on each type.

  - Eliminated Category template selector in favour of Plone 2.1 Dynamic
    Views.  Still might need to make this recursive but for now it's strait
    Plone.

  - Categories now respect published/retracted states. ie. they will not show in    CategoryWidget unless they are published.

  - Root Categories can now be added anywhere in the Plone content tree and they will be picked up by the vocabulary.  they do not need to be in Portal root.

  - Fixed display of CategoryWidget arrow graphics

  - Simplified category_widget.css a little

  - Refactored the product layout to make it more Plone 2.1 like

  - PortalTaxonomy now requires Plone 2.1

Issues:

  - More than one Category field causes the first fields vocab tree to behave oddly in the edit form.  I'll work on this for release 0.4.

Release 0.2

  - Categories and Attributes are now associated with fields in a types schema.
    This means that a type may have multiple category and attribute fields,
    Each pulling from different (or the same) categories and attribute
    collections.

  - Added render_template selector to categories.  A Category's index_html
    method will recursivly check render_template for a template id to render
    itself.  render_template's vocabulary is built from a Categories actions
    with action['category'] = 'public_view'.  If no template is selected then
    it will default to category_listing.pt which comes with PortalTaxonomy.

  - Removed CategoryMixin abomination.

  - Categories are now globaly addable, i.e. they do not need to be placed
    inside of CategoryManager.  This is to make them easier to integrate into
    Plone's existing navigation system. (Note: They need to be in the portal
    root to get picked up by the category vocabulary.  I will be making them
    so that they can be anywhere in the content tree in a future release.)

  - CategoryManager is no longer folderish.  Place categories anywhere in the
    content structure. (Note: only in portal root if you want them to be
    picked up by the vocabularies).

  - category_listing.py now uses cat.title_or_id so that categories will have
    labels on the edit screen if they do not have titles.

  - Added a Category utilities tab that will hold some administrative
    utiltiies.  Currently it has a recursive method to reset type restrictions.

Initial Release 0.1

  - Basic functionality working
