CHANGES
=======

1.0
---

* Use odin lazy\_property no django!

1.0.0.alpha1
------------

* Added back missing Api/ApiCollection/ApiVersion classes
* Remove \_\_all\_\_ hack..
* Fixes for travis
* Some pep8 fixes and changes to tox and travis test plans
* Review and overhall of codebase for a 1.x release

0.8.2
-----

* Migrated to PBR
* Missed route setting to collection
* Add support for options
* Updated terms for different route types (collection and resource)
* Added collection, and resource decorators
* Added patch support
* Added update\_instance\_from\_body method that merges "partial" resource into current instance
* Fix header
* Added deprecated tag
* Fixed super call
* Tweaks to setup
* Tweaked versions
* PEP8 fixes
* Added code to automatically determine the defining module
* Fixed reference to odin.compatibility
* Updated minimum odin version
* Travis appears to need django spec quoted
* Using DJANGO seems to break things in travis
* Corrected install section
* Drop official support for Django < 1.7
* Exclude the right versions! Python 3.5 with Django < 1.8
* Tweak travis exclude voodoo
* Remove test for django 1.8+ on python 2.7
* Update Travis to include django 1.8 and 1.9
* Added notice of pending deprecation of certain baldr libs, updated odin version requirement

0.8
---

* Updated version and bumpversion to match odin. Updated to version 0.8dev to match odin
* Eek, is authenticated is a method call! :/
* Improved docstrings
* Added comments on each mixin
* Improved documentation of route decorators
* Simplify matrix build,drop support for python 3.3
* Add python 3.5 to tests
* Update version to match the process used in odin
* Disable Promise detection for now, not quite correct
* Migrated readme to python-odin with coveralls
* Switch to force text (easier for Py 2/3 compatibility)
* Migrated readme to python-odin organisation on github (and travis-ci)
* Simplify
* Added support for translated strings to JSON and Msgpack codecs
* Validation errors can be raised in to\_python also
* Return empty lists, eg check for None
* Added default offset/limit values
* Added logging into default 500 error handler
* Allow a view to simply return an HttpResponse and this will be passed through (this allows a view to return customised responses)
* Always ignore id and pk fields on update
* Added django.models.fields.AutoField to field\_factory
* Drop django 1.6
* Added Django 1.8 build
* Updated baldr validators to handle codec errors rather than raise a 500
* Fixed bug in standard stack-trace fallback
* Allow reverse\_exclude\_fields to be specified with the model\_resource\_factory
* Improve model field mapping, add support for ignoring mappings for return values (this could be important for fields you want API consumers to access but not to set eg modification timestamps)
* Use \_ to indicate route\_count is "private"
* Fixed ordering of routes, etup create and update api's,
* Tidy up long line
* Split out more common functionality migrated API2 into sub modules
* Added more docs, split out common elements between both "apis"
* Bumped version number and updated dependencies (Django 1.7 is required for the checks framework)
* More work on API2 to allow easy definition of actions
* Expanded api v2
* Expanded API 2
* Removed section that is breaking other sites
* Initial work on version 2, improved API
* change value to field in docs
* Improved doc strings
* Added initial work for different approach to defining routes and methods
* Make module a required parameter to ensure that a generated resource has a better module pre-defined
* Handle codec errors
* Update ModelAPI to include a save\_model method (so it can be easily modified)
* Updated ordering of base\_urls generated by ActionMixin. Added initial concept of ResourceAction, this allows actions to be defined as their own entity
* Added initial implementation of ResourceForm (and supporting classes)
* Added initial placeholder for resource form
* Updated 500 handler so if a content type is not explicitly defined (eg loaded in a browser) and we are in debug mode then display the django crash page
* Re-order actions within dispatch, move handle\_authorization to after 404 check
* Added login required auth mixin
* Some clean up and made compatible with existing ApiCollection
* Added support for API versions
* Register a handle for Django ValidationExceptions (allows us to use django validators by default), add baldr ResourceField and ResourceListField to supported mapped fields. Added mapping of attributes from model and validators . Allowed an override for the resource\_type\_name onto the model\_resource\_factory
* Added support for specifying a different list mapping vs standard resource mapping (handle if you want ot use a summary resource). Fixed bug where model\_id\_field was not being taken into account on updates to a model Expanded docs
* Fixed return not unpacking in tertiary structure
* Added auto resolving of mappings given a pair of objects
* Added support for additional fields (saves a lot of work around creating full resources), Added min/max\_value attributes
* Fixed strange bug in python where tuple unpacking wasn't applied when response is from a if statement
* Started adding API's for press (baldr auto models rocks!)
* Use new CodecDecodeError to and add additional tests
* Updated travis config for django 1.7
* Added tests for handling empty string
* bumped version correctly!
* Bump version to 0.5.2
* Handle an empty string as None
* Added support for populate a resource directly from a queryset (skipping out the model and mapping stages)
* Fixed inheritance bug in ActionMixin was skipping base\_urls and preventing them from being registered
* Added model API
* Added a check for a list of resources rather than a single resource
* Improved create/update API, fixed bug referring to request body (as data instead of body)
* Changed how methods that are not defined reported. return Http404 instead of NotImplementedError
* Handled permission denied, change code to be sub\_status
* Handle resource decoding failure
* pep8 bypass
* Fixed reference to baldr app config
* Handle different errors better
* Handle ValueError correctly
* Setup descriptor interface, fixed bug dealing with validation passing but not returning a value
* Added new model field that utilised a descriptor and allows for lazy parsing of resources, prevents long operations when just fetching data from the database for display
* Initial work on improved resource field
* updated to django 1.7
* Improved update message to support lazy updates (ie only do work if a model has actually changed). Improved method documentation
* Fixed issue where two listings included two slashes
* Improved the concept of a prefix to use the URL method to auto apply a \`url\_prefix\`
* Bumped django 1.7 version to c3
* Return 204 rather than null
* bumped version
* Renamed update\_model to just update
* Added support for update mapping a model resource to an existing model
* Updated classifiers
* Improvements to dispatch methods to add pre and post dispatch hooks, Refactored calls to remove request\_method and type (method is already part of the request) and request\_type is now available by request.type Added simple way to apply a prefix to a base URL. Reorder some methods to be consistent
* Fixed py33 tox config
* Added a simple initial fix to simplify specifying an alternative module
* This time a compatible git reference that travis can install
* Update git to use git+https
* Installing eggs from git requires the -e flag :/
* Update tests to use django 1.7c2
* For now in tests assume baldr is using latest from odin master
* Fixed dependencies
* pep8 fix
* Corrected odin version required
* Bumped version to 0.5
* Removed model assert (the mapping framework will take care of this anyway)
* Added a convenience to ModelResourceMixin to convert from a model (meaning and end user does not need to track the original mapping)
* The quick hack solution using an alias is problematic when inheritance is in play, fixed this issue
* Added initial iteration of model\_resource\_factory, this is a set of tools for automatically generating resources from django models
* Updated the action dispatch processes
* Tweak to url method to include closing of the URL, assumes the passes part of a regular expression
* More work on sub actions
* Simplified generating URL's for API's
* Bumped django 1.7 to use rc2
* Updated requirements details
* Exclude test\_runner from dist package
* Removed requirements, setup.py defines all that is required
* Bumped version
* Removed unused code
* Added references to travis etc
* Added Odin dependency
* pep8 fixes
* Set coverage settings
* Initial travis config
* Tweaks to update and setup scripts
* Setup default tests
* Updated license and authors
* Corrected param order
* Added (and commented out) support for sub resources as part of an API
* Added collection helper container
* Renamed load\_resources method to list\_resources
* First test!
* Added CRUD+L mixins
* Added placeholder for test cases
* Bumped version to 0.4.5
* Bumped minimum requirement
* Simplify construction of built in resources to use args (this is faster)
* Removed views file is now deprecated
* Added security checks with methods requiring explicit permission (default is get only), more docs, using improved resources
* Improved how immediate response exceptions are created (allowed for headers)
* Improved response resources
* Updated up odin dependency
* Fix dispatch\_detail method to call detail!
* Updated version code generation and reporting
* Updated version of API that separates out building of API blocks to make adding new content type resolvers, supported content types and different methods types easier to work with
* Rolled back views to old version
* Additional work on API, defining process
* Disabled assert to get this working with South
* Supposed to be array of types
* Extend model introspection to include field args
* Add missing South introspection rule for ResourceListField
* Added a field that supports lists of fields, and handles '{}' as a null resource
* Require the 0.4.3.1 revision of odin (for codec support)
* Just display what every resource is provided as a json dump
* Improved Python3 compatibility
* Allow indent to be specified
* Defaults and setup
* Fix bug where an 500 error was caused when a dispatch method was not implemented
* Added form field for view/edit of resources
* Simplified and added placeholder form\_field
* Moved HttpError into it's own file (ready for other resources)
* Added exceptions, still pretty naive though
* Correct the resolver to use correct attribute names for django models
* Add validation step into baldr for ResourceField
* Updated documentation path to point at development
* Update README.rst
* Update README.rst
* Added LICENSE
* Initial commit
