* formalchemy.ext.pylons.admin added; see http://docs.formalchemy.org/ext/pylons.html
* formalchemy.ext.fsblob added; see http://docs.formalchemy.org/ext/fsblob.html
* support for composite primary keys
* support for composite foreign keys of primitive types
* model argument now optional for FieldSet.bind
* apply i8n to Grid labels
* documentation improvement
* bug fixes
1.0.1
-----
* Bug fixes
1.0
---
* i18n support (gael.pasgrimaud)
* file upload support (gael.pasgrimaud)
* mapper property alias support (gael.pasgrimaud)
* add `kwargs` to FieldSet and Grid render methods, which are passed on to the template. this allows easy custom template use w/o having to subclass. (lbruno)
* removed query_options. Just pass the query as the argument to the options parameter, and FA will turn it into (description, value) pairs. FA will also accept an iterable of objects as a value to the options parameter.
* unicode(object) is used as the default option description, not str(object). (Before, unicode was only used if the engine had convert_unicode turned on.) This is more consistent with normal SA behavior.
* added sanity checks to disallow getting into an inconsistent state. notably, binding to an object that belongs to a session but does NOT have a primary key set is not allowed. workaround: bind to the class, and FA will instantiate it and take it out of the session [until sync()]. Then you can pull that instance out as the .model attribute.
* sync() will save model to session, if necessary
* add Field.with_renderer
* allow manually-added fields to pull their value from the bound model
* fs.[field] returns the configured version of the field, not the unconfigured. fs.fields renamed to fs._fields. Added Field.reset() to deepcopy the unconfigured version.
* explicit renderers required for custom types (FieldRenderer.render removed)
* new documentation http://docs.formalchemy.org (gael.pasgrimaud)