myGrid/t2-server-gem

View on GitHub
CHANGES.rdoc

Summary

Maintainability
Test Coverage
= Changes log for the T2 Ruby Gem

== Version 1.3.0

* Fix time-based tests for timezone changes (again).
* Add the test-unit gem so that we can test in ruby 2.2.
* Tie down the webmock version number more carefully.
* Update Travis config to test against ruby 2.1.5.
* Update README with more precise version matching.
* Update to ratom version 0.9.
* Add ruby 2.2 to the Travis config.
* Update ruby testing info in README.

== Version 1.2.0

* Test provenance collection on version 2.5.4 and up only.
* Only run tests against a live server if an address is supplied.
* Add a test case to test the connection factory.
* Set up mocking of Net::HTTP and mock creation of a run.
* Mock testing server run limits and deleting all runs.
* Add Coveralls integration to the tests.
* Add tests for the credentials classes.
* Add a simple check for parsing the server version.
* Test a full run of a workflow.
* Fix the parameters classes with initial parameters.
* Test custom CA connection parameters.
* Test a network timeout.
* Catch Net::HTTP::Persistent::Error internally.
* Net::HTTP::Persistent::Error is now wrapped internally.
* Remove the unused RunNotFoundError.
* Fix documentation for Run#upload_data.
* Set minimum ruby version to be 1.9.3 in the spec.
* Modernize the installation instructions.
* Remove the unused workflow upload XML fragment.
* Add XML generation methods for server messages.
* Programmatic generation of mkdir server message.
* Programmatic generation of the upload server message.
* Streamline XML node generation methods.
* Programmatically generate input server messages.
* Generate permissions server message fragment.
* Generate trusts server message fragment.
* Generate credentials server messages.
* Streamline the generation of hierarchical XML nodes.
* Setup tests for the XML messages sent to server.
* Factor out the common help and version CLI options.
* Factor out the different SSL config options for HTTPS connections.
* Neaten up the code to get a run's resource links.
* Fix typo in Run#grant_permission.
* Add a parse method to the credentials objects.
* Found a way to better test the credentials objects.
* Fix up the test suite driver code.
* Update the public key of the secure remote services.
* Update the client certificate for secure remote services.
* Stop using a pre-cooked server reply for Run#status.
* Only download a range of bytes if requested for outputs.
* Streamline the OutputPort methods for getting data.
* Remove unused private method (path) from OutputPort.
* Factor out I/O Port processing.
* Cache a run's finished state when it has finished.
* Fix the client authentication connection settings.
* Test InputPort and OutputPort.

== Version 1.1.0

* Remove hirb as a runtime dependency.
* t2-server-admin: Minor fix for readability.
* Add a gem version badge from badge.fury.io.
* Use bundler and stop using jeweler.
* Update dependencies.
* Add travis configuration.
* Separate out the version code from the main include file.
* If in travis, don't wait for a server address.
* Update note about SemVer in readme.
* Add travis badge and update ruby testing info.
* Refactor out rexml and nokogiri xml support.
* Setup rubygems and bundler in the main require file.
* t2-run-workflow: Fix baclava output option.
* Fix error in exception caused by chunked response.
* Add provenance capture and retrieval functionality.
* Can now toggle provenance generation on and off.
* Implement a comparable version class.
* Restrict provenance functionality to correct server versions.
* Remove Server#version_components from the docs.
* Tighten ratom version and move libxml-ruby to runtime list.
* Align baclava output method names with the prov ones.

== Version 1.0.0

