42.042

  * Work around broken behaviour in old versions of XML::LibXML.
  * add json callback hook, and test json response.
  * Use JSON::XS, not JSON::Syck - we prefer it because it does Unicode
    correctly among other things.
  * trim BOM from paramters.
  * also decode paramter names from utf-8.
  * catch non-utf8 params better.

42.034
  * Run some tests only if certain optional modules are installed.
  * Better froodydoc (written using JS::Standalone)
  * Fix irritating pod::coverage syntax glitch
  * don't 500 on errors in the post_process handler. Specifically, xml shape errors.
  * Make sure we UTF-8 encode all code paths.
  * Update the bin/froody script to work with modern calling techniques.
  * You can now get at the params _after_ argument chjecking, but before dispatch.
  * All froody servers should support JSON response types.
  * kill deprecated functionality
  * kill untested (and therefore unnused, right?) method
  * Do not load the spec many times. This saves us a _lot_ of time on startup.
  * Fixing the error shape bug.
  * Use findvalue() instead of findnodes/nodeValue gave us an observed 20%
    improvement in loading a particular API module used internally.
  * Reduced copy overhead on walking the reflection structures
  * Refactoring extraction of the XML structure by adding another
    pass, but simplifying the node construction. Also, this fixes a
    regression where last defined node in the example spec wins,
    rather than the first, which was the old behaviour.

42.011
  * Amend arguments to allow argument type aliases
  * Fix the documentation for the Walker class.
  * Strip whitespace in attribute _NAMES_, not attribute values.
  * Can set timeout for SimpleClient when creating the client
  * Fixing the way that the XML API is loaded. We should not be holding on to
    the DOM tree for each example response.
  * Improved XML api code that constructs examples as it creates the specification.
  * fix froody error shapes -- they now pass across the wire for reflection
  * remove XML dom node storage inside of froody
  * avoid cloning data when not necessary

42.010
  * delete undef arguments early instead of trying to encode them
  * handle the case where tempfile is undef during an upload
  * unbreak get_methods() (fixes froodydoc etc.)

42.009
  * fix UTF8 handling for the standalone server and simpleclient
  * remove dependency on JSON
  * (froodydoc binary is currently broken, but the UTF8 fix is important
    enough to release anyway)

42.008
  * added simple (fast) JSON-based client
  * made passing TODO tests not be TODO tests anymore

42.007
  * fixed MANIFEST.

42.006
  * validate terse data structures properly whether they are 
    actually passed over http as XML or simply returned directly
  * add support for returning JSON instead of XML
  * implement a pluggable architecture, useful for sessions management etc
  * added froody.reflection.getSpecification
  * lazy loading of method specs
  * added pluggable (and chainable) argument validators
  * added tests for weird edge cases
  * fixed a few spelling errors in errors

NOTE: Froody is still in a bit of flux, as development is driving
refactorings and new features.


42.005:
  * Allow underscores in method names
  * Allow method names with no dots

42.004:
  * regenerate dist with latest Module::Build::Kwalitee to allow
    building with MakeMaker 

42.003:
  * Fix corelist example so it returns serveradmin stuff
  * added a 'remaining' argument type that holds all non-declared arguments
    passed to the method
  * added examples to MANIFEST (oops)

42.002:
  * Fix broken meta-test (t/t.t)

42.001:
  * Fix to Build.PL

42:
  * Initial release