Revision history for Webservice-InterMine

0.94    Monday Sept 13
        Revised version of the Webservice client for InterMine 0.94 Webservices

0.9401  Tue Sep 21 10:24:38 BST 2010
        * Constraints can be specified with a positional list of parameters
        * Typos in the Cookbook have been fixed
0.9402  Tue Sep 21 11:33:19 BST 2010
        * Removed useless dependency that broke install
0.9403  Tue Sep 21 14:32:34 BST 2010
        * Finally removed last reference to IO::String
0.9407  Fri Oct  8 12:43:11 BST 2010
        * Readded Perl::Tidy as dependency to fix tests
        * Changed attribute type in TemplateFactory in response to change in Moose 1.15
0.9408  Mon Oct 11 13:08:42 BST 2010
        * Perl::Tidy and YAML::Syck now recommendations.
        * Changed WriteOutYaml role to dump to string rather than file
0.9412  Thu Nov 25 18:58:14 GMT 2010
        * Fixed errors in documentation
        * Fixed bug with template queries and extra values
0.9500  Wed Feb  2 17:01:19 GMT 2011
        * Added support for authenticated requests
        * Fixed bug in ResultIterator due to loose quotes. Thanks Kim.
        * Added support for new JSON formats, including inflation
        * Added bug in which was preventing builds.
0.9501  Thu Feb  3 13:36:04 GMT 2011
        * Added bug due to mis-matching test counts in acceptance test
0.9600  Fri Feb 18 16:37:38 GMT 2011
        * Better verification of version strings, and better coercion of urls
        * Load queries from local xml
        * Support for InterMine xml shortcuts (lt for <, etc.)
        * Tests in support of json rows format
0.9601  Fri Feb 25 16:26:39 GMT 2011
        * Bug fixes (including a couple of useless imports)
        * Queries stringify to their xml representation
        * More documentation
0.9602  Mon Feb 28 19:25:19 GMT 2011
        * Model bug fix required changes to some tests, and 
          one or two places in the path logic
0.9603: Tue Mar  1 15:28:18 GMT 2011
        * Now using the TestModel instance - big effect on test run speed
0.9604: Thu Mar  3 17:27:14 GMT 2011
        * Removed last use of testmodel_model.xml, and removed it from dist
        * Changed logic writer to set_logic for consistency
        * Added command line utilities
        * Added moose hygiene test, and made it pass
        * More POD (especially in important roles)
        * Added size and start (paging) capabilities to Runnable queries
0.9605: Sat 12 Mar 2011 21:25:56 EST
        * Added Webservice::InterMine::Simple (see benchmarks)
            There is a compilation penalty inherent in the use of Moose
            and meta-class introspection. While perfectly acceptable 
            when multiple queries are made withing the same process, 
            for the common use case of a single query, the user may wish for
            something more performant. In this case, a script that uses 
            Webservice::InterMine::Simple will gain a full magnitude increase
            in performance (3.5p/s vs 0.33p/s). However, multiple queries
            within the same process do not see a similar improvement, it being
            more in the range of 300% (70p/s vs 250p/s). Where speed is important,
            and more sophisticated features are not required, a Simple service
            may be appealing
         * Added support for headers.
0.9700: Wed 2 June 2011
        * Changed result parsing logic - uses a JSON format internally for all 
          non trivial parsing to ensure safety of field content and diagnostics 
          of errors.
        * Enabled lazy iteration of result sets by default. This improves responsiveness
        for large datasets.
        * Incorporated iteration into queries as a transparent feature.
        * Added list services (creation, deletion, renaming, intersection, unions, differences, subtraction, appending)
        * Added summary methods (show)
        * Added template and query upload methods
0.9701: Sat 4 June 2011
        * Improved template parsing speed by only parsing what is requested
        * Improved show printing format with more appropriate column sizes, and column guides.
0.9702: Sat 4 June 2011
        * Bug-fix release - subclass parsing was broken
0.9702: Sun 5 June 2011
        * Bug-fix release - Fixed handling of empty result sets - added test
        for recently fixed bugs.
0.9703: Sun 5 June 2011
        * Bug-fix release - subclass parsing was broken
0.9704: Sun 5 June 2011
        * Added possible values service methods.
0.9705: Wed Jun  8 19:34:43 BST 2011
        * Avoid hitting url limits by posting where possible
