* Removed the as_dict and as_json interfaces from the Read model. Decided that was an overeach of responsibility for this extension. Recommend implementing in application space using something like jsonpickle library to create application-specific mixins for this behavior. Much cleaner, and more appropriately scoped.
* BREAKING: delete method on the Delete model is now a class method to match the others. The original motivation for making it an instance method was convenience. I have since decided that was a silly motivation and that for maximum ease of extensibility, class method (like the others) is the way to go. Consistency is also something I always want to maintain across my APIs and that was a factor in this decision. Old way: obj.delete() new way ObjClass.delete(obj)
* You can now specify the sources you want to read from for injection ['json', 'params', 'form', 'query_string'] Use like this: em.enable_injection(app, scan=('json', 'form')) This would ignore the query string and the url parameters and only check POST and JSON data.
* Re-worked the internal configuration management model. Was driving me a little nuts. Do not read or write extension config variables on the Flask.config object. They are prefixed and one-way written from the extension. Use the EasyMode.enable*() functions to do stuff, the configuration values are really only for internal use by the extension.