* Remove deprecated methods.
* Add read streaming capability to the underlying connection.
* Add a read method to stream data directly to a file.
* Stream zip data from server.
* Update t2-run-workflow so that debug is optional.
* Stream baclava data from server.
* Expose streaming capability to output ports.
* Bring port error handling inline with normal values.
* Tidy up usage of a mime-type for empty ports.
* Add methods to test for empty ports or port values.
* Add output port data streaming functionality.
* Stream output data directly to a file.
* Document the credentials classes.
* Add general stream-to-stream data downloads.
* Expose stream-to-stream methods in the Run class.
* Add upload streaming to the underlying connection.
* Stream uploads of workflows and data.
* Add streaming examples to the README.
* Make XPath searching robust to nodes not being found.
* Read interaction feed URI and query support with API.
* Read notifications from the interaction feed.
* Document the Interaction Service additions in the README.
* Add a bit more compatibility info to the Readme.
* Clean up run caching code in the Server class.
* Clean up variables and comments for run creation.
* Code clarity improvements.
* Remove duplicated download/streaming code in Run.
* Remove duplicate URI stripping code from Server.
* Improve readability of the XML fragments.
* Add a global complied XPath cache and use for Server.
* Use global XPath cache for Run class.
* Add Ruby 2.0.0 as known to work in README.
* t2-delete-runs: Minor code clean-up.
* t2-delete-runs: Add a flag to only delete finished runs.
* t2-run-workflow: Minor code clean-up.
* t2-run-workflow: Add flag for service credentials.
* Server now returns 503 when at capacity.
* Server now has a limit on concurrently running runs.
* Test for max concurrently running runs.
* t2-run-workflow: Cope with hitting max running runs.
* t2-server-stress: Cope with hitting max running runs.
* Ensure all unit tests delete runs that they create.
* Mark deleted runs as such in their Run object.
* [TAVSERV-308] Run#permissions returns nil, instead of :none
* Add a function to download a single port as a zip file.
* Added ssl_version to connection parameters
* Put a guard in to check that the SSL version is sensible.
* Add SSL version support to the command line tools.
* Add a new example connection parameter class for SSL version 3.
* Describe the connection parameters in more detail.
* Add Run#error? to check all output ports for errors.
* UnexpectedServerResponse now provides more information.
* Remove the port value caching code.
* Simplify the HTTP methods and clean up error handling.
* Split up the CLI options code.
* Improve version string parsing.
* Handle server returning Accepted on run start.
* Get the run name from the server.
* t2-server-info: Display run names in list view.
* Set the run name on the server.
* t2-run-workflow: Set name of run on server.
* t2-get-output: Get name of run from server.
* OutputPort#zip now returns nil for singletons.
* Fix well-hidden HTTPS connection setup bug.
* Use a RunCache class instead of a Hash to store local run objects.
* t2-server-info: Configurable run detail in list view.
* [TAVSERV-324] Uninitialized connection parameters.
* Move interaction code out of Server, into Run.
* Simplifications for per-run feeds.
* Get different types of notifications for a Run.
* Expose the run notification/interaction locations.
* Add Run#log to get run logs.
* Add connection timeout parameters.
* Enable interaction reply publishing.
* Read the interaction serial number from the notification.
* Enable retrieval of an interaction's input data.

== Version 0.9.3

* Correctly handle missing values in output ports.

== Version 0.9.2

* Cleanup of the README and some delete additions.
* Complete documentation coverage.
* Update the parsing of the server version.
* Optimize Server object creation.
* Add URI manipulating methods to T2Server::Util.
* Internal updates to use full URIs rather than relative paths.
* Updates to the administrator interface to use full URIs.
* URI code updates for secure workflow and permissions support.
* Remove (deprecate) Server#delete_run.
* Support direct PUT of data for newer versions of server.
* Update the documentation of the Connection classes.
* Minor updates to the top-level README.
* Cleanup of t2-server-info script.
* t2-run-workflow: Only print outputs if there are any.

== Version 0.9.1

* Update unit test code for Ruby 1.9 compatibility.
* Major reductions in the time taken to instantiate a Run object.
* t2-server-info: Don't list runs by default.
* Move to persistent HTTP connections.
* SSL certificate store changes.

== Version 0.9.0

* t2-run-workflow: Add a switch to set the expiry date/time.
* Support version 2 of the Server API.
* Update example scripts to work with the new server API.
* Retire the T2Server::API_VERSION constant.
* Add a method to get expected inputs from the server.
* Make the baclava input/output calls more "ruby-like"
* Fix the Run#wait method to cope with finished runs.
* Changes to Run and Server to yield created objects.
* Add zip output facilities to the Run class.
* Scripts: Add switches for passing user credentials.
* t2-run-workflow: Exit if workflow is empty.
* Top-level documentation updates.
* Add server administrative interface infrastructure.
* Fix exception raised within exception code!
* Fix exception raised within exception code!
* Allow Run#expiry= to accept Time objects as input.
* Add a deprecation message when require 't2server' is used.
* Add connection-parameters classes.
* Use supplied parameters to configure SSL connections.
* Connection parameters tests.
* Add use of connection parameters to the cli scripts.
* Fix Run#status to return state as symbols rather than text.
* Enable dynamic selection of XML implementation.
* Move URI monkeypatch code to new Util module.
* Move String monkeypatch code to Util module.
* Remove progress output from Run#wait.
* Change all references to UUIDs to 'identifier'.
* Get run ownership from the server for each run.
* Facilities for granting and revoking permissions on runs.
* Facilities for providing user/pass credentials for secure services.
* Add support for uploading trusts for peer verification.
* Facilities for providing keypair credentials for secure services.
* Secure workflow and Run permissions test cases.
* Update Readme with security info.
* Update the input port API.
* Update the output port API.
* t2-get-output: Change -E switch to -x.
* t2-get-output: Wire up the -r switch.
* t2-get-output: Add -T switch for returning output types.
* Remove support for Taverna Server versions < 2.3.
* Add Server#upload_data.
* Add Run#upload_data.
* Fake list inputs with baclava.
* More detailed documentation in the ReadMe file.
* Compatibily note added to the ReadMe file.