0.9800: Added tokens for authentication
0.9801: Sun Jul 24 00:30:47 BST 2011
        Revised cookbook, chapters 1-5
        Added cookbook tests (runnable examples) 
        Added more POD
        Added sugar for constraints and views
          * Query::select for views
          * Query::where for constraints
          * Query::search for constraints + results
          * Service::resultset for queries
        Added more aliases, with docs, including
          * Query::count/get_count
        Hid internal methods, such as Query::push_constraints (and others)
        Changed logic behaviour on adding constraint (don't discard current logic completely)
0.9802: Sun Jul 24 23:38:52 BST 2011
        * Added all, first and one to runnable queries.
        * Add Query::path method for making Path objects
        * Allowed loop constraints to be built with Path objects.
0.9802: Tue Jul 26 16:31:59 BST 2011
        * Aligned handling of parsed sortorders with webserver code (tolerates broken sort-orders)
0.9804: Tue Aug  2 20:49:40 BST 2011
        * Added ResultRow objects to simplify API (one object for hash and array access). Using Class::InsideOut
        for memory reasons over MooseX::InsideOut, which leaks.
        * search and where imply select("*") if the view is empty
        * Made results default to ResultRows
0.9805: Tue Aug  2 22:12:57 BST 2011
        * Switched to JSON::XS for result parsing for performance reasons.
0.9806: Tue Aug  2 23:41:12 BST 2011
        * Made select and add_to_select conform accross clients - select now replaces the view
0.9808: Fri Aug  5 12:21:23 BST 2011
        * Export Webservice::InterMine methods by default (with options to exclude them) 
        * Deprecated username and password authentication on services that support tokens
0.9809: Mon Aug  8 17:59:19 BST 2011
        * Backwards compatibility through to version 3 regarding JSON container formats
0.9810: Bug-fix release
0.9811: Allow ResultRow#to_href to produce either short or long key versions of hrefs
0.9812: Added summarise method to runnable queries to get path summary information
0.9813: Added support for the "status" field on lists, so you know if they need manual updating or not.
0.9814: Fixed bug in simple service
0.9815: Moved simple classes out to own distribution (See: Webservice::InterMine::Simple on CPAN).
0.9816: Added list-tagging support
0.9817: Updated tests for new fixture set. Added select method to consumers of the HasQuery role.
0.9818: Some more documentation of result formats, and some tests to go with them.
0.9819: Added support for redirected webservice urls.
0.9900: Use of new json format where available
        Support for redirection and private ports
        Use of POST where possible.
0.9901: Added remove_constraint method. 
0.9902: Added better validation of sort-orders, allowing valid orders that were previously disallowed
0.9903: Added coercion for SeviceVersion to cope with the fact that the version service now returns a new line on the end. 
        Added more tolerant list creation from queries. Now will accept queries that have non-id fields selected, as long as it is non-ambiguous what is requested.
0.9904: Added dependency on Set::Crossproduct for testing.
        More tests for list constraint construction.
        Consistent ability to use subqueries and lists in constraints.
0.9905: Changed expectations in live tests to take into account the fact that servers now return more thoroughly escaped TSV files.
0.9906: Added CONTAINS, LIKE, NOT LIKE, DOES NOT CONTAIN, as binary operators.

0.9907: Tue Jan 10 16:50:01 GMT 2012
        Separation of concept of Listable into a general listable and a listable implementation for queries.
0.9908: Tue Jan 10 18:38:04 GMT 2012
        Use general roles to allow better subclassing.
0.9909: Tue Jan 10 19:00:18 GMT 2012
        Bux fix release for correct role use to allow extension.
0.9910: Wed Jan 18 14:15:52 GMT 2012
        Added support for lazy reference fetching, as found in the Python and Ruby clients
0.9911: Fri Feb  3 12:07:25 GMT 2012
        Added support and tests for lazy attribute fetching.
0.9912: Wed Mar 21 12:41:34 GMT 2012
        Added support for enrichment widgets.
1.0000: Tue Oct  9 13:39:20 BST 2012
        Added support for range constraints.
        Updated tests
1.0100: Fixed error installing under MooseX::Types 0.34
1.0101: Thu Nov  8 19:02:17 GMT 2012
        Adding missing file to Manifest.