== Version 0.6.1

* Store server addresses internally as URI objects.
* t2-run-workflow: Add a no-wait option.
* Fix input value escaping to allow XML in inputs.

== Version 0.6.0

* Add a new API call Run#get_output_ports
* Remove Run#ls from the API.
* Refactor the code that builds output port lists.
* Update and streamline test suite.
* Parameterize the Rakefile for use in CI.
* Return dates as instances of class Time.
* Allow expiry dates to be specified in human readable formats.
* Workaround for CXF bug upon server start-up.
* t2-run-workflow: accept files as inputs.
* Tabulate run information.

== Version 0.5.3

* Fix an issue with singleton value/empty list confusion for output ports.

== Version 0.5.2

* Fix two issues with the retrieving of workflow outputs.
* Update tests to reflect changes to output code.

== Version 0.5.1

* Fix horror typo in Server#set_run_input.
* Expand test coverage to include more diverse workflows.
* Reformat LICENCE and CHANGES as rdoc files.

== Version 0.5.0

* Make the require file consistent with the gem name.
* Fix run_workflow --input switch for values containing colons.
* Require rubygems in all scripts.
* Updates to RDoc options.
* Rename executables with a consistant name pattern.
* Convert t2-delete-all-runs script to be more flexible.
* Change the Run#get_output method to correctly return a list.
* Stop t2-run-workflow from deleting runs automatically.
* Install the scripts as part of the gem.
* Fix inconsistencies in the Server API.
* Updates to the test suite to reflect recent library updates.
* Move to LibXML for parsing server responses.

== Version 0.2.1

* Don't pollute global namespace with REXML stuff.

== Version 0.2.0

* Removed a test that seems to behave oddly.
* Add capabilities for https and basic auth.
* Use a single http connection per server.

== Version 0.1.1

* Add baclava input functionality to run_workflow script.
* Add baclava output functionality to the Run API.
* Add baclava output functionality to run_workflow script.
* Document attributes in Server and Run classes.

== Version 0.1.0

* Update the Run#mkdir method to cope with nested directories.
* Add code to the String class to operate on file paths.
* Use strip_path methods to sanitize inputs.
* Add exceptions for the Server class to raise and rescue.
* Add code to handle exceptions to the Server class.
* Add exceptions and handlers for the Run class.
* Add exception handling code to the example scripts.
* Consolidate all PUT operations into one method.
* Add top level test suite driver and first testcase.
* Move to a Rake based build system.
* Add a testcase for the Server.
* Add a testcase for the Run class.
* Rakefile rules to run rdoc over the source files.
* Add rdoc comments to the top-level module.
* Add rdoc comments to the exception classes.
* Add rdoc comments to the Run class.
* Add rdoc comments to the Server class.

== Version 0.0.4

* Rationalize methods doing HTTP GETs into one.
* Add an example script to print server infomation.
* Cope with double slashes (//) in URI paths.
* Update documentation and version numbers.

== Version 0.0.3

* Update the workflow wrapping fragment.
* Fix getting of output data in root working dir.

== Version 0.0.2

* Server#runs now returns an array not a hash.
* Expose the newly added time attributes for runs.
* Add a method to return a run instance given a UUID.
* Update Run#ls to return separate lists of 'dirs' and 'files'

== Version 0.0.1

* Update project config boiler-plate
* First cut of T2 Server Ruby API.
* Added gemspec file to project.
* Add an example script to delete all runs on a server.
* Add an example script to run a workflow.

== About this CHANGES file

This file is, at least in part, generated by the following command:

 $ git log --pretty=format:"* %s" --reverse --no-merges <commit-hash>..